commit 2fa420494a11fc92c3038fe9c4aea622fa0e00b1 Author: 9700X_PC <9700X_PC@gmail.com> Date: Thu Sep 18 16:10:59 2025 +0900 first commit diff --git a/ChoiPDFv.app_1.0.0_all.ipk b/ChoiPDFv.app_1.0.0_all.ipk new file mode 100644 index 0000000..e5578f0 Binary files /dev/null and b/ChoiPDFv.app_1.0.0_all.ipk differ diff --git a/ChoiPDFv/.webosstudio.config b/ChoiPDFv/.webosstudio.config new file mode 100644 index 0000000..c981bd0 --- /dev/null +++ b/ChoiPDFv/.webosstudio.config @@ -0,0 +1,3 @@ +{ + "api_level": "0" +} \ No newline at end of file diff --git a/ChoiPDFv/2index.html b/ChoiPDFv/2index.html new file mode 100644 index 0000000..538f2ed --- /dev/null +++ b/ChoiPDFv/2index.html @@ -0,0 +1,488 @@ + + + + + + Modern PDF Viewer + + + + + + + + +
+
+ 파일을 선택하세요 +
+ +
+ +
+ + +
+ + + + + + + + + \ No newline at end of file diff --git a/ChoiPDFv/appinfo.json b/ChoiPDFv/appinfo.json new file mode 100644 index 0000000..3a85d3e --- /dev/null +++ b/ChoiPDFv/appinfo.json @@ -0,0 +1,12 @@ +{ + "id": "com.domain.app", + "version": "1.0.0", + "vendor": "ChoiKyungHwan", + "type": "web", + "main": "index.html", + "title": "ChoiPDFv", + "icon": "icon.png", + "largeIcon": "largeIcon.png", + "supportTouchMode": "full", + "supportPortraitMode": "true" +} \ No newline at end of file diff --git a/ChoiPDFv/assets/cmaps/78-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/78-EUC-H.bcmap new file mode 100644 index 0000000..2655fc7 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/78-EUC-V.bcmap new file mode 100644 index 0000000..f1ed853 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78-H.bcmap b/ChoiPDFv/assets/cmaps/78-H.bcmap new file mode 100644 index 0000000..39e89d3 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/78-RKSJ-H.bcmap new file mode 100644 index 0000000..e4167cb Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/78-RKSJ-V.bcmap new file mode 100644 index 0000000..50b1646 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78-V.bcmap b/ChoiPDFv/assets/cmaps/78-V.bcmap new file mode 100644 index 0000000..d7af99b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78ms-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/78ms-RKSJ-H.bcmap new file mode 100644 index 0000000..37077d0 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78ms-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/78ms-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/78ms-RKSJ-V.bcmap new file mode 100644 index 0000000..acf2323 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/78ms-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/83pv-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/83pv-RKSJ-H.bcmap new file mode 100644 index 0000000..2359bc5 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/83pv-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/90ms-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/90ms-RKSJ-H.bcmap new file mode 100644 index 0000000..af82938 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/90ms-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/90ms-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/90ms-RKSJ-V.bcmap new file mode 100644 index 0000000..780549d Binary files /dev/null and b/ChoiPDFv/assets/cmaps/90ms-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/90msp-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/90msp-RKSJ-H.bcmap new file mode 100644 index 0000000..bfd3119 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/90msp-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/90msp-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/90msp-RKSJ-V.bcmap new file mode 100644 index 0000000..25ef14a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/90msp-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/90pv-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/90pv-RKSJ-H.bcmap new file mode 100644 index 0000000..02f713b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/90pv-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/90pv-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/90pv-RKSJ-V.bcmap new file mode 100644 index 0000000..d08e0cc Binary files /dev/null and b/ChoiPDFv/assets/cmaps/90pv-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Add-H.bcmap b/ChoiPDFv/assets/cmaps/Add-H.bcmap new file mode 100644 index 0000000..59442ac Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Add-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Add-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/Add-RKSJ-H.bcmap new file mode 100644 index 0000000..a3065e4 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Add-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Add-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/Add-RKSJ-V.bcmap new file mode 100644 index 0000000..040014c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Add-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Add-V.bcmap b/ChoiPDFv/assets/cmaps/Add-V.bcmap new file mode 100644 index 0000000..2f816d3 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Add-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-0.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-0.bcmap new file mode 100644 index 0000000..88ec04a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-0.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-1.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-1.bcmap new file mode 100644 index 0000000..03a5014 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-1.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-2.bcmap new file mode 100644 index 0000000..2aa9514 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-3.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-3.bcmap new file mode 100644 index 0000000..86d8b8c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-3.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-4.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-4.bcmap new file mode 100644 index 0000000..f50fc6c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-4.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-5.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-5.bcmap new file mode 100644 index 0000000..6caf4a8 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-5.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-6.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-6.bcmap new file mode 100644 index 0000000..b77fb07 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-6.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-CNS1-UCS2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-CNS1-UCS2.bcmap new file mode 100644 index 0000000..69d79a2 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-CNS1-UCS2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-0.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-0.bcmap new file mode 100644 index 0000000..3610108 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-0.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-1.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-1.bcmap new file mode 100644 index 0000000..707bb10 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-1.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-2.bcmap new file mode 100644 index 0000000..f7648cc Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-3.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-3.bcmap new file mode 100644 index 0000000..8521458 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-3.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-4.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-4.bcmap new file mode 100644 index 0000000..e40c63a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-4.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-5.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-5.bcmap new file mode 100644 index 0000000..d7623b5 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-5.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-GB1-UCS2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-GB1-UCS2.bcmap new file mode 100644 index 0000000..7586525 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-GB1-UCS2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-0.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-0.bcmap new file mode 100644 index 0000000..f0e94ec Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-0.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-1.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-1.bcmap new file mode 100644 index 0000000..dad42c5 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-1.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-2.bcmap new file mode 100644 index 0000000..090819a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-3.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-3.bcmap new file mode 100644 index 0000000..087dfc1 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-3.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-4.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-4.bcmap new file mode 100644 index 0000000..46aa9bf Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-4.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-5.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-5.bcmap new file mode 100644 index 0000000..5b4b65c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-5.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-6.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-6.bcmap new file mode 100644 index 0000000..e77d699 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-6.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Japan1-UCS2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Japan1-UCS2.bcmap new file mode 100644 index 0000000..128a141 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Japan1-UCS2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Korea1-0.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Korea1-0.bcmap new file mode 100644 index 0000000..cef1a99 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Korea1-0.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Korea1-1.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Korea1-1.bcmap new file mode 100644 index 0000000..11ffa36 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Korea1-1.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Korea1-2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Korea1-2.bcmap new file mode 100644 index 0000000..3172308 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Korea1-2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Adobe-Korea1-UCS2.bcmap b/ChoiPDFv/assets/cmaps/Adobe-Korea1-UCS2.bcmap new file mode 100644 index 0000000..f3371c0 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Adobe-Korea1-UCS2.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/B5-H.bcmap b/ChoiPDFv/assets/cmaps/B5-H.bcmap new file mode 100644 index 0000000..beb4d22 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/B5-V.bcmap b/ChoiPDFv/assets/cmaps/B5-V.bcmap new file mode 100644 index 0000000..2d4f87d Binary files /dev/null and b/ChoiPDFv/assets/cmaps/B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/B5pc-H.bcmap b/ChoiPDFv/assets/cmaps/B5pc-H.bcmap new file mode 100644 index 0000000..ce00131 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/B5pc-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/B5pc-V.bcmap b/ChoiPDFv/assets/cmaps/B5pc-V.bcmap new file mode 100644 index 0000000..73b99ff Binary files /dev/null and b/ChoiPDFv/assets/cmaps/B5pc-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/CNS-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/CNS-EUC-H.bcmap new file mode 100644 index 0000000..61d1d0c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/CNS-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/CNS-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/CNS-EUC-V.bcmap new file mode 100644 index 0000000..1a393a5 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/CNS-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/CNS1-H.bcmap b/ChoiPDFv/assets/cmaps/CNS1-H.bcmap new file mode 100644 index 0000000..f738e21 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/CNS1-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/CNS1-V.bcmap b/ChoiPDFv/assets/cmaps/CNS1-V.bcmap new file mode 100644 index 0000000..9c3169f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/CNS1-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/CNS2-H.bcmap b/ChoiPDFv/assets/cmaps/CNS2-H.bcmap new file mode 100644 index 0000000..c89b352 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/CNS2-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/CNS2-V.bcmap b/ChoiPDFv/assets/cmaps/CNS2-V.bcmap new file mode 100644 index 0000000..7588cec --- /dev/null +++ b/ChoiPDFv/assets/cmaps/CNS2-V.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSECNS2-H \ No newline at end of file diff --git a/ChoiPDFv/assets/cmaps/ETHK-B5-H.bcmap b/ChoiPDFv/assets/cmaps/ETHK-B5-H.bcmap new file mode 100644 index 0000000..cb29415 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/ETHK-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/ETHK-B5-V.bcmap b/ChoiPDFv/assets/cmaps/ETHK-B5-V.bcmap new file mode 100644 index 0000000..f09aec6 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/ETHK-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/ETen-B5-H.bcmap b/ChoiPDFv/assets/cmaps/ETen-B5-H.bcmap new file mode 100644 index 0000000..c2d7746 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/ETen-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/ETen-B5-V.bcmap b/ChoiPDFv/assets/cmaps/ETen-B5-V.bcmap new file mode 100644 index 0000000..89bff15 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/ETen-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/ETenms-B5-H.bcmap b/ChoiPDFv/assets/cmaps/ETenms-B5-H.bcmap new file mode 100644 index 0000000..a7d69db --- /dev/null +++ b/ChoiPDFv/assets/cmaps/ETenms-B5-H.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE ETen-B5-H` ^ \ No newline at end of file diff --git a/ChoiPDFv/assets/cmaps/ETenms-B5-V.bcmap b/ChoiPDFv/assets/cmaps/ETenms-B5-V.bcmap new file mode 100644 index 0000000..adc5d61 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/ETenms-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/EUC-H.bcmap b/ChoiPDFv/assets/cmaps/EUC-H.bcmap new file mode 100644 index 0000000..e92ea5b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/EUC-V.bcmap b/ChoiPDFv/assets/cmaps/EUC-V.bcmap new file mode 100644 index 0000000..7a7c183 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Ext-H.bcmap b/ChoiPDFv/assets/cmaps/Ext-H.bcmap new file mode 100644 index 0000000..3b5cde4 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Ext-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Ext-RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/Ext-RKSJ-H.bcmap new file mode 100644 index 0000000..ea4d2d9 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Ext-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Ext-RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/Ext-RKSJ-V.bcmap new file mode 100644 index 0000000..3457c27 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Ext-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Ext-V.bcmap b/ChoiPDFv/assets/cmaps/Ext-V.bcmap new file mode 100644 index 0000000..4999ca4 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Ext-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GB-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/GB-EUC-H.bcmap new file mode 100644 index 0000000..e39908b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GB-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GB-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/GB-EUC-V.bcmap new file mode 100644 index 0000000..d5be544 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GB-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GB-H.bcmap b/ChoiPDFv/assets/cmaps/GB-H.bcmap new file mode 100644 index 0000000..39189c5 --- /dev/null +++ b/ChoiPDFv/assets/cmaps/GB-H.bcmap @@ -0,0 +1,4 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE!!]aX!!]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] +"]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9 \ No newline at end of file diff --git a/ChoiPDFv/assets/cmaps/GB-V.bcmap b/ChoiPDFv/assets/cmaps/GB-V.bcmap new file mode 100644 index 0000000..3108345 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GB-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBK-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/GBK-EUC-H.bcmap new file mode 100644 index 0000000..05fff7e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBK-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBK-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/GBK-EUC-V.bcmap new file mode 100644 index 0000000..0cdf6be Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBK-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBK2K-H.bcmap b/ChoiPDFv/assets/cmaps/GBK2K-H.bcmap new file mode 100644 index 0000000..46f6ba5 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBK2K-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBK2K-V.bcmap b/ChoiPDFv/assets/cmaps/GBK2K-V.bcmap new file mode 100644 index 0000000..d9a9479 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBK2K-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBKp-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/GBKp-EUC-H.bcmap new file mode 100644 index 0000000..5cb0af6 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBKp-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBKp-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/GBKp-EUC-V.bcmap new file mode 100644 index 0000000..bca93b8 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBKp-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBT-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/GBT-EUC-H.bcmap new file mode 100644 index 0000000..4b4e2d3 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBT-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBT-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/GBT-EUC-V.bcmap new file mode 100644 index 0000000..38f7066 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBT-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBT-H.bcmap b/ChoiPDFv/assets/cmaps/GBT-H.bcmap new file mode 100644 index 0000000..8437ac3 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBT-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBT-V.bcmap b/ChoiPDFv/assets/cmaps/GBT-V.bcmap new file mode 100644 index 0000000..697ab4a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBT-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBTpc-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/GBTpc-EUC-H.bcmap new file mode 100644 index 0000000..f6e50e8 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBTpc-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBTpc-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/GBTpc-EUC-V.bcmap new file mode 100644 index 0000000..6c0d71a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBTpc-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBpc-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/GBpc-EUC-H.bcmap new file mode 100644 index 0000000..c9edf67 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBpc-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/GBpc-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/GBpc-EUC-V.bcmap new file mode 100644 index 0000000..31450c9 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/GBpc-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/H.bcmap b/ChoiPDFv/assets/cmaps/H.bcmap new file mode 100644 index 0000000..7b24ea4 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKdla-B5-H.bcmap b/ChoiPDFv/assets/cmaps/HKdla-B5-H.bcmap new file mode 100644 index 0000000..7d30c05 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKdla-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKdla-B5-V.bcmap b/ChoiPDFv/assets/cmaps/HKdla-B5-V.bcmap new file mode 100644 index 0000000..7894694 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKdla-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKdlb-B5-H.bcmap b/ChoiPDFv/assets/cmaps/HKdlb-B5-H.bcmap new file mode 100644 index 0000000..d829a23 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKdlb-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKdlb-B5-V.bcmap b/ChoiPDFv/assets/cmaps/HKdlb-B5-V.bcmap new file mode 100644 index 0000000..2b572b5 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKdlb-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKgccs-B5-H.bcmap b/ChoiPDFv/assets/cmaps/HKgccs-B5-H.bcmap new file mode 100644 index 0000000..971a4f2 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKgccs-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKgccs-B5-V.bcmap b/ChoiPDFv/assets/cmaps/HKgccs-B5-V.bcmap new file mode 100644 index 0000000..d353ca2 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKgccs-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKm314-B5-H.bcmap b/ChoiPDFv/assets/cmaps/HKm314-B5-H.bcmap new file mode 100644 index 0000000..576dc01 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKm314-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKm314-B5-V.bcmap b/ChoiPDFv/assets/cmaps/HKm314-B5-V.bcmap new file mode 100644 index 0000000..0e96d0e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKm314-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKm471-B5-H.bcmap b/ChoiPDFv/assets/cmaps/HKm471-B5-H.bcmap new file mode 100644 index 0000000..11d170c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKm471-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKm471-B5-V.bcmap b/ChoiPDFv/assets/cmaps/HKm471-B5-V.bcmap new file mode 100644 index 0000000..54959bf Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKm471-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKscs-B5-H.bcmap b/ChoiPDFv/assets/cmaps/HKscs-B5-H.bcmap new file mode 100644 index 0000000..6ef7857 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKscs-B5-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/HKscs-B5-V.bcmap b/ChoiPDFv/assets/cmaps/HKscs-B5-V.bcmap new file mode 100644 index 0000000..1fb2fa2 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/HKscs-B5-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Hankaku.bcmap b/ChoiPDFv/assets/cmaps/Hankaku.bcmap new file mode 100644 index 0000000..4b8ec7f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Hankaku.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Hiragana.bcmap b/ChoiPDFv/assets/cmaps/Hiragana.bcmap new file mode 100644 index 0000000..17e983e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Hiragana.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSC-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/KSC-EUC-H.bcmap new file mode 100644 index 0000000..a45c65f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSC-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSC-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/KSC-EUC-V.bcmap new file mode 100644 index 0000000..0e7b21f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSC-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSC-H.bcmap b/ChoiPDFv/assets/cmaps/KSC-H.bcmap new file mode 100644 index 0000000..b9b22b6 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSC-Johab-H.bcmap b/ChoiPDFv/assets/cmaps/KSC-Johab-H.bcmap new file mode 100644 index 0000000..2531ffc Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSC-Johab-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSC-Johab-V.bcmap b/ChoiPDFv/assets/cmaps/KSC-Johab-V.bcmap new file mode 100644 index 0000000..367ceb2 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSC-Johab-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSC-V.bcmap b/ChoiPDFv/assets/cmaps/KSC-V.bcmap new file mode 100644 index 0000000..6ae2f0b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSCms-UHC-H.bcmap b/ChoiPDFv/assets/cmaps/KSCms-UHC-H.bcmap new file mode 100644 index 0000000..a8d4240 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSCms-UHC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSCms-UHC-HW-H.bcmap b/ChoiPDFv/assets/cmaps/KSCms-UHC-HW-H.bcmap new file mode 100644 index 0000000..8b4ae18 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSCms-UHC-HW-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSCms-UHC-HW-V.bcmap b/ChoiPDFv/assets/cmaps/KSCms-UHC-HW-V.bcmap new file mode 100644 index 0000000..b655dbc Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSCms-UHC-HW-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSCms-UHC-V.bcmap b/ChoiPDFv/assets/cmaps/KSCms-UHC-V.bcmap new file mode 100644 index 0000000..21f97f6 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSCms-UHC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSCpc-EUC-H.bcmap b/ChoiPDFv/assets/cmaps/KSCpc-EUC-H.bcmap new file mode 100644 index 0000000..e06f361 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSCpc-EUC-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/KSCpc-EUC-V.bcmap b/ChoiPDFv/assets/cmaps/KSCpc-EUC-V.bcmap new file mode 100644 index 0000000..f3c9113 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/KSCpc-EUC-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Katakana.bcmap b/ChoiPDFv/assets/cmaps/Katakana.bcmap new file mode 100644 index 0000000..524303c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Katakana.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/LICENSE b/ChoiPDFv/assets/cmaps/LICENSE new file mode 100644 index 0000000..b1ad168 --- /dev/null +++ b/ChoiPDFv/assets/cmaps/LICENSE @@ -0,0 +1,36 @@ +%%Copyright: ----------------------------------------------------------- +%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated. +%%Copyright: All rights reserved. +%%Copyright: +%%Copyright: Redistribution and use in source and binary forms, with or +%%Copyright: without modification, are permitted provided that the +%%Copyright: following conditions are met: +%%Copyright: +%%Copyright: Redistributions of source code must retain the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer. +%%Copyright: +%%Copyright: Redistributions in binary form must reproduce the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer in the documentation and/or other materials +%%Copyright: provided with the distribution. +%%Copyright: +%%Copyright: Neither the name of Adobe Systems Incorporated nor the names +%%Copyright: of its contributors may be used to endorse or promote +%%Copyright: products derived from this software without specific prior +%%Copyright: written permission. +%%Copyright: +%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +%%Copyright: ----------------------------------------------------------- diff --git a/ChoiPDFv/assets/cmaps/NWP-H.bcmap b/ChoiPDFv/assets/cmaps/NWP-H.bcmap new file mode 100644 index 0000000..afc5e4b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/NWP-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/NWP-V.bcmap b/ChoiPDFv/assets/cmaps/NWP-V.bcmap new file mode 100644 index 0000000..bb5785e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/NWP-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/RKSJ-H.bcmap b/ChoiPDFv/assets/cmaps/RKSJ-H.bcmap new file mode 100644 index 0000000..fb8d298 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/RKSJ-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/RKSJ-V.bcmap b/ChoiPDFv/assets/cmaps/RKSJ-V.bcmap new file mode 100644 index 0000000..a2555a6 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/RKSJ-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/Roman.bcmap b/ChoiPDFv/assets/cmaps/Roman.bcmap new file mode 100644 index 0000000..f896dcf Binary files /dev/null and b/ChoiPDFv/assets/cmaps/Roman.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UCS2-H.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UCS2-H.bcmap new file mode 100644 index 0000000..d5db27c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UCS2-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UCS2-V.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UCS2-V.bcmap new file mode 100644 index 0000000..1dc9b7a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UCS2-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UTF16-H.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UTF16-H.bcmap new file mode 100644 index 0000000..961afef Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UTF16-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UTF16-V.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UTF16-V.bcmap new file mode 100644 index 0000000..df0cffe Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UTF16-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UTF32-H.bcmap new file mode 100644 index 0000000..1ab18a1 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UTF32-V.bcmap new file mode 100644 index 0000000..ad14662 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UTF8-H.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UTF8-H.bcmap new file mode 100644 index 0000000..83c6bd7 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UTF8-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniCNS-UTF8-V.bcmap b/ChoiPDFv/assets/cmaps/UniCNS-UTF8-V.bcmap new file mode 100644 index 0000000..22a27e4 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniCNS-UTF8-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UCS2-H.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UCS2-H.bcmap new file mode 100644 index 0000000..5bd6228 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UCS2-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UCS2-V.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UCS2-V.bcmap new file mode 100644 index 0000000..53c534b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UCS2-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UTF16-H.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UTF16-H.bcmap new file mode 100644 index 0000000..b95045b Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UTF16-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UTF16-V.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UTF16-V.bcmap new file mode 100644 index 0000000..51f023e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UTF16-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UTF32-H.bcmap new file mode 100644 index 0000000..f0dbd14 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UTF32-V.bcmap new file mode 100644 index 0000000..ce9c30a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UTF8-H.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UTF8-H.bcmap new file mode 100644 index 0000000..982ca46 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UTF8-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniGB-UTF8-V.bcmap b/ChoiPDFv/assets/cmaps/UniGB-UTF8-V.bcmap new file mode 100644 index 0000000..f78020d Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniGB-UTF8-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UCS2-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-H.bcmap new file mode 100644 index 0000000..7daf56a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UCS2-HW-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-HW-H.bcmap new file mode 100644 index 0000000..ac9975c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-HW-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UCS2-HW-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-HW-V.bcmap new file mode 100644 index 0000000..3da0a1c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-HW-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UCS2-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-V.bcmap new file mode 100644 index 0000000..c50b9dd Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UCS2-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UTF16-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UTF16-H.bcmap new file mode 100644 index 0000000..6761344 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UTF16-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UTF16-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UTF16-V.bcmap new file mode 100644 index 0000000..70bf90c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UTF16-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UTF32-H.bcmap new file mode 100644 index 0000000..7a83d53 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UTF32-V.bcmap new file mode 100644 index 0000000..7a87135 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UTF8-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UTF8-H.bcmap new file mode 100644 index 0000000..9f0334c Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UTF8-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS-UTF8-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS-UTF8-V.bcmap new file mode 100644 index 0000000..808a94f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS-UTF8-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS2004-UTF16-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF16-H.bcmap new file mode 100644 index 0000000..d768bf8 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF16-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS2004-UTF16-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF16-V.bcmap new file mode 100644 index 0000000..3d5bf6f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF16-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS2004-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF32-H.bcmap new file mode 100644 index 0000000..09eee10 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS2004-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF32-V.bcmap new file mode 100644 index 0000000..6c54600 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS2004-UTF8-H.bcmap b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF8-H.bcmap new file mode 100644 index 0000000..1b1a64f Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF8-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJIS2004-UTF8-V.bcmap b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF8-V.bcmap new file mode 100644 index 0000000..994aa9e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJIS2004-UTF8-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISPro-UCS2-HW-V.bcmap b/ChoiPDFv/assets/cmaps/UniJISPro-UCS2-HW-V.bcmap new file mode 100644 index 0000000..643f921 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISPro-UCS2-HW-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISPro-UCS2-V.bcmap b/ChoiPDFv/assets/cmaps/UniJISPro-UCS2-V.bcmap new file mode 100644 index 0000000..c148f67 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISPro-UCS2-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISPro-UTF8-V.bcmap b/ChoiPDFv/assets/cmaps/UniJISPro-UTF8-V.bcmap new file mode 100644 index 0000000..1849d80 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISPro-UTF8-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISX0213-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniJISX0213-UTF32-H.bcmap new file mode 100644 index 0000000..a83a677 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISX0213-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISX0213-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniJISX0213-UTF32-V.bcmap new file mode 100644 index 0000000..f527248 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISX0213-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISX02132004-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniJISX02132004-UTF32-H.bcmap new file mode 100644 index 0000000..e1a988d Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISX02132004-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniJISX02132004-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniJISX02132004-UTF32-V.bcmap new file mode 100644 index 0000000..47e054a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniJISX02132004-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UCS2-H.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UCS2-H.bcmap new file mode 100644 index 0000000..b5b9485 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UCS2-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UCS2-V.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UCS2-V.bcmap new file mode 100644 index 0000000..026adca Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UCS2-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UTF16-H.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UTF16-H.bcmap new file mode 100644 index 0000000..fd4e66e Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UTF16-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UTF16-V.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UTF16-V.bcmap new file mode 100644 index 0000000..075efb7 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UTF16-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UTF32-H.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UTF32-H.bcmap new file mode 100644 index 0000000..769d214 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UTF32-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UTF32-V.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UTF32-V.bcmap new file mode 100644 index 0000000..bdab208 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UTF32-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UTF8-H.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UTF8-H.bcmap new file mode 100644 index 0000000..6ff8674 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UTF8-H.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/UniKS-UTF8-V.bcmap b/ChoiPDFv/assets/cmaps/UniKS-UTF8-V.bcmap new file mode 100644 index 0000000..8dfa76a Binary files /dev/null and b/ChoiPDFv/assets/cmaps/UniKS-UTF8-V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/V.bcmap b/ChoiPDFv/assets/cmaps/V.bcmap new file mode 100644 index 0000000..fdec990 Binary files /dev/null and b/ChoiPDFv/assets/cmaps/V.bcmap differ diff --git a/ChoiPDFv/assets/cmaps/WP-Symbol.bcmap b/ChoiPDFv/assets/cmaps/WP-Symbol.bcmap new file mode 100644 index 0000000..46729bb Binary files /dev/null and b/ChoiPDFv/assets/cmaps/WP-Symbol.bcmap differ diff --git a/ChoiPDFv/assets/pdf-list.json b/ChoiPDFv/assets/pdf-list.json new file mode 100644 index 0000000..1714b7f --- /dev/null +++ b/ChoiPDFv/assets/pdf-list.json @@ -0,0 +1,18 @@ +[ + { + "type": "folder", + "name": "도면", + "children": [ + { "type": "file", "fileName": "제동장치.pdf", "uri": "assets/pdfs/로템1단계/제동장치.pdf" }, + { "type": "file", "fileName": "18. 공기 배관(하부).pdf", "uri": "assets/pdfs/우진200/18. 공기 배관(하부).pdf" } + ] + }, + { + "type": "folder", + "name": "매뉴얼", + "children": [ + { "type": "file", "fileName": "사용자.pdf", "uri": "assets/manual/user.pdf" } + ] + } +] + \ No newline at end of file diff --git a/ChoiPDFv/icon.png b/ChoiPDFv/icon.png new file mode 100644 index 0000000..dd4733f Binary files /dev/null and b/ChoiPDFv/icon.png differ diff --git a/ChoiPDFv/index.html b/ChoiPDFv/index.html new file mode 100644 index 0000000..a34003e --- /dev/null +++ b/ChoiPDFv/index.html @@ -0,0 +1,417 @@ + + + + + + Choi PDF Viewer + + + + + + + + + +
+
파일을 선택하세요
+
+ +
+ + + + + + + + + + diff --git a/ChoiPDFv/largeIcon.png b/ChoiPDFv/largeIcon.png new file mode 100644 index 0000000..e0149b4 Binary files /dev/null and b/ChoiPDFv/largeIcon.png differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/LICENSE-2.0.txt b/ChoiPDFv/webOSTVjs-1.2.10/LICENSE-2.0.txt new file mode 100644 index 0000000..e06d208 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/LICENSE-2.0.txt @@ -0,0 +1,202 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-EUC-H.bcmap new file mode 100644 index 0000000..2655fc7 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-EUC-V.bcmap new file mode 100644 index 0000000..f1ed853 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-H.bcmap new file mode 100644 index 0000000..39e89d3 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-RKSJ-H.bcmap new file mode 100644 index 0000000..e4167cb Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-RKSJ-V.bcmap new file mode 100644 index 0000000..50b1646 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-V.bcmap new file mode 100644 index 0000000..d7af99b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78ms-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78ms-RKSJ-H.bcmap new file mode 100644 index 0000000..37077d0 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78ms-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78ms-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78ms-RKSJ-V.bcmap new file mode 100644 index 0000000..acf2323 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/78ms-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/83pv-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/83pv-RKSJ-H.bcmap new file mode 100644 index 0000000..2359bc5 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/83pv-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90ms-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90ms-RKSJ-H.bcmap new file mode 100644 index 0000000..af82938 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90ms-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90ms-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90ms-RKSJ-V.bcmap new file mode 100644 index 0000000..780549d Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90ms-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90msp-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90msp-RKSJ-H.bcmap new file mode 100644 index 0000000..bfd3119 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90msp-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90msp-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90msp-RKSJ-V.bcmap new file mode 100644 index 0000000..25ef14a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90msp-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90pv-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90pv-RKSJ-H.bcmap new file mode 100644 index 0000000..02f713b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90pv-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90pv-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90pv-RKSJ-V.bcmap new file mode 100644 index 0000000..d08e0cc Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/90pv-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-H.bcmap new file mode 100644 index 0000000..59442ac Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-RKSJ-H.bcmap new file mode 100644 index 0000000..a3065e4 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-RKSJ-V.bcmap new file mode 100644 index 0000000..040014c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-V.bcmap new file mode 100644 index 0000000..2f816d3 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Add-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-0.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-0.bcmap new file mode 100644 index 0000000..88ec04a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-0.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-1.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-1.bcmap new file mode 100644 index 0000000..03a5014 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-1.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-2.bcmap new file mode 100644 index 0000000..2aa9514 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-3.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-3.bcmap new file mode 100644 index 0000000..86d8b8c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-3.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-4.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-4.bcmap new file mode 100644 index 0000000..f50fc6c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-4.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-5.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-5.bcmap new file mode 100644 index 0000000..6caf4a8 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-5.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-6.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-6.bcmap new file mode 100644 index 0000000..b77fb07 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-6.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-UCS2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-UCS2.bcmap new file mode 100644 index 0000000..69d79a2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-CNS1-UCS2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-0.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-0.bcmap new file mode 100644 index 0000000..3610108 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-0.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-1.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-1.bcmap new file mode 100644 index 0000000..707bb10 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-1.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-2.bcmap new file mode 100644 index 0000000..f7648cc Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-3.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-3.bcmap new file mode 100644 index 0000000..8521458 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-3.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-4.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-4.bcmap new file mode 100644 index 0000000..e40c63a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-4.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-5.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-5.bcmap new file mode 100644 index 0000000..d7623b5 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-5.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-UCS2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-UCS2.bcmap new file mode 100644 index 0000000..7586525 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-GB1-UCS2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-0.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-0.bcmap new file mode 100644 index 0000000..f0e94ec Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-0.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-1.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-1.bcmap new file mode 100644 index 0000000..dad42c5 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-1.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-2.bcmap new file mode 100644 index 0000000..090819a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-3.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-3.bcmap new file mode 100644 index 0000000..087dfc1 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-3.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-4.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-4.bcmap new file mode 100644 index 0000000..46aa9bf Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-4.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-5.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-5.bcmap new file mode 100644 index 0000000..5b4b65c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-5.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-6.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-6.bcmap new file mode 100644 index 0000000..e77d699 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-6.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-UCS2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-UCS2.bcmap new file mode 100644 index 0000000..128a141 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Japan1-UCS2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-0.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-0.bcmap new file mode 100644 index 0000000..cef1a99 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-0.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-1.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-1.bcmap new file mode 100644 index 0000000..11ffa36 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-1.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-2.bcmap new file mode 100644 index 0000000..3172308 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-UCS2.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-UCS2.bcmap new file mode 100644 index 0000000..f3371c0 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Adobe-Korea1-UCS2.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5-H.bcmap new file mode 100644 index 0000000..beb4d22 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5-V.bcmap new file mode 100644 index 0000000..2d4f87d Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5pc-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5pc-H.bcmap new file mode 100644 index 0000000..ce00131 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5pc-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5pc-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5pc-V.bcmap new file mode 100644 index 0000000..73b99ff Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/B5pc-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS-EUC-H.bcmap new file mode 100644 index 0000000..61d1d0c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS-EUC-V.bcmap new file mode 100644 index 0000000..1a393a5 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS1-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS1-H.bcmap new file mode 100644 index 0000000..f738e21 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS1-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS1-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS1-V.bcmap new file mode 100644 index 0000000..9c3169f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS1-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS2-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS2-H.bcmap new file mode 100644 index 0000000..c89b352 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS2-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS2-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS2-V.bcmap new file mode 100644 index 0000000..7588cec --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/CNS2-V.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSECNS2-H \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETHK-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETHK-B5-H.bcmap new file mode 100644 index 0000000..cb29415 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETHK-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETHK-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETHK-B5-V.bcmap new file mode 100644 index 0000000..f09aec6 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETHK-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETen-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETen-B5-H.bcmap new file mode 100644 index 0000000..c2d7746 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETen-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETen-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETen-B5-V.bcmap new file mode 100644 index 0000000..89bff15 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETen-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETenms-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETenms-B5-H.bcmap new file mode 100644 index 0000000..a7d69db --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETenms-B5-H.bcmap @@ -0,0 +1,3 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE ETen-B5-H` ^ \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETenms-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETenms-B5-V.bcmap new file mode 100644 index 0000000..adc5d61 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/ETenms-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/EUC-H.bcmap new file mode 100644 index 0000000..e92ea5b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/EUC-V.bcmap new file mode 100644 index 0000000..7a7c183 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-H.bcmap new file mode 100644 index 0000000..3b5cde4 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-RKSJ-H.bcmap new file mode 100644 index 0000000..ea4d2d9 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-RKSJ-V.bcmap new file mode 100644 index 0000000..3457c27 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-V.bcmap new file mode 100644 index 0000000..4999ca4 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Ext-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-EUC-H.bcmap new file mode 100644 index 0000000..e39908b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-EUC-V.bcmap new file mode 100644 index 0000000..d5be544 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-H.bcmap new file mode 100644 index 0000000..39189c5 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-H.bcmap @@ -0,0 +1,4 @@ +RCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE!!]aX!!]`21> p z$]"Rd-U7* 4%+ Z {/%<9Kb1]." `],"] +"]h"]F"]$"]"]`"]>"]"]z"]X"]6"]"]r"]P"]."] "]j"]H"]&"]"]b"]@"]"]|"]Z"]8"]"]t"]R"]0"]"]l"]J"]("]"]d"]B"] "X~']W"]5"]"]q"]O"]-"] "]i"]G"]%"]"]a"]?"]"]{"]Y"]7"]"]s"]Q"]/"] "]k"]I"]'"]"]c"]A"]"]}"]["]9 \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-V.bcmap new file mode 100644 index 0000000..3108345 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GB-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK-EUC-H.bcmap new file mode 100644 index 0000000..05fff7e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK-EUC-V.bcmap new file mode 100644 index 0000000..0cdf6be Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK2K-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK2K-H.bcmap new file mode 100644 index 0000000..46f6ba5 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK2K-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK2K-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK2K-V.bcmap new file mode 100644 index 0000000..d9a9479 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBK2K-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBKp-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBKp-EUC-H.bcmap new file mode 100644 index 0000000..5cb0af6 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBKp-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBKp-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBKp-EUC-V.bcmap new file mode 100644 index 0000000..bca93b8 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBKp-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-EUC-H.bcmap new file mode 100644 index 0000000..4b4e2d3 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-EUC-V.bcmap new file mode 100644 index 0000000..38f7066 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-H.bcmap new file mode 100644 index 0000000..8437ac3 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-V.bcmap new file mode 100644 index 0000000..697ab4a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBT-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBTpc-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBTpc-EUC-H.bcmap new file mode 100644 index 0000000..f6e50e8 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBTpc-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBTpc-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBTpc-EUC-V.bcmap new file mode 100644 index 0000000..6c0d71a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBTpc-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBpc-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBpc-EUC-H.bcmap new file mode 100644 index 0000000..c9edf67 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBpc-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBpc-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBpc-EUC-V.bcmap new file mode 100644 index 0000000..31450c9 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/GBpc-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/H.bcmap new file mode 100644 index 0000000..7b24ea4 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdla-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdla-B5-H.bcmap new file mode 100644 index 0000000..7d30c05 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdla-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdla-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdla-B5-V.bcmap new file mode 100644 index 0000000..7894694 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdla-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdlb-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdlb-B5-H.bcmap new file mode 100644 index 0000000..d829a23 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdlb-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdlb-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdlb-B5-V.bcmap new file mode 100644 index 0000000..2b572b5 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKdlb-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKgccs-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKgccs-B5-H.bcmap new file mode 100644 index 0000000..971a4f2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKgccs-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKgccs-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKgccs-B5-V.bcmap new file mode 100644 index 0000000..d353ca2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKgccs-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm314-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm314-B5-H.bcmap new file mode 100644 index 0000000..576dc01 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm314-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm314-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm314-B5-V.bcmap new file mode 100644 index 0000000..0e96d0e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm314-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm471-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm471-B5-H.bcmap new file mode 100644 index 0000000..11d170c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm471-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm471-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm471-B5-V.bcmap new file mode 100644 index 0000000..54959bf Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKm471-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKscs-B5-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKscs-B5-H.bcmap new file mode 100644 index 0000000..6ef7857 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKscs-B5-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKscs-B5-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKscs-B5-V.bcmap new file mode 100644 index 0000000..1fb2fa2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/HKscs-B5-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Hankaku.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Hankaku.bcmap new file mode 100644 index 0000000..4b8ec7f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Hankaku.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Hiragana.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Hiragana.bcmap new file mode 100644 index 0000000..17e983e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Hiragana.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-EUC-H.bcmap new file mode 100644 index 0000000..a45c65f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-EUC-V.bcmap new file mode 100644 index 0000000..0e7b21f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-H.bcmap new file mode 100644 index 0000000..b9b22b6 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-Johab-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-Johab-H.bcmap new file mode 100644 index 0000000..2531ffc Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-Johab-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-Johab-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-Johab-V.bcmap new file mode 100644 index 0000000..367ceb2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-Johab-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-V.bcmap new file mode 100644 index 0000000..6ae2f0b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-H.bcmap new file mode 100644 index 0000000..a8d4240 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-HW-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-HW-H.bcmap new file mode 100644 index 0000000..8b4ae18 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-HW-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-HW-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-HW-V.bcmap new file mode 100644 index 0000000..b655dbc Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-HW-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-V.bcmap new file mode 100644 index 0000000..21f97f6 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCms-UHC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCpc-EUC-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCpc-EUC-H.bcmap new file mode 100644 index 0000000..e06f361 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCpc-EUC-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCpc-EUC-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCpc-EUC-V.bcmap new file mode 100644 index 0000000..f3c9113 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/KSCpc-EUC-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Katakana.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Katakana.bcmap new file mode 100644 index 0000000..524303c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Katakana.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/LICENSE b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/LICENSE new file mode 100644 index 0000000..b1ad168 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/LICENSE @@ -0,0 +1,36 @@ +%%Copyright: ----------------------------------------------------------- +%%Copyright: Copyright 1990-2009 Adobe Systems Incorporated. +%%Copyright: All rights reserved. +%%Copyright: +%%Copyright: Redistribution and use in source and binary forms, with or +%%Copyright: without modification, are permitted provided that the +%%Copyright: following conditions are met: +%%Copyright: +%%Copyright: Redistributions of source code must retain the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer. +%%Copyright: +%%Copyright: Redistributions in binary form must reproduce the above +%%Copyright: copyright notice, this list of conditions and the following +%%Copyright: disclaimer in the documentation and/or other materials +%%Copyright: provided with the distribution. +%%Copyright: +%%Copyright: Neither the name of Adobe Systems Incorporated nor the names +%%Copyright: of its contributors may be used to endorse or promote +%%Copyright: products derived from this software without specific prior +%%Copyright: written permission. +%%Copyright: +%%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +%%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +%%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +%%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +%%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +%%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +%%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +%%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +%%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +%%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +%%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +%%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +%%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +%%Copyright: ----------------------------------------------------------- diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/NWP-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/NWP-H.bcmap new file mode 100644 index 0000000..afc5e4b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/NWP-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/NWP-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/NWP-V.bcmap new file mode 100644 index 0000000..bb5785e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/NWP-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/RKSJ-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/RKSJ-H.bcmap new file mode 100644 index 0000000..fb8d298 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/RKSJ-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/RKSJ-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/RKSJ-V.bcmap new file mode 100644 index 0000000..a2555a6 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/RKSJ-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Roman.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Roman.bcmap new file mode 100644 index 0000000..f896dcf Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/Roman.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UCS2-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UCS2-H.bcmap new file mode 100644 index 0000000..d5db27c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UCS2-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UCS2-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UCS2-V.bcmap new file mode 100644 index 0000000..1dc9b7a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UCS2-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF16-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF16-H.bcmap new file mode 100644 index 0000000..961afef Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF16-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF16-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF16-V.bcmap new file mode 100644 index 0000000..df0cffe Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF16-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF32-H.bcmap new file mode 100644 index 0000000..1ab18a1 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF32-V.bcmap new file mode 100644 index 0000000..ad14662 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF8-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF8-H.bcmap new file mode 100644 index 0000000..83c6bd7 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF8-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF8-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF8-V.bcmap new file mode 100644 index 0000000..22a27e4 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniCNS-UTF8-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UCS2-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UCS2-H.bcmap new file mode 100644 index 0000000..5bd6228 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UCS2-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UCS2-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UCS2-V.bcmap new file mode 100644 index 0000000..53c534b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UCS2-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF16-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF16-H.bcmap new file mode 100644 index 0000000..b95045b Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF16-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF16-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF16-V.bcmap new file mode 100644 index 0000000..51f023e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF16-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF32-H.bcmap new file mode 100644 index 0000000..f0dbd14 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF32-V.bcmap new file mode 100644 index 0000000..ce9c30a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF8-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF8-H.bcmap new file mode 100644 index 0000000..982ca46 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF8-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF8-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF8-V.bcmap new file mode 100644 index 0000000..f78020d Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniGB-UTF8-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-H.bcmap new file mode 100644 index 0000000..7daf56a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-HW-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-HW-H.bcmap new file mode 100644 index 0000000..ac9975c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-HW-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-HW-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-HW-V.bcmap new file mode 100644 index 0000000..3da0a1c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-HW-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-V.bcmap new file mode 100644 index 0000000..c50b9dd Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UCS2-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF16-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF16-H.bcmap new file mode 100644 index 0000000..6761344 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF16-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF16-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF16-V.bcmap new file mode 100644 index 0000000..70bf90c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF16-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF32-H.bcmap new file mode 100644 index 0000000..7a83d53 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF32-V.bcmap new file mode 100644 index 0000000..7a87135 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF8-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF8-H.bcmap new file mode 100644 index 0000000..9f0334c Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF8-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF8-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF8-V.bcmap new file mode 100644 index 0000000..808a94f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS-UTF8-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF16-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF16-H.bcmap new file mode 100644 index 0000000..d768bf8 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF16-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF16-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF16-V.bcmap new file mode 100644 index 0000000..3d5bf6f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF16-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF32-H.bcmap new file mode 100644 index 0000000..09eee10 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF32-V.bcmap new file mode 100644 index 0000000..6c54600 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF8-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF8-H.bcmap new file mode 100644 index 0000000..1b1a64f Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF8-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF8-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF8-V.bcmap new file mode 100644 index 0000000..994aa9e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJIS2004-UTF8-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UCS2-HW-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UCS2-HW-V.bcmap new file mode 100644 index 0000000..643f921 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UCS2-HW-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UCS2-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UCS2-V.bcmap new file mode 100644 index 0000000..c148f67 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UCS2-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UTF8-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UTF8-V.bcmap new file mode 100644 index 0000000..1849d80 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISPro-UTF8-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX0213-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX0213-UTF32-H.bcmap new file mode 100644 index 0000000..a83a677 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX0213-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX0213-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX0213-UTF32-V.bcmap new file mode 100644 index 0000000..f527248 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX0213-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX02132004-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX02132004-UTF32-H.bcmap new file mode 100644 index 0000000..e1a988d Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX02132004-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX02132004-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX02132004-UTF32-V.bcmap new file mode 100644 index 0000000..47e054a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniJISX02132004-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UCS2-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UCS2-H.bcmap new file mode 100644 index 0000000..b5b9485 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UCS2-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UCS2-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UCS2-V.bcmap new file mode 100644 index 0000000..026adca Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UCS2-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF16-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF16-H.bcmap new file mode 100644 index 0000000..fd4e66e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF16-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF16-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF16-V.bcmap new file mode 100644 index 0000000..075efb7 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF16-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF32-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF32-H.bcmap new file mode 100644 index 0000000..769d214 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF32-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF32-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF32-V.bcmap new file mode 100644 index 0000000..bdab208 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF32-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF8-H.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF8-H.bcmap new file mode 100644 index 0000000..6ff8674 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF8-H.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF8-V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF8-V.bcmap new file mode 100644 index 0000000..8dfa76a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/UniKS-UTF8-V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/V.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/V.bcmap new file mode 100644 index 0000000..fdec990 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/V.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/cmaps/WP-Symbol.bcmap b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/WP-Symbol.bcmap new file mode 100644 index 0000000..46729bb Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/cmaps/WP-Symbol.bcmap differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/css/fonts.css b/ChoiPDFv/webOSTVjs-1.2.10/css/fonts.css new file mode 100644 index 0000000..45060c1 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/css/fonts.css @@ -0,0 +1,23 @@ +@font-face { + font-family: 'Pretendard'; + font-style: normal; + font-weight: 400; + src: url('../fonts/Pretendard-Regular.woff2') format('woff2'), + url('../fonts/Pretendard-Regular.woff') format('woff'); + } + @font-face { + font-family: 'Pretendard'; + font-style: normal; + font-weight: 500; + src: url('../fonts/Pretendard-Medium.woff2') format('woff2'), + url('../fonts/Pretendard-Medium.woff') format('woff'); + } + @font-face { + font-family: 'Pretendard'; + font-style: normal; + font-weight: 700; + src: url('../fonts/Pretendard-Bold.woff2') format('woff2'), + url('../fonts/Pretendard-Bold.woff') format('woff'); + } + /* 필요시 더 많은 weight 포함 가능 */ + \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/all.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/all.css new file mode 100644 index 0000000..8ebd25f --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/all.css @@ -0,0 +1,4556 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adobe:before { + content: "\f778"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\f95b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\f952"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\f905"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\f907"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\f95c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\f95d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\f95e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\f95f"; } + +.fa-handshake-slash:before { + content: "\f960"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\f961"; } + +.fa-head-side-cough-slash:before { + content: "\f962"; } + +.fa-head-side-mask:before { + content: "\f963"; } + +.fa-head-side-virus:before { + content: "\f964"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\f965"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\f913"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\f955"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\f966"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\f967"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\f91a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\f956"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\f968"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\f91e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\f969"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\f96a"; } + +.fa-pump-soap:before { + content: "\f96b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\f96c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\f957"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\f96e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\f96f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\f970"; } + +.fa-store-slash:before { + content: "\f971"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\f972"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\f941"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\f949"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\f974"; } + +.fa-virus-slash:before { + content: "\f975"; } + +.fa-viruses:before { + content: "\f976"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/all.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/all.min.css new file mode 100644 index 0000000..3d28ab2 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\f95b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\f95c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\f95d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\f95e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\f95f"}.fa-handshake-slash:before{content:"\f960"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\f961"}.fa-head-side-cough-slash:before{content:"\f962"}.fa-head-side-mask:before{content:"\f963"}.fa-head-side-virus:before{content:"\f964"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\f965"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\f966"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\f967"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\f968"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\f969"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\f96a"}.fa-pump-soap:before{content:"\f96b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\f96c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\f96e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\f96f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\f970"}.fa-store-slash:before{content:"\f971"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\f972"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\f974"}.fa-virus-slash:before{content:"\f975"}.fa-viruses:before{content:"\f976"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/brands.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/brands.css new file mode 100644 index 0000000..ed4b739 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/brands.css @@ -0,0 +1,15 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/brands.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/brands.min.css new file mode 100644 index 0000000..c8942c2 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/brands.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/fontawesome.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/fontawesome.css new file mode 100644 index 0000000..c73d7c0 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/fontawesome.css @@ -0,0 +1,4522 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adobe:before { + content: "\f778"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\f95b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\f952"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\f905"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\f907"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\f95c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\f95d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\f95e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\f95f"; } + +.fa-handshake-slash:before { + content: "\f960"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\f961"; } + +.fa-head-side-cough-slash:before { + content: "\f962"; } + +.fa-head-side-mask:before { + content: "\f963"; } + +.fa-head-side-virus:before { + content: "\f964"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\f965"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\f913"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\f955"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\f966"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\f967"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\f91a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\f956"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\f968"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\f91e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\f969"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\f96a"; } + +.fa-pump-soap:before { + content: "\f96b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\f96c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\f957"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\f96e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\f96f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\f970"; } + +.fa-store-slash:before { + content: "\f971"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\f972"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\f941"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-tripadvisor:before { + content: "\f262"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\f949"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\f974"; } + +.fa-virus-slash:before { + content: "\f975"; } + +.fa-viruses:before { + content: "\f976"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/fontawesome.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/fontawesome.min.css new file mode 100644 index 0000000..06a13c5 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/fontawesome.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\f95b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\f905"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\f95c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\f95d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\f95e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\f95f"}.fa-handshake-slash:before{content:"\f960"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\f961"}.fa-head-side-cough-slash:before{content:"\f962"}.fa-head-side-mask:before{content:"\f963"}.fa-head-side-virus:before{content:"\f964"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\f965"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\f966"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\f967"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\f968"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\f969"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\f96a"}.fa-pump-soap:before{content:"\f96b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\f96c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\f96e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\f96f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\f970"}.fa-store-slash:before{content:"\f971"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\f972"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\f974"}.fa-virus-slash:before{content:"\f975"}.fa-viruses:before{content:"\f976"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/regular.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/regular.css new file mode 100644 index 0000000..9914a00 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/regular.css @@ -0,0 +1,15 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/regular.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/regular.min.css new file mode 100644 index 0000000..e247cb1 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/regular.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/solid.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/solid.css new file mode 100644 index 0000000..252d775 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/solid.css @@ -0,0 +1,16 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/solid.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/solid.min.css new file mode 100644 index 0000000..c26a3ae --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/solid.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/svg-with-js.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/svg-with-js.css new file mode 100644 index 0000000..dbca947 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/svg-with-js.css @@ -0,0 +1,371 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +svg:not(:root).svg-inline--fa { + overflow: visible; } + +.svg-inline--fa { + display: inline-block; + font-size: inherit; + height: 1em; + overflow: visible; + vertical-align: -.125em; } + .svg-inline--fa.fa-lg { + vertical-align: -.225em; } + .svg-inline--fa.fa-w-1 { + width: 0.0625em; } + .svg-inline--fa.fa-w-2 { + width: 0.125em; } + .svg-inline--fa.fa-w-3 { + width: 0.1875em; } + .svg-inline--fa.fa-w-4 { + width: 0.25em; } + .svg-inline--fa.fa-w-5 { + width: 0.3125em; } + .svg-inline--fa.fa-w-6 { + width: 0.375em; } + .svg-inline--fa.fa-w-7 { + width: 0.4375em; } + .svg-inline--fa.fa-w-8 { + width: 0.5em; } + .svg-inline--fa.fa-w-9 { + width: 0.5625em; } + .svg-inline--fa.fa-w-10 { + width: 0.625em; } + .svg-inline--fa.fa-w-11 { + width: 0.6875em; } + .svg-inline--fa.fa-w-12 { + width: 0.75em; } + .svg-inline--fa.fa-w-13 { + width: 0.8125em; } + .svg-inline--fa.fa-w-14 { + width: 0.875em; } + .svg-inline--fa.fa-w-15 { + width: 0.9375em; } + .svg-inline--fa.fa-w-16 { + width: 1em; } + .svg-inline--fa.fa-w-17 { + width: 1.0625em; } + .svg-inline--fa.fa-w-18 { + width: 1.125em; } + .svg-inline--fa.fa-w-19 { + width: 1.1875em; } + .svg-inline--fa.fa-w-20 { + width: 1.25em; } + .svg-inline--fa.fa-pull-left { + margin-right: .3em; + width: auto; } + .svg-inline--fa.fa-pull-right { + margin-left: .3em; + width: auto; } + .svg-inline--fa.fa-border { + height: 1.5em; } + .svg-inline--fa.fa-li { + width: 2em; } + .svg-inline--fa.fa-fw { + width: 1.25em; } + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; } + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -.125em; + width: 1em; } + .fa-layers svg.svg-inline--fa { + -webkit-transform-origin: center center; + transform-origin: center center; } + +.fa-layers-text, .fa-layers-counter { + display: inline-block; + position: absolute; + text-align: center; } + +.fa-layers-text { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + -webkit-transform-origin: center center; + transform-origin: center center; } + +.fa-layers-counter { + background-color: #ff253a; + border-radius: 1em; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #fff; + height: 1.5em; + line-height: 1; + max-width: 5em; + min-width: 1.5em; + overflow: hidden; + padding: .25em; + right: 0; + text-overflow: ellipsis; + top: 0; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: top right; + transform-origin: top right; } + +.fa-layers-bottom-right { + bottom: 0; + right: 0; + top: auto; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: bottom right; + transform-origin: bottom right; } + +.fa-layers-bottom-left { + bottom: 0; + left: 0; + right: auto; + top: auto; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: bottom left; + transform-origin: bottom left; } + +.fa-layers-top-right { + right: 0; + top: 0; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: top right; + transform-origin: top right; } + +.fa-layers-top-left { + left: 0; + right: auto; + top: 0; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: top left; + transform-origin: top left; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + position: relative; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; } + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; } + +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; } + +.fa-inverse { + color: #fff; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: 1; + opacity: var(--fa-primary-opacity, 1); } + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: 0.4; + opacity: var(--fa-secondary-opacity, 0.4); } + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: 0.4; + opacity: var(--fa-secondary-opacity, 0.4); } + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: 1; + opacity: var(--fa-primary-opacity, 1); } + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; } + +.fad.fa-inverse { + color: #fff; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/svg-with-js.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/svg-with-js.min.css new file mode 100644 index 0000000..08ef08c --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/svg-with-js.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/v4-shims.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/v4-shims.css new file mode 100644 index 0000000..1070fbe --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/v4-shims.css @@ -0,0 +1,2172 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-pencil:before { + content: "\f303"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart:before { + content: "\f080"; } + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart-o:before { + content: "\f080"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-scissors:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f3fd"; } + +.fa.fa-dashboard:before { + content: "\f3fd"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste:before { + content: "\f328"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f381"; } + +.fa.fa-cloud-upload:before { + content: "\f382"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f089"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f089"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f089"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-shield:before { + content: "\f3ed"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ticket:before { + content: "\f3ff"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\f155"; } + +.fa.fa-dollar:before { + content: "\f155"; } + +.fa.fa-inr:before { + content: "\f156"; } + +.fa.fa-rupee:before { + content: "\f156"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa.fa-sort-amount-desc:before { + content: "\f884"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-try:before { + content: "\f195"; } + +.fa.fa-turkish-lira:before { + content: "\f195"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-spoon:before { + content: "\f2e5"; } + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-sliders:before { + content: "\f1de"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-meanpath:before { + content: "\f2b4"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cab:before { + content: "\f1ba"; } diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/v4-shims.min.css b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/v4-shims.min.css new file mode 100644 index 0000000..974cb4d --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/css/v4-shims.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cab:before{content:"\f1ba"} \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.eot b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.eot new file mode 100644 index 0000000..a1bc094 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.eot differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.svg b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.svg new file mode 100644 index 0000000..46ad237 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.svg @@ -0,0 +1,3570 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.ttf b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000..948a2a6 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.ttf differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.woff b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.woff new file mode 100644 index 0000000..2a89d52 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.woff differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.woff2 b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000..141a90a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-brands-400.woff2 differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.eot b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.eot new file mode 100644 index 0000000..38cf251 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.eot differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.svg b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.svg new file mode 100644 index 0000000..48634a9 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.svg @@ -0,0 +1,803 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.ttf b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000..abe99e2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.ttf differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.woff b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.woff new file mode 100644 index 0000000..24de566 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.woff differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.woff2 b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000..7e0118e Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-regular-400.woff2 differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.eot b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.eot new file mode 100644 index 0000000..d3b77c2 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.eot differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.svg b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.svg new file mode 100644 index 0000000..7742838 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.svg @@ -0,0 +1,4938 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.ttf b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000..5b97903 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.ttf differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.woff b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.woff new file mode 100644 index 0000000..beec791 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.woff differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.woff2 b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000..978a681 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fontawesome/webfonts/fa-solid-900.woff2 differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Bold.woff2 b/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Bold.woff2 new file mode 100644 index 0000000..b93b41a Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Bold.woff2 differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Medium.woff2 b/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Medium.woff2 new file mode 100644 index 0000000..eddf3fe Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Medium.woff2 differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Regular.woff2 b/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Regular.woff2 new file mode 100644 index 0000000..719a5e3 Binary files /dev/null and b/ChoiPDFv/webOSTVjs-1.2.10/fonts/Pretendard-Regular.woff2 differ diff --git a/ChoiPDFv/webOSTVjs-1.2.10/hammer.min.js b/ChoiPDFv/webOSTVjs-1.2.10/hammer.min.js new file mode 100644 index 0000000..34a8c86 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/hammer.min.js @@ -0,0 +1,7 @@ +/*! Hammer.JS - v2.0.7 - 2016-04-22 + * http://hammerjs.github.io/ + * + * Copyright (c) 2016 Jorik Tangelder; + * Licensed under the MIT license */ +!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;dc[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;ce;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(d){b[d]=c?a.CSS.supports("touch-action",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?"cancel":a&qb?"end":a&pb?"move":a&ob?"start":""}function $(a){return a==Ma?"down":a==La?"up":a==Ja?"left":a==Ka?"right":""}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||""}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=["","webkit","Moz","MS","ms","o"],na=b.createElement("div"),oa="function",pa=Math.round,qa=Math.abs,ra=Date.now;la="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;ch&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a="touchstart",_a="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,"touchAction"),fb=eb!==d,gb="compute",hb="auto",ib="manipulation",jb="none",kb="pan-x",lb="pan-y",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(" "))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;af?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distanceb.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance { return (root.pdfjsLib = factory()); }); + else if(typeof exports === 'object') + exports["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); + else + root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); +})(globalThis, () => { +return /******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationPrefix = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0; +exports.assert = assert; +exports.bytesToString = bytesToString; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +exports.getModificationDate = getModificationDate; +exports.getUuid = getUuid; +exports.getVerbosityLevel = getVerbosityLevel; +exports.info = info; +exports.isArrayBuffer = isArrayBuffer; +exports.isArrayEqual = isArrayEqual; +exports.isNodeJS = void 0; +exports.normalizeUnicode = normalizeUnicode; +exports.objectFromMap = objectFromMap; +exports.objectSize = objectSize; +exports.setVerbosityLevel = setVerbosityLevel; +exports.shadow = shadow; +exports.string32 = string32; +exports.stringToBytes = stringToBytes; +exports.stringToPDFString = stringToPDFString; +exports.stringToUTF8String = stringToUTF8String; +exports.unreachable = unreachable; +exports.utf8StringToString = utf8StringToString; +exports.warn = warn; +__w_pdfjs_require__(2); +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +__w_pdfjs_require__(89); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +const isNodeJS = typeof process === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +exports.isNodeJS = isNodeJS; +const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0]; +exports.IDENTITY_MATRIX = IDENTITY_MATRIX; +const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0]; +exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; +const MAX_IMAGE_SIZE_TO_CACHE = 10e6; +exports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE; +const LINE_FACTOR = 1.35; +exports.LINE_FACTOR = LINE_FACTOR; +const LINE_DESCENT_FACTOR = 0.35; +exports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR; +const BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR; +exports.BASELINE_FACTOR = BASELINE_FACTOR; +const RenderingIntentFlag = { + ANY: 0x01, + DISPLAY: 0x02, + PRINT: 0x04, + SAVE: 0x08, + ANNOTATIONS_FORMS: 0x10, + ANNOTATIONS_STORAGE: 0x20, + ANNOTATIONS_DISABLE: 0x40, + OPLIST: 0x100 +}; +exports.RenderingIntentFlag = RenderingIntentFlag; +const AnnotationMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_FORMS: 2, + ENABLE_STORAGE: 3 +}; +exports.AnnotationMode = AnnotationMode; +const AnnotationEditorPrefix = "pdfjs_internal_editor_"; +exports.AnnotationEditorPrefix = AnnotationEditorPrefix; +const AnnotationEditorType = { + DISABLE: -1, + NONE: 0, + FREETEXT: 3, + STAMP: 13, + INK: 15 +}; +exports.AnnotationEditorType = AnnotationEditorType; +const AnnotationEditorParamsType = { + RESIZE: 1, + CREATE: 2, + FREETEXT_SIZE: 11, + FREETEXT_COLOR: 12, + FREETEXT_OPACITY: 13, + INK_COLOR: 21, + INK_THICKNESS: 22, + INK_OPACITY: 23 +}; +exports.AnnotationEditorParamsType = AnnotationEditorParamsType; +const PermissionFlag = { + PRINT: 0x04, + MODIFY_CONTENTS: 0x08, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +exports.PermissionFlag = PermissionFlag; +const TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +exports.TextRenderingMode = TextRenderingMode; +const ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +exports.ImageKind = ImageKind; +const AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +exports.AnnotationType = AnnotationType; +const AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +exports.AnnotationReplyType = AnnotationReplyType; +const AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +exports.AnnotationFlag = AnnotationFlag; +const AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +const AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +const AnnotationActionEventType = { + E: "Mouse Enter", + X: "Mouse Exit", + D: "Mouse Down", + U: "Mouse Up", + Fo: "Focus", + Bl: "Blur", + PO: "PageOpen", + PC: "PageClose", + PV: "PageVisible", + PI: "PageInvisible", + K: "Keystroke", + F: "Format", + V: "Validate", + C: "Calculate" +}; +exports.AnnotationActionEventType = AnnotationActionEventType; +const DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +exports.DocumentActionEventType = DocumentActionEventType; +const PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +exports.PageActionEventType = PageActionEventType; +const VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +exports.VerbosityLevel = VerbosityLevel; +const CMapCompressionType = { + NONE: 0, + BINARY: 1 +}; +exports.CMapCompressionType = CMapCompressionType; +const OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotation: 80, + endAnnotation: 81, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +exports.OPS = OPS; +const PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +exports.PasswordResponses = PasswordResponses; +let verbosity = VerbosityLevel.WARNINGS; +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} +function getVerbosityLevel() { + return verbosity; +} +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.log(`Info: ${msg}`); + } +} +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.log(`Warning: ${msg}`); + } +} +function unreachable(msg) { + throw new Error(msg); +} +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} +function _isValidProtocol(url) { + switch (url?.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + default: + return false; + } +} +function createValidAbsoluteUrl(url) { + let baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + if (!url) { + return null; + } + try { + if (options && typeof url === "string") { + if (options.addDefaultProtocol && url.startsWith("www.")) { + const dots = url.match(/\./g); + if (dots?.length >= 2) { + url = `http://${url}`; + } + } + if (options.tryConvertEncoding) { + try { + url = stringToUTF8String(url); + } catch {} + } + } + const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); + if (_isValidProtocol(absoluteUrl)) { + return absoluteUrl; + } + } catch {} + return null; +} +function shadow(obj, prop, value) { + let nonSerializable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + Object.defineProperty(obj, prop, { + value, + enumerable: !nonSerializable, + configurable: true, + writable: false + }); + return value; +} +const BaseException = function BaseExceptionClosure() { + function BaseException(message, name) { + if (this.constructor === BaseException) { + unreachable("Cannot initialize BaseException."); + } + this.message = message; + this.name = name; + } + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); +exports.BaseException = BaseException; +class PasswordException extends BaseException { + constructor(msg, code) { + super(msg, "PasswordException"); + this.code = code; + } +} +exports.PasswordException = PasswordException; +class UnknownErrorException extends BaseException { + constructor(msg, details) { + super(msg, "UnknownErrorException"); + this.details = details; + } +} +exports.UnknownErrorException = UnknownErrorException; +class InvalidPDFException extends BaseException { + constructor(msg) { + super(msg, "InvalidPDFException"); + } +} +exports.InvalidPDFException = InvalidPDFException; +class MissingPDFException extends BaseException { + constructor(msg) { + super(msg, "MissingPDFException"); + } +} +exports.MissingPDFException = MissingPDFException; +class UnexpectedResponseException extends BaseException { + constructor(msg, status) { + super(msg, "UnexpectedResponseException"); + this.status = status; + } +} +exports.UnexpectedResponseException = UnexpectedResponseException; +class FormatError extends BaseException { + constructor(msg) { + super(msg, "FormatError"); + } +} +exports.FormatError = FormatError; +class AbortException extends BaseException { + constructor(msg) { + super(msg, "AbortException"); + } +} +exports.AbortException = AbortException; +function bytesToString(bytes) { + if (typeof bytes !== "object" || bytes?.length === undefined) { + unreachable("Invalid argument for bytesToString"); + } + const length = bytes.length; + const MAX_ARGUMENT_COUNT = 8192; + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + const strBuf = []; + for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + const chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + return strBuf.join(""); +} +function stringToBytes(str) { + if (typeof str !== "string") { + unreachable("Invalid argument for stringToBytes"); + } + const length = str.length; + const bytes = new Uint8Array(length); + for (let i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + return bytes; +} +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} +function objectSize(obj) { + return Object.keys(obj).length; +} +function objectFromMap(map) { + const obj = Object.create(null); + for (const [key, value] of map) { + obj[key] = value; + } + return obj; +} +function isLittleEndian() { + const buffer8 = new Uint8Array(4); + buffer8[0] = 1; + const view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} +function isEvalSupported() { + try { + new Function(""); + return true; + } catch { + return false; + } +} +class FeatureTest { + static get isLittleEndian() { + return shadow(this, "isLittleEndian", isLittleEndian()); + } + static get isEvalSupported() { + return shadow(this, "isEvalSupported", isEvalSupported()); + } + static get isOffscreenCanvasSupported() { + return shadow(this, "isOffscreenCanvasSupported", typeof OffscreenCanvas !== "undefined"); + } + static get platform() { + if (typeof navigator === "undefined") { + return shadow(this, "platform", { + isWin: false, + isMac: false + }); + } + return shadow(this, "platform", { + isWin: navigator.platform.includes("Win"), + isMac: navigator.platform.includes("Mac") + }); + } + static get isCSSRoundSupported() { + return shadow(this, "isCSSRoundSupported", globalThis.CSS?.supports?.("width: round(1.5px, 1px)")); + } +} +exports.FeatureTest = FeatureTest; +const hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, "0")); +class Util { + static makeHexColor(r, g, b) { + return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`; + } + static scaleMinMax(transform, minMax) { + let temp; + if (transform[0]) { + if (transform[0] < 0) { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + } + minMax[0] *= transform[0]; + minMax[1] *= transform[0]; + if (transform[3] < 0) { + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + } + minMax[2] *= transform[3]; + minMax[3] *= transform[3]; + } else { + temp = minMax[0]; + minMax[0] = minMax[2]; + minMax[2] = temp; + temp = minMax[1]; + minMax[1] = minMax[3]; + minMax[3] = temp; + if (transform[1] < 0) { + temp = minMax[2]; + minMax[2] = minMax[3]; + minMax[3] = temp; + } + minMax[2] *= transform[1]; + minMax[3] *= transform[1]; + if (transform[2] < 0) { + temp = minMax[0]; + minMax[0] = minMax[1]; + minMax[1] = temp; + } + minMax[0] *= transform[2]; + minMax[1] *= transform[2]; + } + minMax[0] += transform[4]; + minMax[1] += transform[4]; + minMax[2] += transform[5]; + minMax[3] += transform[5]; + } + static transform(m1, m2) { + return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]]; + } + static applyTransform(p, m) { + const xt = p[0] * m[0] + p[1] * m[2] + m[4]; + const yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [xt, yt]; + } + static applyInverseTransform(p, m) { + const d = m[0] * m[3] - m[1] * m[2]; + const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + return [xt, yt]; + } + static getAxialAlignedBoundingBox(r, m) { + const p1 = this.applyTransform(r, m); + const p2 = this.applyTransform(r.slice(2, 4), m); + const p3 = this.applyTransform([r[0], r[3]], m); + const p4 = this.applyTransform([r[2], r[1]], m); + return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])]; + } + static inverseTransform(m) { + const d = m[0] * m[3] - m[1] * m[2]; + return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d]; + } + static singularValueDecompose2dScale(m) { + const transpose = [m[0], m[2], m[1], m[3]]; + const a = m[0] * transpose[0] + m[1] * transpose[2]; + const b = m[0] * transpose[1] + m[1] * transpose[3]; + const c = m[2] * transpose[0] + m[3] * transpose[2]; + const d = m[2] * transpose[1] + m[3] * transpose[3]; + const first = (a + d) / 2; + const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2; + const sx = first + second || 1; + const sy = first - second || 1; + return [Math.sqrt(sx), Math.sqrt(sy)]; + } + static normalizeRect(rect) { + const r = rect.slice(0); + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + return r; + } + static intersect(rect1, rect2) { + const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2])); + const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2])); + if (xLow > xHigh) { + return null; + } + const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3])); + const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3])); + if (yLow > yHigh) { + return null; + } + return [xLow, yLow, xHigh, yHigh]; + } + static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) { + const tvalues = [], + bounds = [[], []]; + let a, b, c, t, t1, t2, b2ac, sqrtb2ac; + for (let i = 0; i < 2; ++i) { + if (i === 0) { + b = 6 * x0 - 12 * x1 + 6 * x2; + a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3; + c = 3 * x1 - 3 * x0; + } else { + b = 6 * y0 - 12 * y1 + 6 * y2; + a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3; + c = 3 * y1 - 3 * y0; + } + if (Math.abs(a) < 1e-12) { + if (Math.abs(b) < 1e-12) { + continue; + } + t = -c / b; + if (0 < t && t < 1) { + tvalues.push(t); + } + continue; + } + b2ac = b * b - 4 * c * a; + sqrtb2ac = Math.sqrt(b2ac); + if (b2ac < 0) { + continue; + } + t1 = (-b + sqrtb2ac) / (2 * a); + if (0 < t1 && t1 < 1) { + tvalues.push(t1); + } + t2 = (-b - sqrtb2ac) / (2 * a); + if (0 < t2 && t2 < 1) { + tvalues.push(t2); + } + } + let j = tvalues.length, + mt; + const jlen = j; + while (j--) { + t = tvalues[j]; + mt = 1 - t; + bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3; + bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3; + } + bounds[0][jlen] = x0; + bounds[1][jlen] = y0; + bounds[0][jlen + 1] = x3; + bounds[1][jlen + 1] = y3; + bounds[0].length = bounds[1].length = jlen + 2; + return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])]; + } +} +exports.Util = Util; +const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac]; +function stringToPDFString(str) { + if (str[0] >= "\xEF") { + let encoding; + if (str[0] === "\xFE" && str[1] === "\xFF") { + encoding = "utf-16be"; + } else if (str[0] === "\xFF" && str[1] === "\xFE") { + encoding = "utf-16le"; + } else if (str[0] === "\xEF" && str[1] === "\xBB" && str[2] === "\xBF") { + encoding = "utf-8"; + } + if (encoding) { + try { + const decoder = new TextDecoder(encoding, { + fatal: true + }); + const buffer = stringToBytes(str); + return decoder.decode(buffer); + } catch (ex) { + warn(`stringToPDFString: "${ex}".`); + } + } + } + const strBuf = []; + for (let i = 0, ii = str.length; i < ii; i++) { + const code = PDFStringTranslateTable[str.charCodeAt(i)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + return strBuf.join(""); +} +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} +function isArrayBuffer(v) { + return typeof v === "object" && v?.byteLength !== undefined; +} +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + for (let i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + return true; +} +function getModificationDate() { + let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")]; + return buffer.join(""); +} +class PromiseCapability { + #settled = false; + constructor() { + this.promise = new Promise((resolve, reject) => { + this.resolve = data => { + this.#settled = true; + resolve(data); + }; + this.reject = reason => { + this.#settled = true; + reject(reason); + }; + }); + } + get settled() { + return this.#settled; + } +} +exports.PromiseCapability = PromiseCapability; +let NormalizeRegex = null; +let NormalizationMap = null; +function normalizeUnicode(str) { + if (!NormalizeRegex) { + NormalizeRegex = /([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu; + NormalizationMap = new Map([["ſt", "ſt"]]); + } + return str.replaceAll(NormalizeRegex, (_, p1, p2) => { + return p1 ? p1.normalize("NFKC") : NormalizationMap.get(p2); + }); +} +function getUuid() { + if (typeof crypto !== "undefined" && typeof crypto?.randomUUID === "function") { + return crypto.randomUUID(); + } + const buf = new Uint8Array(32); + if (typeof crypto !== "undefined" && typeof crypto?.getRandomValues === "function") { + crypto.getRandomValues(buf); + } else { + for (let i = 0; i < 32; i++) { + buf[i] = Math.floor(Math.random() * 255); + } + } + return bytesToString(buf); +} +const AnnotationPrefix = "pdfjs_internal_id_"; +exports.AnnotationPrefix = AnnotationPrefix; + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var global = __w_pdfjs_require__(4); +var apply = __w_pdfjs_require__(69); +var wrapErrorConstructorWithCause = __w_pdfjs_require__(70); +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = global[WEB_ASSEMBLY]; +var FORCED = Error('e', { cause: 7 }).cause !== 7; +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ + global: true, + constructor: true, + arity: 1, + forced: FORCED + }, O); +}; +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ + target: WEB_ASSEMBLY, + stat: true, + constructor: true, + arity: 1, + forced: FORCED + }, O); + } +}; +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { + return apply(init, this, arguments); + }; +}); + +/***/ }), +/* 3 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var getOwnPropertyDescriptor = (__w_pdfjs_require__(5).f); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var defineBuiltIn = __w_pdfjs_require__(48); +var defineGlobalProperty = __w_pdfjs_require__(38); +var copyConstructorProperties = __w_pdfjs_require__(56); +var isForced = __w_pdfjs_require__(68); +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) + for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { + return this; +}()) || this || Function('return this')(); + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var call = __w_pdfjs_require__(8); +var propertyIsEnumerableModule = __w_pdfjs_require__(10); +var createPropertyDescriptor = __w_pdfjs_require__(11); +var toIndexedObject = __w_pdfjs_require__(12); +var toPropertyKey = __w_pdfjs_require__(18); +var hasOwn = __w_pdfjs_require__(39); +var IE8_DOM_DEFINE = __w_pdfjs_require__(42); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (hasOwn(O, P)) + return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +/***/ }), +/* 6 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { + get: function () { + return 7; + } + })[1] !== 7; +}); + +/***/ }), +/* 7 */ +/***/ ((module) => { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 8 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_BIND = __w_pdfjs_require__(9); +var call = Function.prototype.call; +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +/***/ }), +/* 9 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +module.exports = !fails(function () { + var test = function () { + }.bind(); + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + +/***/ }), +/* 10 */ +/***/ ((__unused_webpack_module, exports) => { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +/***/ }), +/* 11 */ +/***/ ((module) => { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IndexedObject = __w_pdfjs_require__(13); +var requireObjectCoercible = __w_pdfjs_require__(16); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 13 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var classof = __w_pdfjs_require__(15); +var $Object = Object; +var split = uncurryThis(''.split); +module.exports = fails(function () { + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + +/***/ }), +/* 14 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_BIND = __w_pdfjs_require__(9); +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + +/***/ }), +/* 15 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isNullOrUndefined = __w_pdfjs_require__(17); +var $TypeError = TypeError; +module.exports = function (it) { + if (isNullOrUndefined(it)) + throw $TypeError("Can't call method on " + it); + return it; +}; + +/***/ }), +/* 17 */ +/***/ ((module) => { + + +module.exports = function (it) { + return it === null || it === undefined; +}; + +/***/ }), +/* 18 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPrimitive = __w_pdfjs_require__(19); +var isSymbol = __w_pdfjs_require__(23); +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +/***/ }), +/* 19 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var isObject = __w_pdfjs_require__(20); +var isSymbol = __w_pdfjs_require__(23); +var getMethod = __w_pdfjs_require__(30); +var ordinaryToPrimitive = __w_pdfjs_require__(33); +var wellKnownSymbol = __w_pdfjs_require__(34); +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) + return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) + pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) + return result; + throw $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) + pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var $documentAll = __w_pdfjs_require__(22); +var documentAll = $documentAll.all; +module.exports = $documentAll.IS_HTMLDDA ? function (it) { + return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; +} : function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +/***/ }), +/* 21 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $documentAll = __w_pdfjs_require__(22); +var documentAll = $documentAll.all; +module.exports = $documentAll.IS_HTMLDDA ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + +/***/ }), +/* 22 */ +/***/ ((module) => { + + +var documentAll = typeof document == 'object' && document.all; +var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined; +module.exports = { + all: documentAll, + IS_HTMLDDA: IS_HTMLDDA +}; + +/***/ }), +/* 23 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var isCallable = __w_pdfjs_require__(21); +var isPrototypeOf = __w_pdfjs_require__(25); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(26); +var $Object = Object; +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + +/***/ }), +/* 24 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var isCallable = __w_pdfjs_require__(21); +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +module.exports = uncurryThis({}.isPrototypeOf); + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_SYMBOL = __w_pdfjs_require__(27); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 27 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var V8_VERSION = __w_pdfjs_require__(28); +var fails = __w_pdfjs_require__(7); +var global = __w_pdfjs_require__(4); +var $String = global.String; +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var userAgent = __w_pdfjs_require__(29); +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = +match[1]; + } +} +module.exports = version; + +/***/ }), +/* 29 */ +/***/ ((module) => { + + +module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aCallable = __w_pdfjs_require__(31); +var isNullOrUndefined = __w_pdfjs_require__(17); +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var tryToString = __w_pdfjs_require__(32); +var $TypeError = TypeError; +module.exports = function (argument) { + if (isCallable(argument)) + return argument; + throw $TypeError(tryToString(argument) + ' is not a function'); +}; + +/***/ }), +/* 32 */ +/***/ ((module) => { + + +var $String = String; +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var $TypeError = TypeError; +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) + return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + throw $TypeError("Can't convert object to primitive value"); +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var shared = __w_pdfjs_require__(35); +var hasOwn = __w_pdfjs_require__(39); +var uid = __w_pdfjs_require__(41); +var NATIVE_SYMBOL = __w_pdfjs_require__(27); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(26); +var Symbol = global.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol('Symbol.' + name); + } + return WellKnownSymbolsStore[name]; +}; + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IS_PURE = __w_pdfjs_require__(36); +var store = __w_pdfjs_require__(37); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.32.2', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + +/***/ }), +/* 36 */ +/***/ ((module) => { + + +module.exports = false; + +/***/ }), +/* 37 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var defineGlobalProperty = __w_pdfjs_require__(38); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || defineGlobalProperty(SHARED, {}); +module.exports = store; + +/***/ }), +/* 38 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var defineProperty = Object.defineProperty; +module.exports = function (key, value) { + try { + defineProperty(global, key, { + value: value, + configurable: true, + writable: true + }); + } catch (error) { + global[key] = value; + } + return value; +}; + +/***/ }), +/* 39 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var toObject = __w_pdfjs_require__(40); +var hasOwnProperty = uncurryThis({}.hasOwnProperty); +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var requireObjectCoercible = __w_pdfjs_require__(16); +var $Object = Object; +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var fails = __w_pdfjs_require__(7); +var createElement = __w_pdfjs_require__(43); +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { + return 7; + } + }).a !== 7; +}); + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var isObject = __w_pdfjs_require__(20); +var document = global.document; +var EXISTS = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 44 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var definePropertyModule = __w_pdfjs_require__(45); +var createPropertyDescriptor = __w_pdfjs_require__(11); +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +/***/ }), +/* 45 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var IE8_DOM_DEFINE = __w_pdfjs_require__(42); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(46); +var anObject = __w_pdfjs_require__(47); +var toPropertyKey = __w_pdfjs_require__(18); +var $TypeError = TypeError; +var $defineProperty = Object.defineProperty; +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } + return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw $TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 46 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var fails = __w_pdfjs_require__(7); +module.exports = DESCRIPTORS && fails(function () { + return Object.defineProperty(function () { + }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + +/***/ }), +/* 47 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isObject = __w_pdfjs_require__(20); +var $String = String; +var $TypeError = TypeError; +module.exports = function (argument) { + if (isObject(argument)) + return argument; + throw $TypeError($String(argument) + ' is not an object'); +}; + +/***/ }), +/* 48 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var definePropertyModule = __w_pdfjs_require__(45); +var makeBuiltIn = __w_pdfjs_require__(49); +var defineGlobalProperty = __w_pdfjs_require__(38); +module.exports = function (O, key, value, options) { + if (!options) + options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) + makeBuiltIn(value, name, options); + if (options.global) { + if (simple) + O[key] = value; + else + defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) + delete O[key]; + else if (O[key]) + simple = true; + } catch (error) { + } + if (simple) + O[key] = value; + else + definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } + return O; +}; + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(21); +var hasOwn = __w_pdfjs_require__(39); +var DESCRIPTORS = __w_pdfjs_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(50).CONFIGURABLE); +var inspectSource = __w_pdfjs_require__(51); +var InternalStateModule = __w_pdfjs_require__(52); +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { + }, 'length', { value: 8 }).length !== 8; +}); +var TEMPLATE = String(String).split('String'); +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (options && options.getter) + name = 'get ' + name; + if (options && options.setter) + name = 'set ' + name; + if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { + if (DESCRIPTORS) + defineProperty(value, 'name', { + value: name, + configurable: true + }); + else + value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) + defineProperty(value, 'prototype', { writable: false }); + } else if (value.prototype) + value.prototype = undefined; + } catch (error) { + } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } + return value; +}; +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + +/***/ }), +/* 50 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var hasOwn = __w_pdfjs_require__(39); +var FunctionPrototype = Function.prototype; +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; +var EXISTS = hasOwn(FunctionPrototype, 'name'); +var PROPER = EXISTS && function something() { +}.name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +/***/ }), +/* 51 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var isCallable = __w_pdfjs_require__(21); +var store = __w_pdfjs_require__(37); +var functionToString = uncurryThis(Function.toString); +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_WEAK_MAP = __w_pdfjs_require__(53); +var global = __w_pdfjs_require__(4); +var isObject = __w_pdfjs_require__(20); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var hasOwn = __w_pdfjs_require__(39); +var shared = __w_pdfjs_require__(37); +var sharedKey = __w_pdfjs_require__(54); +var hiddenKeys = __w_pdfjs_require__(55); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + store.get = store.get; + store.has = store.has; + store.set = store.set; + set = function (it, metadata) { + if (store.has(it)) + throw TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) + throw TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var isCallable = __w_pdfjs_require__(21); +var WeakMap = global.WeakMap; +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + +/***/ }), +/* 54 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var shared = __w_pdfjs_require__(35); +var uid = __w_pdfjs_require__(41); +var keys = shared('keys'); +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +/***/ }), +/* 55 */ +/***/ ((module) => { + + +module.exports = {}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var hasOwn = __w_pdfjs_require__(39); +var ownKeys = __w_pdfjs_require__(57); +var getOwnPropertyDescriptorModule = __w_pdfjs_require__(5); +var definePropertyModule = __w_pdfjs_require__(45); +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var uncurryThis = __w_pdfjs_require__(14); +var getOwnPropertyNamesModule = __w_pdfjs_require__(58); +var getOwnPropertySymbolsModule = __w_pdfjs_require__(67); +var anObject = __w_pdfjs_require__(47); +var concat = uncurryThis([].concat); +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +/***/ }), +/* 58 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(66); +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +/***/ }), +/* 59 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var hasOwn = __w_pdfjs_require__(39); +var toIndexedObject = __w_pdfjs_require__(12); +var indexOf = (__w_pdfjs_require__(60).indexOf); +var hiddenKeys = __w_pdfjs_require__(55); +var push = uncurryThis([].push); +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + while (names.length > i) + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIndexedObject = __w_pdfjs_require__(12); +var toAbsoluteIndex = __w_pdfjs_require__(61); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el !== el) + while (length > index) { + value = O[index++]; + if (value !== value) + return true; + } + else + for (; length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; +}; +module.exports = { + includes: createMethod(true), + indexOf: createMethod(false) +}; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +/***/ }), +/* 62 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var trunc = __w_pdfjs_require__(63); +module.exports = function (argument) { + var number = +argument; + return number !== number || number === 0 ? 0 : trunc(number); +}; + +/***/ }), +/* 63 */ +/***/ ((module) => { + + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toLength = __w_pdfjs_require__(65); +module.exports = function (obj) { + return toLength(obj.length); +}; + +/***/ }), +/* 65 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 66 */ +/***/ ((module) => { + + +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 67 */ +/***/ ((__unused_webpack_module, exports) => { + + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(21); +var replacement = /#|\.prototype\./; +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; +}; +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; +module.exports = isForced; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_BIND = __w_pdfjs_require__(9); +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var hasOwn = __w_pdfjs_require__(39); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var isPrototypeOf = __w_pdfjs_require__(25); +var setPrototypeOf = __w_pdfjs_require__(71); +var copyConstructorProperties = __w_pdfjs_require__(56); +var proxyAccessor = __w_pdfjs_require__(74); +var inheritIfRequired = __w_pdfjs_require__(75); +var normalizeStringArgument = __w_pdfjs_require__(76); +var installErrorCause = __w_pdfjs_require__(80); +var installErrorStack = __w_pdfjs_require__(81); +var DESCRIPTORS = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(36); +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + if (!OriginalError) + return; + var OriginalErrorPrototype = OriginalError.prototype; + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) + delete OriginalErrorPrototype.cause; + if (!FORCED) + return OriginalError; + var BaseError = getBuiltIn('Error'); + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) + createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) + inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) + installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + WrappedError.prototype = OriginalErrorPrototype; + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) + setPrototypeOf(WrappedError, BaseError); + else + copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + copyConstructorProperties(WrappedError, OriginalError); + if (!IS_PURE) + try { + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { + } + return WrappedError; +}; + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThisAccessor = __w_pdfjs_require__(72); +var anObject = __w_pdfjs_require__(47); +var aPossiblePrototype = __w_pdfjs_require__(73); +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) + setter(O, proto); + else + O.__proto__ = proto; + return O; + }; +}()) : undefined); + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var aCallable = __w_pdfjs_require__(31); +module.exports = function (object, key, method) { + try { + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { + } +}; + +/***/ }), +/* 73 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var $String = String; +var $TypeError = TypeError; +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) + return argument; + throw $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + +/***/ }), +/* 74 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var defineProperty = (__w_pdfjs_require__(45).f); +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { + return Source[key]; + }, + set: function (it) { + Source[key] = it; + } + }); +}; + +/***/ }), +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var setPrototypeOf = __w_pdfjs_require__(71); +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +/***/ }), +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toString = __w_pdfjs_require__(77); +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(78); +var $String = String; +module.exports = function (argument) { + if (classof(argument) === 'Symbol') + throw TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + +/***/ }), +/* 78 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79); +var isCallable = __w_pdfjs_require__(21); +var classofRaw = __w_pdfjs_require__(15); +var wellKnownSymbol = __w_pdfjs_require__(34); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; +var CORRECT_ARGUMENTS = classofRaw((function () { + return arguments; +}())) === 'Arguments'; +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { + } +}; +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var wellKnownSymbol = __w_pdfjs_require__(34); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isObject = __w_pdfjs_require__(20); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + +/***/ }), +/* 81 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var clearErrorStack = __w_pdfjs_require__(82); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(83); +var captureStackTrace = Error.captureStackTrace; +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) + captureStackTrace(error, C); + else + createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + +/***/ }), +/* 82 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var $Error = Error; +var replace = uncurryThis(''.replace); +var TEST = function (arg) { + return String($Error(arg).stack); +}('zxcasd'); +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) + stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } + return stack; +}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +var createPropertyDescriptor = __w_pdfjs_require__(11); +module.exports = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) + return true; + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + +/***/ }), +/* 84 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var defineBuiltIn = __w_pdfjs_require__(48); +var uncurryThis = __w_pdfjs_require__(14); +var toString = __w_pdfjs_require__(77); +var validateArgumentsLength = __w_pdfjs_require__(85); +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); +params['delete']('a', 1); +params['delete']('b', undefined); +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) + return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { + push(entries, { + key: k, + value: v + }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else + dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) + append(this, entry.key, entry.value); + } + }, { + enumerable: true, + unsafe: true + }); +} + +/***/ }), +/* 85 */ +/***/ ((module) => { + + +var $TypeError = TypeError; +module.exports = function (passed, required) { + if (passed < required) + throw $TypeError('Not enough arguments'); + return passed; +}; + +/***/ }), +/* 86 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var defineBuiltIn = __w_pdfjs_require__(48); +var uncurryThis = __w_pdfjs_require__(14); +var toString = __w_pdfjs_require__(77); +var validateArgumentsLength = __w_pdfjs_require__(85); +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) + return $has(this, name); + var values = getAll(this, name); + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) + return true; + } + return false; + }, { + enumerable: true, + unsafe: true + }); +} + +/***/ }), +/* 87 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var uncurryThis = __w_pdfjs_require__(14); +var defineBuiltInAccessor = __w_pdfjs_require__(88); +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { + count++; + }); + return count; + }, + configurable: true, + enumerable: true + }); +} + +/***/ }), +/* 88 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var makeBuiltIn = __w_pdfjs_require__(49); +var defineProperty = __w_pdfjs_require__(45); +module.exports = function (target, name, descriptor) { + if (descriptor.get) + makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) + makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + +/***/ }), +/* 89 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var toObject = __w_pdfjs_require__(40); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var setArrayLength = __w_pdfjs_require__(90); +var doesNotExceedSafeInteger = __w_pdfjs_require__(92); +var fails = __w_pdfjs_require__(7); +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); +var properErrorOnNonWritableLength = function () { + try { + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); +$({ + target: 'Array', + proto: true, + arity: 1, + forced: FORCED +}, { + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var isArray = __w_pdfjs_require__(91); +var $TypeError = TypeError; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !(function () { + if (this !== undefined) + return true; + try { + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}()); +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw $TypeError('Cannot set read only .length'); + } + return O.length = length; +} : function (O, length) { + return O.length = length; +}; + +/***/ }), +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(15); +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + +/***/ }), +/* 92 */ +/***/ ((module) => { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) + throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + +/***/ }), +/* 93 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var $findLast = (__w_pdfjs_require__(98).findLast); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +exportTypedArrayMethod('findLast', function findLast(predicate) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +/***/ }), +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(95); +var DESCRIPTORS = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(4); +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var hasOwn = __w_pdfjs_require__(39); +var classof = __w_pdfjs_require__(78); +var tryToString = __w_pdfjs_require__(32); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var defineBuiltIn = __w_pdfjs_require__(48); +var defineBuiltInAccessor = __w_pdfjs_require__(88); +var isPrototypeOf = __w_pdfjs_require__(25); +var getPrototypeOf = __w_pdfjs_require__(96); +var setPrototypeOf = __w_pdfjs_require__(71); +var wellKnownSymbol = __w_pdfjs_require__(34); +var uid = __w_pdfjs_require__(41); +var InternalStateModule = __w_pdfjs_require__(52); +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = global.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = global.TypeError; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; +var isView = function isView(it) { + if (!isObject(it)) + return false; + var klass = classof(it); + return klass === 'DataView' || hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass); +}; +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) + return; + var state = getInternalState(proto); + return state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; +var isTypedArray = function (it) { + if (!isObject(it)) + return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass); +}; +var aTypedArray = function (it) { + if (isTypedArray(it)) + return it; + throw TypeError('Target is not a typed array'); +}; +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) + return C; + throw TypeError(tryToString(C) + ' is not a typed array constructor'); +}; +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) + return; + if (forced) + for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) + try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { + } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) + return; + if (setPrototypeOf) { + if (forced) + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) + try { + delete TypedArrayConstructor[KEY]; + } catch (error) { + } + } + if (!TypedArray[KEY] || forced) { + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { + } + } else + return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; +for (NAME in TypedArrayConstructorsList) { + Constructor = global[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) + enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else + NATIVE_ARRAY_BUFFER_VIEWS = false; +} +for (NAME in BigIntArrayConstructorsList) { + Constructor = global[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) + enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + TypedArray = function TypedArray() { + throw TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) + for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) + setPrototypeOf(global[NAME], TypedArray); + } +} +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) + for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) + setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); + } +} +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) + if (global[NAME]) { + createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); + } +} +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + +/***/ }), +/* 95 */ +/***/ ((module) => { + + +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + +/***/ }), +/* 96 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var hasOwn = __w_pdfjs_require__(39); +var isCallable = __w_pdfjs_require__(21); +var toObject = __w_pdfjs_require__(40); +var sharedKey = __w_pdfjs_require__(54); +var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(97); +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) + return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } + return object instanceof $Object ? ObjectPrototype : null; +}; + +/***/ }), +/* 97 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var fails = __w_pdfjs_require__(7); +module.exports = !fails(function () { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +/***/ }), +/* 98 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var bind = __w_pdfjs_require__(99); +var IndexedObject = __w_pdfjs_require__(13); +var toObject = __w_pdfjs_require__(40); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var index = lengthOfArrayLike(self); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) + switch (TYPE) { + case 0: + return value; + case 1: + return index; + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; +module.exports = { + findLast: createMethod(0), + findLastIndex: createMethod(1) +}; + +/***/ }), +/* 99 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(100); +var aCallable = __w_pdfjs_require__(31); +var NATIVE_BIND = __w_pdfjs_require__(9); +var bind = uncurryThis(uncurryThis.bind); +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () { + return fn.apply(that, arguments); + }; +}; + +/***/ }), +/* 100 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classofRaw = __w_pdfjs_require__(15); +var uncurryThis = __w_pdfjs_require__(14); +module.exports = function (fn) { + if (classofRaw(fn) === 'Function') + return uncurryThis(fn); +}; + +/***/ }), +/* 101 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var $findLastIndex = (__w_pdfjs_require__(98).findLastIndex); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +/***/ }), +/* 102 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var call = __w_pdfjs_require__(8); +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var toOffset = __w_pdfjs_require__(103); +var toIndexedObject = __w_pdfjs_require__(40); +var fails = __w_pdfjs_require__(7); +var RangeError = global.RangeError; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + var array = new Uint8ClampedArray(2); + call($set, array, { + length: 1, + 0: 3 + }, 1); + return array[1] !== 3; +}); +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); +exportTypedArrayMethod('set', function set(arrayLike) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) + return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) + throw RangeError('Wrong length'); + while (index < len) + this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + +/***/ }), +/* 103 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPositiveInteger = __w_pdfjs_require__(104); +var $RangeError = RangeError; +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) + throw $RangeError('Wrong offset'); + return offset; +}; + +/***/ }), +/* 104 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var $RangeError = RangeError; +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) + throw $RangeError("The argument can't be less than 0"); + return result; +}; + +/***/ }), +/* 105 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var arrayToReversed = __w_pdfjs_require__(106); +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + +/***/ }), +/* 106 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var lengthOfArrayLike = __w_pdfjs_require__(64); +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) + A[k] = O[len - k - 1]; + return A; +}; + +/***/ }), +/* 107 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var uncurryThis = __w_pdfjs_require__(14); +var aCallable = __w_pdfjs_require__(31); +var arrayFromConstructorAndList = __w_pdfjs_require__(108); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) + aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + +/***/ }), +/* 108 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var lengthOfArrayLike = __w_pdfjs_require__(64); +module.exports = function (Constructor, list) { + var index = 0; + var length = lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) + result[index] = list[index++]; + return result; +}; + +/***/ }), +/* 109 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var arrayWith = __w_pdfjs_require__(110); +var ArrayBufferViewCore = __w_pdfjs_require__(94); +var isBigIntArray = __w_pdfjs_require__(111); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var toBigInt = __w_pdfjs_require__(112); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var PROPER_ORDER = !!(function () { + try { + new Int8Array(1)['with'](2, { + valueOf: function () { + throw 8; + } + }); + } catch (error) { + return error === 8; + } +}()); +exportTypedArrayMethod('with', { + 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); + } +}['with'], !PROPER_ORDER); + +/***/ }), +/* 110 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var lengthOfArrayLike = __w_pdfjs_require__(64); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var $RangeError = RangeError; +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) + throw $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) + A[k] = k === actualIndex ? value : O[k]; + return A; +}; + +/***/ }), +/* 111 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(78); +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + +/***/ }), +/* 112 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPrimitive = __w_pdfjs_require__(19); +var $TypeError = TypeError; +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') + throw $TypeError("Can't convert number to bigint"); + return BigInt(prim); +}; + +/***/ }), +/* 113 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var defineBuiltInAccessor = __w_pdfjs_require__(88); +var isDetached = __w_pdfjs_require__(114); +var ArrayBufferPrototype = ArrayBuffer.prototype; +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + +/***/ }), +/* 114 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var arrayBufferByteLength = __w_pdfjs_require__(115); +var slice = uncurryThis(ArrayBuffer.prototype.slice); +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) + return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + +/***/ }), +/* 115 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThisAccessor = __w_pdfjs_require__(72); +var classof = __w_pdfjs_require__(15); +var $TypeError = TypeError; +module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') + throw $TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + +/***/ }), +/* 116 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var $transfer = __w_pdfjs_require__(117); +if ($transfer) + $({ + target: 'ArrayBuffer', + proto: true + }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } + }); + +/***/ }), +/* 117 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var uncurryThis = __w_pdfjs_require__(14); +var uncurryThisAccessor = __w_pdfjs_require__(72); +var toIndex = __w_pdfjs_require__(118); +var isDetached = __w_pdfjs_require__(114); +var arrayBufferByteLength = __w_pdfjs_require__(115); +var PROPER_TRANSFER = __w_pdfjs_require__(119); +var TypeError = global.TypeError; +var structuredClone = global.structuredClone; +var ArrayBuffer = global.ArrayBuffer; +var DataView = global.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); +module.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + if (isDetached(arrayBuffer)) + throw TypeError('ArrayBuffer is detached'); + var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) + return newBuffer; + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) + return slice(newBuffer, 0, newByteLength); + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined; + var newNewBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(newBuffer); + var b = new DataView(newNewBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) + setInt8(b, i, getInt8(a, i)); + return newNewBuffer; +}; + +/***/ }), +/* 118 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var toLength = __w_pdfjs_require__(65); +var $RangeError = RangeError; +module.exports = function (it) { + if (it === undefined) + return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) + throw $RangeError('Wrong length or index'); + return length; +}; + +/***/ }), +/* 119 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var fails = __w_pdfjs_require__(7); +var V8 = __w_pdfjs_require__(28); +var IS_BROWSER = __w_pdfjs_require__(120); +var IS_DENO = __w_pdfjs_require__(121); +var IS_NODE = __w_pdfjs_require__(122); +var structuredClone = global.structuredClone; +module.exports = !!structuredClone && !fails(function () { + if (IS_DENO && V8 > 92 || IS_NODE && V8 > 94 || IS_BROWSER && V8 > 97) + return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + +/***/ }), +/* 120 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IS_DENO = __w_pdfjs_require__(121); +var IS_NODE = __w_pdfjs_require__(122); +module.exports = !IS_DENO && !IS_NODE && typeof window == 'object' && typeof document == 'object'; + +/***/ }), +/* 121 */ +/***/ ((module) => { + + +module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object'; + +/***/ }), +/* 122 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var global = __w_pdfjs_require__(4); +var classof = __w_pdfjs_require__(15); +module.exports = classof(global.process) === 'process'; + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var $transfer = __w_pdfjs_require__(117); +if ($transfer) + $({ + target: 'ArrayBuffer', + proto: true + }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } + }); + +/***/ }), +/* 124 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0; +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function () { + return _displaySvg.SVGGraphics; + } +})); +exports.build = void 0; +exports.getDocument = getDocument; +exports.version = void 0; +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +__w_pdfjs_require__(149); +__w_pdfjs_require__(152); +var _util = __w_pdfjs_require__(1); +var _annotation_storage = __w_pdfjs_require__(163); +var _display_utils = __w_pdfjs_require__(168); +var _font_loader = __w_pdfjs_require__(171); +var _displayNode_utils = __w_pdfjs_require__(172); +var _canvas = __w_pdfjs_require__(173); +var _worker_options = __w_pdfjs_require__(176); +var _message_handler = __w_pdfjs_require__(177); +var _metadata = __w_pdfjs_require__(178); +var _optional_content_config = __w_pdfjs_require__(179); +var _transport_stream = __w_pdfjs_require__(180); +var _displayFetch_stream = __w_pdfjs_require__(181); +var _displayNetwork = __w_pdfjs_require__(184); +var _displayNode_stream = __w_pdfjs_require__(185); +var _displaySvg = __w_pdfjs_require__(186); +var _xfa_text = __w_pdfjs_require__(194); +const DEFAULT_RANGE_CHUNK_SIZE = 65536; +const RENDERING_CANCELLED_TIMEOUT = 100; +const DELAYED_CLEANUP_TIMEOUT = 5000; +const DefaultCanvasFactory = _util.isNodeJS ? _displayNode_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory; +exports.DefaultCanvasFactory = DefaultCanvasFactory; +const DefaultCMapReaderFactory = _util.isNodeJS ? _displayNode_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory; +exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; +const DefaultFilterFactory = _util.isNodeJS ? _displayNode_utils.NodeFilterFactory : _display_utils.DOMFilterFactory; +exports.DefaultFilterFactory = DefaultFilterFactory; +const DefaultStandardFontDataFactory = _util.isNodeJS ? _displayNode_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory; +exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory; +function getDocument(src) { + if (typeof src === "string" || src instanceof URL) { + src = { + url: src + }; + } else if ((0, _util.isArrayBuffer)(src)) { + src = { + data: src + }; + } + if (typeof src !== "object") { + throw new Error("Invalid parameter in getDocument, need parameter object."); + } + if (!src.url && !src.data && !src.range) { + throw new Error("Invalid parameter object: need either .data, .range or .url"); + } + const task = new PDFDocumentLoadingTask(); + const { + docId + } = task; + const url = src.url ? getUrlProp(src.url) : null; + const data = src.data ? getDataProp(src.data) : null; + const httpHeaders = src.httpHeaders || null; + const withCredentials = src.withCredentials === true; + const password = src.password ?? null; + const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null; + const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE; + let worker = src.worker instanceof PDFWorker ? src.worker : null; + const verbosity = src.verbosity; + const docBaseUrl = typeof src.docBaseUrl === "string" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null; + const cMapUrl = typeof src.cMapUrl === "string" ? src.cMapUrl : null; + const cMapPacked = src.cMapPacked !== false; + const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory; + const standardFontDataUrl = typeof src.standardFontDataUrl === "string" ? src.standardFontDataUrl : null; + const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory; + const ignoreErrors = src.stopAtErrors !== true; + const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1; + const isEvalSupported = src.isEvalSupported !== false; + const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === "boolean" ? src.isOffscreenCanvasSupported : !_util.isNodeJS; + const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1; + const disableFontFace = typeof src.disableFontFace === "boolean" ? src.disableFontFace : _util.isNodeJS; + const fontExtraProperties = src.fontExtraProperties === true; + const enableXfa = src.enableXfa === true; + const ownerDocument = src.ownerDocument || globalThis.document; + const disableRange = src.disableRange === true; + const disableStream = src.disableStream === true; + const disableAutoFetch = src.disableAutoFetch === true; + const pdfBug = src.pdfBug === true; + const length = rangeTransport ? rangeTransport.length : src.length ?? NaN; + const useSystemFonts = typeof src.useSystemFonts === "boolean" ? src.useSystemFonts : !_util.isNodeJS && !disableFontFace; + const useWorkerFetch = typeof src.useWorkerFetch === "boolean" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI); + const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({ + ownerDocument + }); + const filterFactory = src.filterFactory || new DefaultFilterFactory({ + docId, + ownerDocument + }); + const styleElement = null; + (0, _util.setVerbosityLevel)(verbosity); + const transportFactory = { + canvasFactory, + filterFactory + }; + if (!useWorkerFetch) { + transportFactory.cMapReaderFactory = new CMapReaderFactory({ + baseUrl: cMapUrl, + isCompressed: cMapPacked + }); + transportFactory.standardFontDataFactory = new StandardFontDataFactory({ + baseUrl: standardFontDataUrl + }); + } + if (!worker) { + const workerParams = { + verbosity, + port: _worker_options.GlobalWorkerOptions.workerPort + }; + worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); + task._worker = worker; + } + const fetchDocParams = { + docId, + apiVersion: '3.11.174', + data, + password, + disableAutoFetch, + rangeChunkSize, + length, + docBaseUrl, + enableXfa, + evaluatorOptions: { + maxImageSize, + disableFontFace, + ignoreErrors, + isEvalSupported, + isOffscreenCanvasSupported, + canvasMaxAreaInBytes, + fontExtraProperties, + useSystemFonts, + cMapUrl: useWorkerFetch ? cMapUrl : null, + standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null + } + }; + const transportParams = { + ignoreErrors, + isEvalSupported, + disableFontFace, + fontExtraProperties, + enableXfa, + ownerDocument, + disableAutoFetch, + pdfBug, + styleElement + }; + worker.promise.then(function () { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + const workerIdPromise = _fetchDocument(worker, fetchDocParams); + const networkStreamPromise = new Promise(function (resolve) { + let networkStream; + if (rangeTransport) { + networkStream = new _transport_stream.PDFDataTransportStream({ + length, + initialData: rangeTransport.initialData, + progressiveDone: rangeTransport.progressiveDone, + contentDispositionFilename: rangeTransport.contentDispositionFilename, + disableRange, + disableStream + }, rangeTransport); + } else if (!data) { + const createPDFNetworkStream = params => { + if (_util.isNodeJS) { + return new _displayNode_stream.PDFNodeStream(params); + } + return (0, _display_utils.isValidFetchUrl)(params.url) ? new _displayFetch_stream.PDFFetchStream(params) : new _displayNetwork.PDFNetworkStream(params); + }; + networkStream = createPDFNetworkStream({ + url, + length, + httpHeaders, + withCredentials, + rangeChunkSize, + disableRange, + disableStream + }); + } + resolve(networkStream); + }); + return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { + let [workerId, networkStream] = _ref; + if (task.destroyed) { + throw new Error("Loading aborted"); + } + const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port); + const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory); + task._transport = transport; + messageHandler.send("Ready", null); + }); + }).catch(task._capability.reject); + return task; +} +async function _fetchDocument(worker, source) { + if (worker.destroyed) { + throw new Error("Worker was destroyed"); + } + const workerId = await worker.messageHandler.sendWithPromise("GetDocRequest", source, source.data ? [source.data.buffer] : null); + if (worker.destroyed) { + throw new Error("Worker was destroyed"); + } + return workerId; +} +function getUrlProp(val) { + if (val instanceof URL) { + return val.href; + } + try { + return new URL(val, window.location).href; + } catch { + if (_util.isNodeJS && typeof val === "string") { + return val; + } + } + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); +} +function getDataProp(val) { + if (_util.isNodeJS && typeof Buffer !== "undefined" && val instanceof Buffer) { + throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`."); + } + if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) { + return val; + } + if (typeof val === "string") { + return (0, _util.stringToBytes)(val); + } + if (typeof val === "object" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) { + return new Uint8Array(val); + } + throw new Error("Invalid PDF binary data: either TypedArray, " + "string, or array-like object is expected in the data property."); +} +class PDFDocumentLoadingTask { + static #docId = 0; + constructor() { + this._capability = new _util.PromiseCapability(); + this._transport = null; + this._worker = null; + this.docId = `d${PDFDocumentLoadingTask.#docId++}`; + this.destroyed = false; + this.onPassword = null; + this.onProgress = null; + } + get promise() { + return this._capability.promise; + } + async destroy() { + this.destroyed = true; + try { + if (this._worker?.port) { + this._worker._pendingDestroy = true; + } + await this._transport?.destroy(); + } catch (ex) { + if (this._worker?.port) { + delete this._worker._pendingDestroy; + } + throw ex; + } + this._transport = null; + if (this._worker) { + this._worker.destroy(); + this._worker = null; + } + } +} +exports.PDFDocumentLoadingTask = PDFDocumentLoadingTask; +class PDFDataRangeTransport { + constructor(length, initialData) { + let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + this.length = length; + this.initialData = initialData; + this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; + this._rangeListeners = []; + this._progressListeners = []; + this._progressiveReadListeners = []; + this._progressiveDoneListeners = []; + this._readyCapability = new _util.PromiseCapability(); + } + addRangeListener(listener) { + this._rangeListeners.push(listener); + } + addProgressListener(listener) { + this._progressListeners.push(listener); + } + addProgressiveReadListener(listener) { + this._progressiveReadListeners.push(listener); + } + addProgressiveDoneListener(listener) { + this._progressiveDoneListeners.push(listener); + } + onDataRange(begin, chunk) { + for (const listener of this._rangeListeners) { + listener(begin, chunk); + } + } + onDataProgress(loaded, total) { + this._readyCapability.promise.then(() => { + for (const listener of this._progressListeners) { + listener(loaded, total); + } + }); + } + onDataProgressiveRead(chunk) { + this._readyCapability.promise.then(() => { + for (const listener of this._progressiveReadListeners) { + listener(chunk); + } + }); + } + onDataProgressiveDone() { + this._readyCapability.promise.then(() => { + for (const listener of this._progressiveDoneListeners) { + listener(); + } + }); + } + transportReady() { + this._readyCapability.resolve(); + } + requestDataRange(begin, end) { + (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange"); + } + abort() {} +} +exports.PDFDataRangeTransport = PDFDataRangeTransport; +class PDFDocumentProxy { + constructor(pdfInfo, transport) { + this._pdfInfo = pdfInfo; + this._transport = transport; + Object.defineProperty(this, "getJavaScript", { + value: () => { + (0, _display_utils.deprecated)("`PDFDocumentProxy.getJavaScript`, " + "please use `PDFDocumentProxy.getJSActions` instead."); + return this.getJSActions().then(js => { + if (!js) { + return js; + } + const jsArr = []; + for (const name in js) { + jsArr.push(...js[name]); + } + return jsArr; + }); + } + }); + } + get annotationStorage() { + return this._transport.annotationStorage; + } + get filterFactory() { + return this._transport.filterFactory; + } + get numPages() { + return this._pdfInfo.numPages; + } + get fingerprints() { + return this._pdfInfo.fingerprints; + } + get isPureXfa() { + return (0, _util.shadow)(this, "isPureXfa", !!this._transport._htmlForXfa); + } + get allXfaHtml() { + return this._transport._htmlForXfa; + } + getPage(pageNumber) { + return this._transport.getPage(pageNumber); + } + getPageIndex(ref) { + return this._transport.getPageIndex(ref); + } + getDestinations() { + return this._transport.getDestinations(); + } + getDestination(id) { + return this._transport.getDestination(id); + } + getPageLabels() { + return this._transport.getPageLabels(); + } + getPageLayout() { + return this._transport.getPageLayout(); + } + getPageMode() { + return this._transport.getPageMode(); + } + getViewerPreferences() { + return this._transport.getViewerPreferences(); + } + getOpenAction() { + return this._transport.getOpenAction(); + } + getAttachments() { + return this._transport.getAttachments(); + } + getJSActions() { + return this._transport.getDocJSActions(); + } + getOutline() { + return this._transport.getOutline(); + } + getOptionalContentConfig() { + return this._transport.getOptionalContentConfig(); + } + getPermissions() { + return this._transport.getPermissions(); + } + getMetadata() { + return this._transport.getMetadata(); + } + getMarkInfo() { + return this._transport.getMarkInfo(); + } + getData() { + return this._transport.getData(); + } + saveDocument() { + return this._transport.saveDocument(); + } + getDownloadInfo() { + return this._transport.downloadInfoCapability.promise; + } + cleanup() { + let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); + } + destroy() { + return this.loadingTask.destroy(); + } + get loadingParams() { + return this._transport.loadingParams; + } + get loadingTask() { + return this._transport.loadingTask; + } + getFieldObjects() { + return this._transport.getFieldObjects(); + } + hasJSActions() { + return this._transport.hasJSActions(); + } + getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } +} +exports.PDFDocumentProxy = PDFDocumentProxy; +class PDFPageProxy { + #delayedCleanupTimeout = null; + #pendingCleanup = false; + constructor(pageIndex, pageInfo, transport) { + let pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + this._pageIndex = pageIndex; + this._pageInfo = pageInfo; + this._transport = transport; + this._stats = pdfBug ? new _display_utils.StatTimer() : null; + this._pdfBug = pdfBug; + this.commonObjs = transport.commonObjs; + this.objs = new PDFObjects(); + this._maybeCleanupAfterRender = false; + this._intentStates = new Map(); + this.destroyed = false; + } + get pageNumber() { + return this._pageIndex + 1; + } + get rotate() { + return this._pageInfo.rotate; + } + get ref() { + return this._pageInfo.ref; + } + get userUnit() { + return this._pageInfo.userUnit; + } + get view() { + return this._pageInfo.view; + } + getViewport() { + let { + scale, + rotation = this.rotate, + offsetX = 0, + offsetY = 0, + dontFlip = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return new _display_utils.PageViewport({ + viewBox: this.view, + scale, + rotation, + offsetX, + offsetY, + dontFlip + }); + } + getAnnotations() { + let { + intent = "display" + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const intentArgs = this._transport.getRenderingIntent(intent); + return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent); + } + getJSActions() { + return this._transport.getPageJSActions(this._pageIndex); + } + get filterFactory() { + return this._transport.filterFactory; + } + get isPureXfa() { + return (0, _util.shadow)(this, "isPureXfa", !!this._transport._htmlForXfa); + } + async getXfa() { + return this._transport._htmlForXfa?.children[this._pageIndex] || null; + } + render(_ref2) { + let { + canvasContext, + viewport, + intent = "display", + annotationMode = _util.AnnotationMode.ENABLE, + transform = null, + background = null, + optionalContentConfigPromise = null, + annotationCanvasMap = null, + pageColors = null, + printAnnotationStorage = null + } = _ref2; + this._stats?.time("Overall"); + const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage); + this.#pendingCleanup = false; + this.#abortDelayedCleanup(); + if (!optionalContentConfigPromise) { + optionalContentConfigPromise = this._transport.getOptionalContentConfig(); + } + let intentState = this._intentStates.get(intentArgs.cacheKey); + if (!intentState) { + intentState = Object.create(null); + this._intentStates.set(intentArgs.cacheKey, intentState); + } + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT); + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = new _util.PromiseCapability(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false, + separateAnnots: null + }; + this._stats?.time("Page Request"); + this._pumpOperatorList(intentArgs); + } + const complete = error => { + intentState.renderTasks.delete(internalRenderTask); + if (this._maybeCleanupAfterRender || intentPrint) { + this.#pendingCleanup = true; + } + this.#tryCleanup(!intentPrint); + if (error) { + internalRenderTask.capability.reject(error); + this._abortOperatorList({ + intentState, + reason: error instanceof Error ? error : new Error(error) + }); + } else { + internalRenderTask.capability.resolve(); + } + this._stats?.timeEnd("Rendering"); + this._stats?.timeEnd("Overall"); + }; + const internalRenderTask = new InternalRenderTask({ + callback: complete, + params: { + canvasContext, + viewport, + transform, + background + }, + objs: this.objs, + commonObjs: this.commonObjs, + annotationCanvasMap, + operatorList: intentState.operatorList, + pageIndex: this._pageIndex, + canvasFactory: this._transport.canvasFactory, + filterFactory: this._transport.filterFactory, + useRequestAnimationFrame: !intentPrint, + pdfBug: this._pdfBug, + pageColors + }); + (intentState.renderTasks ||= new Set()).add(internalRenderTask); + const renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(_ref3 => { + let [transparency, optionalContentConfig] = _ref3; + if (this.destroyed) { + complete(); + return; + } + this._stats?.time("Rendering"); + internalRenderTask.initializeGraphics({ + transparency, + optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + }).catch(complete); + return renderTask; + } + getOperatorList() { + let { + intent = "display", + annotationMode = _util.AnnotationMode.ENABLE, + printAnnotationStorage = null + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks.delete(opListTask); + } + } + const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true); + let intentState = this._intentStates.get(intentArgs.cacheKey); + if (!intentState) { + intentState = Object.create(null); + this._intentStates.set(intentArgs.cacheKey, intentState); + } + let opListTask; + if (!intentState.opListReadCapability) { + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = new _util.PromiseCapability(); + (intentState.renderTasks ||= new Set()).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false, + separateAnnots: null + }; + this._stats?.time("Page Request"); + this._pumpOperatorList(intentArgs); + } + return intentState.opListReadCapability.promise; + } + streamTextContent() { + let { + includeMarkedContent = false, + disableNormalization = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageIndex: this._pageIndex, + includeMarkedContent: includeMarkedContent === true, + disableNormalization: disableNormalization === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size(textContent) { + return textContent.items.length; + } + }); + } + getTextContent() { + let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (this._transport._htmlForXfa) { + return this.getXfa().then(xfa => { + return _xfa_text.XfaText.textContent(xfa); + }); + } + const readableStream = this.streamTextContent(params); + return new Promise(function (resolve, reject) { + function pump() { + reader.read().then(function (_ref4) { + let { + value, + done + } = _ref4; + if (done) { + resolve(textContent); + return; + } + Object.assign(textContent.styles, value.styles); + textContent.items.push(...value.items); + pump(); + }, reject); + } + const reader = readableStream.getReader(); + const textContent = { + items: [], + styles: Object.create(null) + }; + pump(); + }); + } + getStructTree() { + return this._transport.getStructTree(this._pageIndex); + } + _destroy() { + this.destroyed = true; + const waitOn = []; + for (const intentState of this._intentStates.values()) { + this._abortOperatorList({ + intentState, + reason: new Error("Page was destroyed."), + force: true + }); + if (intentState.opListReadCapability) { + continue; + } + for (const internalRenderTask of intentState.renderTasks) { + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } + this.objs.clear(); + this.#pendingCleanup = false; + this.#abortDelayedCleanup(); + return Promise.all(waitOn); + } + cleanup() { + let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.#pendingCleanup = true; + const success = this.#tryCleanup(false); + if (resetStats && success) { + this._stats &&= new _display_utils.StatTimer(); + } + return success; + } + #tryCleanup() { + let delayed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.#abortDelayedCleanup(); + if (!this.#pendingCleanup || this.destroyed) { + return false; + } + if (delayed) { + this.#delayedCleanupTimeout = setTimeout(() => { + this.#delayedCleanupTimeout = null; + this.#tryCleanup(false); + }, DELAYED_CLEANUP_TIMEOUT); + return false; + } + for (const { + renderTasks, + operatorList + } of this._intentStates.values()) { + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + this._intentStates.clear(); + this.objs.clear(); + this.#pendingCleanup = false; + return true; + } + #abortDelayedCleanup() { + if (this.#delayedCleanupTimeout) { + clearTimeout(this.#delayedCleanupTimeout); + this.#delayedCleanupTimeout = null; + } + } + _startRenderPage(transparency, cacheKey) { + const intentState = this._intentStates.get(cacheKey); + if (!intentState) { + return; + } + this._stats?.timeEnd("Page Request"); + intentState.displayReadyCapability?.resolve(transparency); + } + _renderPageChunk(operatorListChunk, intentState) { + for (let i = 0, ii = operatorListChunk.length; i < ii; i++) { + intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]); + intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]); + } + intentState.operatorList.lastChunk = operatorListChunk.lastChunk; + intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots; + for (const internalRenderTask of intentState.renderTasks) { + internalRenderTask.operatorListChanged(); + } + if (operatorListChunk.lastChunk) { + this.#tryCleanup(true); + } + } + _pumpOperatorList(_ref5) { + let { + renderingIntent, + cacheKey, + annotationStorageSerializable + } = _ref5; + const { + map, + transfers + } = annotationStorageSerializable; + const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", { + pageIndex: this._pageIndex, + intent: renderingIntent, + cacheKey, + annotationStorage: map + }, transfers); + const reader = readableStream.getReader(); + const intentState = this._intentStates.get(cacheKey); + intentState.streamReader = reader; + const pump = () => { + reader.read().then(_ref6 => { + let { + value, + done + } = _ref6; + if (done) { + intentState.streamReader = null; + return; + } + if (this._transport.destroyed) { + return; + } + this._renderPageChunk(value, intentState); + pump(); + }, reason => { + intentState.streamReader = null; + if (this._transport.destroyed) { + return; + } + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + for (const internalRenderTask of intentState.renderTasks) { + internalRenderTask.operatorListChanged(); + } + this.#tryCleanup(true); + } + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + pump(); + } + _abortOperatorList(_ref7) { + let { + intentState, + reason, + force = false + } = _ref7; + if (!intentState.streamReader) { + return; + } + if (intentState.streamReaderCancelTimeout) { + clearTimeout(intentState.streamReaderCancelTimeout); + intentState.streamReaderCancelTimeout = null; + } + if (!force) { + if (intentState.renderTasks.size > 0) { + return; + } + if (reason instanceof _display_utils.RenderingCancelledException) { + let delay = RENDERING_CANCELLED_TIMEOUT; + if (reason.extraDelay > 0 && reason.extraDelay < 1000) { + delay += reason.extraDelay; + } + intentState.streamReaderCancelTimeout = setTimeout(() => { + intentState.streamReaderCancelTimeout = null; + this._abortOperatorList({ + intentState, + reason, + force: true + }); + }, delay); + return; + } + } + intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {}); + intentState.streamReader = null; + if (this._transport.destroyed) { + return; + } + for (const [curCacheKey, curIntentState] of this._intentStates) { + if (curIntentState === intentState) { + this._intentStates.delete(curCacheKey); + break; + } + } + this.cleanup(); + } + get stats() { + return this._stats; + } +} +exports.PDFPageProxy = PDFPageProxy; +class LoopbackPort { + #listeners = new Set(); + #deferred = Promise.resolve(); + postMessage(obj, transfer) { + const event = { + data: structuredClone(obj, null) + }; + this.#deferred.then(() => { + for (const listener of this.#listeners) { + listener.call(this, event); + } + }); + } + addEventListener(name, listener) { + this.#listeners.add(listener); + } + removeEventListener(name, listener) { + this.#listeners.delete(listener); + } + terminate() { + this.#listeners.clear(); + } +} +exports.LoopbackPort = LoopbackPort; +const PDFWorkerUtil = { + isWorkerDisabled: false, + fallbackWorkerSrc: null, + fakeWorkerId: 0 +}; +exports.PDFWorkerUtil = PDFWorkerUtil; +{ + if (_util.isNodeJS && typeof require === "function") { + PDFWorkerUtil.isWorkerDisabled = true; + PDFWorkerUtil.fallbackWorkerSrc = "./pdf.worker.js"; + } else if (typeof document === "object") { + const pdfjsFilePath = document?.currentScript?.src; + if (pdfjsFilePath) { + PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2"); + } + } + PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) { + let base; + try { + base = new URL(baseUrl); + if (!base.origin || base.origin === "null") { + return false; + } + } catch { + return false; + } + const other = new URL(otherUrl, base); + return base.origin === other.origin; + }; + PDFWorkerUtil.createCDNWrapper = function (url) { + const wrapper = `importScripts("${url}");`; + return URL.createObjectURL(new Blob([wrapper])); + }; +} +class PDFWorker { + static #workerPorts; + constructor() { + let { + name = null, + port = null, + verbosity = (0, _util.getVerbosityLevel)() + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.name = name; + this.destroyed = false; + this.verbosity = verbosity; + this._readyCapability = new _util.PromiseCapability(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; + if (port) { + if (PDFWorker.#workerPorts?.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port."); + } + (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this); + this._initializeFromPort(port); + return; + } + this._initialize(); + } + get promise() { + return this._readyCapability.promise; + } + get port() { + return this._port; + } + get messageHandler() { + return this._messageHandler; + } + _initializeFromPort(port) { + this._port = port; + this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + this._messageHandler.on("ready", function () {}); + this._readyCapability.resolve(); + this._messageHandler.send("configure", { + verbosity: this.verbosity + }); + } + _initialize() { + if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) { + let { + workerSrc + } = PDFWorker; + try { + if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) { + workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href); + } + const worker = new Worker(workerSrc); + const messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + const terminateEarly = () => { + worker.removeEventListener("error", onWorkerError); + messageHandler.destroy(); + worker.terminate(); + if (this.destroyed) { + this._readyCapability.reject(new Error("Worker was destroyed")); + } else { + this._setupFakeWorker(); + } + }; + const onWorkerError = () => { + if (!this._webWorker) { + terminateEarly(); + } + }; + worker.addEventListener("error", onWorkerError); + messageHandler.on("test", data => { + worker.removeEventListener("error", onWorkerError); + if (this.destroyed) { + terminateEarly(); + return; + } + if (data) { + this._messageHandler = messageHandler; + this._port = worker; + this._webWorker = worker; + this._readyCapability.resolve(); + messageHandler.send("configure", { + verbosity: this.verbosity + }); + } else { + this._setupFakeWorker(); + messageHandler.destroy(); + worker.terminate(); + } + }); + messageHandler.on("ready", data => { + worker.removeEventListener("error", onWorkerError); + if (this.destroyed) { + terminateEarly(); + return; + } + try { + sendTest(); + } catch { + this._setupFakeWorker(); + } + }); + const sendTest = () => { + const testObj = new Uint8Array(); + messageHandler.send("test", testObj, [testObj.buffer]); + }; + sendTest(); + return; + } catch { + (0, _util.info)("The worker has been disabled."); + } + } + this._setupFakeWorker(); + } + _setupFakeWorker() { + if (!PDFWorkerUtil.isWorkerDisabled) { + (0, _util.warn)("Setting up fake worker."); + PDFWorkerUtil.isWorkerDisabled = true; + } + PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => { + if (this.destroyed) { + this._readyCapability.reject(new Error("Worker was destroyed")); + return; + } + const port = new LoopbackPort(); + this._port = port; + const id = `fake${PDFWorkerUtil.fakeWorkerId++}`; + const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port); + WorkerMessageHandler.setup(workerHandler, port); + const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port); + this._messageHandler = messageHandler; + this._readyCapability.resolve(); + messageHandler.send("configure", { + verbosity: this.verbosity + }); + }).catch(reason => { + this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`)); + }); + } + destroy() { + this.destroyed = true; + if (this._webWorker) { + this._webWorker.terminate(); + this._webWorker = null; + } + PDFWorker.#workerPorts?.delete(this._port); + this._port = null; + if (this._messageHandler) { + this._messageHandler.destroy(); + this._messageHandler = null; + } + } + static fromPort(params) { + if (!params?.port) { + throw new Error("PDFWorker.fromPort - invalid method signature."); + } + const cachedPort = this.#workerPorts?.get(params.port); + if (cachedPort) { + if (cachedPort._pendingDestroy) { + throw new Error("PDFWorker.fromPort - the worker is being destroyed.\n" + "Please remember to await `PDFDocumentLoadingTask.destroy()`-calls."); + } + return cachedPort; + } + return new PDFWorker(params); + } + static get workerSrc() { + if (_worker_options.GlobalWorkerOptions.workerSrc) { + return _worker_options.GlobalWorkerOptions.workerSrc; + } + if (PDFWorkerUtil.fallbackWorkerSrc !== null) { + if (!_util.isNodeJS) { + (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); + } + return PDFWorkerUtil.fallbackWorkerSrc; + } + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + static get _mainThreadWorkerMessageHandler() { + try { + return globalThis.pdfjsWorker?.WorkerMessageHandler || null; + } catch { + return null; + } + } + static get _setupFakeWorkerGlobal() { + const loader = async () => { + const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler; + if (mainWorkerMessageHandler) { + return mainWorkerMessageHandler; + } + if (_util.isNodeJS && typeof require === "function") { + const worker = eval("require")(this.workerSrc); + return worker.WorkerMessageHandler; + } + await (0, _display_utils.loadScript)(this.workerSrc); + return window.pdfjsWorker.WorkerMessageHandler; + }; + return (0, _util.shadow)(this, "_setupFakeWorkerGlobal", loader()); + } +} +exports.PDFWorker = PDFWorker; +class WorkerTransport { + #methodPromises = new Map(); + #pageCache = new Map(); + #pagePromises = new Map(); + #passwordCapability = null; + constructor(messageHandler, loadingTask, networkStream, params, factory) { + this.messageHandler = messageHandler; + this.loadingTask = loadingTask; + this.commonObjs = new PDFObjects(); + this.fontLoader = new _font_loader.FontLoader({ + ownerDocument: params.ownerDocument, + styleElement: params.styleElement + }); + this._params = params; + this.canvasFactory = factory.canvasFactory; + this.filterFactory = factory.filterFactory; + this.cMapReaderFactory = factory.cMapReaderFactory; + this.standardFontDataFactory = factory.standardFontDataFactory; + this.destroyed = false; + this.destroyCapability = null; + this._networkStream = networkStream; + this._fullReader = null; + this._lastProgress = null; + this.downloadInfoCapability = new _util.PromiseCapability(); + this.setupMessageHandler(); + } + #cacheSimpleMethod(name) { + let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const cachedPromise = this.#methodPromises.get(name); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise(name, data); + this.#methodPromises.set(name, promise); + return promise; + } + get annotationStorage() { + return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); + } + getRenderingIntent(intent) { + let annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE; + let printAnnotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + let isOpList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + let renderingIntent = _util.RenderingIntentFlag.DISPLAY; + let annotationStorageSerializable = _annotation_storage.SerializableEmpty; + switch (intent) { + case "any": + renderingIntent = _util.RenderingIntentFlag.ANY; + break; + case "display": + break; + case "print": + renderingIntent = _util.RenderingIntentFlag.PRINT; + break; + default: + (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`); + } + switch (annotationMode) { + case _util.AnnotationMode.DISABLE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE; + break; + case _util.AnnotationMode.ENABLE: + break; + case _util.AnnotationMode.ENABLE_FORMS: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS; + break; + case _util.AnnotationMode.ENABLE_STORAGE: + renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE; + const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage; + annotationStorageSerializable = annotationStorage.serializable; + break; + default: + (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`); + } + if (isOpList) { + renderingIntent += _util.RenderingIntentFlag.OPLIST; + } + return { + renderingIntent, + cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`, + annotationStorageSerializable + }; + } + destroy() { + if (this.destroyCapability) { + return this.destroyCapability.promise; + } + this.destroyed = true; + this.destroyCapability = new _util.PromiseCapability(); + this.#passwordCapability?.reject(new Error("Worker was destroyed during onPassword callback")); + const waitOn = []; + for (const page of this.#pageCache.values()) { + waitOn.push(page._destroy()); + } + this.#pageCache.clear(); + this.#pagePromises.clear(); + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + const terminated = this.messageHandler.sendWithPromise("Terminate", null); + waitOn.push(terminated); + Promise.all(waitOn).then(() => { + this.commonObjs.clear(); + this.fontLoader.clear(); + this.#methodPromises.clear(); + this.filterFactory.destroy(); + this._networkStream?.cancelAllRequests(new _util.AbortException("Worker was terminated.")); + if (this.messageHandler) { + this.messageHandler.destroy(); + this.messageHandler = null; + } + this.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + setupMessageHandler() { + const { + messageHandler, + loadingTask + } = this; + messageHandler.on("GetReader", (data, sink) => { + (0, _util.assert)(this._networkStream, "GetReader - no `IPDFStream` instance available."); + this._fullReader = this._networkStream.getFullReader(); + this._fullReader.onProgress = evt => { + this._lastProgress = { + loaded: evt.loaded, + total: evt.total + }; + }; + sink.onPull = () => { + this._fullReader.read().then(function (_ref8) { + let { + value, + done + } = _ref8; + if (done) { + sink.close(); + return; + } + (0, _util.assert)(value instanceof ArrayBuffer, "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + }).catch(reason => { + sink.error(reason); + }); + }; + sink.onCancel = reason => { + this._fullReader.cancel(reason); + sink.ready.catch(readyReason => { + if (this.destroyed) { + return; + } + throw readyReason; + }); + }; + }); + messageHandler.on("ReaderHeadersReady", data => { + const headersCapability = new _util.PromiseCapability(); + const fullReader = this._fullReader; + fullReader.headersReady.then(() => { + if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { + if (this._lastProgress) { + loadingTask.onProgress?.(this._lastProgress); + } + fullReader.onProgress = evt => { + loadingTask.onProgress?.({ + loaded: evt.loaded, + total: evt.total + }); + }; + } + headersCapability.resolve({ + isStreamingSupported: fullReader.isStreamingSupported, + isRangeSupported: fullReader.isRangeSupported, + contentLength: fullReader.contentLength + }); + }, headersCapability.reject); + return headersCapability.promise; + }); + messageHandler.on("GetRangeReader", (data, sink) => { + (0, _util.assert)(this._networkStream, "GetRangeReader - no `IPDFStream` instance available."); + const rangeReader = this._networkStream.getRangeReader(data.begin, data.end); + if (!rangeReader) { + sink.close(); + return; + } + sink.onPull = () => { + rangeReader.read().then(function (_ref9) { + let { + value, + done + } = _ref9; + if (done) { + sink.close(); + return; + } + (0, _util.assert)(value instanceof ArrayBuffer, "GetRangeReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + }).catch(reason => { + sink.error(reason); + }); + }; + sink.onCancel = reason => { + rangeReader.cancel(reason); + sink.ready.catch(readyReason => { + if (this.destroyed) { + return; + } + throw readyReason; + }); + }; + }); + messageHandler.on("GetDoc", _ref10 => { + let { + pdfInfo + } = _ref10; + this._numPages = pdfInfo.numPages; + this._htmlForXfa = pdfInfo.htmlForXfa; + delete pdfInfo.htmlForXfa; + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this)); + }); + messageHandler.on("DocException", function (ex) { + let reason; + switch (ex.name) { + case "PasswordException": + reason = new _util.PasswordException(ex.message, ex.code); + break; + case "InvalidPDFException": + reason = new _util.InvalidPDFException(ex.message); + break; + case "MissingPDFException": + reason = new _util.MissingPDFException(ex.message); + break; + case "UnexpectedResponseException": + reason = new _util.UnexpectedResponseException(ex.message, ex.status); + break; + case "UnknownErrorException": + reason = new _util.UnknownErrorException(ex.message, ex.details); + break; + default: + (0, _util.unreachable)("DocException - expected a valid Error."); + } + loadingTask._capability.reject(reason); + }); + messageHandler.on("PasswordRequest", exception => { + this.#passwordCapability = new _util.PromiseCapability(); + if (loadingTask.onPassword) { + const updatePassword = password => { + if (password instanceof Error) { + this.#passwordCapability.reject(password); + } else { + this.#passwordCapability.resolve({ + password + }); + } + }; + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + this.#passwordCapability.reject(ex); + } + } else { + this.#passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + } + return this.#passwordCapability.promise; + }); + messageHandler.on("DataLoaded", data => { + loadingTask.onProgress?.({ + loaded: data.length, + total: data.length + }); + this.downloadInfoCapability.resolve(data); + }); + messageHandler.on("StartRenderPage", data => { + if (this.destroyed) { + return; + } + const page = this.#pageCache.get(data.pageIndex); + page._startRenderPage(data.transparency, data.cacheKey); + }); + messageHandler.on("commonobj", _ref11 => { + let [id, type, exportedData] = _ref11; + if (this.destroyed) { + return; + } + if (this.commonObjs.has(id)) { + return; + } + switch (type) { + case "Font": + const params = this._params; + if ("error" in exportedData) { + const exportedError = exportedData.error; + (0, _util.warn)(`Error during font loading: ${exportedError}`); + this.commonObjs.resolve(id, exportedError); + break; + } + const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null; + const font = new _font_loader.FontFaceObject(exportedData, { + isEvalSupported: params.isEvalSupported, + disableFontFace: params.disableFontFace, + ignoreErrors: params.ignoreErrors, + inspectFont + }); + this.fontLoader.bind(font).catch(reason => { + return messageHandler.sendWithPromise("FontFallback", { + id + }); + }).finally(() => { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + this.commonObjs.resolve(id, font); + }); + break; + case "FontPath": + case "Image": + case "Pattern": + this.commonObjs.resolve(id, exportedData); + break; + default: + throw new Error(`Got unknown common object type ${type}`); + } + }); + messageHandler.on("obj", _ref12 => { + let [id, pageIndex, type, imageData] = _ref12; + if (this.destroyed) { + return; + } + const pageProxy = this.#pageCache.get(pageIndex); + if (pageProxy.objs.has(id)) { + return; + } + switch (type) { + case "Image": + pageProxy.objs.resolve(id, imageData); + if (imageData) { + let length; + if (imageData.bitmap) { + const { + width, + height + } = imageData; + length = width * height * 4; + } else { + length = imageData.data?.length || 0; + } + if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) { + pageProxy._maybeCleanupAfterRender = true; + } + } + break; + case "Pattern": + pageProxy.objs.resolve(id, imageData); + break; + default: + throw new Error(`Got unknown object type ${type}`); + } + }); + messageHandler.on("DocProgress", data => { + if (this.destroyed) { + return; + } + loadingTask.onProgress?.({ + loaded: data.loaded, + total: data.total + }); + }); + messageHandler.on("FetchBuiltInCMap", data => { + if (this.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + if (!this.cMapReaderFactory) { + return Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.")); + } + return this.cMapReaderFactory.fetch(data); + }); + messageHandler.on("FetchStandardFontData", data => { + if (this.destroyed) { + return Promise.reject(new Error("Worker was destroyed.")); + } + if (!this.standardFontDataFactory) { + return Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")); + } + return this.standardFontDataFactory.fetch(data); + }); + } + getData() { + return this.messageHandler.sendWithPromise("GetData", null); + } + saveDocument() { + if (this.annotationStorage.size <= 0) { + (0, _util.warn)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + const { + map, + transfers + } = this.annotationStorage.serializable; + return this.messageHandler.sendWithPromise("SaveDocument", { + isPureXfa: !!this._htmlForXfa, + numPages: this._numPages, + annotationStorage: map, + filename: this._fullReader?.filename ?? null + }, transfers).finally(() => { + this.annotationStorage.resetModified(); + }); + } + getPage(pageNumber) { + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { + return Promise.reject(new Error("Invalid page request.")); + } + const pageIndex = pageNumber - 1, + cachedPromise = this.#pagePromises.get(pageIndex); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex + }).then(pageInfo => { + if (this.destroyed) { + throw new Error("Transport destroyed"); + } + const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug); + this.#pageCache.set(pageIndex, page); + return page; + }); + this.#pagePromises.set(pageIndex, promise); + return promise; + } + getPageIndex(ref) { + if (typeof ref !== "object" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) { + return Promise.reject(new Error("Invalid pageIndex request.")); + } + return this.messageHandler.sendWithPromise("GetPageIndex", { + num: ref.num, + gen: ref.gen + }); + } + getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex, + intent + }); + } + getFieldObjects() { + return this.#cacheSimpleMethod("GetFieldObjects"); + } + hasJSActions() { + return this.#cacheSimpleMethod("HasJSActions"); + } + getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } + getDestinations() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + return this.messageHandler.sendWithPromise("GetDestination", { + id + }); + } + getPageLabels() { + return this.messageHandler.sendWithPromise("GetPageLabels", null); + } + getPageLayout() { + return this.messageHandler.sendWithPromise("GetPageLayout", null); + } + getPageMode() { + return this.messageHandler.sendWithPromise("GetPageMode", null); + } + getViewerPreferences() { + return this.messageHandler.sendWithPromise("GetViewerPreferences", null); + } + getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + getDocJSActions() { + return this.#cacheSimpleMethod("GetDocJSActions"); + } + getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex + }); + } + getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex + }); + } + getOutline() { + return this.messageHandler.sendWithPromise("GetOutline", null); + } + getOptionalContentConfig() { + return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(results => { + return new _optional_content_config.OptionalContentConfig(results); + }); + } + getPermissions() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + getMetadata() { + const name = "GetMetadata", + cachedPromise = this.#methodPromises.get(name); + if (cachedPromise) { + return cachedPromise; + } + const promise = this.messageHandler.sendWithPromise(name, null).then(results => { + return { + info: results[0], + metadata: results[1] ? new _metadata.Metadata(results[1]) : null, + contentDispositionFilename: this._fullReader?.filename ?? null, + contentLength: this._fullReader?.contentLength ?? null + }; + }); + this.#methodPromises.set(name, promise); + return promise; + } + getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + async startCleanup() { + let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.destroyed) { + return; + } + await this.messageHandler.sendWithPromise("Cleanup", null); + for (const page of this.#pageCache.values()) { + const cleanupSuccessful = page.cleanup(); + if (!cleanupSuccessful) { + throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`); + } + } + this.commonObjs.clear(); + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + this.#methodPromises.clear(); + this.filterFactory.destroy(true); + } + get loadingParams() { + const { + disableAutoFetch, + enableXfa + } = this._params; + return (0, _util.shadow)(this, "loadingParams", { + disableAutoFetch, + enableXfa + }); + } +} +class PDFObjects { + #objs = Object.create(null); + #ensureObj(objId) { + return this.#objs[objId] ||= { + capability: new _util.PromiseCapability(), + data: null + }; + } + get(objId) { + let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (callback) { + const obj = this.#ensureObj(objId); + obj.capability.promise.then(() => callback(obj.data)); + return null; + } + const obj = this.#objs[objId]; + if (!obj?.capability.settled) { + throw new Error(`Requesting object that isn't resolved yet ${objId}.`); + } + return obj.data; + } + has(objId) { + const obj = this.#objs[objId]; + return obj?.capability.settled || false; + } + resolve(objId) { + let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const obj = this.#ensureObj(objId); + obj.data = data; + obj.capability.resolve(); + } + clear() { + for (const objId in this.#objs) { + const { + data + } = this.#objs[objId]; + data?.bitmap?.close(); + } + this.#objs = Object.create(null); + } +} +class RenderTask { + #internalRenderTask = null; + constructor(internalRenderTask) { + this.#internalRenderTask = internalRenderTask; + this.onContinue = null; + } + get promise() { + return this.#internalRenderTask.capability.promise; + } + cancel() { + let extraDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + this.#internalRenderTask.cancel(null, extraDelay); + } + get separateAnnots() { + const { + separateAnnots + } = this.#internalRenderTask.operatorList; + if (!separateAnnots) { + return false; + } + const { + annotationCanvasMap + } = this.#internalRenderTask; + return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0; + } +} +exports.RenderTask = RenderTask; +class InternalRenderTask { + static #canvasInUse = new WeakSet(); + constructor(_ref13) { + let { + callback, + params, + objs, + commonObjs, + annotationCanvasMap, + operatorList, + pageIndex, + canvasFactory, + filterFactory, + useRequestAnimationFrame = false, + pdfBug = false, + pageColors = null + } = _ref13; + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.annotationCanvasMap = annotationCanvasMap; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this.filterFactory = filterFactory; + this._pdfBug = pdfBug; + this.pageColors = pageColors; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = new _util.PromiseCapability(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvasContext.canvas; + } + get completed() { + return this.capability.promise.catch(function () {}); + } + initializeGraphics(_ref14) { + let { + transparency = false, + optionalContentConfig + } = _ref14; + if (this.cancelled) { + return; + } + if (this._canvas) { + if (InternalRenderTask.#canvasInUse.has(this._canvas)) { + throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed."); + } + InternalRenderTask.#canvasInUse.add(this._canvas); + } + if (this._pdfBug && globalThis.StepperManager?.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + const { + canvasContext, + viewport, + transform, + background + } = this.params; + this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, { + optionalContentConfig + }, this.annotationCanvasMap, this.pageColors); + this.gfx.beginDrawing({ + transform, + viewport, + transparency, + background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + this.graphicsReadyCallback?.(); + } + cancel() { + let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let extraDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + this.running = false; + this.cancelled = true; + this.gfx?.endDrawing(); + InternalRenderTask.#canvasInUse.delete(this._canvas); + this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay)); + } + operatorListChanged() { + if (!this.graphicsReady) { + this.graphicsReadyCallback ||= this._continueBound; + return; + } + this.stepper?.updateOperatorList(this.operatorList); + if (this.running) { + return; + } + this._continue(); + } + _continue() { + this.running = true; + if (this.cancelled) { + return; + } + if (this.task.onContinue) { + this.task.onContinue(this._scheduleNextBound); + } else { + this._scheduleNext(); + } + } + _scheduleNext() { + if (this._useRequestAnimationFrame) { + window.requestAnimationFrame(() => { + this._nextBound().catch(this._cancelBound); + }); + } else { + Promise.resolve().then(this._nextBound).catch(this._cancelBound); + } + } + async _next() { + if (this.cancelled) { + return; + } + this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper); + if (this.operatorListIdx === this.operatorList.argsArray.length) { + this.running = false; + if (this.operatorList.lastChunk) { + this.gfx.endDrawing(); + InternalRenderTask.#canvasInUse.delete(this._canvas); + this.callback(); + } + } + } +} +const version = '3.11.174'; +exports.version = version; +const build = 'ce8716743'; +exports.build = build; + +/***/ }), +/* 125 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var difference = __w_pdfjs_require__(126); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('difference') +}, { difference: difference }); + +/***/ }), +/* 126 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var SetHelpers = __w_pdfjs_require__(128); +var clone = __w_pdfjs_require__(129); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSet = __w_pdfjs_require__(130); +var iterateSimple = __w_pdfjs_require__(131); +var has = SetHelpers.has; +var remove = SetHelpers.remove; +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) + iterateSet(O, function (e) { + if (otherRec.includes(e)) + remove(result, e); + }); + else + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) + remove(result, e); + }); + return result; +}; + +/***/ }), +/* 127 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var has = (__w_pdfjs_require__(128).has); +module.exports = function (it) { + has(it); + return it; +}; + +/***/ }), +/* 128 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var SetPrototype = Set.prototype; +module.exports = { + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + +/***/ }), +/* 129 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var SetHelpers = __w_pdfjs_require__(128); +var iterate = __w_pdfjs_require__(130); +var Set = SetHelpers.Set; +var add = SetHelpers.add; +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + +/***/ }), +/* 130 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var iterateSimple = __w_pdfjs_require__(131); +var SetHelpers = __w_pdfjs_require__(128); +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ + iterator: keys(set), + next: next + }, fn) : forEach(set, fn); +}; + +/***/ }), +/* 131 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) + return result; + } +}; + +/***/ }), +/* 132 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThisAccessor = __w_pdfjs_require__(72); +var SetHelpers = __w_pdfjs_require__(128); +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + +/***/ }), +/* 133 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aCallable = __w_pdfjs_require__(31); +var anObject = __w_pdfjs_require__(47); +var call = __w_pdfjs_require__(8); +var toIntegerOrInfinity = __w_pdfjs_require__(62); +var getIteratorDirect = __w_pdfjs_require__(134); +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; +var SetRecord = function (set, size, has, keys) { + this.set = set; + this.size = size; + this.has = has; + this.keys = keys; +}; +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + if (numSize !== numSize) + throw $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) + throw $RangeError(INVALID_SIZE); + return new SetRecord(obj, max(intSize, 0), aCallable(obj.has), aCallable(obj.keys)); +}; + +/***/ }), +/* 134 */ +/***/ ((module) => { + + +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + +/***/ }), +/* 135 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + +/***/ }), +/* 136 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var fails = __w_pdfjs_require__(7); +var intersection = __w_pdfjs_require__(137); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + return Array.from(new Set([ + 1, + 2, + 3 + ]).intersection(new Set([ + 3, + 2 + ]))) !== '3,2'; +}); +$({ + target: 'Set', + proto: true, + real: true, + forced: INCORRECT +}, { intersection: intersection }); + +/***/ }), +/* 137 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var SetHelpers = __w_pdfjs_require__(128); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSet = __w_pdfjs_require__(130); +var iterateSimple = __w_pdfjs_require__(131); +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) + add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) + add(result, e); + }); + } + return result; +}; + +/***/ }), +/* 138 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var isDisjointFrom = __w_pdfjs_require__(139); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isDisjointFrom') +}, { isDisjointFrom: isDisjointFrom }); + +/***/ }), +/* 139 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var has = (__w_pdfjs_require__(128).has); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSet = __w_pdfjs_require__(130); +var iterateSimple = __w_pdfjs_require__(131); +var iteratorClose = __w_pdfjs_require__(140); +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) + return iterateSet(O, function (e) { + if (otherRec.includes(e)) + return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) + return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + +/***/ }), +/* 140 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var anObject = __w_pdfjs_require__(47); +var getMethod = __w_pdfjs_require__(30); +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') + throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') + throw value; + if (innerError) + throw innerResult; + anObject(innerResult); + return value; +}; + +/***/ }), +/* 141 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var isSubsetOf = __w_pdfjs_require__(142); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isSubsetOf') +}, { isSubsetOf: isSubsetOf }); + +/***/ }), +/* 142 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var size = __w_pdfjs_require__(132); +var iterate = __w_pdfjs_require__(130); +var getSetRecord = __w_pdfjs_require__(133); +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) + return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) + return false; + }, true) !== false; +}; + +/***/ }), +/* 143 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var isSupersetOf = __w_pdfjs_require__(144); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isSupersetOf') +}, { isSupersetOf: isSupersetOf }); + +/***/ }), +/* 144 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var has = (__w_pdfjs_require__(128).has); +var size = __w_pdfjs_require__(132); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSimple = __w_pdfjs_require__(131); +var iteratorClose = __w_pdfjs_require__(140); +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) + return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) + return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + +/***/ }), +/* 145 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var symmetricDifference = __w_pdfjs_require__(146); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('symmetricDifference') +}, { symmetricDifference: symmetricDifference }); + +/***/ }), +/* 146 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var SetHelpers = __w_pdfjs_require__(128); +var clone = __w_pdfjs_require__(129); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSimple = __w_pdfjs_require__(131); +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) + remove(result, e); + else + add(result, e); + }); + return result; +}; + +/***/ }), +/* 147 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var union = __w_pdfjs_require__(148); +var setMethodAcceptSetLike = __w_pdfjs_require__(135); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('union') +}, { union: union }); + +/***/ }), +/* 148 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var aSet = __w_pdfjs_require__(127); +var add = (__w_pdfjs_require__(128).add); +var clone = __w_pdfjs_require__(129); +var getSetRecord = __w_pdfjs_require__(133); +var iterateSimple = __w_pdfjs_require__(131); +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + +/***/ }), +/* 149 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var global = __w_pdfjs_require__(4); +var getBuiltIn = __w_pdfjs_require__(24); +var createPropertyDescriptor = __w_pdfjs_require__(11); +var defineProperty = (__w_pdfjs_require__(45).f); +var hasOwn = __w_pdfjs_require__(39); +var anInstance = __w_pdfjs_require__(150); +var inheritIfRequired = __w_pdfjs_require__(75); +var normalizeStringArgument = __w_pdfjs_require__(76); +var DOMExceptionConstants = __w_pdfjs_require__(151); +var clearErrorStack = __w_pdfjs_require__(82); +var DESCRIPTORS = __w_pdfjs_require__(6); +var IS_PURE = __w_pdfjs_require__(36); +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; +var ERROR_HAS_STACK = 'stack' in Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION); +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; +$({ + global: true, + constructor: true, + forced: IS_PURE || FORCED_CONSTRUCTOR +}, { DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException }); +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + for (var key in DOMExceptionConstants) + if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + +/***/ }), +/* 150 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var isPrototypeOf = __w_pdfjs_require__(25); +var $TypeError = TypeError; +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) + return it; + throw $TypeError('Incorrect invocation'); +}; + +/***/ }), +/* 151 */ +/***/ ((module) => { + + +module.exports = { + IndexSizeError: { + s: 'INDEX_SIZE_ERR', + c: 1, + m: 1 + }, + DOMStringSizeError: { + s: 'DOMSTRING_SIZE_ERR', + c: 2, + m: 0 + }, + HierarchyRequestError: { + s: 'HIERARCHY_REQUEST_ERR', + c: 3, + m: 1 + }, + WrongDocumentError: { + s: 'WRONG_DOCUMENT_ERR', + c: 4, + m: 1 + }, + InvalidCharacterError: { + s: 'INVALID_CHARACTER_ERR', + c: 5, + m: 1 + }, + NoDataAllowedError: { + s: 'NO_DATA_ALLOWED_ERR', + c: 6, + m: 0 + }, + NoModificationAllowedError: { + s: 'NO_MODIFICATION_ALLOWED_ERR', + c: 7, + m: 1 + }, + NotFoundError: { + s: 'NOT_FOUND_ERR', + c: 8, + m: 1 + }, + NotSupportedError: { + s: 'NOT_SUPPORTED_ERR', + c: 9, + m: 1 + }, + InUseAttributeError: { + s: 'INUSE_ATTRIBUTE_ERR', + c: 10, + m: 1 + }, + InvalidStateError: { + s: 'INVALID_STATE_ERR', + c: 11, + m: 1 + }, + SyntaxError: { + s: 'SYNTAX_ERR', + c: 12, + m: 1 + }, + InvalidModificationError: { + s: 'INVALID_MODIFICATION_ERR', + c: 13, + m: 1 + }, + NamespaceError: { + s: 'NAMESPACE_ERR', + c: 14, + m: 1 + }, + InvalidAccessError: { + s: 'INVALID_ACCESS_ERR', + c: 15, + m: 1 + }, + ValidationError: { + s: 'VALIDATION_ERR', + c: 16, + m: 0 + }, + TypeMismatchError: { + s: 'TYPE_MISMATCH_ERR', + c: 17, + m: 1 + }, + SecurityError: { + s: 'SECURITY_ERR', + c: 18, + m: 1 + }, + NetworkError: { + s: 'NETWORK_ERR', + c: 19, + m: 1 + }, + AbortError: { + s: 'ABORT_ERR', + c: 20, + m: 1 + }, + URLMismatchError: { + s: 'URL_MISMATCH_ERR', + c: 21, + m: 1 + }, + QuotaExceededError: { + s: 'QUOTA_EXCEEDED_ERR', + c: 22, + m: 1 + }, + TimeoutError: { + s: 'TIMEOUT_ERR', + c: 23, + m: 1 + }, + InvalidNodeTypeError: { + s: 'INVALID_NODE_TYPE_ERR', + c: 24, + m: 1 + }, + DataCloneError: { + s: 'DATA_CLONE_ERR', + c: 25, + m: 1 + } +}; + +/***/ }), +/* 152 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var IS_PURE = __w_pdfjs_require__(36); +var $ = __w_pdfjs_require__(3); +var global = __w_pdfjs_require__(4); +var getBuiltin = __w_pdfjs_require__(24); +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var uid = __w_pdfjs_require__(41); +var isCallable = __w_pdfjs_require__(21); +var isConstructor = __w_pdfjs_require__(153); +var isNullOrUndefined = __w_pdfjs_require__(17); +var isObject = __w_pdfjs_require__(20); +var isSymbol = __w_pdfjs_require__(23); +var iterate = __w_pdfjs_require__(154); +var anObject = __w_pdfjs_require__(47); +var classof = __w_pdfjs_require__(78); +var hasOwn = __w_pdfjs_require__(39); +var createProperty = __w_pdfjs_require__(159); +var createNonEnumerableProperty = __w_pdfjs_require__(44); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var validateArgumentsLength = __w_pdfjs_require__(85); +var getRegExpFlags = __w_pdfjs_require__(160); +var MapHelpers = __w_pdfjs_require__(162); +var SetHelpers = __w_pdfjs_require__(128); +var ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(83); +var PROPER_TRANSFER = __w_pdfjs_require__(119); +var Object = global.Object; +var Array = global.Array; +var Date = global.Date; +var Error = global.Error; +var EvalError = global.EvalError; +var RangeError = global.RangeError; +var ReferenceError = global.ReferenceError; +var SyntaxError = global.SyntaxError; +var TypeError = global.TypeError; +var URIError = global.URIError; +var PerformanceMark = global.PerformanceMark; +var WebAssembly = global.WebAssembly; +var CompileError = WebAssembly && WebAssembly.CompileError || Error; +var LinkError = WebAssembly && WebAssembly.LinkError || Error; +var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error; +var DOMException = getBuiltin('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var objectKeys = getBuiltin('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new global.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || typeof number != 'object' || +number !== 7; + }) && structuredCloneImplementation; +}; +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ + a: error, + b: error + }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; +var nativeStructuredClone = global.structuredClone; +var FORCED_REPLACEMENT = IS_PURE || !checkErrorsCloning(nativeStructuredClone, Error) || !checkErrorsCloning(nativeStructuredClone, DOMException) || !checkNewErrorsCloningSemantic(nativeStructuredClone); +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) + throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new global.DataTransfer(); + } catch (error) { + try { + dataTransfer = new global.ClipboardEvent('').clipboardData; + } catch (error2) { + } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) + return mapGet(map, value); + var type = $type || classof(value); + var clone, length, options, source, target, i; + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) + clone = nativeRestrictedStructuredClone(value); + else + clone = value; + } else { + var DataView = global.DataView; + if (!DataView && typeof value.slice != 'function') + throwUnpolyfillable('ArrayBuffer'); + try { + if (typeof value.slice == 'function' && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + mapSet(map, value, clone); + return clone; +}; +var cloneView = function (value, type, offset, length, map) { + var C = global[type]; + if (!isObject(C)) + throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; +var Placeholder = function (object, type, metadata) { + this.object = object; + this.type = type; + this.metadata = metadata; +}; +var structuredCloneInternal = function (value, map, transferredBuffers) { + if (isSymbol(value)) + throwUncloneable('Symbol'); + if (!isObject(value)) + return value; + if (map) { + if (mapHas(map, value)) + return mapGet(map, value); + } else + map = new Map(); + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = getBuiltin('AggregateError')([]); + break; + case 'EvalError': + cloned = EvalError(); + break; + case 'RangeError': + cloned = RangeError(); + break; + case 'ReferenceError': + cloned = ReferenceError(); + break; + case 'SyntaxError': + cloned = SyntaxError(); + break; + case 'TypeError': + cloned = TypeError(); + break; + case 'URIError': + cloned = URIError(); + break; + case 'CompileError': + cloned = CompileError(); + break; + case 'LinkError': + cloned = LinkError(); + break; + case 'RuntimeError': + cloned = RuntimeError(); + break; + default: + cloned = Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = transferredBuffers ? new Placeholder(value, type) : cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = transferredBuffers ? new Placeholder(value, type, { + offset: value.byteOffset, + length: length + }) : cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad(structuredCloneInternal(value.p1, map, transferredBuffers), structuredCloneInternal(value.p2, map, transferredBuffers), structuredCloneInternal(value.p3, map, transferredBuffers), structuredCloneInternal(value.p4, map, transferredBuffers)); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) + try { + cloned = nativeRestrictedStructuredClone(value); + if (classof(cloned) !== type) + cloned = undefined; + } catch (error) { + } + if (!cloned) + try { + cloned = new File([value], value.name, value); + } catch (error) { + } + if (!cloned) + throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map, transferredBuffers)); + } + cloned = dataTransfer.files; + } else + cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + try { + cloned = new ImageData(structuredCloneInternal(value.data, map, transferredBuffers), value.width, value.height, { colorSpace: value.colorSpace }); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else + switch (type) { + case 'BigInt': + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = global[type]; + try { + cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = global[type]; + try { + cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = global[type]; + try { + cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) + throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } + break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + default: + throwUncloneable(type); + } + } + mapSet(map, value, cloned); + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map, transferredBuffers)); + } + break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map, transferredBuffers), structuredCloneInternal(v, map, transferredBuffers)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map, transferredBuffers)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map, transferredBuffers)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map, transferredBuffers)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map, transferredBuffers); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map, transferredBuffers)); + } + } + return cloned; +}; +var replacePlaceholders = function (value, map) { + if (!isObject(value)) + return value; + if (mapHas(map, value)) + return mapGet(map, value); + var type, object, metadata, i, length, keys, key, replacement; + if (value instanceof Placeholder) { + type = value.type; + object = value.object; + switch (type) { + case 'ArrayBuffer': + case 'SharedArrayBuffer': + replacement = cloneBuffer(object, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + metadata = value.metadata; + replacement = cloneView(object, type, metadata.offset, metadata.length, map); + } + } else + switch (classof(value)) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + value[key] = replacePlaceholders(value[key], map); + } + break; + case 'Map': + replacement = new Map(); + value.forEach(function (v, k) { + mapSet(replacement, replacePlaceholders(k, map), replacePlaceholders(v, map)); + }); + break; + case 'Set': + replacement = new Set(); + value.forEach(function (v) { + setAdd(replacement, replacePlaceholders(v, map)); + }); + break; + case 'Error': + value.message = replacePlaceholders(value.message, map); + if (hasOwn(value, 'cause')) { + value.cause = replacePlaceholders(value.cause, map); + } + if (value.name === 'AggregateError') { + value.errors = replacePlaceholders(value.errors, map); + } + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + value.stack = replacePlaceholders(value.stack, map); + } + } + mapSet(map, value, replacement || value); + return replacement || value; +}; +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) + throw TypeError('Transfer option cannot be converted to a sequence'); + var transfer = []; + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = []; + var value, type, C, transferred, canvas, context; + while (i < length) { + value = transfer[i++]; + type = classof(value); + if (type === 'ArrayBuffer') { + push(buffers, value); + continue; + } + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + if (PROPER_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else + switch (type) { + case 'ImageBitmap': + C = global.OffscreenCanvas; + if (!isConstructor(C)) + throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { + } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) + throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { + } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'TransformStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + if (transferred === undefined) + throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + mapSet(map, value, transferred); + } + return buffers; +}; +var tryToTransferBuffers = function (transfer, map) { + var i = 0; + var length = lengthOfArrayLike(transfer); + var value, transferred; + while (i < length) { + value = transfer[i++]; + if (mapHas(map, value)) + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + if (PROPER_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else { + if (!isCallable(value.transfer)) + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + transferred = value.transfer(); + } + mapSet(map, value, transferred); + } +}; +$({ + global: true, + enumerable: true, + sham: !PROPER_TRANSFER, + forced: FORCED_REPLACEMENT +}, { + structuredClone: function structuredClone(value) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var transferredBuffers = false; + var map, buffers; + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + transferredBuffers = !!lengthOfArrayLike(buffers); + } + var clone = structuredCloneInternal(value, map, transferredBuffers); + if (transferredBuffers) { + map = new Map(); + tryToTransferBuffers(transfer, map); + clone = replacePlaceholders(clone, map); + } + return clone; + } +}); + +/***/ }), +/* 153 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var fails = __w_pdfjs_require__(7); +var isCallable = __w_pdfjs_require__(21); +var classof = __w_pdfjs_require__(78); +var getBuiltIn = __w_pdfjs_require__(24); +var inspectSource = __w_pdfjs_require__(51); +var noop = function () { +}; +var empty = []; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + try { + construct(noop, empty, argument); + return true; + } catch (error) { + return false; + } +}; +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) + return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': + return false; + } + try { + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; +isConstructorLegacy.sham = true; +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () { + called = true; + }) || called; +}) ? isConstructorLegacy : isConstructorModern; + +/***/ }), +/* 154 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var bind = __w_pdfjs_require__(99); +var call = __w_pdfjs_require__(8); +var anObject = __w_pdfjs_require__(47); +var tryToString = __w_pdfjs_require__(32); +var isArrayIteratorMethod = __w_pdfjs_require__(155); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var isPrototypeOf = __w_pdfjs_require__(25); +var getIterator = __w_pdfjs_require__(157); +var getIteratorMethod = __w_pdfjs_require__(158); +var iteratorClose = __w_pdfjs_require__(140); +var $TypeError = TypeError; +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; +var ResultPrototype = Result.prototype; +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + var stop = function (condition) { + if (iterator) + iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } + return INTERRUPTED ? fn(value, stop) : fn(value); + }; + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) + throw $TypeError(tryToString(iterable) + ' is not iterable'); + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) + return result; + } + return new Result(false); +}; + +/***/ }), +/* 155 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var wellKnownSymbol = __w_pdfjs_require__(34); +var Iterators = __w_pdfjs_require__(156); +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +/***/ }), +/* 156 */ +/***/ ((module) => { + + +module.exports = {}; + +/***/ }), +/* 157 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var aCallable = __w_pdfjs_require__(31); +var anObject = __w_pdfjs_require__(47); +var tryToString = __w_pdfjs_require__(32); +var getIteratorMethod = __w_pdfjs_require__(158); +var $TypeError = TypeError; +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) + return anObject(call(iteratorMethod, argument)); + throw $TypeError(tryToString(argument) + ' is not iterable'); +}; + +/***/ }), +/* 158 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var classof = __w_pdfjs_require__(78); +var getMethod = __w_pdfjs_require__(30); +var isNullOrUndefined = __w_pdfjs_require__(17); +var Iterators = __w_pdfjs_require__(156); +var wellKnownSymbol = __w_pdfjs_require__(34); +var ITERATOR = wellKnownSymbol('iterator'); +module.exports = function (it) { + if (!isNullOrUndefined(it)) + return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)]; +}; + +/***/ }), +/* 159 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var toPropertyKey = __w_pdfjs_require__(18); +var definePropertyModule = __w_pdfjs_require__(45); +var createPropertyDescriptor = __w_pdfjs_require__(11); +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; +}; + +/***/ }), +/* 160 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var call = __w_pdfjs_require__(8); +var hasOwn = __w_pdfjs_require__(39); +var isPrototypeOf = __w_pdfjs_require__(25); +var regExpFlags = __w_pdfjs_require__(161); +var RegExpPrototype = RegExp.prototype; +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags; +}; + +/***/ }), +/* 161 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var anObject = __w_pdfjs_require__(47); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) + result += 'd'; + if (that.global) + result += 'g'; + if (that.ignoreCase) + result += 'i'; + if (that.multiline) + result += 'm'; + if (that.dotAll) + result += 's'; + if (that.unicode) + result += 'u'; + if (that.unicodeSets) + result += 'v'; + if (that.sticky) + result += 'y'; + return result; +}; + +/***/ }), +/* 162 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var MapPrototype = Map.prototype; +module.exports = { + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + +/***/ }), +/* 163 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SerializableEmpty = exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(149); +__w_pdfjs_require__(152); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _murmurhash = __w_pdfjs_require__(170); +const SerializableEmpty = Object.freeze({ + map: null, + hash: "", + transfers: undefined +}); +exports.SerializableEmpty = SerializableEmpty; +class AnnotationStorage { + #modified = false; + #storage = new Map(); + constructor() { + this.onSetModified = null; + this.onResetModified = null; + this.onAnnotationEditor = null; + } + getValue(key, defaultValue) { + const value = this.#storage.get(key); + if (value === undefined) { + return defaultValue; + } + return Object.assign(defaultValue, value); + } + getRawValue(key) { + return this.#storage.get(key); + } + remove(key) { + this.#storage.delete(key); + if (this.#storage.size === 0) { + this.resetModified(); + } + if (typeof this.onAnnotationEditor === "function") { + for (const value of this.#storage.values()) { + if (value instanceof _editor.AnnotationEditor) { + return; + } + } + this.onAnnotationEditor(null); + } + } + setValue(key, value) { + const obj = this.#storage.get(key); + let modified = false; + if (obj !== undefined) { + for (const [entry, val] of Object.entries(value)) { + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + modified = true; + this.#storage.set(key, value); + } + if (modified) { + this.#setModified(); + } + if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === "function") { + this.onAnnotationEditor(value.constructor._type); + } + } + has(key) { + return this.#storage.has(key); + } + getAll() { + return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null; + } + setAll(obj) { + for (const [key, val] of Object.entries(obj)) { + this.setValue(key, val); + } + } + get size() { + return this.#storage.size; + } + #setModified() { + if (!this.#modified) { + this.#modified = true; + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + resetModified() { + if (this.#modified) { + this.#modified = false; + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + get print() { + return new PrintAnnotationStorage(this); + } + get serializable() { + if (this.#storage.size === 0) { + return SerializableEmpty; + } + const map = new Map(), + hash = new _murmurhash.MurmurHash3_64(), + transfers = []; + const context = Object.create(null); + let hasBitmap = false; + for (const [key, val] of this.#storage) { + const serialized = val instanceof _editor.AnnotationEditor ? val.serialize(false, context) : val; + if (serialized) { + map.set(key, serialized); + hash.update(`${key}:${JSON.stringify(serialized)}`); + hasBitmap ||= !!serialized.bitmap; + } + } + if (hasBitmap) { + for (const value of map.values()) { + if (value.bitmap) { + transfers.push(value.bitmap); + } + } + } + return map.size > 0 ? { + map, + hash: hash.hexdigest(), + transfers + } : SerializableEmpty; + } +} +exports.AnnotationStorage = AnnotationStorage; +class PrintAnnotationStorage extends AnnotationStorage { + #serializable; + constructor(parent) { + super(); + const { + map, + hash, + transfers + } = parent.serializable; + const clone = structuredClone(map, null); + this.#serializable = { + map: clone, + hash, + transfers + }; + } + get print() { + (0, _util.unreachable)("Should not call PrintAnnotationStorage.print"); + } + get serializable() { + return this.#serializable; + } +} +exports.PrintAnnotationStorage = PrintAnnotationStorage; + +/***/ }), +/* 164 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationEditor = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(2); +var _tools = __w_pdfjs_require__(165); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +class AnnotationEditor { + #altText = ""; + #altTextDecorative = false; + #altTextButton = null; + #altTextTooltip = null; + #altTextTooltipTimeout = null; + #keepAspectRatio = false; + #resizersDiv = null; + #boundFocusin = this.focusin.bind(this); + #boundFocusout = this.focusout.bind(this); + #hasBeenClicked = false; + #isEditing = false; + #isInEditMode = false; + _initialOptions = Object.create(null); + _uiManager = null; + _focusEventsAllowed = true; + _l10nPromise = null; + #isDraggable = false; + #zIndex = AnnotationEditor._zIndex++; + static _borderLineWidth = -1; + static _colorManager = new _tools.ColorManager(); + static _zIndex = 1; + static SMALL_EDITOR_SIZE = 0; + constructor(parameters) { + if (this.constructor === AnnotationEditor) { + (0, _util.unreachable)("Cannot initialize AnnotationEditor."); + } + this.parent = parameters.parent; + this.id = parameters.id; + this.width = this.height = null; + this.pageIndex = parameters.parent.pageIndex; + this.name = parameters.name; + this.div = null; + this._uiManager = parameters.uiManager; + this.annotationElementId = null; + this._willKeepAspectRatio = false; + this._initialOptions.isCentered = parameters.isCentered; + this._structTreeParentId = null; + const { + rotation, + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } = this.parent.viewport; + this.rotation = rotation; + this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360; + this.pageDimensions = [pageWidth, pageHeight]; + this.pageTranslation = [pageX, pageY]; + const [width, height] = this.parentDimensions; + this.x = parameters.x / width; + this.y = parameters.y / height; + this.isAttachedToDOM = false; + this.deleted = false; + } + get editorType() { + return Object.getPrototypeOf(this).constructor._type; + } + static get _defaultLineColor() { + return (0, _util.shadow)(this, "_defaultLineColor", this._colorManager.getHexCode("CanvasText")); + } + static deleteAnnotationElement(editor) { + const fakeEditor = new FakeEditor({ + id: editor.parent.getNextId(), + parent: editor.parent, + uiManager: editor._uiManager + }); + fakeEditor.annotationElementId = editor.annotationElementId; + fakeEditor.deleted = true; + fakeEditor._uiManager.addToAnnotationStorage(fakeEditor); + } + static initialize(l10n) { + let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + AnnotationEditor._l10nPromise ||= new Map(["editor_alt_text_button_label", "editor_alt_text_edit_button_label", "editor_alt_text_decorative_tooltip"].map(str => [str, l10n.get(str)])); + if (options?.strings) { + for (const str of options.strings) { + AnnotationEditor._l10nPromise.set(str, l10n.get(str)); + } + } + if (AnnotationEditor._borderLineWidth !== -1) { + return; + } + const style = getComputedStyle(document.documentElement); + AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue("--outline-width")) || 0; + } + static updateDefaultParams(_type, _value) {} + static get defaultPropertiesToUpdate() { + return []; + } + static isHandlingMimeForPasting(mime) { + return false; + } + static paste(item, parent) { + (0, _util.unreachable)("Not implemented"); + } + get propertiesToUpdate() { + return []; + } + get _isDraggable() { + return this.#isDraggable; + } + set _isDraggable(value) { + this.#isDraggable = value; + this.div?.classList.toggle("draggable", value); + } + center() { + const [pageWidth, pageHeight] = this.pageDimensions; + switch (this.parentRotation) { + case 90: + this.x -= this.height * pageHeight / (pageWidth * 2); + this.y += this.width * pageWidth / (pageHeight * 2); + break; + case 180: + this.x += this.width / 2; + this.y += this.height / 2; + break; + case 270: + this.x += this.height * pageHeight / (pageWidth * 2); + this.y -= this.width * pageWidth / (pageHeight * 2); + break; + default: + this.x -= this.width / 2; + this.y -= this.height / 2; + break; + } + this.fixAndSetPosition(); + } + addCommands(params) { + this._uiManager.addCommands(params); + } + get currentLayer() { + return this._uiManager.currentLayer; + } + setInBackground() { + this.div.style.zIndex = 0; + } + setInForeground() { + this.div.style.zIndex = this.#zIndex; + } + setParent(parent) { + if (parent !== null) { + this.pageIndex = parent.pageIndex; + this.pageDimensions = parent.pageDimensions; + } + this.parent = parent; + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + if (!this.#hasBeenClicked) { + this.parent.setSelected(this); + } else { + this.#hasBeenClicked = false; + } + } + focusout(event) { + if (!this._focusEventsAllowed) { + return; + } + if (!this.isAttachedToDOM) { + return; + } + const target = event.relatedTarget; + if (target?.closest(`#${this.id}`)) { + return; + } + event.preventDefault(); + if (!this.parent?.isMultipleSelection) { + this.commitOrRemove(); + } + } + commitOrRemove() { + if (this.isEmpty()) { + this.remove(); + } else { + this.commit(); + } + } + commit() { + this.addToAnnotationStorage(); + } + addToAnnotationStorage() { + this._uiManager.addToAnnotationStorage(this); + } + setAt(x, y, tx, ty) { + const [width, height] = this.parentDimensions; + [tx, ty] = this.screenToPageTranslation(tx, ty); + this.x = (x + tx) / width; + this.y = (y + ty) / height; + this.fixAndSetPosition(); + } + #translate(_ref, x, y) { + let [width, height] = _ref; + [x, y] = this.screenToPageTranslation(x, y); + this.x += x / width; + this.y += y / height; + this.fixAndSetPosition(); + } + translate(x, y) { + this.#translate(this.parentDimensions, x, y); + } + translateInPage(x, y) { + this.#translate(this.pageDimensions, x, y); + this.div.scrollIntoView({ + block: "nearest" + }); + } + drag(tx, ty) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.x += tx / parentWidth; + this.y += ty / parentHeight; + if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) { + const { + x, + y + } = this.div.getBoundingClientRect(); + if (this.parent.findNewParent(this, x, y)) { + this.x -= Math.floor(this.x); + this.y -= Math.floor(this.y); + } + } + let { + x, + y + } = this; + const [bx, by] = this.#getBaseTranslation(); + x += bx; + y += by; + this.div.style.left = `${(100 * x).toFixed(2)}%`; + this.div.style.top = `${(100 * y).toFixed(2)}%`; + this.div.scrollIntoView({ + block: "nearest" + }); + } + #getBaseTranslation() { + const [parentWidth, parentHeight] = this.parentDimensions; + const { + _borderLineWidth + } = AnnotationEditor; + const x = _borderLineWidth / parentWidth; + const y = _borderLineWidth / parentHeight; + switch (this.rotation) { + case 90: + return [-x, y]; + case 180: + return [x, y]; + case 270: + return [x, -y]; + default: + return [-x, -y]; + } + } + fixAndSetPosition() { + const [pageWidth, pageHeight] = this.pageDimensions; + let { + x, + y, + width, + height + } = this; + width *= pageWidth; + height *= pageHeight; + x *= pageWidth; + y *= pageHeight; + switch (this.rotation) { + case 0: + x = Math.max(0, Math.min(pageWidth - width, x)); + y = Math.max(0, Math.min(pageHeight - height, y)); + break; + case 90: + x = Math.max(0, Math.min(pageWidth - height, x)); + y = Math.min(pageHeight, Math.max(width, y)); + break; + case 180: + x = Math.min(pageWidth, Math.max(width, x)); + y = Math.min(pageHeight, Math.max(height, y)); + break; + case 270: + x = Math.min(pageWidth, Math.max(height, x)); + y = Math.max(0, Math.min(pageHeight - width, y)); + break; + } + this.x = x /= pageWidth; + this.y = y /= pageHeight; + const [bx, by] = this.#getBaseTranslation(); + x += bx; + y += by; + const { + style + } = this.div; + style.left = `${(100 * x).toFixed(2)}%`; + style.top = `${(100 * y).toFixed(2)}%`; + this.moveInDOM(); + } + static #rotatePoint(x, y, angle) { + switch (angle) { + case 90: + return [y, -x]; + case 180: + return [-x, -y]; + case 270: + return [-y, x]; + default: + return [x, y]; + } + } + screenToPageTranslation(x, y) { + return AnnotationEditor.#rotatePoint(x, y, this.parentRotation); + } + pageTranslationToScreen(x, y) { + return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation); + } + #getRotationMatrix(rotation) { + switch (rotation) { + case 90: + { + const [pageWidth, pageHeight] = this.pageDimensions; + return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0]; + } + case 180: + return [-1, 0, 0, -1]; + case 270: + { + const [pageWidth, pageHeight] = this.pageDimensions; + return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0]; + } + default: + return [1, 0, 0, 1]; + } + } + get parentScale() { + return this._uiManager.viewParameters.realScale; + } + get parentRotation() { + return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360; + } + get parentDimensions() { + const { + parentScale, + pageDimensions: [pageWidth, pageHeight] + } = this; + const scaledWidth = pageWidth * parentScale; + const scaledHeight = pageHeight * parentScale; + return _util.FeatureTest.isCSSRoundSupported ? [Math.round(scaledWidth), Math.round(scaledHeight)] : [scaledWidth, scaledHeight]; + } + setDims(width, height) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`; + if (!this.#keepAspectRatio) { + this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`; + } + this.#altTextButton?.classList.toggle("small", width < AnnotationEditor.SMALL_EDITOR_SIZE || height < AnnotationEditor.SMALL_EDITOR_SIZE); + } + fixDims() { + const { + style + } = this.div; + const { + height, + width + } = style; + const widthPercent = width.endsWith("%"); + const heightPercent = !this.#keepAspectRatio && height.endsWith("%"); + if (widthPercent && heightPercent) { + return; + } + const [parentWidth, parentHeight] = this.parentDimensions; + if (!widthPercent) { + style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`; + } + if (!this.#keepAspectRatio && !heightPercent) { + style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`; + } + } + getInitialTranslation() { + return [0, 0]; + } + #createResizers() { + if (this.#resizersDiv) { + return; + } + this.#resizersDiv = document.createElement("div"); + this.#resizersDiv.classList.add("resizers"); + const classes = ["topLeft", "topRight", "bottomRight", "bottomLeft"]; + if (!this._willKeepAspectRatio) { + classes.push("topMiddle", "middleRight", "bottomMiddle", "middleLeft"); + } + for (const name of classes) { + const div = document.createElement("div"); + this.#resizersDiv.append(div); + div.classList.add("resizer", name); + div.addEventListener("pointerdown", this.#resizerPointerdown.bind(this, name)); + div.addEventListener("contextmenu", _display_utils.noContextMenu); + } + this.div.prepend(this.#resizersDiv); + } + #resizerPointerdown(name, event) { + event.preventDefault(); + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + const boundResizerPointermove = this.#resizerPointermove.bind(this, name); + const savedDraggable = this._isDraggable; + this._isDraggable = false; + const pointerMoveOptions = { + passive: true, + capture: true + }; + window.addEventListener("pointermove", boundResizerPointermove, pointerMoveOptions); + const savedX = this.x; + const savedY = this.y; + const savedWidth = this.width; + const savedHeight = this.height; + const savedParentCursor = this.parent.div.style.cursor; + const savedCursor = this.div.style.cursor; + this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor; + const pointerUpCallback = () => { + this._isDraggable = savedDraggable; + window.removeEventListener("pointerup", pointerUpCallback); + window.removeEventListener("blur", pointerUpCallback); + window.removeEventListener("pointermove", boundResizerPointermove, pointerMoveOptions); + this.parent.div.style.cursor = savedParentCursor; + this.div.style.cursor = savedCursor; + const newX = this.x; + const newY = this.y; + const newWidth = this.width; + const newHeight = this.height; + if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) { + return; + } + this.addCommands({ + cmd: () => { + this.width = newWidth; + this.height = newHeight; + this.x = newX; + this.y = newY; + const [parentWidth, parentHeight] = this.parentDimensions; + this.setDims(parentWidth * newWidth, parentHeight * newHeight); + this.fixAndSetPosition(); + }, + undo: () => { + this.width = savedWidth; + this.height = savedHeight; + this.x = savedX; + this.y = savedY; + const [parentWidth, parentHeight] = this.parentDimensions; + this.setDims(parentWidth * savedWidth, parentHeight * savedHeight); + this.fixAndSetPosition(); + }, + mustExec: true + }); + }; + window.addEventListener("pointerup", pointerUpCallback); + window.addEventListener("blur", pointerUpCallback); + } + #resizerPointermove(name, event) { + const [parentWidth, parentHeight] = this.parentDimensions; + const savedX = this.x; + const savedY = this.y; + const savedWidth = this.width; + const savedHeight = this.height; + const minWidth = AnnotationEditor.MIN_SIZE / parentWidth; + const minHeight = AnnotationEditor.MIN_SIZE / parentHeight; + const round = x => Math.round(x * 10000) / 10000; + const rotationMatrix = this.#getRotationMatrix(this.rotation); + const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y]; + const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation); + const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y]; + let getPoint; + let getOpposite; + let isDiagonal = false; + let isHorizontal = false; + switch (name) { + case "topLeft": + isDiagonal = true; + getPoint = (w, h) => [0, 0]; + getOpposite = (w, h) => [w, h]; + break; + case "topMiddle": + getPoint = (w, h) => [w / 2, 0]; + getOpposite = (w, h) => [w / 2, h]; + break; + case "topRight": + isDiagonal = true; + getPoint = (w, h) => [w, 0]; + getOpposite = (w, h) => [0, h]; + break; + case "middleRight": + isHorizontal = true; + getPoint = (w, h) => [w, h / 2]; + getOpposite = (w, h) => [0, h / 2]; + break; + case "bottomRight": + isDiagonal = true; + getPoint = (w, h) => [w, h]; + getOpposite = (w, h) => [0, 0]; + break; + case "bottomMiddle": + getPoint = (w, h) => [w / 2, h]; + getOpposite = (w, h) => [w / 2, 0]; + break; + case "bottomLeft": + isDiagonal = true; + getPoint = (w, h) => [0, h]; + getOpposite = (w, h) => [w, 0]; + break; + case "middleLeft": + isHorizontal = true; + getPoint = (w, h) => [0, h / 2]; + getOpposite = (w, h) => [w, h / 2]; + break; + } + const point = getPoint(savedWidth, savedHeight); + const oppositePoint = getOpposite(savedWidth, savedHeight); + let transfOppositePoint = transf(...oppositePoint); + const oppositeX = round(savedX + transfOppositePoint[0]); + const oppositeY = round(savedY + transfOppositePoint[1]); + let ratioX = 1; + let ratioY = 1; + let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY); + [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight); + if (isDiagonal) { + const oldDiag = Math.hypot(savedWidth, savedHeight); + ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight); + } else if (isHorizontal) { + ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth; + } else { + ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight; + } + const newWidth = round(savedWidth * ratioX); + const newHeight = round(savedHeight * ratioY); + transfOppositePoint = transf(...getOpposite(newWidth, newHeight)); + const newX = oppositeX - transfOppositePoint[0]; + const newY = oppositeY - transfOppositePoint[1]; + this.width = newWidth; + this.height = newHeight; + this.x = newX; + this.y = newY; + this.setDims(parentWidth * newWidth, parentHeight * newHeight); + this.fixAndSetPosition(); + } + async addAltTextButton() { + if (this.#altTextButton) { + return; + } + const altText = this.#altTextButton = document.createElement("button"); + altText.className = "altText"; + const msg = await AnnotationEditor._l10nPromise.get("editor_alt_text_button_label"); + altText.textContent = msg; + altText.setAttribute("aria-label", msg); + altText.tabIndex = "0"; + altText.addEventListener("contextmenu", _display_utils.noContextMenu); + altText.addEventListener("pointerdown", event => event.stopPropagation()); + altText.addEventListener("click", event => { + event.preventDefault(); + this._uiManager.editAltText(this); + }, { + capture: true + }); + altText.addEventListener("keydown", event => { + if (event.target === altText && event.key === "Enter") { + event.preventDefault(); + this._uiManager.editAltText(this); + } + }); + this.#setAltTextButtonState(); + this.div.append(altText); + if (!AnnotationEditor.SMALL_EDITOR_SIZE) { + const PERCENT = 40; + AnnotationEditor.SMALL_EDITOR_SIZE = Math.min(128, Math.round(altText.getBoundingClientRect().width * (1 + PERCENT / 100))); + } + } + async #setAltTextButtonState() { + const button = this.#altTextButton; + if (!button) { + return; + } + if (!this.#altText && !this.#altTextDecorative) { + button.classList.remove("done"); + this.#altTextTooltip?.remove(); + return; + } + AnnotationEditor._l10nPromise.get("editor_alt_text_edit_button_label").then(msg => { + button.setAttribute("aria-label", msg); + }); + let tooltip = this.#altTextTooltip; + if (!tooltip) { + this.#altTextTooltip = tooltip = document.createElement("span"); + tooltip.className = "tooltip"; + tooltip.setAttribute("role", "tooltip"); + const id = tooltip.id = `alt-text-tooltip-${this.id}`; + button.setAttribute("aria-describedby", id); + const DELAY_TO_SHOW_TOOLTIP = 100; + button.addEventListener("mouseenter", () => { + this.#altTextTooltipTimeout = setTimeout(() => { + this.#altTextTooltipTimeout = null; + this.#altTextTooltip.classList.add("show"); + this._uiManager._eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "editing", + subtype: this.editorType, + data: { + action: "alt_text_tooltip" + } + } + }); + }, DELAY_TO_SHOW_TOOLTIP); + }); + button.addEventListener("mouseleave", () => { + clearTimeout(this.#altTextTooltipTimeout); + this.#altTextTooltipTimeout = null; + this.#altTextTooltip?.classList.remove("show"); + }); + } + button.classList.add("done"); + tooltip.innerText = this.#altTextDecorative ? await AnnotationEditor._l10nPromise.get("editor_alt_text_decorative_tooltip") : this.#altText; + if (!tooltip.parentNode) { + button.append(tooltip); + } + } + getClientDimensions() { + return this.div.getBoundingClientRect(); + } + get altTextData() { + return { + altText: this.#altText, + decorative: this.#altTextDecorative + }; + } + set altTextData(_ref2) { + let { + altText, + decorative + } = _ref2; + if (this.#altText === altText && this.#altTextDecorative === decorative) { + return; + } + this.#altText = altText; + this.#altTextDecorative = decorative; + this.#setAltTextButtonState(); + } + render() { + this.div = document.createElement("div"); + this.div.setAttribute("data-editor-rotation", (360 - this.rotation) % 360); + this.div.className = this.name; + this.div.setAttribute("id", this.id); + this.div.setAttribute("tabIndex", 0); + this.setInForeground(); + this.div.addEventListener("focusin", this.#boundFocusin); + this.div.addEventListener("focusout", this.#boundFocusout); + const [parentWidth, parentHeight] = this.parentDimensions; + if (this.parentRotation % 180 !== 0) { + this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`; + this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`; + } + const [tx, ty] = this.getInitialTranslation(); + this.translate(tx, ty); + (0, _tools.bindEvents)(this, this.div, ["pointerdown"]); + return this.div; + } + pointerdown(event) { + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + event.preventDefault(); + return; + } + this.#hasBeenClicked = true; + this.#setUpDragSession(event); + } + #setUpDragSession(event) { + if (!this._isDraggable) { + return; + } + const isSelected = this._uiManager.isSelected(this); + this._uiManager.setUpDragSession(); + let pointerMoveOptions, pointerMoveCallback; + if (isSelected) { + pointerMoveOptions = { + passive: true, + capture: true + }; + pointerMoveCallback = e => { + const [tx, ty] = this.screenToPageTranslation(e.movementX, e.movementY); + this._uiManager.dragSelectedEditors(tx, ty); + }; + window.addEventListener("pointermove", pointerMoveCallback, pointerMoveOptions); + } + const pointerUpCallback = () => { + window.removeEventListener("pointerup", pointerUpCallback); + window.removeEventListener("blur", pointerUpCallback); + if (isSelected) { + window.removeEventListener("pointermove", pointerMoveCallback, pointerMoveOptions); + } + this.#hasBeenClicked = false; + if (!this._uiManager.endDragSession()) { + const { + isMac + } = _util.FeatureTest.platform; + if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) { + this.parent.toggleSelected(this); + } else { + this.parent.setSelected(this); + } + } + }; + window.addEventListener("pointerup", pointerUpCallback); + window.addEventListener("blur", pointerUpCallback); + } + moveInDOM() { + this.parent?.moveEditorInDOM(this); + } + _setParentAndPosition(parent, x, y) { + parent.changeParent(this); + this.x = x; + this.y = y; + this.fixAndSetPosition(); + } + getRect(tx, ty) { + const scale = this.parentScale; + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + const shiftX = tx / scale; + const shiftY = ty / scale; + const x = this.x * pageWidth; + const y = this.y * pageHeight; + const width = this.width * pageWidth; + const height = this.height * pageHeight; + switch (this.rotation) { + case 0: + return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY]; + case 90: + return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY]; + case 180: + return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY]; + case 270: + return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY]; + default: + throw new Error("Invalid rotation"); + } + } + getRectInCurrentCoords(rect, pageHeight) { + const [x1, y1, x2, y2] = rect; + const width = x2 - x1; + const height = y2 - y1; + switch (this.rotation) { + case 0: + return [x1, pageHeight - y2, width, height]; + case 90: + return [x1, pageHeight - y1, height, width]; + case 180: + return [x2, pageHeight - y1, width, height]; + case 270: + return [x2, pageHeight - y2, height, width]; + default: + throw new Error("Invalid rotation"); + } + } + onceAdded() {} + isEmpty() { + return false; + } + enableEditMode() { + this.#isInEditMode = true; + } + disableEditMode() { + this.#isInEditMode = false; + } + isInEditMode() { + return this.#isInEditMode; + } + shouldGetKeyboardEvents() { + return false; + } + needsToBeRebuilt() { + return this.div && !this.isAttachedToDOM; + } + rebuild() { + this.div?.addEventListener("focusin", this.#boundFocusin); + this.div?.addEventListener("focusout", this.#boundFocusout); + } + serialize() { + let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + (0, _util.unreachable)("An editor must be serializable"); + } + static deserialize(data, parent, uiManager) { + const editor = new this.prototype.constructor({ + parent, + id: parent.getNextId(), + uiManager + }); + editor.rotation = data.rotation; + const [pageWidth, pageHeight] = editor.pageDimensions; + const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight); + editor.x = x / pageWidth; + editor.y = y / pageHeight; + editor.width = width / pageWidth; + editor.height = height / pageHeight; + return editor; + } + remove() { + this.div.removeEventListener("focusin", this.#boundFocusin); + this.div.removeEventListener("focusout", this.#boundFocusout); + if (!this.isEmpty()) { + this.commit(); + } + if (this.parent) { + this.parent.remove(this); + } else { + this._uiManager.removeEditor(this); + } + this.#altTextButton?.remove(); + this.#altTextButton = null; + this.#altTextTooltip = null; + } + get isResizable() { + return false; + } + makeResizable() { + if (this.isResizable) { + this.#createResizers(); + this.#resizersDiv.classList.remove("hidden"); + } + } + select() { + this.makeResizable(); + this.div?.classList.add("selectedEditor"); + } + unselect() { + this.#resizersDiv?.classList.add("hidden"); + this.div?.classList.remove("selectedEditor"); + if (this.div?.contains(document.activeElement)) { + this._uiManager.currentLayer.div.focus(); + } + } + updateParams(type, value) {} + disableEditing() { + if (this.#altTextButton) { + this.#altTextButton.hidden = true; + } + } + enableEditing() { + if (this.#altTextButton) { + this.#altTextButton.hidden = false; + } + } + enterInEditMode() {} + get contentDiv() { + return this.div; + } + get isEditing() { + return this.#isEditing; + } + set isEditing(value) { + this.#isEditing = value; + if (!this.parent) { + return; + } + if (value) { + this.parent.setSelected(this); + this.parent.setActiveEditor(this); + } else { + this.parent.setActiveEditor(null); + } + } + setAspectRatio(width, height) { + this.#keepAspectRatio = true; + const aspectRatio = width / height; + const { + style + } = this.div; + style.aspectRatio = aspectRatio; + style.height = "auto"; + } + static get MIN_SIZE() { + return 16; + } +} +exports.AnnotationEditor = AnnotationEditor; +class FakeEditor extends AnnotationEditor { + constructor(params) { + super(params); + this.annotationElementId = params.annotationElementId; + this.deleted = true; + } + serialize() { + return { + id: this.annotationElementId, + deleted: true, + pageIndex: this.pageIndex + }; + } +} + +/***/ }), +/* 165 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0; +exports.bindEvents = bindEvents; +exports.opacityToHex = opacityToHex; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(2); +__w_pdfjs_require__(89); +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +__w_pdfjs_require__(166); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +function bindEvents(obj, element, names) { + for (const name of names) { + element.addEventListener(name, obj[name].bind(obj)); + } +} +function opacityToHex(opacity) { + return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, "0"); +} +class IdManager { + #id = 0; + getId() { + return `${_util.AnnotationEditorPrefix}${this.#id++}`; + } +} +class ImageManager { + #baseId = (0, _util.getUuid)(); + #id = 0; + #cache = null; + static get _isSVGFittingCanvas() { + const svg = `data:image/svg+xml;charset=UTF-8,`; + const canvas = new OffscreenCanvas(1, 3); + const ctx = canvas.getContext("2d"); + const image = new Image(); + image.src = svg; + const promise = image.decode().then(() => { + ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3); + return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0; + }); + return (0, _util.shadow)(this, "_isSVGFittingCanvas", promise); + } + async #get(key, rawData) { + this.#cache ||= new Map(); + let data = this.#cache.get(key); + if (data === null) { + return null; + } + if (data?.bitmap) { + data.refCounter += 1; + return data; + } + try { + data ||= { + bitmap: null, + id: `image_${this.#baseId}_${this.#id++}`, + refCounter: 0, + isSvg: false + }; + let image; + if (typeof rawData === "string") { + data.url = rawData; + const response = await fetch(rawData); + if (!response.ok) { + throw new Error(response.statusText); + } + image = await response.blob(); + } else { + image = data.file = rawData; + } + if (image.type === "image/svg+xml") { + const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas; + const fileReader = new FileReader(); + const imageElement = new Image(); + const imagePromise = new Promise((resolve, reject) => { + imageElement.onload = () => { + data.bitmap = imageElement; + data.isSvg = true; + resolve(); + }; + fileReader.onload = async () => { + const url = data.svgUrl = fileReader.result; + imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url; + }; + imageElement.onerror = fileReader.onerror = reject; + }); + fileReader.readAsDataURL(image); + await imagePromise; + } else { + data.bitmap = await createImageBitmap(image); + } + data.refCounter = 1; + } catch (e) { + console.error(e); + data = null; + } + this.#cache.set(key, data); + if (data) { + this.#cache.set(data.id, data); + } + return data; + } + async getFromFile(file) { + const { + lastModified, + name, + size, + type + } = file; + return this.#get(`${lastModified}_${name}_${size}_${type}`, file); + } + async getFromUrl(url) { + return this.#get(url, url); + } + async getFromId(id) { + this.#cache ||= new Map(); + const data = this.#cache.get(id); + if (!data) { + return null; + } + if (data.bitmap) { + data.refCounter += 1; + return data; + } + if (data.file) { + return this.getFromFile(data.file); + } + return this.getFromUrl(data.url); + } + getSvgUrl(id) { + const data = this.#cache.get(id); + if (!data?.isSvg) { + return null; + } + return data.svgUrl; + } + deleteId(id) { + this.#cache ||= new Map(); + const data = this.#cache.get(id); + if (!data) { + return; + } + data.refCounter -= 1; + if (data.refCounter !== 0) { + return; + } + data.bitmap = null; + } + isValidId(id) { + return id.startsWith(`image_${this.#baseId}_`); + } +} +class CommandManager { + #commands = []; + #locked = false; + #maxSize; + #position = -1; + constructor() { + let maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 128; + this.#maxSize = maxSize; + } + add(_ref) { + let { + cmd, + undo, + mustExec, + type = NaN, + overwriteIfSameType = false, + keepUndo = false + } = _ref; + if (mustExec) { + cmd(); + } + if (this.#locked) { + return; + } + const save = { + cmd, + undo, + type + }; + if (this.#position === -1) { + if (this.#commands.length > 0) { + this.#commands.length = 0; + } + this.#position = 0; + this.#commands.push(save); + return; + } + if (overwriteIfSameType && this.#commands[this.#position].type === type) { + if (keepUndo) { + save.undo = this.#commands[this.#position].undo; + } + this.#commands[this.#position] = save; + return; + } + const next = this.#position + 1; + if (next === this.#maxSize) { + this.#commands.splice(0, 1); + } else { + this.#position = next; + if (next < this.#commands.length) { + this.#commands.splice(next); + } + } + this.#commands.push(save); + } + undo() { + if (this.#position === -1) { + return; + } + this.#locked = true; + this.#commands[this.#position].undo(); + this.#locked = false; + this.#position -= 1; + } + redo() { + if (this.#position < this.#commands.length - 1) { + this.#position += 1; + this.#locked = true; + this.#commands[this.#position].cmd(); + this.#locked = false; + } + } + hasSomethingToUndo() { + return this.#position !== -1; + } + hasSomethingToRedo() { + return this.#position < this.#commands.length - 1; + } + destroy() { + this.#commands = null; + } +} +exports.CommandManager = CommandManager; +class KeyboardManager { + constructor(callbacks) { + this.buffer = []; + this.callbacks = new Map(); + this.allKeys = new Set(); + const { + isMac + } = _util.FeatureTest.platform; + for (const [keys, callback, options = {}] of callbacks) { + for (const key of keys) { + const isMacKey = key.startsWith("mac+"); + if (isMac && isMacKey) { + this.callbacks.set(key.slice(4), { + callback, + options + }); + this.allKeys.add(key.split("+").at(-1)); + } else if (!isMac && !isMacKey) { + this.callbacks.set(key, { + callback, + options + }); + this.allKeys.add(key.split("+").at(-1)); + } + } + } + } + #serialize(event) { + if (event.altKey) { + this.buffer.push("alt"); + } + if (event.ctrlKey) { + this.buffer.push("ctrl"); + } + if (event.metaKey) { + this.buffer.push("meta"); + } + if (event.shiftKey) { + this.buffer.push("shift"); + } + this.buffer.push(event.key); + const str = this.buffer.join("+"); + this.buffer.length = 0; + return str; + } + exec(self, event) { + if (!this.allKeys.has(event.key)) { + return; + } + const info = this.callbacks.get(this.#serialize(event)); + if (!info) { + return; + } + const { + callback, + options: { + bubbles = false, + args = [], + checker = null + } + } = info; + if (checker && !checker(self, event)) { + return; + } + callback.bind(self, ...args)(); + if (!bubbles) { + event.stopPropagation(); + event.preventDefault(); + } + } +} +exports.KeyboardManager = KeyboardManager; +class ColorManager { + static _colorsMapping = new Map([["CanvasText", [0, 0, 0]], ["Canvas", [255, 255, 255]]]); + get _colors() { + const colors = new Map([["CanvasText", null], ["Canvas", null]]); + (0, _display_utils.getColorValues)(colors); + return (0, _util.shadow)(this, "_colors", colors); + } + convert(color) { + const rgb = (0, _display_utils.getRGB)(color); + if (!window.matchMedia("(forced-colors: active)").matches) { + return rgb; + } + for (const [name, RGB] of this._colors) { + if (RGB.every((x, i) => x === rgb[i])) { + return ColorManager._colorsMapping.get(name); + } + } + return rgb; + } + getHexCode(name) { + const rgb = this._colors.get(name); + if (!rgb) { + return name; + } + return _util.Util.makeHexColor(...rgb); + } +} +exports.ColorManager = ColorManager; +class AnnotationEditorUIManager { + #activeEditor = null; + #allEditors = new Map(); + #allLayers = new Map(); + #altTextManager = null; + #annotationStorage = null; + #commandManager = new CommandManager(); + #currentPageIndex = 0; + #deletedAnnotationsElementIds = new Set(); + #draggingEditors = null; + #editorTypes = null; + #editorsToRescale = new Set(); + #filterFactory = null; + #idManager = new IdManager(); + #isEnabled = false; + #isWaiting = false; + #lastActiveElement = null; + #mode = _util.AnnotationEditorType.NONE; + #selectedEditors = new Set(); + #pageColors = null; + #boundBlur = this.blur.bind(this); + #boundFocus = this.focus.bind(this); + #boundCopy = this.copy.bind(this); + #boundCut = this.cut.bind(this); + #boundPaste = this.paste.bind(this); + #boundKeydown = this.keydown.bind(this); + #boundOnEditingAction = this.onEditingAction.bind(this); + #boundOnPageChanging = this.onPageChanging.bind(this); + #boundOnScaleChanging = this.onScaleChanging.bind(this); + #boundOnRotationChanging = this.onRotationChanging.bind(this); + #previousStates = { + isEditing: false, + isEmpty: true, + hasSomethingToUndo: false, + hasSomethingToRedo: false, + hasSelectedEditor: false + }; + #translation = [0, 0]; + #translationTimeoutId = null; + #container = null; + #viewer = null; + static TRANSLATE_SMALL = 1; + static TRANSLATE_BIG = 10; + static get _keyboardManager() { + const proto = AnnotationEditorUIManager.prototype; + const arrowChecker = self => { + const { + activeElement + } = document; + return activeElement && self.#container.contains(activeElement) && self.hasSomethingToControl(); + }; + const small = this.TRANSLATE_SMALL; + const big = this.TRANSLATE_BIG; + return (0, _util.shadow)(this, "_keyboardManager", new KeyboardManager([[["ctrl+a", "mac+meta+a"], proto.selectAll], [["ctrl+z", "mac+meta+z"], proto.undo], [["ctrl+y", "ctrl+shift+z", "mac+meta+shift+z", "ctrl+shift+Z", "mac+meta+shift+Z"], proto.redo], [["Backspace", "alt+Backspace", "ctrl+Backspace", "shift+Backspace", "mac+Backspace", "mac+alt+Backspace", "mac+ctrl+Backspace", "Delete", "ctrl+Delete", "shift+Delete", "mac+Delete"], proto.delete], [["Escape", "mac+Escape"], proto.unselectAll], [["ArrowLeft", "mac+ArrowLeft"], proto.translateSelectedEditors, { + args: [-small, 0], + checker: arrowChecker + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto.translateSelectedEditors, { + args: [-big, 0], + checker: arrowChecker + }], [["ArrowRight", "mac+ArrowRight"], proto.translateSelectedEditors, { + args: [small, 0], + checker: arrowChecker + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto.translateSelectedEditors, { + args: [big, 0], + checker: arrowChecker + }], [["ArrowUp", "mac+ArrowUp"], proto.translateSelectedEditors, { + args: [0, -small], + checker: arrowChecker + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto.translateSelectedEditors, { + args: [0, -big], + checker: arrowChecker + }], [["ArrowDown", "mac+ArrowDown"], proto.translateSelectedEditors, { + args: [0, small], + checker: arrowChecker + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto.translateSelectedEditors, { + args: [0, big], + checker: arrowChecker + }]])); + } + constructor(container, viewer, altTextManager, eventBus, pdfDocument, pageColors) { + this.#container = container; + this.#viewer = viewer; + this.#altTextManager = altTextManager; + this._eventBus = eventBus; + this._eventBus._on("editingaction", this.#boundOnEditingAction); + this._eventBus._on("pagechanging", this.#boundOnPageChanging); + this._eventBus._on("scalechanging", this.#boundOnScaleChanging); + this._eventBus._on("rotationchanging", this.#boundOnRotationChanging); + this.#annotationStorage = pdfDocument.annotationStorage; + this.#filterFactory = pdfDocument.filterFactory; + this.#pageColors = pageColors; + this.viewParameters = { + realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: 0 + }; + } + destroy() { + this.#removeKeyboardManager(); + this.#removeFocusManager(); + this._eventBus._off("editingaction", this.#boundOnEditingAction); + this._eventBus._off("pagechanging", this.#boundOnPageChanging); + this._eventBus._off("scalechanging", this.#boundOnScaleChanging); + this._eventBus._off("rotationchanging", this.#boundOnRotationChanging); + for (const layer of this.#allLayers.values()) { + layer.destroy(); + } + this.#allLayers.clear(); + this.#allEditors.clear(); + this.#editorsToRescale.clear(); + this.#activeEditor = null; + this.#selectedEditors.clear(); + this.#commandManager.destroy(); + this.#altTextManager.destroy(); + } + get hcmFilter() { + return (0, _util.shadow)(this, "hcmFilter", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : "none"); + } + get direction() { + return (0, _util.shadow)(this, "direction", getComputedStyle(this.#container).direction); + } + editAltText(editor) { + this.#altTextManager?.editAltText(this, editor); + } + onPageChanging(_ref2) { + let { + pageNumber + } = _ref2; + this.#currentPageIndex = pageNumber - 1; + } + focusMainContainer() { + this.#container.focus(); + } + findParent(x, y) { + for (const layer of this.#allLayers.values()) { + const { + x: layerX, + y: layerY, + width, + height + } = layer.div.getBoundingClientRect(); + if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) { + return layer; + } + } + return null; + } + disableUserSelect() { + let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + this.#viewer.classList.toggle("noUserSelect", value); + } + addShouldRescale(editor) { + this.#editorsToRescale.add(editor); + } + removeShouldRescale(editor) { + this.#editorsToRescale.delete(editor); + } + onScaleChanging(_ref3) { + let { + scale + } = _ref3; + this.commitOrRemove(); + this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS; + for (const editor of this.#editorsToRescale) { + editor.onScaleChanging(); + } + } + onRotationChanging(_ref4) { + let { + pagesRotation + } = _ref4; + this.commitOrRemove(); + this.viewParameters.rotation = pagesRotation; + } + addToAnnotationStorage(editor) { + if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) { + this.#annotationStorage.setValue(editor.id, editor); + } + } + #addFocusManager() { + window.addEventListener("focus", this.#boundFocus); + window.addEventListener("blur", this.#boundBlur); + } + #removeFocusManager() { + window.removeEventListener("focus", this.#boundFocus); + window.removeEventListener("blur", this.#boundBlur); + } + blur() { + if (!this.hasSelection) { + return; + } + const { + activeElement + } = document; + for (const editor of this.#selectedEditors) { + if (editor.div.contains(activeElement)) { + this.#lastActiveElement = [editor, activeElement]; + editor._focusEventsAllowed = false; + break; + } + } + } + focus() { + if (!this.#lastActiveElement) { + return; + } + const [lastEditor, lastActiveElement] = this.#lastActiveElement; + this.#lastActiveElement = null; + lastActiveElement.addEventListener("focusin", () => { + lastEditor._focusEventsAllowed = true; + }, { + once: true + }); + lastActiveElement.focus(); + } + #addKeyboardManager() { + window.addEventListener("keydown", this.#boundKeydown, { + capture: true + }); + } + #removeKeyboardManager() { + window.removeEventListener("keydown", this.#boundKeydown, { + capture: true + }); + } + #addCopyPasteListeners() { + document.addEventListener("copy", this.#boundCopy); + document.addEventListener("cut", this.#boundCut); + document.addEventListener("paste", this.#boundPaste); + } + #removeCopyPasteListeners() { + document.removeEventListener("copy", this.#boundCopy); + document.removeEventListener("cut", this.#boundCut); + document.removeEventListener("paste", this.#boundPaste); + } + addEditListeners() { + this.#addKeyboardManager(); + this.#addCopyPasteListeners(); + } + removeEditListeners() { + this.#removeKeyboardManager(); + this.#removeCopyPasteListeners(); + } + copy(event) { + event.preventDefault(); + this.#activeEditor?.commitOrRemove(); + if (!this.hasSelection) { + return; + } + const editors = []; + for (const editor of this.#selectedEditors) { + const serialized = editor.serialize(true); + if (serialized) { + editors.push(serialized); + } + } + if (editors.length === 0) { + return; + } + event.clipboardData.setData("application/pdfjs", JSON.stringify(editors)); + } + cut(event) { + this.copy(event); + this.delete(); + } + paste(event) { + event.preventDefault(); + const { + clipboardData + } = event; + for (const item of clipboardData.items) { + for (const editorType of this.#editorTypes) { + if (editorType.isHandlingMimeForPasting(item.type)) { + editorType.paste(item, this.currentLayer); + return; + } + } + } + let data = clipboardData.getData("application/pdfjs"); + if (!data) { + return; + } + try { + data = JSON.parse(data); + } catch (ex) { + (0, _util.warn)(`paste: "${ex.message}".`); + return; + } + if (!Array.isArray(data)) { + return; + } + this.unselectAll(); + const layer = this.currentLayer; + try { + const newEditors = []; + for (const editor of data) { + const deserializedEditor = layer.deserialize(editor); + if (!deserializedEditor) { + return; + } + newEditors.push(deserializedEditor); + } + const cmd = () => { + for (const editor of newEditors) { + this.#addEditorToLayer(editor); + } + this.#selectEditors(newEditors); + }; + const undo = () => { + for (const editor of newEditors) { + editor.remove(); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } catch (ex) { + (0, _util.warn)(`paste: "${ex.message}".`); + } + } + keydown(event) { + if (!this.getActive()?.shouldGetKeyboardEvents()) { + AnnotationEditorUIManager._keyboardManager.exec(this, event); + } + } + onEditingAction(details) { + if (["undo", "redo", "delete", "selectAll"].includes(details.name)) { + this[details.name](); + } + } + #dispatchUpdateStates(details) { + const hasChanged = Object.entries(details).some(_ref5 => { + let [key, value] = _ref5; + return this.#previousStates[key] !== value; + }); + if (hasChanged) { + this._eventBus.dispatch("annotationeditorstateschanged", { + source: this, + details: Object.assign(this.#previousStates, details) + }); + } + } + #dispatchUpdateUI(details) { + this._eventBus.dispatch("annotationeditorparamschanged", { + source: this, + details + }); + } + setEditingState(isEditing) { + if (isEditing) { + this.#addFocusManager(); + this.#addKeyboardManager(); + this.#addCopyPasteListeners(); + this.#dispatchUpdateStates({ + isEditing: this.#mode !== _util.AnnotationEditorType.NONE, + isEmpty: this.#isEmpty(), + hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(), + hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(), + hasSelectedEditor: false + }); + } else { + this.#removeFocusManager(); + this.#removeKeyboardManager(); + this.#removeCopyPasteListeners(); + this.#dispatchUpdateStates({ + isEditing: false + }); + this.disableUserSelect(false); + } + } + registerEditorTypes(types) { + if (this.#editorTypes) { + return; + } + this.#editorTypes = types; + for (const editorType of this.#editorTypes) { + this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate); + } + } + getId() { + return this.#idManager.getId(); + } + get currentLayer() { + return this.#allLayers.get(this.#currentPageIndex); + } + getLayer(pageIndex) { + return this.#allLayers.get(pageIndex); + } + get currentPageIndex() { + return this.#currentPageIndex; + } + addLayer(layer) { + this.#allLayers.set(layer.pageIndex, layer); + if (this.#isEnabled) { + layer.enable(); + } else { + layer.disable(); + } + } + removeLayer(layer) { + this.#allLayers.delete(layer.pageIndex); + } + updateMode(mode) { + let editId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (this.#mode === mode) { + return; + } + this.#mode = mode; + if (mode === _util.AnnotationEditorType.NONE) { + this.setEditingState(false); + this.#disableAll(); + return; + } + this.setEditingState(true); + this.#enableAll(); + this.unselectAll(); + for (const layer of this.#allLayers.values()) { + layer.updateMode(mode); + } + if (!editId) { + return; + } + for (const editor of this.#allEditors.values()) { + if (editor.annotationElementId === editId) { + this.setSelected(editor); + editor.enterInEditMode(); + break; + } + } + } + updateToolbar(mode) { + if (mode === this.#mode) { + return; + } + this._eventBus.dispatch("switchannotationeditormode", { + source: this, + mode + }); + } + updateParams(type, value) { + if (!this.#editorTypes) { + return; + } + if (type === _util.AnnotationEditorParamsType.CREATE) { + this.currentLayer.addNewEditor(type); + return; + } + for (const editor of this.#selectedEditors) { + editor.updateParams(type, value); + } + for (const editorType of this.#editorTypes) { + editorType.updateDefaultParams(type, value); + } + } + enableWaiting() { + let mustWait = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.#isWaiting === mustWait) { + return; + } + this.#isWaiting = mustWait; + for (const layer of this.#allLayers.values()) { + if (mustWait) { + layer.disableClick(); + } else { + layer.enableClick(); + } + layer.div.classList.toggle("waiting", mustWait); + } + } + #enableAll() { + if (!this.#isEnabled) { + this.#isEnabled = true; + for (const layer of this.#allLayers.values()) { + layer.enable(); + } + } + } + #disableAll() { + this.unselectAll(); + if (this.#isEnabled) { + this.#isEnabled = false; + for (const layer of this.#allLayers.values()) { + layer.disable(); + } + } + } + getEditors(pageIndex) { + const editors = []; + for (const editor of this.#allEditors.values()) { + if (editor.pageIndex === pageIndex) { + editors.push(editor); + } + } + return editors; + } + getEditor(id) { + return this.#allEditors.get(id); + } + addEditor(editor) { + this.#allEditors.set(editor.id, editor); + } + removeEditor(editor) { + this.#allEditors.delete(editor.id); + this.unselect(editor); + if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) { + this.#annotationStorage?.remove(editor.id); + } + } + addDeletedAnnotationElement(editor) { + this.#deletedAnnotationsElementIds.add(editor.annotationElementId); + editor.deleted = true; + } + isDeletedAnnotationElement(annotationElementId) { + return this.#deletedAnnotationsElementIds.has(annotationElementId); + } + removeDeletedAnnotationElement(editor) { + this.#deletedAnnotationsElementIds.delete(editor.annotationElementId); + editor.deleted = false; + } + #addEditorToLayer(editor) { + const layer = this.#allLayers.get(editor.pageIndex); + if (layer) { + layer.addOrRebuild(editor); + } else { + this.addEditor(editor); + } + } + setActiveEditor(editor) { + if (this.#activeEditor === editor) { + return; + } + this.#activeEditor = editor; + if (editor) { + this.#dispatchUpdateUI(editor.propertiesToUpdate); + } + } + toggleSelected(editor) { + if (this.#selectedEditors.has(editor)) { + this.#selectedEditors.delete(editor); + editor.unselect(); + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + return; + } + this.#selectedEditors.add(editor); + editor.select(); + this.#dispatchUpdateUI(editor.propertiesToUpdate); + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + setSelected(editor) { + for (const ed of this.#selectedEditors) { + if (ed !== editor) { + ed.unselect(); + } + } + this.#selectedEditors.clear(); + this.#selectedEditors.add(editor); + editor.select(); + this.#dispatchUpdateUI(editor.propertiesToUpdate); + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + isSelected(editor) { + return this.#selectedEditors.has(editor); + } + unselect(editor) { + editor.unselect(); + this.#selectedEditors.delete(editor); + this.#dispatchUpdateStates({ + hasSelectedEditor: this.hasSelection + }); + } + get hasSelection() { + return this.#selectedEditors.size !== 0; + } + undo() { + this.#commandManager.undo(); + this.#dispatchUpdateStates({ + hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(), + hasSomethingToRedo: true, + isEmpty: this.#isEmpty() + }); + } + redo() { + this.#commandManager.redo(); + this.#dispatchUpdateStates({ + hasSomethingToUndo: true, + hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(), + isEmpty: this.#isEmpty() + }); + } + addCommands(params) { + this.#commandManager.add(params); + this.#dispatchUpdateStates({ + hasSomethingToUndo: true, + hasSomethingToRedo: false, + isEmpty: this.#isEmpty() + }); + } + #isEmpty() { + if (this.#allEditors.size === 0) { + return true; + } + if (this.#allEditors.size === 1) { + for (const editor of this.#allEditors.values()) { + return editor.isEmpty(); + } + } + return false; + } + delete() { + this.commitOrRemove(); + if (!this.hasSelection) { + return; + } + const editors = [...this.#selectedEditors]; + const cmd = () => { + for (const editor of editors) { + editor.remove(); + } + }; + const undo = () => { + for (const editor of editors) { + this.#addEditorToLayer(editor); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } + commitOrRemove() { + this.#activeEditor?.commitOrRemove(); + } + hasSomethingToControl() { + return this.#activeEditor || this.hasSelection; + } + #selectEditors(editors) { + this.#selectedEditors.clear(); + for (const editor of editors) { + if (editor.isEmpty()) { + continue; + } + this.#selectedEditors.add(editor); + editor.select(); + } + this.#dispatchUpdateStates({ + hasSelectedEditor: true + }); + } + selectAll() { + for (const editor of this.#selectedEditors) { + editor.commit(); + } + this.#selectEditors(this.#allEditors.values()); + } + unselectAll() { + if (this.#activeEditor) { + this.#activeEditor.commitOrRemove(); + return; + } + if (!this.hasSelection) { + return; + } + for (const editor of this.#selectedEditors) { + editor.unselect(); + } + this.#selectedEditors.clear(); + this.#dispatchUpdateStates({ + hasSelectedEditor: false + }); + } + translateSelectedEditors(x, y) { + let noCommit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (!noCommit) { + this.commitOrRemove(); + } + if (!this.hasSelection) { + return; + } + this.#translation[0] += x; + this.#translation[1] += y; + const [totalX, totalY] = this.#translation; + const editors = [...this.#selectedEditors]; + const TIME_TO_WAIT = 1000; + if (this.#translationTimeoutId) { + clearTimeout(this.#translationTimeoutId); + } + this.#translationTimeoutId = setTimeout(() => { + this.#translationTimeoutId = null; + this.#translation[0] = this.#translation[1] = 0; + this.addCommands({ + cmd: () => { + for (const editor of editors) { + if (this.#allEditors.has(editor.id)) { + editor.translateInPage(totalX, totalY); + } + } + }, + undo: () => { + for (const editor of editors) { + if (this.#allEditors.has(editor.id)) { + editor.translateInPage(-totalX, -totalY); + } + } + }, + mustExec: false + }); + }, TIME_TO_WAIT); + for (const editor of editors) { + editor.translateInPage(x, y); + } + } + setUpDragSession() { + if (!this.hasSelection) { + return; + } + this.disableUserSelect(true); + this.#draggingEditors = new Map(); + for (const editor of this.#selectedEditors) { + this.#draggingEditors.set(editor, { + savedX: editor.x, + savedY: editor.y, + savedPageIndex: editor.pageIndex, + newX: 0, + newY: 0, + newPageIndex: -1 + }); + } + } + endDragSession() { + if (!this.#draggingEditors) { + return false; + } + this.disableUserSelect(false); + const map = this.#draggingEditors; + this.#draggingEditors = null; + let mustBeAddedInUndoStack = false; + for (const [{ + x, + y, + pageIndex + }, value] of map) { + value.newX = x; + value.newY = y; + value.newPageIndex = pageIndex; + mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex; + } + if (!mustBeAddedInUndoStack) { + return false; + } + const move = (editor, x, y, pageIndex) => { + if (this.#allEditors.has(editor.id)) { + const parent = this.#allLayers.get(pageIndex); + if (parent) { + editor._setParentAndPosition(parent, x, y); + } else { + editor.pageIndex = pageIndex; + editor.x = x; + editor.y = y; + } + } + }; + this.addCommands({ + cmd: () => { + for (const [editor, { + newX, + newY, + newPageIndex + }] of map) { + move(editor, newX, newY, newPageIndex); + } + }, + undo: () => { + for (const [editor, { + savedX, + savedY, + savedPageIndex + }] of map) { + move(editor, savedX, savedY, savedPageIndex); + } + }, + mustExec: true + }); + return true; + } + dragSelectedEditors(tx, ty) { + if (!this.#draggingEditors) { + return; + } + for (const editor of this.#draggingEditors.keys()) { + editor.drag(tx, ty); + } + } + rebuild(editor) { + if (editor.parent === null) { + const parent = this.getLayer(editor.pageIndex); + if (parent) { + parent.changeParent(editor); + parent.addOrRebuild(editor); + } else { + this.addEditor(editor); + this.addToAnnotationStorage(editor); + editor.rebuild(); + } + } else { + editor.parent.addOrRebuild(editor); + } + } + isActive(editor) { + return this.#activeEditor === editor; + } + getActive() { + return this.#activeEditor; + } + getMode() { + return this.#mode; + } + get imageManager() { + return (0, _util.shadow)(this, "imageManager", new ImageManager()); + } +} +exports.AnnotationEditorUIManager = AnnotationEditorUIManager; + +/***/ }), +/* 166 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var DESCRIPTORS = __w_pdfjs_require__(6); +var global = __w_pdfjs_require__(4); +var getBuiltIn = __w_pdfjs_require__(24); +var uncurryThis = __w_pdfjs_require__(14); +var call = __w_pdfjs_require__(8); +var isCallable = __w_pdfjs_require__(21); +var isObject = __w_pdfjs_require__(20); +var isArray = __w_pdfjs_require__(91); +var hasOwn = __w_pdfjs_require__(39); +var toString = __w_pdfjs_require__(77); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var createProperty = __w_pdfjs_require__(159); +var fails = __w_pdfjs_require__(7); +var parseJSONString = __w_pdfjs_require__(167); +var NATIVE_SYMBOL = __w_pdfjs_require__(27); +var JSON = global.JSON; +var Number = global.Number; +var SyntaxError = global.SyntaxError; +var nativeParse = JSON && JSON.parse; +var enumerableOwnProperties = getBuiltIn('Object', 'keys'); +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var push = uncurryThis([].push); +var IS_DIGIT = /^\d$/; +var IS_NON_ZERO_DIGIT = /^[1-9]$/; +var IS_NUMBER_START = /^(?:-|\d)$/; +var IS_WHITESPACE = /^[\t\n\r ]$/; +var PRIMITIVE = 0; +var OBJECT = 1; +var $parse = function (source, reviver) { + source = toString(source); + var context = new Context(source, 0, ''); + var root = context.parse(); + var value = root.value; + var endIndex = context.skip(IS_WHITESPACE, root.end); + if (endIndex < source.length) { + throw SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex); + } + return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value; +}; +var internalize = function (holder, name, reviver, node) { + var val = holder[name]; + var unmodified = node && val === node.value; + var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {}; + var elementRecordsLen, keys, len, i, P; + if (isObject(val)) { + var nodeIsArray = isArray(val); + var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {}; + if (nodeIsArray) { + elementRecordsLen = nodes.length; + len = lengthOfArrayLike(val); + for (i = 0; i < len; i++) { + internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined)); + } + } else { + keys = enumerableOwnProperties(val); + len = lengthOfArrayLike(keys); + for (i = 0; i < len; i++) { + P = keys[i]; + internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined)); + } + } + } + return call(reviver, holder, name, val, context); +}; +var internalizeProperty = function (object, key, value) { + if (DESCRIPTORS) { + var descriptor = getOwnPropertyDescriptor(object, key); + if (descriptor && !descriptor.configurable) + return; + } + if (value === undefined) + delete object[key]; + else + createProperty(object, key, value); +}; +var Node = function (value, end, source, nodes) { + this.value = value; + this.end = end; + this.source = source; + this.nodes = nodes; +}; +var Context = function (source, index) { + this.source = source; + this.index = index; +}; +Context.prototype = { + fork: function (nextIndex) { + return new Context(this.source, nextIndex); + }, + parse: function () { + var source = this.source; + var i = this.skip(IS_WHITESPACE, this.index); + var fork = this.fork(i); + var chr = at(source, i); + if (exec(IS_NUMBER_START, chr)) + return fork.number(); + switch (chr) { + case '{': + return fork.object(); + case '[': + return fork.array(); + case '"': + return fork.string(); + case 't': + return fork.keyword(true); + case 'f': + return fork.keyword(false); + case 'n': + return fork.keyword(null); + } + throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + }, + node: function (type, value, start, end, nodes) { + return new Node(value, end, type ? null : slice(this.source, start, end), nodes); + }, + object: function () { + var source = this.source; + var i = this.index + 1; + var expectKeypair = false; + var object = {}; + var nodes = {}; + while (i < source.length) { + i = this.until([ + '"', + '}' + ], i); + if (at(source, i) === '}' && !expectKeypair) { + i++; + break; + } + var result = this.fork(i).string(); + var key = result.value; + i = result.end; + i = this.until([':'], i) + 1; + i = this.skip(IS_WHITESPACE, i); + result = this.fork(i).parse(); + createProperty(nodes, key, result); + createProperty(object, key, result.value); + i = this.until([ + ',', + '}' + ], result.end); + var chr = at(source, i); + if (chr === ',') { + expectKeypair = true; + i++; + } else if (chr === '}') { + i++; + break; + } + } + return this.node(OBJECT, object, this.index, i, nodes); + }, + array: function () { + var source = this.source; + var i = this.index + 1; + var expectElement = false; + var array = []; + var nodes = []; + while (i < source.length) { + i = this.skip(IS_WHITESPACE, i); + if (at(source, i) === ']' && !expectElement) { + i++; + break; + } + var result = this.fork(i).parse(); + push(nodes, result); + push(array, result.value); + i = this.until([ + ',', + ']' + ], result.end); + if (at(source, i) === ',') { + expectElement = true; + i++; + } else if (at(source, i) === ']') { + i++; + break; + } + } + return this.node(OBJECT, array, this.index, i, nodes); + }, + string: function () { + var index = this.index; + var parsed = parseJSONString(this.source, this.index + 1); + return this.node(PRIMITIVE, parsed.value, index, parsed.end); + }, + number: function () { + var source = this.source; + var startIndex = this.index; + var i = startIndex; + if (at(source, i) === '-') + i++; + if (at(source, i) === '0') + i++; + else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) + i = this.skip(IS_DIGIT, ++i); + else + throw SyntaxError('Failed to parse number at: ' + i); + if (at(source, i) === '.') + i = this.skip(IS_DIGIT, ++i); + if (at(source, i) === 'e' || at(source, i) === 'E') { + i++; + if (at(source, i) === '+' || at(source, i) === '-') + i++; + var exponentStartIndex = i; + i = this.skip(IS_DIGIT, i); + if (exponentStartIndex === i) + throw SyntaxError("Failed to parse number's exponent value at: " + i); + } + return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i); + }, + keyword: function (value) { + var keyword = '' + value; + var index = this.index; + var endIndex = index + keyword.length; + if (slice(this.source, index, endIndex) !== keyword) + throw SyntaxError('Failed to parse value at: ' + index); + return this.node(PRIMITIVE, value, index, endIndex); + }, + skip: function (regex, i) { + var source = this.source; + for (; i < source.length; i++) + if (!exec(regex, at(source, i))) + break; + return i; + }, + until: function (array, i) { + i = this.skip(IS_WHITESPACE, i); + var chr = at(this.source, i); + for (var j = 0; j < array.length; j++) + if (array[j] === chr) + return i; + throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + } +}; +var NO_SOURCE_SUPPORT = fails(function () { + var unsafeInt = '9007199254740993'; + var source; + nativeParse(unsafeInt, function (key, value, context) { + source = context.source; + }); + return source !== unsafeInt; +}); +var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () { + return 1 / nativeParse('-0 \t') !== -Infinity; +}); +$({ + target: 'JSON', + stat: true, + forced: NO_SOURCE_SUPPORT +}, { + parse: function parse(text, reviver) { + return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver); + } +}); + +/***/ }), +/* 167 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var uncurryThis = __w_pdfjs_require__(14); +var hasOwn = __w_pdfjs_require__(39); +var $SyntaxError = SyntaxError; +var $parseInt = parseInt; +var fromCharCode = String.fromCharCode; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var codePoints = { + '\\"': '"', + '\\\\': '\\', + '\\/': '/', + '\\b': '\b', + '\\f': '\f', + '\\n': '\n', + '\\r': '\r', + '\\t': '\t' +}; +var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i; +var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/; +module.exports = function (source, i) { + var unterminated = true; + var value = ''; + while (i < source.length) { + var chr = at(source, i); + if (chr === '\\') { + var twoChars = slice(source, i, i + 2); + if (hasOwn(codePoints, twoChars)) { + value += codePoints[twoChars]; + i += 2; + } else if (twoChars === '\\u') { + i += 2; + var fourHexDigits = slice(source, i, i + 4); + if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) + throw $SyntaxError('Bad Unicode escape at: ' + i); + value += fromCharCode($parseInt(fourHexDigits, 16)); + i += 4; + } else + throw $SyntaxError('Unknown escape sequence: "' + twoChars + '"'); + } else if (chr === '"') { + unterminated = false; + i++; + break; + } else { + if (exec(IS_C0_CONTROL_CODE, chr)) + throw $SyntaxError('Bad control character in string literal at: ' + i); + value += chr; + i++; + } + } + if (unterminated) + throw $SyntaxError('Unterminated string at: ' + i); + return { + value: value, + end: i + }; +}; + +/***/ }), +/* 168 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0; +exports.deprecated = deprecated; +exports.getColorValues = getColorValues; +exports.getCurrentTransform = getCurrentTransform; +exports.getCurrentTransformInverse = getCurrentTransformInverse; +exports.getFilenameFromUrl = getFilenameFromUrl; +exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.getRGB = getRGB; +exports.getXfaPageViewport = getXfaPageViewport; +exports.isDataScheme = isDataScheme; +exports.isPdfFile = isPdfFile; +exports.isValidFetchUrl = isValidFetchUrl; +exports.loadScript = loadScript; +exports.noContextMenu = noContextMenu; +exports.setLayerDimensions = setLayerDimensions; +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +var _base_factory = __w_pdfjs_require__(169); +var _util = __w_pdfjs_require__(1); +const SVG_NS = "http://www.w3.org/2000/svg"; +class PixelsPerInch { + static CSS = 96.0; + static PDF = 72.0; + static PDF_TO_CSS_UNITS = this.CSS / this.PDF; +} +exports.PixelsPerInch = PixelsPerInch; +class DOMFilterFactory extends _base_factory.BaseFilterFactory { + #_cache; + #_defs; + #docId; + #document; + #hcmFilter; + #hcmKey; + #hcmUrl; + #hcmHighlightFilter; + #hcmHighlightKey; + #hcmHighlightUrl; + #id = 0; + constructor() { + let { + docId, + ownerDocument = globalThis.document + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + super(); + this.#docId = docId; + this.#document = ownerDocument; + } + get #cache() { + return this.#_cache ||= new Map(); + } + get #defs() { + if (!this.#_defs) { + const div = this.#document.createElement("div"); + const { + style + } = div; + style.visibility = "hidden"; + style.contain = "strict"; + style.width = style.height = 0; + style.position = "absolute"; + style.top = style.left = 0; + style.zIndex = -1; + const svg = this.#document.createElementNS(SVG_NS, "svg"); + svg.setAttribute("width", 0); + svg.setAttribute("height", 0); + this.#_defs = this.#document.createElementNS(SVG_NS, "defs"); + div.append(svg); + svg.append(this.#_defs); + this.#document.body.append(div); + } + return this.#_defs; + } + addFilter(maps) { + if (!maps) { + return "none"; + } + let value = this.#cache.get(maps); + if (value) { + return value; + } + let tableR, tableG, tableB, key; + if (maps.length === 1) { + const mapR = maps[0]; + const buffer = new Array(256); + for (let i = 0; i < 256; i++) { + buffer[i] = mapR[i] / 255; + } + key = tableR = tableG = tableB = buffer.join(","); + } else { + const [mapR, mapG, mapB] = maps; + const bufferR = new Array(256); + const bufferG = new Array(256); + const bufferB = new Array(256); + for (let i = 0; i < 256; i++) { + bufferR[i] = mapR[i] / 255; + bufferG[i] = mapG[i] / 255; + bufferB[i] = mapB[i] / 255; + } + tableR = bufferR.join(","); + tableG = bufferG.join(","); + tableB = bufferB.join(","); + key = `${tableR}${tableG}${tableB}`; + } + value = this.#cache.get(key); + if (value) { + this.#cache.set(maps, value); + return value; + } + const id = `g_${this.#docId}_transfer_map_${this.#id++}`; + const url = `url(#${id})`; + this.#cache.set(maps, url); + this.#cache.set(key, url); + const filter = this.#createFilter(id); + this.#addTransferMapConversion(tableR, tableG, tableB, filter); + return url; + } + addHCMFilter(fgColor, bgColor) { + const key = `${fgColor}-${bgColor}`; + if (this.#hcmKey === key) { + return this.#hcmUrl; + } + this.#hcmKey = key; + this.#hcmUrl = "none"; + this.#hcmFilter?.remove(); + if (!fgColor || !bgColor) { + return this.#hcmUrl; + } + const fgRGB = this.#getRGB(fgColor); + fgColor = _util.Util.makeHexColor(...fgRGB); + const bgRGB = this.#getRGB(bgColor); + bgColor = _util.Util.makeHexColor(...bgRGB); + this.#defs.style.color = ""; + if (fgColor === "#000000" && bgColor === "#ffffff" || fgColor === bgColor) { + return this.#hcmUrl; + } + const map = new Array(256); + for (let i = 0; i <= 255; i++) { + const x = i / 255; + map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4; + } + const table = map.join(","); + const id = `g_${this.#docId}_hcm_filter`; + const filter = this.#hcmHighlightFilter = this.#createFilter(id); + this.#addTransferMapConversion(table, table, table, filter); + this.#addGrayConversion(filter); + const getSteps = (c, n) => { + const start = fgRGB[c] / 255; + const end = bgRGB[c] / 255; + const arr = new Array(n + 1); + for (let i = 0; i <= n; i++) { + arr[i] = start + i / n * (end - start); + } + return arr.join(","); + }; + this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter); + this.#hcmUrl = `url(#${id})`; + return this.#hcmUrl; + } + addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) { + const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`; + if (this.#hcmHighlightKey === key) { + return this.#hcmHighlightUrl; + } + this.#hcmHighlightKey = key; + this.#hcmHighlightUrl = "none"; + this.#hcmHighlightFilter?.remove(); + if (!fgColor || !bgColor) { + return this.#hcmHighlightUrl; + } + const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this)); + let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]); + let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]); + let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this)); + if (bgGray < fgGray) { + [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB]; + } + this.#defs.style.color = ""; + const getSteps = (fg, bg, n) => { + const arr = new Array(256); + const step = (bgGray - fgGray) / n; + const newStart = fg / 255; + const newStep = (bg - fg) / (255 * n); + let prev = 0; + for (let i = 0; i <= n; i++) { + const k = Math.round(fgGray + i * step); + const value = newStart + i * newStep; + for (let j = prev; j <= k; j++) { + arr[j] = value; + } + prev = k + 1; + } + for (let i = prev; i < 256; i++) { + arr[i] = arr[prev - 1]; + } + return arr.join(","); + }; + const id = `g_${this.#docId}_hcm_highlight_filter`; + const filter = this.#hcmHighlightFilter = this.#createFilter(id); + this.#addGrayConversion(filter); + this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter); + this.#hcmHighlightUrl = `url(#${id})`; + return this.#hcmHighlightUrl; + } + destroy() { + let keepHCM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (keepHCM && (this.#hcmUrl || this.#hcmHighlightUrl)) { + return; + } + if (this.#_defs) { + this.#_defs.parentNode.parentNode.remove(); + this.#_defs = null; + } + if (this.#_cache) { + this.#_cache.clear(); + this.#_cache = null; + } + this.#id = 0; + } + #addGrayConversion(filter) { + const feColorMatrix = this.#document.createElementNS(SVG_NS, "feColorMatrix"); + feColorMatrix.setAttribute("type", "matrix"); + feColorMatrix.setAttribute("values", "0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"); + filter.append(feColorMatrix); + } + #createFilter(id) { + const filter = this.#document.createElementNS(SVG_NS, "filter"); + filter.setAttribute("color-interpolation-filters", "sRGB"); + filter.setAttribute("id", id); + this.#defs.append(filter); + return filter; + } + #appendFeFunc(feComponentTransfer, func, table) { + const feFunc = this.#document.createElementNS(SVG_NS, func); + feFunc.setAttribute("type", "discrete"); + feFunc.setAttribute("tableValues", table); + feComponentTransfer.append(feFunc); + } + #addTransferMapConversion(rTable, gTable, bTable, filter) { + const feComponentTransfer = this.#document.createElementNS(SVG_NS, "feComponentTransfer"); + filter.append(feComponentTransfer); + this.#appendFeFunc(feComponentTransfer, "feFuncR", rTable); + this.#appendFeFunc(feComponentTransfer, "feFuncG", gTable); + this.#appendFeFunc(feComponentTransfer, "feFuncB", bTable); + } + #getRGB(color) { + this.#defs.style.color = color; + return getRGB(getComputedStyle(this.#defs).getPropertyValue("color")); + } +} +exports.DOMFilterFactory = DOMFilterFactory; +class DOMCanvasFactory extends _base_factory.BaseCanvasFactory { + constructor() { + let { + ownerDocument = globalThis.document + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + super(); + this._document = ownerDocument; + } + _createCanvas(width, height) { + const canvas = this._document.createElement("canvas"); + canvas.width = width; + canvas.height = height; + return canvas; + } +} +exports.DOMCanvasFactory = DOMCanvasFactory; +async function fetchData(url) { + let asTypedArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (isValidFetchUrl(url, document.baseURI)) { + const response = await fetch(url); + if (!response.ok) { + throw new Error(response.statusText); + } + return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text()); + } + return new Promise((resolve, reject) => { + const request = new XMLHttpRequest(); + request.open("GET", url, true); + if (asTypedArray) { + request.responseType = "arraybuffer"; + } + request.onreadystatechange = () => { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + if (request.status === 200 || request.status === 0) { + let data; + if (asTypedArray && request.response) { + data = new Uint8Array(request.response); + } else if (!asTypedArray && request.responseText) { + data = (0, _util.stringToBytes)(request.responseText); + } + if (data) { + resolve(data); + return; + } + } + reject(new Error(request.statusText)); + }; + request.send(null); + }); +} +class DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory { + _fetchData(url, compressionType) { + return fetchData(url, this.isCompressed).then(data => { + return { + cMapData: data, + compressionType + }; + }); + } +} +exports.DOMCMapReaderFactory = DOMCMapReaderFactory; +class DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory { + _fetchData(url) { + return fetchData(url, true); + } +} +exports.DOMStandardFontDataFactory = DOMStandardFontDataFactory; +class DOMSVGFactory extends _base_factory.BaseSVGFactory { + _createSVG(type) { + return document.createElementNS(SVG_NS, type); + } +} +exports.DOMSVGFactory = DOMSVGFactory; +class PageViewport { + constructor(_ref) { + let { + viewBox, + scale, + rotation, + offsetX = 0, + offsetY = 0, + dontFlip = false + } = _ref; + this.viewBox = viewBox; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + const centerX = (viewBox[2] + viewBox[0]) / 2; + const centerY = (viewBox[3] + viewBox[1]) / 2; + let rotateA, rotateB, rotateC, rotateD; + rotation %= 360; + if (rotation < 0) { + rotation += 360; + } + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + case 0: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); + } + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + let offsetCanvasX, offsetCanvasY; + let width, height; + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = (viewBox[3] - viewBox[1]) * scale; + height = (viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = (viewBox[2] - viewBox[0]) * scale; + height = (viewBox[3] - viewBox[1]) * scale; + } + this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY]; + this.width = width; + this.height = height; + } + get rawDims() { + const { + viewBox + } = this; + return (0, _util.shadow)(this, "rawDims", { + pageWidth: viewBox[2] - viewBox[0], + pageHeight: viewBox[3] - viewBox[1], + pageX: viewBox[0], + pageY: viewBox[1] + }); + } + clone() { + let { + scale = this.scale, + rotation = this.rotation, + offsetX = this.offsetX, + offsetY = this.offsetY, + dontFlip = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return new PageViewport({ + viewBox: this.viewBox.slice(), + scale, + rotation, + offsetX, + offsetY, + dontFlip + }); + } + convertToViewportPoint(x, y) { + return _util.Util.applyTransform([x, y], this.transform); + } + convertToViewportRectangle(rect) { + const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform); + const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform); + return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]]; + } + convertToPdfPoint(x, y) { + return _util.Util.applyInverseTransform([x, y], this.transform); + } +} +exports.PageViewport = PageViewport; +class RenderingCancelledException extends _util.BaseException { + constructor(msg) { + let extraDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; + super(msg, "RenderingCancelledException"); + this.extraDelay = extraDelay; + } +} +exports.RenderingCancelledException = RenderingCancelledException; +function isDataScheme(url) { + const ii = url.length; + let i = 0; + while (i < ii && url[i].trim() === "") { + i++; + } + return url.substring(i, i + 5).toLowerCase() === "data:"; +} +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} +function getFilenameFromUrl(url) { + let onlyStripPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!onlyStripPath) { + [url] = url.split(/[#?]/, 1); + } + return url.substring(url.lastIndexOf("/") + 1); +} +function getPdfFilenameFromUrl(url) { + let defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; + if (typeof url !== "string") { + return defaultFilename; + } + if (isDataScheme(url)) { + (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + const reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; + const reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + const splitURI = reURI.exec(url); + let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); + if (suggestedFilename) { + suggestedFilename = suggestedFilename[0]; + if (suggestedFilename.includes("%")) { + try { + suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; + } catch {} + } + } + return suggestedFilename || defaultFilename; +} +class StatTimer { + started = Object.create(null); + times = []; + time(name) { + if (name in this.started) { + (0, _util.warn)(`Timer is already running for ${name}`); + } + this.started[name] = Date.now(); + } + timeEnd(name) { + if (!(name in this.started)) { + (0, _util.warn)(`Timer has not been started for ${name}`); + } + this.times.push({ + name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + toString() { + const outBuf = []; + let longest = 0; + for (const { + name + } of this.times) { + longest = Math.max(name.length, longest); + } + for (const { + name, + start, + end + } of this.times) { + outBuf.push(`${name.padEnd(longest)} ${end - start}ms\n`); + } + return outBuf.join(""); + } +} +exports.StatTimer = StatTimer; +function isValidFetchUrl(url, baseUrl) { + try { + const { + protocol + } = baseUrl ? new URL(url, baseUrl) : new URL(url); + return protocol === "http:" || protocol === "https:"; + } catch { + return false; + } +} +function noContextMenu(e) { + e.preventDefault(); +} +function loadScript(src) { + let removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return new Promise((resolve, reject) => { + const script = document.createElement("script"); + script.src = src; + script.onload = function (evt) { + if (removeScriptElement) { + script.remove(); + } + resolve(evt); + }; + script.onerror = function () { + reject(new Error(`Cannot load script at: ${script.src}`)); + }; + (document.head || document.documentElement).append(script); + }); +} +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} +let pdfDateStringRegex; +class PDFDateString { + static toDateObject(input) { + if (!input || typeof input !== "string") { + return null; + } + pdfDateStringRegex ||= new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?"); + const matches = pdfDateStringRegex.exec(input); + if (!matches) { + return null; + } + const year = parseInt(matches[1], 10); + let month = parseInt(matches[2], 10); + month = month >= 1 && month <= 12 ? month - 1 : 0; + let day = parseInt(matches[3], 10); + day = day >= 1 && day <= 31 ? day : 1; + let hour = parseInt(matches[4], 10); + hour = hour >= 0 && hour <= 23 ? hour : 0; + let minute = parseInt(matches[5], 10); + minute = minute >= 0 && minute <= 59 ? minute : 0; + let second = parseInt(matches[6], 10); + second = second >= 0 && second <= 59 ? second : 0; + const universalTimeRelation = matches[7] || "Z"; + let offsetHour = parseInt(matches[8], 10); + offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0; + let offsetMinute = parseInt(matches[9], 10) || 0; + offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0; + if (universalTimeRelation === "-") { + hour += offsetHour; + minute += offsetMinute; + } else if (universalTimeRelation === "+") { + hour -= offsetHour; + minute -= offsetMinute; + } + return new Date(Date.UTC(year, month, day, hour, minute, second)); + } +} +exports.PDFDateString = PDFDateString; +function getXfaPageViewport(xfaPage, _ref2) { + let { + scale = 1, + rotation = 0 + } = _ref2; + const { + width, + height + } = xfaPage.attributes.style; + const viewBox = [0, 0, parseInt(width), parseInt(height)]; + return new PageViewport({ + viewBox, + scale, + rotation + }); +} +function getRGB(color) { + if (color.startsWith("#")) { + const colorRGB = parseInt(color.slice(1), 16); + return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff]; + } + if (color.startsWith("rgb(")) { + return color.slice(4, -1).split(",").map(x => parseInt(x)); + } + if (color.startsWith("rgba(")) { + return color.slice(5, -1).split(",").map(x => parseInt(x)).slice(0, 3); + } + (0, _util.warn)(`Not a valid color format: "${color}"`); + return [0, 0, 0]; +} +function getColorValues(colors) { + const span = document.createElement("span"); + span.style.visibility = "hidden"; + document.body.append(span); + for (const name of colors.keys()) { + span.style.color = name; + const computedColor = window.getComputedStyle(span).color; + colors.set(name, getRGB(computedColor)); + } + span.remove(); +} +function getCurrentTransform(ctx) { + const { + a, + b, + c, + d, + e, + f + } = ctx.getTransform(); + return [a, b, c, d, e, f]; +} +function getCurrentTransformInverse(ctx) { + const { + a, + b, + c, + d, + e, + f + } = ctx.getTransform().invertSelf(); + return [a, b, c, d, e, f]; +} +function setLayerDimensions(div, viewport) { + let mustFlip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let mustRotate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + if (viewport instanceof PageViewport) { + const { + pageWidth, + pageHeight + } = viewport.rawDims; + const { + style + } = div; + const useRound = _util.FeatureTest.isCSSRoundSupported; + const w = `var(--scale-factor) * ${pageWidth}px`, + h = `var(--scale-factor) * ${pageHeight}px`; + const widthStr = useRound ? `round(${w}, 1px)` : `calc(${w})`, + heightStr = useRound ? `round(${h}, 1px)` : `calc(${h})`; + if (!mustFlip || viewport.rotation % 180 === 0) { + style.width = widthStr; + style.height = heightStr; + } else { + style.width = heightStr; + style.height = widthStr; + } + } + if (mustRotate) { + div.setAttribute("data-main-rotation", viewport.rotation); + } +} + +/***/ }), +/* 169 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0; +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +class BaseFilterFactory { + constructor() { + if (this.constructor === BaseFilterFactory) { + (0, _util.unreachable)("Cannot initialize BaseFilterFactory."); + } + } + addFilter(maps) { + return "none"; + } + addHCMFilter(fgColor, bgColor) { + return "none"; + } + addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) { + return "none"; + } + destroy() { + let keepHCM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + } +} +exports.BaseFilterFactory = BaseFilterFactory; +class BaseCanvasFactory { + constructor() { + if (this.constructor === BaseCanvasFactory) { + (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); + } + } + create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + const canvas = this._createCanvas(width, height); + return { + canvas, + context: canvas.getContext("2d") + }; + } + reset(canvasAndContext, width, height) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; + } + destroy(canvasAndContext) { + if (!canvasAndContext.canvas) { + throw new Error("Canvas is not specified"); + } + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; + } + _createCanvas(width, height) { + (0, _util.unreachable)("Abstract method `_createCanvas` called."); + } +} +exports.BaseCanvasFactory = BaseCanvasFactory; +class BaseCMapReaderFactory { + constructor(_ref) { + let { + baseUrl = null, + isCompressed = true + } = _ref; + if (this.constructor === BaseCMapReaderFactory) { + (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); + } + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + async fetch(_ref2) { + let { + name + } = _ref2; + if (!this.baseUrl) { + throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.'); + } + if (!name) { + throw new Error("CMap name must be specified."); + } + const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : ""); + const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE; + return this._fetchData(url, compressionType).catch(reason => { + throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`); + }); + } + _fetchData(url, compressionType) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } +} +exports.BaseCMapReaderFactory = BaseCMapReaderFactory; +class BaseStandardFontDataFactory { + constructor(_ref3) { + let { + baseUrl = null + } = _ref3; + if (this.constructor === BaseStandardFontDataFactory) { + (0, _util.unreachable)("Cannot initialize BaseStandardFontDataFactory."); + } + this.baseUrl = baseUrl; + } + async fetch(_ref4) { + let { + filename + } = _ref4; + if (!this.baseUrl) { + throw new Error('The standard font "baseUrl" parameter must be specified, ensure that ' + 'the "standardFontDataUrl" API parameter is provided.'); + } + if (!filename) { + throw new Error("Font filename must be specified."); + } + const url = `${this.baseUrl}${filename}`; + return this._fetchData(url).catch(reason => { + throw new Error(`Unable to load font data at: ${url}`); + }); + } + _fetchData(url) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } +} +exports.BaseStandardFontDataFactory = BaseStandardFontDataFactory; +class BaseSVGFactory { + constructor() { + if (this.constructor === BaseSVGFactory) { + (0, _util.unreachable)("Cannot initialize BaseSVGFactory."); + } + } + create(width, height) { + let skipDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (width <= 0 || height <= 0) { + throw new Error("Invalid SVG dimensions"); + } + const svg = this._createSVG("svg:svg"); + svg.setAttribute("version", "1.1"); + if (!skipDimensions) { + svg.setAttribute("width", `${width}px`); + svg.setAttribute("height", `${height}px`); + } + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("viewBox", `0 0 ${width} ${height}`); + return svg; + } + createElement(type) { + if (typeof type !== "string") { + throw new Error("Invalid SVG element type"); + } + return this._createSVG(type); + } + _createSVG(type) { + (0, _util.unreachable)("Abstract method `_createSVG` called."); + } +} +exports.BaseSVGFactory = BaseSVGFactory; + +/***/ }), +/* 170 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MurmurHash3_64 = void 0; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +const SEED = 0xc3d2e1f0; +const MASK_HIGH = 0xffff0000; +const MASK_LOW = 0xffff; +class MurmurHash3_64 { + constructor(seed) { + this.h1 = seed ? seed & 0xffffffff : SEED; + this.h2 = seed ? seed & 0xffffffff : SEED; + } + update(input) { + let data, length; + if (typeof input === "string") { + data = new Uint8Array(input.length * 2); + length = 0; + for (let i = 0, ii = input.length; i < ii; i++) { + const code = input.charCodeAt(i); + if (code <= 0xff) { + data[length++] = code; + } else { + data[length++] = code >>> 8; + data[length++] = code & 0xff; + } + } + } else if ((0, _util.isArrayBuffer)(input)) { + data = input.slice(); + length = data.byteLength; + } else { + throw new Error("Wrong data format in MurmurHash3_64_update. " + "Input must be a string or array."); + } + const blockCounts = length >> 2; + const tailLength = length - blockCounts * 4; + const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts); + let k1 = 0, + k2 = 0; + let h1 = this.h1, + h2 = this.h2; + const C1 = 0xcc9e2d51, + C2 = 0x1b873593; + const C1_LOW = C1 & MASK_LOW, + C2_LOW = C2 & MASK_LOW; + for (let i = 0; i < blockCounts; i++) { + if (i & 1) { + k1 = dataUint32[i]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + h1 ^= k1; + h1 = h1 << 13 | h1 >>> 19; + h1 = h1 * 5 + 0xe6546b64; + } else { + k2 = dataUint32[i]; + k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW; + k2 = k2 << 15 | k2 >>> 17; + k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW; + h2 ^= k2; + h2 = h2 << 13 | h2 >>> 19; + h2 = h2 * 5 + 0xe6546b64; + } + } + k1 = 0; + switch (tailLength) { + case 3: + k1 ^= data[blockCounts * 4 + 2] << 16; + case 2: + k1 ^= data[blockCounts * 4 + 1] << 8; + case 1: + k1 ^= data[blockCounts * 4]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + if (blockCounts & 1) { + h1 ^= k1; + } else { + h2 ^= k1; + } + } + this.h1 = h1; + this.h2 = h2; + } + hexdigest() { + let h1 = this.h1, + h2 = this.h2; + h1 ^= h2 >>> 1; + h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW; + h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW; + h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + return (h1 >>> 0).toString(16).padStart(8, "0") + (h2 >>> 0).toString(16).padStart(8, "0"); + } +} +exports.MurmurHash3_64 = MurmurHash3_64; + +/***/ }), +/* 171 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FontLoader = exports.FontFaceObject = void 0; +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +__w_pdfjs_require__(89); +__w_pdfjs_require__(149); +var _util = __w_pdfjs_require__(1); +class FontLoader { + #systemFonts = new Set(); + constructor(_ref) { + let { + ownerDocument = globalThis.document, + styleElement = null + } = _ref; + this._document = ownerDocument; + this.nativeFontFaces = new Set(); + this.styleElement = null; + this.loadingRequests = []; + this.loadTestFontId = 0; + } + addNativeFontFace(nativeFontFace) { + this.nativeFontFaces.add(nativeFontFace); + this._document.fonts.add(nativeFontFace); + } + removeNativeFontFace(nativeFontFace) { + this.nativeFontFaces.delete(nativeFontFace); + this._document.fonts.delete(nativeFontFace); + } + insertRule(rule) { + if (!this.styleElement) { + this.styleElement = this._document.createElement("style"); + this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement); + } + const styleSheet = this.styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + clear() { + for (const nativeFontFace of this.nativeFontFaces) { + this._document.fonts.delete(nativeFontFace); + } + this.nativeFontFaces.clear(); + this.#systemFonts.clear(); + if (this.styleElement) { + this.styleElement.remove(); + this.styleElement = null; + } + } + async loadSystemFont(info) { + if (!info || this.#systemFonts.has(info.loadedName)) { + return; + } + (0, _util.assert)(!this.disableFontFace, "loadSystemFont shouldn't be called when `disableFontFace` is set."); + if (this.isFontLoadingAPISupported) { + const { + loadedName, + src, + style + } = info; + const fontFace = new FontFace(loadedName, src, style); + this.addNativeFontFace(fontFace); + try { + await fontFace.load(); + this.#systemFonts.add(loadedName); + } catch { + (0, _util.warn)(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`); + this.removeNativeFontFace(fontFace); + } + return; + } + (0, _util.unreachable)("Not implemented: loadSystemFont without the Font Loading API."); + } + async bind(font) { + if (font.attached || font.missingFile && !font.systemFontInfo) { + return; + } + font.attached = true; + if (font.systemFontInfo) { + await this.loadSystemFont(font.systemFontInfo); + return; + } + if (this.isFontLoadingAPISupported) { + const nativeFontFace = font.createNativeFontFace(); + if (nativeFontFace) { + this.addNativeFontFace(nativeFontFace); + try { + await nativeFontFace.loaded; + } catch (ex) { + (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`); + font.disableFontFace = true; + throw ex; + } + } + return; + } + const rule = font.createFontFaceRule(); + if (rule) { + this.insertRule(rule); + if (this.isSyncFontLoadingSupported) { + return; + } + await new Promise(resolve => { + const request = this._queueLoadingCallback(resolve); + this._prepareFontLoadEvent(font, request); + }); + } + } + get isFontLoadingAPISupported() { + const hasFonts = !!this._document?.fonts; + return (0, _util.shadow)(this, "isFontLoadingAPISupported", hasFonts); + } + get isSyncFontLoadingSupported() { + let supported = false; + if (_util.isNodeJS) { + supported = true; + } else if (typeof navigator !== "undefined" && /Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent)) { + supported = true; + } + return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); + } + _queueLoadingCallback(callback) { + function completeRequest() { + (0, _util.assert)(!request.done, "completeRequest() cannot be called twice."); + request.done = true; + while (loadingRequests.length > 0 && loadingRequests[0].done) { + const otherRequest = loadingRequests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + const { + loadingRequests + } = this; + const request = { + done: false, + complete: completeRequest, + callback + }; + loadingRequests.push(request); + return request; + } + get _loadTestFont() { + const testFont = atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="); + return (0, _util.shadow)(this, "_loadTestFont", testFont); + } + _prepareFontLoadEvent(font, request) { + function int32(data, offset) { + return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff; + } + function spliceString(s, offset, remove, insert) { + const chunk1 = s.substring(0, offset); + const chunk2 = s.substring(offset + remove); + return chunk1 + insert + chunk2; + } + let i, ii; + const canvas = this._document.createElement("canvas"); + canvas.width = 1; + canvas.height = 1; + const ctx = canvas.getContext("2d"); + let called = 0; + function isFontReady(name, callback) { + if (++called > 30) { + (0, _util.warn)("Load test font never loaded."); + callback(); + return; + } + ctx.font = "30px " + name; + ctx.fillText(".", 0, 20); + const imageData = ctx.getImageData(0, 0, 1, 1); + if (imageData.data[3] > 0) { + callback(); + return; + } + setTimeout(isFontReady.bind(null, name, callback)); + } + const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`; + let data = this._loadTestFont; + const COMMENT_OFFSET = 976; + data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId); + const CFF_CHECKSUM_OFFSET = 16; + const XXXX_VALUE = 0x58585858; + let checksum = int32(data, CFF_CHECKSUM_OFFSET); + for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0; + } + if (i < loadTestFontId.length) { + checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0; + } + data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum)); + const url = `url(data:font/opentype;base64,${btoa(data)});`; + const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`; + this.insertRule(rule); + const div = this._document.createElement("div"); + div.style.visibility = "hidden"; + div.style.width = div.style.height = "10px"; + div.style.position = "absolute"; + div.style.top = div.style.left = "0px"; + for (const name of [font.loadedName, loadTestFontId]) { + const span = this._document.createElement("span"); + span.textContent = "Hi"; + span.style.fontFamily = name; + div.append(span); + } + this._document.body.append(div); + isFontReady(loadTestFontId, () => { + div.remove(); + request.complete(); + }); + } +} +exports.FontLoader = FontLoader; +class FontFaceObject { + constructor(translatedData, _ref2) { + let { + isEvalSupported = true, + disableFontFace = false, + ignoreErrors = false, + inspectFont = null + } = _ref2; + this.compiledGlyphs = Object.create(null); + for (const i in translatedData) { + this[i] = translatedData[i]; + } + this.isEvalSupported = isEvalSupported !== false; + this.disableFontFace = disableFontFace === true; + this.ignoreErrors = ignoreErrors === true; + this._inspectFont = inspectFont; + } + createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + let nativeFontFace; + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + const css = { + weight: this.cssFontInfo.fontWeight + }; + if (this.cssFontInfo.italicAngle) { + css.style = `oblique ${this.cssFontInfo.italicAngle}deg`; + } + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } + this._inspectFont?.(this); + return nativeFontFace; + } + createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + const data = (0, _util.bytesToString)(this.data); + const url = `url(data:${this.mimetype};base64,${btoa(data)});`; + let rule; + if (!this.cssFontInfo) { + rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`; + } else { + let css = `font-weight: ${this.cssFontInfo.fontWeight};`; + if (this.cssFontInfo.italicAngle) { + css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`; + } + rule = `@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`; + } + this._inspectFont?.(this, url); + return rule; + } + getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + let cmds; + try { + cmds = objs.get(this.loadedName + "_path_" + character); + } catch (ex) { + if (!this.ignoreErrors) { + throw ex; + } + (0, _util.warn)(`getPathGenerator - ignoring character: "${ex}".`); + return this.compiledGlyphs[character] = function (c, size) {}; + } + if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) { + const jsBuf = []; + for (const current of cmds) { + const args = current.args !== undefined ? current.args.join(",") : ""; + jsBuf.push("c.", current.cmd, "(", args, ");\n"); + } + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); + } + return this.compiledGlyphs[character] = function (c, size) { + for (const current of cmds) { + if (current.cmd === "scale") { + current.args = [size, -size]; + } + c[current.cmd].apply(c, current.args); + } + }; + } +} +exports.FontFaceObject = FontFaceObject; + +/***/ }), +/* 172 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0; +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +var _base_factory = __w_pdfjs_require__(169); +var _util = __w_pdfjs_require__(1); +; +{ + (function checkDOMMatrix() { + if (globalThis.DOMMatrix || !_util.isNodeJS) { + return; + } + try { + globalThis.DOMMatrix = require("canvas").DOMMatrix; + } catch (ex) { + (0, _util.warn)(`Cannot polyfill \`DOMMatrix\`, rendering may be broken: "${ex}".`); + } + })(); + (function checkPath2D() { + if (globalThis.Path2D || !_util.isNodeJS) { + return; + } + try { + const { + CanvasRenderingContext2D + } = require("canvas"); + const { + polyfillPath2D + } = require("path2d-polyfill"); + globalThis.CanvasRenderingContext2D = CanvasRenderingContext2D; + polyfillPath2D(globalThis); + } catch (ex) { + (0, _util.warn)(`Cannot polyfill \`Path2D\`, rendering may be broken: "${ex}".`); + } + })(); +} +const fetchData = function (url) { + return new Promise((resolve, reject) => { + const fs = require("fs"); + fs.readFile(url, (error, data) => { + if (error || !data) { + reject(new Error(error)); + return; + } + resolve(new Uint8Array(data)); + }); + }); +}; +class NodeFilterFactory extends _base_factory.BaseFilterFactory {} +exports.NodeFilterFactory = NodeFilterFactory; +class NodeCanvasFactory extends _base_factory.BaseCanvasFactory { + _createCanvas(width, height) { + const Canvas = require("canvas"); + return Canvas.createCanvas(width, height); + } +} +exports.NodeCanvasFactory = NodeCanvasFactory; +class NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory { + _fetchData(url, compressionType) { + return fetchData(url).then(data => { + return { + cMapData: data, + compressionType + }; + }); + } +} +exports.NodeCMapReaderFactory = NodeCMapReaderFactory; +class NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory { + _fetchData(url) { + return fetchData(url); + } +} +exports.NodeStandardFontDataFactory = NodeStandardFontDataFactory; + +/***/ }), +/* 173 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CanvasGraphics = void 0; +__w_pdfjs_require__(2); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +var _pattern_helper = __w_pdfjs_require__(174); +var _image_utils = __w_pdfjs_require__(175); +const MIN_FONT_SIZE = 16; +const MAX_FONT_SIZE = 100; +const MAX_GROUP_SIZE = 4096; +const EXECUTION_TIME = 15; +const EXECUTION_STEPS = 10; +const MAX_SIZE_TO_COMPILE = 1000; +const FULL_CHUNK_HEIGHT = 16; +function mirrorContextOperations(ctx, destCtx) { + if (ctx._removeMirroring) { + throw new Error("Context is already forwarding operations."); + } + ctx.__originalSave = ctx.save; + ctx.__originalRestore = ctx.restore; + ctx.__originalRotate = ctx.rotate; + ctx.__originalScale = ctx.scale; + ctx.__originalTranslate = ctx.translate; + ctx.__originalTransform = ctx.transform; + ctx.__originalSetTransform = ctx.setTransform; + ctx.__originalResetTransform = ctx.resetTransform; + ctx.__originalClip = ctx.clip; + ctx.__originalMoveTo = ctx.moveTo; + ctx.__originalLineTo = ctx.lineTo; + ctx.__originalBezierCurveTo = ctx.bezierCurveTo; + ctx.__originalRect = ctx.rect; + ctx.__originalClosePath = ctx.closePath; + ctx.__originalBeginPath = ctx.beginPath; + ctx._removeMirroring = () => { + ctx.save = ctx.__originalSave; + ctx.restore = ctx.__originalRestore; + ctx.rotate = ctx.__originalRotate; + ctx.scale = ctx.__originalScale; + ctx.translate = ctx.__originalTranslate; + ctx.transform = ctx.__originalTransform; + ctx.setTransform = ctx.__originalSetTransform; + ctx.resetTransform = ctx.__originalResetTransform; + ctx.clip = ctx.__originalClip; + ctx.moveTo = ctx.__originalMoveTo; + ctx.lineTo = ctx.__originalLineTo; + ctx.bezierCurveTo = ctx.__originalBezierCurveTo; + ctx.rect = ctx.__originalRect; + ctx.closePath = ctx.__originalClosePath; + ctx.beginPath = ctx.__originalBeginPath; + delete ctx._removeMirroring; + }; + ctx.save = function ctxSave() { + destCtx.save(); + this.__originalSave(); + }; + ctx.restore = function ctxRestore() { + destCtx.restore(); + this.__originalRestore(); + }; + ctx.translate = function ctxTranslate(x, y) { + destCtx.translate(x, y); + this.__originalTranslate(x, y); + }; + ctx.scale = function ctxScale(x, y) { + destCtx.scale(x, y); + this.__originalScale(x, y); + }; + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + destCtx.transform(a, b, c, d, e, f); + this.__originalTransform(a, b, c, d, e, f); + }; + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + destCtx.setTransform(a, b, c, d, e, f); + this.__originalSetTransform(a, b, c, d, e, f); + }; + ctx.resetTransform = function ctxResetTransform() { + destCtx.resetTransform(); + this.__originalResetTransform(); + }; + ctx.rotate = function ctxRotate(angle) { + destCtx.rotate(angle); + this.__originalRotate(angle); + }; + ctx.clip = function ctxRotate(rule) { + destCtx.clip(rule); + this.__originalClip(rule); + }; + ctx.moveTo = function (x, y) { + destCtx.moveTo(x, y); + this.__originalMoveTo(x, y); + }; + ctx.lineTo = function (x, y) { + destCtx.lineTo(x, y); + this.__originalLineTo(x, y); + }; + ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y); + }; + ctx.rect = function (x, y, width, height) { + destCtx.rect(x, y, width, height); + this.__originalRect(x, y, width, height); + }; + ctx.closePath = function () { + destCtx.closePath(); + this.__originalClosePath(); + }; + ctx.beginPath = function () { + destCtx.beginPath(); + this.__originalBeginPath(); + }; +} +class CachedCanvases { + constructor(canvasFactory) { + this.canvasFactory = canvasFactory; + this.cache = Object.create(null); + } + getCanvas(id, width, height) { + let canvasEntry; + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + return canvasEntry; + } + delete(id) { + delete this.cache[id]; + } + clear() { + for (const id in this.cache) { + const canvasEntry = this.cache[id]; + this.canvasFactory.destroy(canvasEntry); + delete this.cache[id]; + } + } +} +function drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) { + const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx); + if (b === 0 && c === 0) { + const tlX = destX * a + tx; + const rTlX = Math.round(tlX); + const tlY = destY * d + ty; + const rTlY = Math.round(tlY); + const brX = (destX + destW) * a + tx; + const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + const brY = (destY + destH) * d + ty; + const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight); + ctx.setTransform(a, b, c, d, tx, ty); + return [rWidth, rHeight]; + } + if (a === 0 && d === 0) { + const tlX = destY * c + tx; + const rTlX = Math.round(tlX); + const tlY = destX * b + ty; + const rTlY = Math.round(tlY); + const brX = (destY + destH) * c + tx; + const rWidth = Math.abs(Math.round(brX) - rTlX) || 1; + const brY = (destX + destW) * b + ty; + const rHeight = Math.abs(Math.round(brY) - rTlY) || 1; + ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY); + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth); + ctx.setTransform(a, b, c, d, tx, ty); + return [rHeight, rWidth]; + } + ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH); + const scaleX = Math.hypot(a, b); + const scaleY = Math.hypot(c, d); + return [scaleX * destW, scaleY * destH]; +} +function compileType3Glyph(imgData) { + const { + width, + height + } = imgData; + if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) { + return null; + } + const POINT_TO_PROCESS_LIMIT = 1000; + const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); + const width1 = width + 1; + let points = new Uint8Array(width1 * (height + 1)); + let i, j, j0; + const lineSize = width + 7 & ~7; + let data = new Uint8Array(lineSize * height), + pos = 0; + for (const elem of imgData.data) { + let mask = 128; + while (mask > 0) { + data[pos++] = elem & mask ? 0 : 255; + mask >>= 1; + } + } + let count = 0; + pos = 0; + if (data[pos] !== 0) { + points[0] = 1; + ++count; + } + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j] = data[pos] ? 2 : 1; + ++count; + } + pos++; + } + if (data[pos] !== 0) { + points[j] = 2; + ++count; + } + for (i = 1; i < height; i++) { + pos = i * lineSize; + j0 = i * width1; + if (data[pos - lineSize] !== data[pos]) { + points[j0] = data[pos] ? 1 : 8; + ++count; + } + let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); + for (j = 1; j < width; j++) { + sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); + if (POINT_TYPES[sum]) { + points[j0 + j] = POINT_TYPES[sum]; + ++count; + } + pos++; + } + if (data[pos - lineSize] !== data[pos]) { + points[j0 + j] = data[pos] ? 2 : 4; + ++count; + } + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + } + pos = lineSize * (height - 1); + j0 = i * width1; + if (data[pos] !== 0) { + points[j0] = 8; + ++count; + } + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j0 + j] = data[pos] ? 4 : 8; + ++count; + } + pos++; + } + if (data[pos] !== 0) { + points[j0 + j] = 4; + ++count; + } + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); + const path = new Path2D(); + for (i = 0; count && i <= height; i++) { + let p = i * width1; + const end = p + width; + while (p < end && !points[p]) { + p++; + } + if (p === end) { + continue; + } + path.moveTo(p % width1, i); + const p0 = p; + let type = points[p]; + do { + const step = steps[type]; + do { + p += step; + } while (!points[p]); + const pp = points[p]; + if (pp !== 5 && pp !== 10) { + type = pp; + points[p] = 0; + } else { + type = pp & 0x33 * type >> 4; + points[p] &= type >> 2 | type << 2; + } + path.lineTo(p % width1, p / width1 | 0); + if (!points[p]) { + --count; + } + } while (p0 !== p); + --i; + } + data = null; + points = null; + const drawOutline = function (c) { + c.save(); + c.scale(1 / width, -1 / height); + c.translate(0, -height); + c.fill(path); + c.beginPath(); + c.restore(); + }; + return drawOutline; +} +class CanvasExtraState { + constructor(width, height) { + this.alphaIsShape = false; + this.fontSize = 0; + this.fontSizeScale = 1; + this.textMatrix = _util.IDENTITY_MATRIX; + this.textMatrixScale = 1; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textRise = 0; + this.fillColor = "#000000"; + this.strokeColor = "#000000"; + this.patternFill = false; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.activeSMask = null; + this.transferMaps = "none"; + this.startNewPathAndClipBox([0, 0, width, height]); + } + clone() { + const clone = Object.create(this); + clone.clipBox = this.clipBox.slice(); + return clone; + } + setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + updatePathMinMax(transform, x, y) { + [x, y] = _util.Util.applyTransform([x, y], transform); + this.minX = Math.min(this.minX, x); + this.minY = Math.min(this.minY, y); + this.maxX = Math.max(this.maxX, x); + this.maxY = Math.max(this.maxY, y); + } + updateRectMinMax(transform, rect) { + const p1 = _util.Util.applyTransform(rect, transform); + const p2 = _util.Util.applyTransform(rect.slice(2), transform); + this.minX = Math.min(this.minX, p1[0], p2[0]); + this.minY = Math.min(this.minY, p1[1], p2[1]); + this.maxX = Math.max(this.maxX, p1[0], p2[0]); + this.maxY = Math.max(this.maxY, p1[1], p2[1]); + } + updateScalingPathMinMax(transform, minMax) { + _util.Util.scaleMinMax(transform, minMax); + this.minX = Math.min(this.minX, minMax[0]); + this.maxX = Math.max(this.maxX, minMax[1]); + this.minY = Math.min(this.minY, minMax[2]); + this.maxY = Math.max(this.maxY, minMax[3]); + } + updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) { + const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3); + if (minMax) { + minMax[0] = Math.min(minMax[0], box[0], box[2]); + minMax[1] = Math.max(minMax[1], box[0], box[2]); + minMax[2] = Math.min(minMax[2], box[1], box[3]); + minMax[3] = Math.max(minMax[3], box[1], box[3]); + return; + } + this.updateRectMinMax(transform, box); + } + getPathBoundingBox() { + let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const box = [this.minX, this.minY, this.maxX, this.maxY]; + if (pathType === _pattern_helper.PathType.STROKE) { + if (!transform) { + (0, _util.unreachable)("Stroke bounding box must include transform."); + } + const scale = _util.Util.singularValueDecompose2dScale(transform); + const xStrokePad = scale[0] * this.lineWidth / 2; + const yStrokePad = scale[1] * this.lineWidth / 2; + box[0] -= xStrokePad; + box[1] -= yStrokePad; + box[2] += xStrokePad; + box[3] += yStrokePad; + } + return box; + } + updateClipFromPath() { + const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox()); + this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]); + } + isEmptyClip() { + return this.minX === Infinity; + } + startNewPathAndClipBox(box) { + this.clipBox = box; + this.minX = Infinity; + this.minY = Infinity; + this.maxX = 0; + this.maxY = 0; + } + getClippedPathBoundingBox() { + let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL; + let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform)); + } +} +function putBinaryImageData(ctx, imgData) { + if (typeof ImageData !== "undefined" && imgData instanceof ImageData) { + ctx.putImageData(imgData, 0, 0); + return; + } + const height = imgData.height, + width = imgData.width; + const partialChunkHeight = height % FULL_CHUNK_HEIGHT; + const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + let srcPos = 0, + destPos; + const src = imgData.data; + const dest = chunkImgData.data; + let i, j, thisChunkHeight, elemsInThisChunk; + if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) { + const srcLength = src.byteLength; + const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2); + const dest32DataLength = dest32.length; + const fullSrcDiff = width + 7 >> 3; + const white = 0xffffffff; + const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + for (i = 0; i < totalChunks; i++) { + thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + destPos = 0; + for (j = 0; j < thisChunkHeight; j++) { + const srcDiff = srcLength - srcPos; + let k = 0; + const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7; + const kEndUnrolled = kEnd & ~7; + let mask = 0; + let srcByte = 0; + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { + j = 0; + elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4; + for (i = 0; i < fullChunks; i++) { + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + srcPos += elemsInThisChunk; + ctx.putImageData(chunkImgData, 0, j); + j += FULL_CHUNK_HEIGHT; + } + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + destPos = 0; + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error(`bad image kind: ${imgData.kind}`); + } +} +function putBinaryImageMask(ctx, imgData) { + if (imgData.bitmap) { + ctx.drawImage(imgData.bitmap, 0, 0); + return; + } + const height = imgData.height, + width = imgData.width; + const partialChunkHeight = height % FULL_CHUNK_HEIGHT; + const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT; + const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1; + const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT); + let srcPos = 0; + const src = imgData.data; + const dest = chunkImgData.data; + for (let i = 0; i < totalChunks; i++) { + const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + ({ + srcPos + } = (0, _image_utils.convertBlackAndWhiteToRGBA)({ + src, + srcPos, + dest, + width, + height: thisChunkHeight, + nonBlackColor: 0 + })); + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } +} +function copyCtxState(sourceCtx, destCtx) { + const properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font", "filter"]; + for (const property of properties) { + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } +} +function resetCtxToDefault(ctx) { + ctx.strokeStyle = ctx.fillStyle = "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "10px sans-serif"; + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } + if (!_util.isNodeJS) { + const { + filter + } = ctx; + if (filter !== "none" && filter !== "") { + ctx.filter = "none"; + } + } +} +function composeSMaskBackdrop(bytes, r0, g0, b0) { + const length = bytes.length; + for (let i = 3; i < length; i += 4) { + const alpha = bytes[i]; + if (alpha === 0) { + bytes[i - 3] = r0; + bytes[i - 2] = g0; + bytes[i - 1] = b0; + } else if (alpha < 255) { + const alpha_ = 255 - alpha; + bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; + bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; + bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; + } + } +} +function composeSMaskAlpha(maskData, layerData, transferMap) { + const length = maskData.length; + const scale = 1 / 255; + for (let i = 3; i < length; i += 4) { + const alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; + layerData[i] = layerData[i] * alpha * scale | 0; + } +} +function composeSMaskLuminosity(maskData, layerData, transferMap) { + const length = maskData.length; + for (let i = 3; i < length; i += 4) { + const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28; + layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16; + } +} +function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) { + const hasBackdrop = !!backdrop; + const r0 = hasBackdrop ? backdrop[0] : 0; + const g0 = hasBackdrop ? backdrop[1] : 0; + const b0 = hasBackdrop ? backdrop[2] : 0; + const composeFn = subtype === "Luminosity" ? composeSMaskLuminosity : composeSMaskAlpha; + const PIXELS_TO_PROCESS = 1048576; + const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width)); + for (let row = 0; row < height; row += chunkSize) { + const chunkHeight = Math.min(chunkSize, height - row); + const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight); + const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight); + if (hasBackdrop) { + composeSMaskBackdrop(maskData.data, r0, g0, b0); + } + composeFn(maskData.data, layerData.data, transferMap); + layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY); + } +} +function composeSMask(ctx, smask, layerCtx, layerBox) { + const layerOffsetX = layerBox[0]; + const layerOffsetY = layerBox[1]; + const layerWidth = layerBox[2] - layerOffsetX; + const layerHeight = layerBox[3] - layerOffsetY; + if (layerWidth === 0 || layerHeight === 0) { + return; + } + genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY); + ctx.save(); + ctx.globalAlpha = 1; + ctx.globalCompositeOperation = "source-over"; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(layerCtx.canvas, 0, 0); + ctx.restore(); +} +function getImageSmoothingEnabled(transform, interpolate) { + const scale = _util.Util.singularValueDecompose2dScale(transform); + scale[0] = Math.fround(scale[0]); + scale[1] = Math.fround(scale[1]); + const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + if (interpolate !== undefined) { + return interpolate; + } else if (scale[0] <= actualScale || scale[1] <= actualScale) { + return true; + } + return false; +} +const LINE_CAP_STYLES = ["butt", "round", "square"]; +const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +const NORMAL_CLIP = {}; +const EO_CLIP = {}; +class CanvasGraphics { + constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, _ref, annotationCanvasMap, pageColors) { + let { + optionalContentConfig, + markedContentStack = null + } = _ref; + this.ctx = canvasCtx; + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.res = null; + this.xobjs = null; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.filterFactory = filterFactory; + this.groupStack = []; + this.processingType3 = null; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + this.smaskStack = []; + this.smaskCounter = 0; + this.tempSMask = null; + this.suspendedCtx = null; + this.contentVisible = true; + this.markedContentStack = markedContentStack || []; + this.optionalContentConfig = optionalContentConfig; + this.cachedCanvases = new CachedCanvases(this.canvasFactory); + this.cachedPatterns = new Map(); + this.annotationCanvasMap = annotationCanvasMap; + this.viewportScale = 1; + this.outputScaleX = 1; + this.outputScaleY = 1; + this.pageColors = pageColors; + this._cachedScaleForStroking = [-1, 0]; + this._cachedGetSinglePixelWidth = null; + this._cachedBitmapsMap = new Map(); + } + getObject(data) { + let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (typeof data === "string") { + return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); + } + return fallback; + } + beginDrawing(_ref2) { + let { + transform, + viewport, + transparency = false, + background = null + } = _ref2; + const width = this.ctx.canvas.width; + const height = this.ctx.canvas.height; + const savedFillStyle = this.ctx.fillStyle; + this.ctx.fillStyle = background || "#ffffff"; + this.ctx.fillRect(0, 0, width, height); + this.ctx.fillStyle = savedFillStyle; + if (transparency) { + const transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx)); + } + this.ctx.save(); + resetCtxToDefault(this.ctx); + if (transform) { + this.ctx.transform(...transform); + this.outputScaleX = transform[0]; + this.outputScaleY = transform[0]; + } + this.ctx.transform(...viewport.transform); + this.viewportScale = viewport.scale; + this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx); + } + executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + const argsArray = operatorList.argsArray; + const fnArray = operatorList.fnArray; + let i = executionStartIdx || 0; + const argsArrayLen = argsArray.length; + if (argsArrayLen === i) { + return i; + } + const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function"; + const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0; + let steps = 0; + const commonObjs = this.commonObjs; + const objs = this.objs; + let fnId; + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + fnId = fnArray[i]; + if (fnId !== _util.OPS.dependency) { + this[fnId].apply(this, argsArray[i]); + } else { + for (const depObjId of argsArray[i]) { + const objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } + i++; + if (i === argsArrayLen) { + return i; + } + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + steps = 0; + } + } + } + #restoreInitialState() { + while (this.stateStack.length || this.inSMaskMode) { + this.restore(); + } + this.ctx.restore(); + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + } + endDrawing() { + this.#restoreInitialState(); + this.cachedCanvases.clear(); + this.cachedPatterns.clear(); + for (const cache of this._cachedBitmapsMap.values()) { + for (const canvas of cache.values()) { + if (typeof HTMLCanvasElement !== "undefined" && canvas instanceof HTMLCanvasElement) { + canvas.width = canvas.height = 0; + } + } + cache.clear(); + } + this._cachedBitmapsMap.clear(); + this.#drawFilter(); + } + #drawFilter() { + if (this.pageColors) { + const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background); + if (hcmFilterId !== "none") { + const savedFilter = this.ctx.filter; + this.ctx.filter = hcmFilterId; + this.ctx.drawImage(this.ctx.canvas, 0, 0); + this.ctx.filter = savedFilter; + } + } + } + _scaleImage(img, inverseTransform) { + const width = img.width; + const height = img.height; + let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1); + let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1); + let paintWidth = width, + paintHeight = height; + let tmpCanvasId = "prescale1"; + let tmpCanvas, tmpCtx; + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + let newWidth = paintWidth, + newHeight = paintHeight; + if (widthScale > 2 && paintWidth > 1) { + newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + if (heightScale > 2 && paintHeight > 1) { + newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2; + heightScale /= paintHeight / newHeight; + } + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + img = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1"; + } + return { + img, + paintWidth, + paintHeight + }; + } + _createMaskCanvas(img) { + const ctx = this.ctx; + const { + width, + height + } = img; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); + let cache, cacheKey, scaled, maskCanvas; + if ((img.bitmap || img.data) && img.count > 1) { + const mainKey = img.bitmap || img.data.buffer; + cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]); + cache = this._cachedBitmapsMap.get(mainKey); + if (!cache) { + cache = new Map(); + this._cachedBitmapsMap.set(mainKey, cache); + } + const cachedImage = cache.get(cacheKey); + if (cachedImage && !isPatternFill) { + const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]); + const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]); + return { + canvas: cachedImage, + offsetX, + offsetY + }; + } + scaled = cachedImage; + } + if (!scaled) { + maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + putBinaryImageMask(maskCanvas.context, img); + } + let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]); + maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]); + const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas); + const cord2 = _util.Util.applyTransform([width, height], maskToCanvas); + const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]); + const drawnWidth = Math.round(rect[2] - rect[0]) || 1; + const drawnHeight = Math.round(rect[3] - rect[1]) || 1; + const fillCanvas = this.cachedCanvases.getCanvas("fillCanvas", drawnWidth, drawnHeight); + const fillCtx = fillCanvas.context; + const offsetX = Math.min(cord1[0], cord2[0]); + const offsetY = Math.min(cord1[1], cord2[1]); + fillCtx.translate(-offsetX, -offsetY); + fillCtx.transform(...maskToCanvas); + if (!scaled) { + scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx)); + scaled = scaled.img; + if (cache && isPatternFill) { + cache.set(cacheKey, scaled); + } + } + fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate); + drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height); + fillCtx.globalCompositeOperation = "source-in"; + const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]); + fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor; + fillCtx.fillRect(0, 0, width, height); + if (cache && !isPatternFill) { + this.cachedCanvases.delete("fillCanvas"); + cache.set(cacheKey, fillCanvas.canvas); + } + return { + canvas: fillCanvas.canvas, + offsetX: Math.round(offsetX), + offsetY: Math.round(offsetY) + }; + } + setLineWidth(width) { + if (width !== this.current.lineWidth) { + this._cachedScaleForStroking[0] = -1; + } + this.current.lineWidth = width; + this.ctx.lineWidth = width; + } + setLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + setLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + setMiterLimit(limit) { + this.ctx.miterLimit = limit; + } + setDash(dashArray, dashPhase) { + const ctx = this.ctx; + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + setRenderingIntent(intent) {} + setFlatness(flatness) {} + setGState(states) { + for (const [key, value] of states) { + switch (key) { + case "LW": + this.setLineWidth(value); + break; + case "LC": + this.setLineCap(value); + break; + case "LJ": + this.setLineJoin(value); + break; + case "ML": + this.setMiterLimit(value); + break; + case "D": + this.setDash(value[0], value[1]); + break; + case "RI": + this.setRenderingIntent(value); + break; + case "FL": + this.setFlatness(value); + break; + case "Font": + this.setFont(value[0], value[1]); + break; + case "CA": + this.current.strokeAlpha = value; + break; + case "ca": + this.current.fillAlpha = value; + this.ctx.globalAlpha = value; + break; + case "BM": + this.ctx.globalCompositeOperation = value; + break; + case "SMask": + this.current.activeSMask = value ? this.tempSMask : null; + this.tempSMask = null; + this.checkSMaskState(); + break; + case "TR": + this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value); + break; + } + } + } + get inSMaskMode() { + return !!this.suspendedCtx; + } + checkSMaskState() { + const inSMaskMode = this.inSMaskMode; + if (this.current.activeSMask && !inSMaskMode) { + this.beginSMaskMode(); + } else if (!this.current.activeSMask && inSMaskMode) { + this.endSMaskMode(); + } + } + beginSMaskMode() { + if (this.inSMaskMode) { + throw new Error("beginSMaskMode called while already in smask mode"); + } + const drawnWidth = this.ctx.canvas.width; + const drawnHeight = this.ctx.canvas.height; + const cacheId = "smaskGroupAt" + this.groupLevel; + const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); + this.suspendedCtx = this.ctx; + this.ctx = scratchCanvas.context; + const ctx = this.ctx; + ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx)); + copyCtxState(this.suspendedCtx, ctx); + mirrorContextOperations(ctx, this.suspendedCtx); + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + } + endSMaskMode() { + if (!this.inSMaskMode) { + throw new Error("endSMaskMode called while not in smask mode"); + } + this.ctx._removeMirroring(); + copyCtxState(this.ctx, this.suspendedCtx); + this.ctx = this.suspendedCtx; + this.suspendedCtx = null; + } + compose(dirtyBox) { + if (!this.current.activeSMask) { + return; + } + if (!dirtyBox) { + dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height]; + } else { + dirtyBox[0] = Math.floor(dirtyBox[0]); + dirtyBox[1] = Math.floor(dirtyBox[1]); + dirtyBox[2] = Math.ceil(dirtyBox[2]); + dirtyBox[3] = Math.ceil(dirtyBox[3]); + } + const smask = this.current.activeSMask; + const suspendedCtx = this.suspendedCtx; + composeSMask(suspendedCtx, smask, this.ctx, dirtyBox); + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height); + this.ctx.restore(); + } + save() { + if (this.inSMaskMode) { + copyCtxState(this.ctx, this.suspendedCtx); + this.suspendedCtx.save(); + } else { + this.ctx.save(); + } + const old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + } + restore() { + if (this.stateStack.length === 0 && this.inSMaskMode) { + this.endSMaskMode(); + } + if (this.stateStack.length !== 0) { + this.current = this.stateStack.pop(); + if (this.inSMaskMode) { + this.suspendedCtx.restore(); + copyCtxState(this.suspendedCtx, this.ctx); + } else { + this.ctx.restore(); + } + this.checkSMaskState(); + this.pendingClip = null; + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + } + } + transform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + } + constructPath(ops, args, minMax) { + const ctx = this.ctx; + const current = this.current; + let x = current.x, + y = current.y; + let startX, startY; + const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); + const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0; + const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null; + for (let i = 0, j = 0, ii = ops.length; i < ii; i++) { + switch (ops[i] | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + const width = args[j++]; + const height = args[j++]; + const xw = x + width; + const yh = y + height; + ctx.moveTo(x, y); + if (width === 0 || height === 0) { + ctx.lineTo(xw, yh); + } else { + ctx.lineTo(xw, y); + ctx.lineTo(xw, yh); + ctx.lineTo(x, yh); + } + if (!isScalingMatrix) { + current.updateRectMinMax(currentTransform, [x, y, xw, yh]); + } + ctx.closePath(); + break; + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + ctx.moveTo(x, y); + if (!isScalingMatrix) { + current.updatePathMinMax(currentTransform, x, y); + } + break; + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + ctx.lineTo(x, y); + if (!isScalingMatrix) { + current.updatePathMinMax(currentTransform, x, y); + } + break; + case _util.OPS.curveTo: + startX = x; + startY = y; + x = args[j + 4]; + y = args[j + 5]; + ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier); + j += 6; + break; + case _util.OPS.curveTo2: + startX = x; + startY = y; + ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]); + current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + case _util.OPS.curveTo3: + startX = x; + startY = y; + x = args[j + 2]; + y = args[j + 3]; + ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); + current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier); + j += 4; + break; + case _util.OPS.closePath: + ctx.closePath(); + break; + } + } + if (isScalingMatrix) { + current.updateScalingPathMinMax(currentTransform, minMaxForBezier); + } + current.setCurrentPoint(x, y); + } + closePath() { + this.ctx.closePath(); + } + stroke() { + let consumePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + const ctx = this.ctx; + const strokeColor = this.current.strokeColor; + ctx.globalAlpha = this.current.strokeAlpha; + if (this.contentVisible) { + if (typeof strokeColor === "object" && strokeColor?.getPattern) { + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE); + this.rescaleAndStroke(false); + ctx.restore(); + } else { + this.rescaleAndStroke(true); + } + } + if (consumePath) { + this.consumePath(this.current.getClippedPathBoundingBox()); + } + ctx.globalAlpha = this.current.fillAlpha; + } + closeStroke() { + this.closePath(); + this.stroke(); + } + fill() { + let consumePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + const ctx = this.ctx; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + let needRestore = false; + if (isPatternFill) { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL); + needRestore = true; + } + const intersect = this.current.getClippedPathBoundingBox(); + if (this.contentVisible && intersect !== null) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } + } + if (needRestore) { + ctx.restore(); + } + if (consumePath) { + this.consumePath(intersect); + } + } + eoFill() { + this.pendingEOFill = true; + this.fill(); + } + fillStroke() { + this.fill(false); + this.stroke(false); + this.consumePath(); + } + eoFillStroke() { + this.pendingEOFill = true; + this.fillStroke(); + } + closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + closeEOFillStroke() { + this.pendingEOFill = true; + this.closePath(); + this.fillStroke(); + } + endPath() { + this.consumePath(); + } + clip() { + this.pendingClip = NORMAL_CLIP; + } + eoClip() { + this.pendingClip = EO_CLIP; + } + beginText() { + this.current.textMatrix = _util.IDENTITY_MATRIX; + this.current.textMatrixScale = 1; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + endText() { + const paths = this.pendingTextPaths; + const ctx = this.ctx; + if (paths === undefined) { + ctx.beginPath(); + return; + } + ctx.save(); + ctx.beginPath(); + for (const path of paths) { + ctx.setTransform(...path.transform); + ctx.translate(path.x, path.y); + path.addToPath(ctx, path.fontSize); + } + ctx.restore(); + ctx.clip(); + ctx.beginPath(); + delete this.pendingTextPaths; + } + setCharSpacing(spacing) { + this.current.charSpacing = spacing; + } + setWordSpacing(spacing) { + this.current.wordSpacing = spacing; + } + setHScale(scale) { + this.current.textHScale = scale / 100; + } + setLeading(leading) { + this.current.leading = -leading; + } + setFont(fontRefName, size) { + const fontObj = this.commonObjs.get(fontRefName); + const current = this.current; + if (!fontObj) { + throw new Error(`Can't find font for ${fontRefName}`); + } + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { + (0, _util.warn)("Invalid font matrix for font " + fontRefName); + } + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + this.current.font = fontObj; + this.current.fontSize = size; + if (fontObj.isType3Font) { + return; + } + const name = fontObj.loadedName || "sans-serif"; + const typeface = fontObj.systemFontInfo?.css || `"${name}", ${fontObj.fallbackName}`; + let bold = "normal"; + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + const italic = fontObj.italic ? "italic" : "normal"; + let browserFontSize = size; + if (size < MIN_FONT_SIZE) { + browserFontSize = MIN_FONT_SIZE; + } else if (size > MAX_FONT_SIZE) { + browserFontSize = MAX_FONT_SIZE; + } + this.current.fontSizeScale = size / browserFontSize; + this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`; + } + setTextRenderingMode(mode) { + this.current.textRenderingMode = mode; + } + setTextRise(rise) { + this.current.textRise = rise; + } + moveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + setTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + this.current.textMatrixScale = Math.hypot(a, b); + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + nextLine() { + this.moveText(0, this.current.leading); + } + paintChar(character, x, y, patternTransform) { + const ctx = this.ctx; + const current = this.current; + const font = current.font; + const textRenderingMode = current.textRenderingMode; + const fontSize = current.fontSize / current.fontSizeScale; + const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG); + const patternFill = current.patternFill && !font.missingFile; + let addToPath; + if (font.disableFontFace || isAddToPathSet || patternFill) { + addToPath = font.getPathGenerator(this.commonObjs, character); + } + if (font.disableFontFace || patternFill) { + ctx.save(); + ctx.translate(x, y); + ctx.beginPath(); + addToPath(ctx, fontSize); + if (patternTransform) { + ctx.setTransform(...patternTransform); + } + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fill(); + } + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.stroke(); + } + ctx.restore(); + } else { + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + } + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.strokeText(character, x, y); + } + } + if (isAddToPathSet) { + const paths = this.pendingTextPaths ||= []; + paths.push({ + transform: (0, _display_utils.getCurrentTransform)(ctx), + x, + y, + fontSize, + addToPath + }); + } + } + get isFontSubpixelAAEnabled() { + const { + context: ctx + } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10); + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + const data = ctx.getImageData(0, 0, 10, 10).data; + let enabled = false; + for (let i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); + } + showText(glyphs) { + const current = this.current; + const font = current.font; + if (font.isType3Font) { + return this.showType3Text(glyphs); + } + const fontSize = current.fontSize; + if (fontSize === 0) { + return undefined; + } + const ctx = this.ctx; + const fontSizeScale = current.fontSizeScale; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const fontDirection = current.fontDirection; + const textHScale = current.textHScale * fontDirection; + const glyphsLength = glyphs.length; + const vertical = font.vertical; + const spacingDir = vertical ? 1 : -1; + const defaultVMetrics = font.defaultVMetrics; + const widthAdvanceScale = fontSize * current.fontMatrix[0]; + const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill; + ctx.save(); + ctx.transform(...current.textMatrix); + ctx.translate(current.x, current.y + current.textRise); + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + ctx.scale(textHScale, 1); + } + let patternTransform; + if (current.patternFill) { + ctx.save(); + const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL); + patternTransform = (0, _display_utils.getCurrentTransform)(ctx); + ctx.restore(); + ctx.fillStyle = pattern; + } + let lineWidth = current.lineWidth; + const scale = current.textMatrixScale; + if (scale === 0 || lineWidth === 0) { + const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + lineWidth = this.getSinglePixelWidth(); + } + } else { + lineWidth /= scale; + } + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + ctx.lineWidth = lineWidth; + if (font.isInvalidPDFjsFont) { + const chars = []; + let width = 0; + for (const glyph of glyphs) { + chars.push(glyph.unicode); + width += glyph.width; + } + ctx.fillText(chars.join(""), 0, 0); + current.x += width * widthAdvanceScale * textHScale; + ctx.restore(); + this.compose(); + return undefined; + } + let x = 0, + i; + for (i = 0; i < glyphsLength; ++i) { + const glyph = glyphs[i]; + if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + let restoreNeeded = false; + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const character = glyph.fontChar; + const accent = glyph.accent; + let scaledX, scaledY; + let width = glyph.width; + if (vertical) { + const vmetric = glyph.vmetric || defaultVMetrics; + const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + const vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + if (font.remeasure && width > 0) { + const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + const characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + } else { + this.paintChar(character, scaledX, scaledY, patternTransform); + if (accent) { + const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; + this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform); + } + } + } + const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection; + x += charWidth; + if (restoreNeeded) { + ctx.restore(); + } + } + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + ctx.restore(); + this.compose(); + return undefined; + } + showType3Text(glyphs) { + const ctx = this.ctx; + const current = this.current; + const font = current.font; + const fontSize = current.fontSize; + const fontDirection = current.fontDirection; + const spacingDir = font.vertical ? 1 : -1; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const textHScale = current.textHScale * fontDirection; + const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX; + const glyphsLength = glyphs.length; + const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE; + let i, glyph, width, spacingLength; + if (isTextInvisible || fontSize === 0) { + return; + } + this._cachedScaleForStroking[0] = -1; + this._cachedGetSinglePixelWidth = null; + ctx.save(); + ctx.transform(...current.textMatrix); + ctx.translate(current.x, current.y); + ctx.scale(textHScale, fontDirection); + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + if (typeof glyph === "number") { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const operatorList = font.charProcOperatorList[glyph.operatorListId]; + if (!operatorList) { + (0, _util.warn)(`Type3 character "${glyph.operatorListId}" is not available.`); + continue; + } + if (this.contentVisible) { + this.processingType3 = glyph; + this.save(); + ctx.scale(fontSize, fontSize); + ctx.transform(...fontMatrix); + this.executeOperatorList(operatorList); + this.restore(); + } + const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix); + width = transformed[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + ctx.restore(); + this.processingType3 = null; + } + setCharWidth(xWidth, yWidth) {} + setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { + this.ctx.rect(llx, lly, urx - llx, ury - lly); + this.ctx.clip(); + this.endPath(); + } + getColorN_Pattern(IR) { + let pattern; + if (IR[0] === "TilingPattern") { + const color = IR[1]; + const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx); + const canvasGraphicsFactory = { + createCanvasGraphics: ctx => { + return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, { + optionalContentConfig: this.optionalContentConfig, + markedContentStack: this.markedContentStack + }); + } + }; + pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = this._getPattern(IR[1], IR[2]); + } + return pattern; + } + setStrokeColorN() { + this.current.strokeColor = this.getColorN_Pattern(arguments); + } + setFillColorN() { + this.current.fillColor = this.getColorN_Pattern(arguments); + this.current.patternFill = true; + } + setStrokeRGBColor(r, g, b) { + const color = _util.Util.makeHexColor(r, g, b); + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + } + setFillRGBColor(r, g, b) { + const color = _util.Util.makeHexColor(r, g, b); + this.ctx.fillStyle = color; + this.current.fillColor = color; + this.current.patternFill = false; + } + _getPattern(objId) { + let matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let pattern; + if (this.cachedPatterns.has(objId)) { + pattern = this.cachedPatterns.get(objId); + } else { + pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId)); + this.cachedPatterns.set(objId, pattern); + } + if (matrix) { + pattern.matrix = matrix; + } + return pattern; + } + shadingFill(objId) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + this.save(); + const pattern = this._getPattern(objId); + ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING); + const inv = (0, _display_utils.getCurrentTransformInverse)(ctx); + if (inv) { + const { + width, + height + } = ctx.canvas; + const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv); + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + this.compose(this.current.getClippedPathBoundingBox()); + this.restore(); + } + beginInlineImage() { + (0, _util.unreachable)("Should not call beginInlineImage"); + } + beginImageData() { + (0, _util.unreachable)("Should not call beginImageData"); + } + paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + this.save(); + this.baseTransformStack.push(this.baseTransform); + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(...matrix); + } + this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx); + if (bbox) { + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + this.ctx.rect(bbox[0], bbox[1], width, height); + this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox); + this.clip(); + this.endPath(); + } + } + paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + this.restore(); + this.baseTransform = this.baseTransformStack.pop(); + } + beginGroup(group) { + if (!this.contentVisible) { + return; + } + this.save(); + if (this.inSMaskMode) { + this.endSMaskMode(); + this.current.activeSMask = null; + } + const currentCtx = this.ctx; + if (!group.isolated) { + (0, _util.info)("TODO: Support non-isolated groups."); + } + if (group.knockout) { + (0, _util.warn)("Knockout groups not supported."); + } + const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx); + if (group.matrix) { + currentCtx.transform(...group.matrix); + } + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx)); + const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height]; + bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0]; + const offsetX = Math.floor(bounds[0]); + const offsetY = Math.floor(bounds[1]); + let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1); + let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1); + let scaleX = 1, + scaleY = 1; + if (drawnWidth > MAX_GROUP_SIZE) { + scaleX = drawnWidth / MAX_GROUP_SIZE; + drawnWidth = MAX_GROUP_SIZE; + } + if (drawnHeight > MAX_GROUP_SIZE) { + scaleY = drawnHeight / MAX_GROUP_SIZE; + drawnHeight = MAX_GROUP_SIZE; + } + this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]); + let cacheId = "groupAt" + this.groupLevel; + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight); + const groupCtx = scratchCanvas.context; + groupCtx.scale(1 / scaleX, 1 / scaleY); + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform(...currentTransform); + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX, + offsetY, + scaleX, + scaleY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } else { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.scale(scaleX, scaleY); + currentCtx.save(); + } + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + } + endGroup(group) { + if (!this.contentVisible) { + return; + } + this.groupLevel--; + const groupCtx = this.ctx; + const ctx = this.groupStack.pop(); + this.ctx = ctx; + this.ctx.imageSmoothingEnabled = false; + if (group.smask) { + this.tempSMask = this.smaskStack.pop(); + this.restore(); + } else { + this.ctx.restore(); + const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx); + this.restore(); + this.ctx.save(); + this.ctx.setTransform(...currentMtx); + const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx); + this.ctx.drawImage(groupCtx.canvas, 0, 0); + this.ctx.restore(); + this.compose(dirtyBox); + } + } + beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) { + this.#restoreInitialState(); + resetCtxToDefault(this.ctx); + this.ctx.save(); + this.save(); + if (this.baseTransform) { + this.ctx.setTransform(...this.baseTransform); + } + if (Array.isArray(rect) && rect.length === 4) { + const width = rect[2] - rect[0]; + const height = rect[3] - rect[1]; + if (hasOwnCanvas && this.annotationCanvasMap) { + transform = transform.slice(); + transform[4] -= rect[0]; + transform[5] -= rect[1]; + rect = rect.slice(); + rect[0] = rect[1] = 0; + rect[2] = width; + rect[3] = height; + const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx)); + const { + viewportScale + } = this; + const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale); + const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale); + this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight); + const { + canvas, + context + } = this.annotationCanvas; + this.annotationCanvasMap.set(id, canvas); + this.annotationCanvas.savedCtx = this.ctx; + this.ctx = context; + this.ctx.save(); + this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY); + resetCtxToDefault(this.ctx); + } else { + resetCtxToDefault(this.ctx); + this.ctx.rect(rect[0], rect[1], width, height); + this.ctx.clip(); + this.endPath(); + } + } + this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height); + this.transform(...transform); + this.transform(...matrix); + } + endAnnotation() { + if (this.annotationCanvas) { + this.ctx.restore(); + this.#drawFilter(); + this.ctx = this.annotationCanvas.savedCtx; + delete this.annotationCanvas.savedCtx; + delete this.annotationCanvas; + } + } + paintImageMaskXObject(img) { + if (!this.contentVisible) { + return; + } + const count = img.count; + img = this.getObject(img.data, img); + img.count = count; + const ctx = this.ctx; + const glyph = this.processingType3; + if (glyph) { + if (glyph.compiled === undefined) { + glyph.compiled = compileType3Glyph(img); + } + if (glyph.compiled) { + glyph.compiled(ctx); + return; + } + } + const mask = this._createMaskCanvas(img); + const maskCanvas = mask.canvas; + ctx.save(); + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY); + ctx.restore(); + this.compose(); + } + paintImageMaskXObjectRepeat(img, scaleX) { + let skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + let skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + let scaleY = arguments.length > 4 ? arguments[4] : undefined; + let positions = arguments.length > 5 ? arguments[5] : undefined; + if (!this.contentVisible) { + return; + } + img = this.getObject(img.data, img); + const ctx = this.ctx; + ctx.save(); + const currentTransform = (0, _display_utils.getCurrentTransform)(ctx); + ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0); + const mask = this._createMaskCanvas(img); + ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]); + for (let i = 0, ii = positions.length; i < ii; i += 2) { + const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]); + const [x, y] = _util.Util.applyTransform([0, 0], trans); + ctx.drawImage(mask.canvas, x, y); + } + ctx.restore(); + this.compose(); + } + paintImageMaskXObjectGroup(images) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + const fillColor = this.current.fillColor; + const isPatternFill = this.current.patternFill; + for (const image of images) { + const { + data, + width, + height, + transform + } = image; + const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + const maskCtx = maskCanvas.context; + maskCtx.save(); + const img = this.getObject(data, image); + putBinaryImageMask(maskCtx, img); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform(...transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + ctx.restore(); + } + this.compose(); + } + paintImageXObject(objId) { + if (!this.contentVisible) { + return; + } + const imgData = this.getObject(objId); + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + this.paintInlineImageXObject(imgData); + } + paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + const imgData = this.getObject(objId); + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + const width = imgData.width; + const height = imgData.height; + const map = []; + for (let i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + this.paintInlineImageXObjectGroup(imgData, map); + } + applyTransferMapsToCanvas(ctx) { + if (this.current.transferMaps !== "none") { + ctx.filter = this.current.transferMaps; + ctx.drawImage(ctx.canvas, 0, 0); + ctx.filter = "none"; + } + return ctx.canvas; + } + applyTransferMapsToBitmap(imgData) { + if (this.current.transferMaps === "none") { + return imgData.bitmap; + } + const { + bitmap, + width, + height + } = imgData; + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + const tmpCtx = tmpCanvas.context; + tmpCtx.filter = this.current.transferMaps; + tmpCtx.drawImage(bitmap, 0, 0); + tmpCtx.filter = "none"; + return tmpCanvas.canvas; + } + paintInlineImageXObject(imgData) { + if (!this.contentVisible) { + return; + } + const width = imgData.width; + const height = imgData.height; + const ctx = this.ctx; + this.save(); + if (!_util.isNodeJS) { + const { + filter + } = ctx; + if (filter !== "none" && filter !== "") { + ctx.filter = "none"; + } + } + ctx.scale(1 / width, -1 / height); + let imgToPaint; + if (imgData.bitmap) { + imgToPaint = this.applyTransferMapsToBitmap(imgData); + } else if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + const tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData); + imgToPaint = this.applyTransferMapsToCanvas(tmpCtx); + } + const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx)); + ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate); + drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height); + this.compose(); + this.restore(); + } + paintInlineImageXObjectGroup(imgData, map) { + if (!this.contentVisible) { + return; + } + const ctx = this.ctx; + let imgToPaint; + if (imgData.bitmap) { + imgToPaint = imgData.bitmap; + } else { + const w = imgData.width; + const h = imgData.height; + const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h); + const tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData); + imgToPaint = this.applyTransferMapsToCanvas(tmpCtx); + } + for (const entry of map) { + ctx.save(); + ctx.transform(...entry.transform); + ctx.scale(1, -1); + drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1); + ctx.restore(); + } + this.compose(); + } + paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + this.ctx.fillRect(0, 0, 1, 1); + this.compose(); + } + markPoint(tag) {} + markPointProps(tag, properties) {} + beginMarkedContent(tag) { + this.markedContentStack.push({ + visible: true + }); + } + beginMarkedContentProps(tag, properties) { + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + this.contentVisible = this.isContentVisible(); + } + endMarkedContent() { + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + beginCompat() {} + endCompat() {} + consumePath(clipBox) { + const isEmpty = this.current.isEmptyClip(); + if (this.pendingClip) { + this.current.updateClipFromPath(); + } + if (!this.pendingClip) { + this.compose(clipBox); + } + const ctx = this.ctx; + if (this.pendingClip) { + if (!isEmpty) { + if (this.pendingClip === EO_CLIP) { + ctx.clip("evenodd"); + } else { + ctx.clip(); + } + } + this.pendingClip = null; + } + this.current.startNewPathAndClipBox(this.current.clipBox); + ctx.beginPath(); + } + getSinglePixelWidth() { + if (!this._cachedGetSinglePixelWidth) { + const m = (0, _display_utils.getCurrentTransform)(this.ctx); + if (m[1] === 0 && m[2] === 0) { + this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3])); + } else { + const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + const normX = Math.hypot(m[0], m[2]); + const normY = Math.hypot(m[1], m[3]); + this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet; + } + } + return this._cachedGetSinglePixelWidth; + } + getScaleForStroking() { + if (this._cachedScaleForStroking[0] === -1) { + const { + lineWidth + } = this.current; + const { + a, + b, + c, + d + } = this.ctx.getTransform(); + let scaleX, scaleY; + if (b === 0 && c === 0) { + const normX = Math.abs(a); + const normY = Math.abs(d); + if (normX === normY) { + if (lineWidth === 0) { + scaleX = scaleY = 1 / normX; + } else { + const scaledLineWidth = normX * lineWidth; + scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1; + } + } else if (lineWidth === 0) { + scaleX = 1 / normX; + scaleY = 1 / normY; + } else { + const scaledXLineWidth = normX * lineWidth; + const scaledYLineWidth = normY * lineWidth; + scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1; + scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1; + } + } else { + const absDet = Math.abs(a * d - b * c); + const normX = Math.hypot(a, b); + const normY = Math.hypot(c, d); + if (lineWidth === 0) { + scaleX = normY / absDet; + scaleY = normX / absDet; + } else { + const baseArea = lineWidth * absDet; + scaleX = normY > baseArea ? normY / baseArea : 1; + scaleY = normX > baseArea ? normX / baseArea : 1; + } + } + this._cachedScaleForStroking[0] = scaleX; + this._cachedScaleForStroking[1] = scaleY; + } + return this._cachedScaleForStroking; + } + rescaleAndStroke(saveRestore) { + const { + ctx + } = this; + const { + lineWidth + } = this.current; + const [scaleX, scaleY] = this.getScaleForStroking(); + ctx.lineWidth = lineWidth || 1; + if (scaleX === 1 && scaleY === 1) { + ctx.stroke(); + return; + } + const dashes = ctx.getLineDash(); + if (saveRestore) { + ctx.save(); + } + ctx.scale(scaleX, scaleY); + if (dashes.length > 0) { + const scale = Math.max(scaleX, scaleY); + ctx.setLineDash(dashes.map(x => x / scale)); + ctx.lineDashOffset /= scale; + } + ctx.stroke(); + if (saveRestore) { + ctx.restore(); + } + } + isContentVisible() { + for (let i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } + return true; + } +} +exports.CanvasGraphics = CanvasGraphics; +for (const op in _util.OPS) { + if (CanvasGraphics.prototype[op] !== undefined) { + CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; + } +} + +/***/ }), +/* 174 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TilingPattern = exports.PathType = void 0; +exports.getShadingPattern = getShadingPattern; +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +const PathType = { + FILL: "Fill", + STROKE: "Stroke", + SHADING: "Shading" +}; +exports.PathType = PathType; +function applyBoundingBox(ctx, bbox) { + if (!bbox) { + return; + } + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + const region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} +class BaseShadingPattern { + constructor() { + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } + } + getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); + } +} +class RadialAxialShadingPattern extends BaseShadingPattern { + constructor(IR) { + super(); + this._type = IR[1]; + this._bbox = IR[2]; + this._colorStops = IR[3]; + this._p0 = IR[4]; + this._p1 = IR[5]; + this._r0 = IR[6]; + this._r1 = IR[7]; + this.matrix = null; + } + _createGradient(ctx) { + let grad; + if (this._type === "axial") { + grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); + } else if (this._type === "radial") { + grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); + } + for (const colorStop of this._colorStops) { + grad.addColorStop(colorStop[0], colorStop[1]); + } + return grad; + } + getPattern(ctx, owner, inverse, pathType) { + let pattern; + if (pathType === PathType.STROKE || pathType === PathType.FILL) { + const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0]; + const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1; + const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1; + const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", width, height, true); + const tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]); + inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]); + tmpCtx.transform(...owner.baseTransform); + if (this.matrix) { + tmpCtx.transform(...this.matrix); + } + applyBoundingBox(tmpCtx, this._bbox); + tmpCtx.fillStyle = this._createGradient(tmpCtx); + tmpCtx.fill(); + pattern = ctx.createPattern(tmpCanvas.canvas, "no-repeat"); + const domMatrix = new DOMMatrix(inverse); + pattern.setTransform(domMatrix); + } else { + applyBoundingBox(ctx, this._bbox); + pattern = this._createGradient(ctx); + } + return pattern; + } +} +function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) { + const coords = context.coords, + colors = context.colors; + const bytes = data.data, + rowSize = data.width * 4; + let tmp; + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + const x1 = (coords[p1] + context.offsetX) * context.scaleX; + const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY; + const x2 = (coords[p2] + context.offsetX) * context.scaleX; + const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY; + const x3 = (coords[p3] + context.offsetX) * context.scaleX; + const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY; + if (y1 >= y3) { + return; + } + const c1r = colors[c1], + c1g = colors[c1 + 1], + c1b = colors[c1 + 2]; + const c2r = colors[c2], + c2g = colors[c2 + 1], + c2b = colors[c2 + 2]; + const c3r = colors[c3], + c3g = colors[c3 + 1], + c3b = colors[c3 + 2]; + const minY = Math.round(y1), + maxY = Math.round(y3); + let xa, car, cag, cab; + let xb, cbr, cbg, cbb; + for (let y = minY; y <= maxY; y++) { + if (y < y2) { + const k = y < y1 ? 0 : (y1 - y) / (y1 - y2); + xa = x1 - (x1 - x2) * k; + car = c1r - (c1r - c2r) * k; + cag = c1g - (c1g - c2g) * k; + cab = c1b - (c1b - c2b) * k; + } else { + let k; + if (y > y3) { + k = 1; + } else if (y2 === y3) { + k = 0; + } else { + k = (y2 - y) / (y2 - y3); + } + xa = x2 - (x2 - x3) * k; + car = c2r - (c2r - c3r) * k; + cag = c2g - (c2g - c3g) * k; + cab = c2b - (c2b - c3b) * k; + } + let k; + if (y < y1) { + k = 0; + } else if (y > y3) { + k = 1; + } else { + k = (y1 - y) / (y1 - y3); + } + xb = x1 - (x1 - x3) * k; + cbr = c1r - (c1r - c3r) * k; + cbg = c1g - (c1g - c3g) * k; + cbb = c1b - (c1b - c3b) * k; + const x1_ = Math.round(Math.min(xa, xb)); + const x2_ = Math.round(Math.max(xa, xb)); + let j = rowSize * y + x1_ * 4; + for (let x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} +function drawFigure(data, figure, context) { + const ps = figure.coords; + const cs = figure.colors; + let i, ii; + switch (figure.type) { + case "lattice": + const verticesPerRow = figure.verticesPerRow; + const rows = Math.floor(ps.length / verticesPerRow) - 1; + const cols = verticesPerRow - 1; + for (i = 0; i < rows; i++) { + let q = i * verticesPerRow; + for (let j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + break; + case "triangles": + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + break; + default: + throw new Error("illegal figure"); + } +} +class MeshShadingPattern extends BaseShadingPattern { + constructor(IR) { + super(); + this._coords = IR[2]; + this._colors = IR[3]; + this._figures = IR[4]; + this._bounds = IR[5]; + this._bbox = IR[7]; + this._background = IR[8]; + this.matrix = null; + } + _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + const EXPECTED_SCALE = 1.1; + const MAX_PATTERN_SIZE = 3000; + const BORDER_SIZE = 2; + const offsetX = Math.floor(this._bounds[0]); + const offsetY = Math.floor(this._bounds[1]); + const boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + const boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + const scaleX = boundsWidth / width; + const scaleY = boundsHeight / height; + const context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + const paddedWidth = width + BORDER_SIZE * 2; + const paddedHeight = height + BORDER_SIZE * 2; + const tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); + const tmpCtx = tmpCanvas.context; + const data = tmpCtx.createImageData(width, height); + if (backgroundColor) { + const bytes = data.data; + for (let i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + for (const figure of this._figures) { + drawFigure(data, figure, context); + } + tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); + const canvas = tmpCanvas.canvas; + return { + canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX, + scaleY + }; + } + getPattern(ctx, owner, inverse, pathType) { + applyBoundingBox(ctx, this._bbox); + let scale; + if (pathType === PathType.SHADING) { + scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx)); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); + if (this.matrix) { + const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; + } + } + const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases); + if (pathType !== PathType.SHADING) { + ctx.setTransform(...owner.baseTransform); + if (this.matrix) { + ctx.transform(...this.matrix); + } + } + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } +} +class DummyShadingPattern extends BaseShadingPattern { + getPattern() { + return "hotpink"; + } +} +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + case "Mesh": + return new MeshShadingPattern(IR); + case "Dummy": + return new DummyShadingPattern(); + } + throw new Error(`Unknown IR type: ${IR[0]}`); +} +const PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; +class TilingPattern { + static MAX_PATTERN_SIZE = 3000; + constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) { + this.operatorList = IR[2]; + this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; + this.bbox = IR[4]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.color = color; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + createPatternCanvas(owner) { + const operatorList = this.operatorList; + const bbox = this.bbox; + const xstep = this.xstep; + const ystep = this.ystep; + const paintType = this.paintType; + const tilingType = this.tilingType; + const color = this.color; + const canvasGraphicsFactory = this.canvasGraphicsFactory; + (0, _util.info)("TilingType: " + tilingType); + const x0 = bbox[0], + y0 = bbox[1], + x1 = bbox[2], + y1 = bbox[3]; + const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform); + const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]]; + const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]); + const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]); + const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true); + const tmpCtx = tmpCanvas.context; + const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx); + graphics.groupLevel = owner.groupLevel; + this.setFillAndStrokeStyleToContext(graphics, paintType, color); + let adjustedX0 = x0; + let adjustedY0 = y0; + let adjustedX1 = x1; + let adjustedY1 = y1; + if (x0 < 0) { + adjustedX0 = 0; + adjustedX1 += Math.abs(x0); + } + if (y0 < 0) { + adjustedY0 = 0; + adjustedY1 += Math.abs(y0); + } + tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0)); + graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); + tmpCtx.save(); + this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1); + graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx); + graphics.executeOperatorList(operatorList); + graphics.endDrawing(); + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + offsetX: adjustedX0, + offsetY: adjustedY0 + }; + } + getSizeAndScale(step, realOutputSize, scale) { + step = Math.abs(step); + const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + let size = Math.ceil(step * scale); + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + return { + scale, + size + }; + } + clipBbox(graphics, x0, y0, x1, y1) { + const bboxWidth = x1 - x0; + const bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]); + graphics.clip(); + graphics.endPath(); + } + setFillAndStrokeStyleToContext(graphics, paintType, color) { + const context = graphics.ctx, + current = graphics.current; + switch (paintType) { + case PaintType.COLORED: + const ctx = this.ctx; + context.fillStyle = ctx.fillStyle; + context.strokeStyle = ctx.strokeStyle; + current.fillColor = ctx.fillStyle; + current.strokeColor = ctx.strokeStyle; + break; + case PaintType.UNCOLORED: + const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); + context.fillStyle = cssColor; + context.strokeStyle = cssColor; + current.fillColor = cssColor; + current.strokeColor = cssColor; + break; + default: + throw new _util.FormatError(`Unsupported paint type: ${paintType}`); + } + } + getPattern(ctx, owner, inverse, pathType) { + let matrix = inverse; + if (pathType !== PathType.SHADING) { + matrix = _util.Util.transform(matrix, owner.baseTransform); + if (this.matrix) { + matrix = _util.Util.transform(matrix, this.matrix); + } + } + const temporaryPatternCanvas = this.createPatternCanvas(owner); + let domMatrix = new DOMMatrix(matrix); + domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + pattern.setTransform(domMatrix); + return pattern; + } +} +exports.TilingPattern = TilingPattern; + +/***/ }), +/* 175 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA; +exports.convertToRGBA = convertToRGBA; +exports.grayToRGBA = grayToRGBA; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +var _util = __w_pdfjs_require__(1); +function convertToRGBA(params) { + switch (params.kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + return convertBlackAndWhiteToRGBA(params); + case _util.ImageKind.RGB_24BPP: + return convertRGBToRGBA(params); + } + return null; +} +function convertBlackAndWhiteToRGBA(_ref) { + let { + src, + srcPos = 0, + dest, + width, + height, + nonBlackColor = 0xffffffff, + inverseDecode = false + } = _ref; + const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff; + const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor]; + const widthInSource = width >> 3; + const widthRemainder = width & 7; + const srcLength = src.length; + dest = new Uint32Array(dest.buffer); + let destPos = 0; + for (let i = 0; i < height; i++) { + for (const max = srcPos + widthInSource; srcPos < max; srcPos++) { + const elem = srcPos < srcLength ? src[srcPos] : 255; + dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping; + dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping; + } + if (widthRemainder === 0) { + continue; + } + const elem = srcPos < srcLength ? src[srcPos++] : 255; + for (let j = 0; j < widthRemainder; j++) { + dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping; + } + } + return { + srcPos, + destPos + }; +} +function convertRGBToRGBA(_ref2) { + let { + src, + srcPos = 0, + dest, + destPos = 0, + width, + height + } = _ref2; + let i = 0; + const len32 = src.length >> 2; + const src32 = new Uint32Array(src.buffer, srcPos, len32); + if (_util.FeatureTest.isLittleEndian) { + for (; i < len32 - 2; i += 3, destPos += 4) { + const s1 = src32[i]; + const s2 = src32[i + 1]; + const s3 = src32[i + 2]; + dest[destPos] = s1 | 0xff000000; + dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000; + dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000; + dest[destPos + 3] = s3 >>> 8 | 0xff000000; + } + for (let j = i * 4, jj = src.length; j < jj; j += 3) { + dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000; + } + } else { + for (; i < len32 - 2; i += 3, destPos += 4) { + const s1 = src32[i]; + const s2 = src32[i + 1]; + const s3 = src32[i + 2]; + dest[destPos] = s1 | 0xff; + dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff; + dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff; + dest[destPos + 3] = s3 << 8 | 0xff; + } + for (let j = i * 4, jj = src.length; j < jj; j += 3) { + dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff; + } + } + return { + srcPos, + destPos + }; +} +function grayToRGBA(src, dest) { + if (_util.FeatureTest.isLittleEndian) { + for (let i = 0, ii = src.length; i < ii; i++) { + dest[i] = src[i] * 0x10101 | 0xff000000; + } + } else { + for (let i = 0, ii = src.length; i < ii; i++) { + dest[i] = src[i] * 0x1010100 | 0x000000ff; + } + } +} + +/***/ }), +/* 176 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GlobalWorkerOptions = void 0; +const GlobalWorkerOptions = Object.create(null); +exports.GlobalWorkerOptions = GlobalWorkerOptions; +GlobalWorkerOptions.workerPort = null; +GlobalWorkerOptions.workerSrc = ""; + +/***/ }), +/* 177 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MessageHandler = void 0; +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +const CallbackKind = { + UNKNOWN: 0, + DATA: 1, + ERROR: 2 +}; +const StreamKind = { + UNKNOWN: 0, + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; +function wrapReason(reason) { + if (!(reason instanceof Error || typeof reason === "object" && reason !== null)) { + (0, _util.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'); + } + switch (reason.name) { + case "AbortException": + return new _util.AbortException(reason.message); + case "MissingPDFException": + return new _util.MissingPDFException(reason.message); + case "PasswordException": + return new _util.PasswordException(reason.message, reason.code); + case "UnexpectedResponseException": + return new _util.UnexpectedResponseException(reason.message, reason.status); + case "UnknownErrorException": + return new _util.UnknownErrorException(reason.message, reason.details); + default: + return new _util.UnknownErrorException(reason.message, reason.toString()); + } +} +class MessageHandler { + constructor(sourceName, targetName, comObj) { + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackId = 1; + this.streamId = 1; + this.streamSinks = Object.create(null); + this.streamControllers = Object.create(null); + this.callbackCapabilities = Object.create(null); + this.actionHandler = Object.create(null); + this._onComObjOnMessage = event => { + const data = event.data; + if (data.targetName !== this.sourceName) { + return; + } + if (data.stream) { + this.#processStreamMessage(data); + return; + } + if (data.callback) { + const callbackId = data.callbackId; + const capability = this.callbackCapabilities[callbackId]; + if (!capability) { + throw new Error(`Cannot resolve callback ${callbackId}`); + } + delete this.callbackCapabilities[callbackId]; + if (data.callback === CallbackKind.DATA) { + capability.resolve(data.data); + } else if (data.callback === CallbackKind.ERROR) { + capability.reject(wrapReason(data.reason)); + } else { + throw new Error("Unexpected callback case"); + } + return; + } + const action = this.actionHandler[data.action]; + if (!action) { + throw new Error(`Unknown action from worker: ${data.action}`); + } + if (data.callbackId) { + const cbSourceName = this.sourceName; + const cbTargetName = data.sourceName; + new Promise(function (resolve) { + resolve(action(data.data)); + }).then(function (result) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + if (data.streamId) { + this.#createStreamSink(data); + return; + } + action(data.data); + }; + comObj.addEventListener("message", this._onComObjOnMessage); + } + on(actionName, handler) { + const ah = this.actionHandler; + if (ah[actionName]) { + throw new Error(`There is already an actionName called "${actionName}"`); + } + ah[actionName] = handler; + } + send(actionName, data, transfers) { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data + }, transfers); + } + sendWithPromise(actionName, data, transfers) { + const callbackId = this.callbackId++; + const capability = new _util.PromiseCapability(); + this.callbackCapabilities[callbackId] = capability; + try { + this.comObj.postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId, + data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + return capability.promise; + } + sendWithStream(actionName, data, queueingStrategy, transfers) { + const streamId = this.streamId++, + sourceName = this.sourceName, + targetName = this.targetName, + comObj = this.comObj; + return new ReadableStream({ + start: controller => { + const startCapability = new _util.PromiseCapability(); + this.streamControllers[streamId] = { + controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + comObj.postMessage({ + sourceName, + targetName, + action: actionName, + streamId, + data, + desiredSize: controller.desiredSize + }, transfers); + return startCapability.promise; + }, + pull: controller => { + const pullCapability = new _util.PromiseCapability(); + this.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL, + streamId, + desiredSize: controller.desiredSize + }); + return pullCapability.promise; + }, + cancel: reason => { + (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason"); + const cancelCapability = new _util.PromiseCapability(); + this.streamControllers[streamId].cancelCall = cancelCapability; + this.streamControllers[streamId].isClosed = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL, + streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + #createStreamSink(data) { + const streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + const self = this, + action = this.actionHandler[data.action]; + const streamSink = { + enqueue(chunk) { + let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + let transfers = arguments.length > 2 ? arguments[2] : undefined; + if (this.isCancelled) { + return; + } + const lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = new _util.PromiseCapability(); + this.ready = this.sinkCapability.promise; + } + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.ENQUEUE, + streamId, + chunk + }, transfers); + }, + close() { + if (this.isCancelled) { + return; + } + this.isCancelled = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CLOSE, + streamId + }); + delete self.streamSinks[streamId]; + }, + error(reason) { + (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); + if (this.isCancelled) { + return; + } + this.isCancelled = true; + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.ERROR, + streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: new _util.PromiseCapability(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + new Promise(function (resolve) { + resolve(action(data.data, streamSink)); + }).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.START_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.START_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + } + #processStreamMessage(data) { + const streamId = data.streamId, + sourceName = this.sourceName, + targetName = data.sourceName, + comObj = this.comObj; + const streamController = this.streamControllers[streamId], + streamSink = this.streamSinks[streamId]; + switch (data.stream) { + case StreamKind.START_COMPLETE: + if (data.success) { + streamController.startCall.resolve(); + } else { + streamController.startCall.reject(wrapReason(data.reason)); + } + break; + case StreamKind.PULL_COMPLETE: + if (data.success) { + streamController.pullCall.resolve(); + } else { + streamController.pullCall.reject(wrapReason(data.reason)); + } + break; + case StreamKind.PULL: + if (!streamSink) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + success: true + }); + break; + } + if (streamSink.desiredSize <= 0 && data.desiredSize > 0) { + streamSink.sinkCapability.resolve(); + } + streamSink.desiredSize = data.desiredSize; + new Promise(function (resolve) { + resolve(streamSink.onPull?.()); + }).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.PULL_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + break; + case StreamKind.ENQUEUE: + (0, _util.assert)(streamController, "enqueue should have stream controller"); + if (streamController.isClosed) { + break; + } + streamController.controller.enqueue(data.chunk); + break; + case StreamKind.CLOSE: + (0, _util.assert)(streamController, "close should have stream controller"); + if (streamController.isClosed) { + break; + } + streamController.isClosed = true; + streamController.controller.close(); + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.ERROR: + (0, _util.assert)(streamController, "error should have stream controller"); + streamController.controller.error(wrapReason(data.reason)); + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + streamController.cancelCall.resolve(); + } else { + streamController.cancelCall.reject(wrapReason(data.reason)); + } + this.#deleteStreamController(streamController, streamId); + break; + case StreamKind.CANCEL: + if (!streamSink) { + break; + } + new Promise(function (resolve) { + resolve(streamSink.onCancel?.(wrapReason(data.reason))); + }).then(function () { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName, + targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId, + reason: wrapReason(reason) + }); + }); + streamSink.sinkCapability.reject(wrapReason(data.reason)); + streamSink.isCancelled = true; + delete this.streamSinks[streamId]; + break; + default: + throw new Error("Unexpected stream case"); + } + } + async #deleteStreamController(streamController, streamId) { + await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]); + delete this.streamControllers[streamId]; + } + destroy() { + this.comObj.removeEventListener("message", this._onComObjOnMessage); + } +} +exports.MessageHandler = MessageHandler; + +/***/ }), +/* 178 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Metadata = void 0; +var _util = __w_pdfjs_require__(1); +class Metadata { + #metadataMap; + #data; + constructor(_ref) { + let { + parsedData, + rawData + } = _ref; + this.#metadataMap = parsedData; + this.#data = rawData; + } + getRaw() { + return this.#data; + } + get(name) { + return this.#metadataMap.get(name) ?? null; + } + getAll() { + return (0, _util.objectFromMap)(this.#metadataMap); + } + has(name) { + return this.#metadataMap.has(name); + } +} +exports.Metadata = Metadata; + +/***/ }), +/* 179 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionalContentConfig = void 0; +var _util = __w_pdfjs_require__(1); +var _murmurhash = __w_pdfjs_require__(170); +const INTERNAL = Symbol("INTERNAL"); +class OptionalContentGroup { + #visible = true; + constructor(name, intent) { + this.name = name; + this.intent = intent; + } + get visible() { + return this.#visible; + } + _setVisible(internal, visible) { + if (internal !== INTERNAL) { + (0, _util.unreachable)("Internal method `_setVisible` called."); + } + this.#visible = visible; + } +} +class OptionalContentConfig { + #cachedGetHash = null; + #groups = new Map(); + #initialHash = null; + #order = null; + constructor(data) { + this.name = null; + this.creator = null; + if (data === null) { + return; + } + this.name = data.name; + this.creator = data.creator; + this.#order = data.order; + for (const group of data.groups) { + this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent)); + } + if (data.baseState === "OFF") { + for (const group of this.#groups.values()) { + group._setVisible(INTERNAL, false); + } + } + for (const on of data.on) { + this.#groups.get(on)._setVisible(INTERNAL, true); + } + for (const off of data.off) { + this.#groups.get(off)._setVisible(INTERNAL, false); + } + this.#initialHash = this.getHash(); + } + #evaluateVisibilityExpression(array) { + const length = array.length; + if (length < 2) { + return true; + } + const operator = array[0]; + for (let i = 1; i < length; i++) { + const element = array[i]; + let state; + if (Array.isArray(element)) { + state = this.#evaluateVisibilityExpression(element); + } else if (this.#groups.has(element)) { + state = this.#groups.get(element).visible; + } else { + (0, _util.warn)(`Optional content group not found: ${element}`); + return true; + } + switch (operator) { + case "And": + if (!state) { + return false; + } + break; + case "Or": + if (state) { + return true; + } + break; + case "Not": + return !state; + default: + return true; + } + } + return operator === "And"; + } + isVisible(group) { + if (this.#groups.size === 0) { + return true; + } + if (!group) { + (0, _util.warn)("Optional content group not defined."); + return true; + } + if (group.type === "OCG") { + if (!this.#groups.has(group.id)) { + (0, _util.warn)(`Optional content group not found: ${group.id}`); + return true; + } + return this.#groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this.#evaluateVisibilityExpression(group.expression); + } + if (!group.policy || group.policy === "AnyOn") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (this.#groups.get(id).visible) { + return true; + } + } + return false; + } else if (group.policy === "AllOn") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (!this.#groups.get(id).visible) { + return false; + } + } + return true; + } else if (group.policy === "AnyOff") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (!this.#groups.get(id).visible) { + return true; + } + } + return false; + } else if (group.policy === "AllOff") { + for (const id of group.ids) { + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return true; + } + if (this.#groups.get(id).visible) { + return false; + } + } + return true; + } + (0, _util.warn)(`Unknown optional content policy ${group.policy}.`); + return true; + } + (0, _util.warn)(`Unknown group type ${group.type}.`); + return true; + } + setVisibility(id) { + let visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + if (!this.#groups.has(id)) { + (0, _util.warn)(`Optional content group not found: ${id}`); + return; + } + this.#groups.get(id)._setVisible(INTERNAL, !!visible); + this.#cachedGetHash = null; + } + get hasInitialVisibility() { + return this.#initialHash === null || this.getHash() === this.#initialHash; + } + getOrder() { + if (!this.#groups.size) { + return null; + } + if (this.#order) { + return this.#order.slice(); + } + return [...this.#groups.keys()]; + } + getGroups() { + return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null; + } + getGroup(id) { + return this.#groups.get(id) || null; + } + getHash() { + if (this.#cachedGetHash !== null) { + return this.#cachedGetHash; + } + const hash = new _murmurhash.MurmurHash3_64(); + for (const [id, group] of this.#groups) { + hash.update(`${id}:${group.visible}`); + } + return this.#cachedGetHash = hash.hexdigest(); + } +} +exports.OptionalContentConfig = OptionalContentConfig; + +/***/ }), +/* 180 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDataTransportStream = void 0; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +class PDFDataTransportStream { + constructor(_ref, pdfDataRangeTransport) { + let { + length, + initialData, + progressiveDone = false, + contentDispositionFilename = null, + disableRange = false, + disableStream = false + } = _ref; + (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); + this._queuedChunks = []; + this._progressiveDone = progressiveDone; + this._contentDispositionFilename = contentDispositionFilename; + if (initialData?.length > 0) { + const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer; + this._queuedChunks.push(buffer); + } + this._pdfDataRangeTransport = pdfDataRangeTransport; + this._isStreamingSupported = !disableStream; + this._isRangeSupported = !disableRange; + this._contentLength = length; + this._fullRequestReader = null; + this._rangeReaders = []; + this._pdfDataRangeTransport.addRangeListener((begin, chunk) => { + this._onReceiveData({ + begin, + chunk + }); + }); + this._pdfDataRangeTransport.addProgressListener((loaded, total) => { + this._onProgress({ + loaded, + total + }); + }); + this._pdfDataRangeTransport.addProgressiveReadListener(chunk => { + this._onReceiveData({ + chunk + }); + }); + this._pdfDataRangeTransport.addProgressiveDoneListener(() => { + this._onProgressiveDone(); + }); + this._pdfDataRangeTransport.transportReady(); + } + _onReceiveData(_ref2) { + let { + begin, + chunk + } = _ref2; + const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer; + if (begin === undefined) { + if (this._fullRequestReader) { + this._fullRequestReader._enqueue(buffer); + } else { + this._queuedChunks.push(buffer); + } + } else { + const found = this._rangeReaders.some(function (rangeReader) { + if (rangeReader._begin !== begin) { + return false; + } + rangeReader._enqueue(buffer); + return true; + }); + (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); + } + } + get _progressiveDataLength() { + return this._fullRequestReader?._loaded ?? 0; + } + _onProgress(evt) { + if (evt.total === undefined) { + this._rangeReaders[0]?.onProgress?.({ + loaded: evt.loaded + }); + } else { + this._fullRequestReader?.onProgress?.({ + loaded: evt.loaded, + total: evt.total + }); + } + } + _onProgressiveDone() { + this._fullRequestReader?.progressiveDone(); + this._progressiveDone = true; + } + _removeRangeReader(reader) { + const i = this._rangeReaders.indexOf(reader); + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); + const queuedChunks = this._queuedChunks; + this._queuedChunks = null; + return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); + } + getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const reader = new PDFDataTransportStreamRangeReader(this, begin, end); + this._pdfDataRangeTransport.requestDataRange(begin, end); + this._rangeReaders.push(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeReaders.slice(0)) { + reader.cancel(reason); + } + this._pdfDataRangeTransport.abort(); + } +} +exports.PDFDataTransportStream = PDFDataTransportStream; +class PDFDataTransportStreamReader { + constructor(stream, queuedChunks) { + let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + this._stream = stream; + this._done = progressiveDone || false; + this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; + this._queuedChunks = queuedChunks || []; + this._loaded = 0; + for (const chunk of this._queuedChunks) { + this._loaded += chunk.byteLength; + } + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + this.onProgress = null; + } + _enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length > 0) { + const requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunks.push(chunk); + } + this._loaded += chunk.byteLength; + } + get headersReady() { + return this._headersReady; + } + get filename() { + return this._filename; + } + get isRangeSupported() { + return this._stream._isRangeSupported; + } + get isStreamingSupported() { + return this._stream._isStreamingSupported; + } + get contentLength() { + return this._stream._contentLength; + } + async read() { + if (this._queuedChunks.length > 0) { + const chunk = this._queuedChunks.shift(); + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + } + progressiveDone() { + if (this._done) { + return; + } + this._done = true; + } +} +class PDFDataTransportStreamRangeReader { + constructor(stream, begin, end) { + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + this.onProgress = null; + } + _enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + const requestsCapability = this._requests.shift(); + requestsCapability.resolve({ + value: chunk, + done: false + }); + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + } + this._done = true; + this._stream._removeRangeReader(this); + } + get isStreamingSupported() { + return false; + } + async read() { + if (this._queuedChunk) { + const chunk = this._queuedChunk; + this._queuedChunk = null; + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + this._stream._removeRangeReader(this); + } +} + +/***/ }), +/* 181 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFetchStream = void 0; +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _network_utils = __w_pdfjs_require__(182); +; +function createFetchOptions(headers, withCredentials, abortController) { + return { + method: "GET", + headers, + signal: abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }; +} +function createHeaders(httpHeaders) { + const headers = new Headers(); + for (const property in httpHeaders) { + const value = httpHeaders[property]; + if (value === undefined) { + continue; + } + headers.append(property, value); + } + return headers; +} +function getArrayBuffer(val) { + if (val instanceof Uint8Array) { + return val.buffer; + } + if (val instanceof ArrayBuffer) { + return val; + } + (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`); + return new Uint8Array(val).buffer; +} +class PDFFetchStream { + constructor(source) { + this.source = source; + this.isHttp = /^https?:/i.test(source.url); + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + get _progressiveDataLength() { + return this._fullRequestReader?._loaded ?? 0; + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFFetchStreamReader(this); + return this._fullRequestReader; + } + getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const reader = new PDFFetchStreamRangeReader(this, begin, end); + this._rangeRequestReaders.push(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeRequestReaders.slice(0)) { + reader.cancel(reason); + } + } +} +exports.PDFFetchStream = PDFFetchStream; +class PDFFetchStreamReader { + constructor(stream) { + this._stream = stream; + this._reader = null; + this._loaded = 0; + this._filename = null; + const source = stream.source; + this._withCredentials = source.withCredentials || false; + this._contentLength = source.length; + this._headersCapability = new _util.PromiseCapability(); + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._abortController = new AbortController(); + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._headers = createHeaders(this._stream.httpHeaders); + const url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + this._reader = response.body.getReader(); + this._headersCapability.resolve(); + const getResponseHeader = name => { + return response.headers.get(name); + }; + const { + allowRangeRequests, + suggestedLength + } = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader, + isHttp: this._stream.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }); + this._isRangeSupported = allowRangeRequests; + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + if (!this._isStreamingSupported && this._isRangeSupported) { + this.cancel(new _util.AbortException("Streaming is disabled.")); + } + }).catch(this._headersCapability.reject); + this.onProgress = null; + } + get headersReady() { + return this._headersCapability.promise; + } + get filename() { + return this._filename; + } + get contentLength() { + return this._contentLength; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._headersCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + this._loaded += value.byteLength; + this.onProgress?.({ + loaded: this._loaded, + total: this._contentLength + }); + return { + value: getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + this._abortController.abort(); + } +} +class PDFFetchStreamRangeReader { + constructor(stream, begin, end) { + this._stream = stream; + this._reader = null; + this._loaded = 0; + const source = stream.source; + this._withCredentials = source.withCredentials || false; + this._readCapability = new _util.PromiseCapability(); + this._isStreamingSupported = !source.disableStream; + this._abortController = new AbortController(); + this._headers = createHeaders(this._stream.httpHeaders); + this._headers.append("Range", `bytes=${begin}-${end - 1}`); + const url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + this._readCapability.resolve(); + this._reader = response.body.getReader(); + }).catch(this._readCapability.reject); + this.onProgress = null; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._readCapability.promise; + const { + value, + done + } = await this._reader.read(); + if (done) { + return { + value, + done + }; + } + this._loaded += value.byteLength; + this.onProgress?.({ + loaded: this._loaded + }); + return { + value: getArrayBuffer(value), + done: false + }; + } + cancel(reason) { + this._reader?.cancel(reason); + this._abortController.abort(); + } +} + +/***/ }), +/* 182 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createResponseStatusError = createResponseStatusError; +exports.extractFilenameFromHeader = extractFilenameFromHeader; +exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; +exports.validateResponseStatus = validateResponseStatus; +var _util = __w_pdfjs_require__(1); +var _content_disposition = __w_pdfjs_require__(183); +var _display_utils = __w_pdfjs_require__(168); +function validateRangeRequestCapabilities(_ref) { + let { + getResponseHeader, + isHttp, + rangeChunkSize, + disableRange + } = _ref; + const returnValues = { + allowRangeRequests: false, + suggestedLength: undefined + }; + const length = parseInt(getResponseHeader("Content-Length"), 10); + if (!Number.isInteger(length)) { + return returnValues; + } + returnValues.suggestedLength = length; + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + if (disableRange || !isHttp) { + return returnValues; + } + if (getResponseHeader("Accept-Ranges") !== "bytes") { + return returnValues; + } + const contentEncoding = getResponseHeader("Content-Encoding") || "identity"; + if (contentEncoding !== "identity") { + return returnValues; + } + returnValues.allowRangeRequests = true; + return returnValues; +} +function extractFilenameFromHeader(getResponseHeader) { + const contentDisposition = getResponseHeader("Content-Disposition"); + if (contentDisposition) { + let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch {} + } + if ((0, _display_utils.isPdfFile)(filename)) { + return filename; + } + } + return null; +} +function createResponseStatusError(status, url) { + if (status === 404 || status === 0 && url.startsWith("file:")) { + return new _util.MissingPDFException('Missing PDF "' + url + '".'); + } + return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF "${url}".`, status); +} +function validateResponseStatus(status) { + return status === 200 || status === 206; +} + +/***/ }), +/* 183 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; +__w_pdfjs_require__(89); +__w_pdfjs_require__(149); +var _util = __w_pdfjs_require__(1); +function getFilenameFromContentDispositionHeader(contentDisposition) { + let needsEncodingFixup = true; + let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition); + if (tmp) { + tmp = tmp[1]; + let filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + tmp = rfc2231getparam(contentDisposition); + if (tmp) { + const filename = rfc2047decode(tmp); + return fixupEncoding(filename); + } + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + if (tmp) { + tmp = tmp[1]; + let filename = rfc2616unquote(tmp); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + try { + const decoder = new TextDecoder(encoding, { + fatal: true + }); + const buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch {} + } + return value; + } + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + return value; + } + function rfc2231getparam(contentDispositionStr) { + const matches = []; + let match; + const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + while ((match = iter.exec(contentDispositionStr)) !== null) { + let [, n, quot, part] = match; + n = parseInt(n, 10); + if (n in matches) { + if (n === 0) { + break; + } + continue; + } + matches[n] = [quot, part]; + } + const parts = []; + for (let n = 0; n < matches.length; ++n) { + if (!(n in matches)) { + break; + } + let [quot, part] = matches[n]; + part = rfc2616unquote(part); + if (quot) { + part = unescape(part); + if (n === 0) { + part = rfc5987decode(part); + } + } + parts.push(part); + } + return parts.join(""); + } + function rfc2616unquote(value) { + if (value.startsWith('"')) { + const parts = value.slice(1).split('\\"'); + for (let i = 0; i < parts.length; ++i) { + const quotindex = parts[i].indexOf('"'); + if (quotindex !== -1) { + parts[i] = parts[i].slice(0, quotindex); + parts.length = i + 1; + } + parts[i] = parts[i].replaceAll(/\\(.)/g, "$1"); + } + value = parts.join('"'); + } + return value; + } + function rfc5987decode(extvalue) { + const encodingend = extvalue.indexOf("'"); + if (encodingend === -1) { + return extvalue; + } + const encoding = extvalue.slice(0, encodingend); + const langvalue = extvalue.slice(encodingend + 1); + const value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + return value.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) { + if (encoding === "q" || encoding === "Q") { + text = text.replaceAll("_", " "); + text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) { + return String.fromCharCode(parseInt(hex, 16)); + }); + return textdecode(charset, text); + } + try { + text = atob(text); + } catch {} + return textdecode(charset, text); + }); + } + return ""; +} + +/***/ }), +/* 184 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNetworkStream = void 0; +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _network_utils = __w_pdfjs_require__(182); +; +const OK_RESPONSE = 200; +const PARTIAL_CONTENT_RESPONSE = 206; +function getArrayBuffer(xhr) { + const data = xhr.response; + if (typeof data !== "string") { + return data; + } + return (0, _util.stringToBytes)(data).buffer; +} +class NetworkManager { + constructor(url) { + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.url = url; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null); + this.withCredentials = args.withCredentials || false; + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + } + requestRange(begin, end, listeners) { + const args = { + begin, + end + }; + for (const prop in listeners) { + args[prop] = listeners[prop]; + } + return this.request(args); + } + requestFull(listeners) { + return this.request(listeners); + } + request(args) { + const xhr = new XMLHttpRequest(); + const xhrId = this.currXhrId++; + const pendingRequest = this.pendingRequests[xhrId] = { + xhr + }; + xhr.open("GET", this.url); + xhr.withCredentials = this.withCredentials; + for (const property in this.httpHeaders) { + const value = this.httpHeaders[property]; + if (value === undefined) { + continue; + } + xhr.setRequestHeader(property, value); + } + if (this.isHttp && "begin" in args && "end" in args) { + xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`); + pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE; + } else { + pendingRequest.expectedStatus = OK_RESPONSE; + } + xhr.responseType = "arraybuffer"; + if (args.onError) { + xhr.onerror = function (evt) { + args.onError(xhr.status); + }; + } + xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); + xhr.onprogress = this.onProgress.bind(this, xhrId); + pendingRequest.onHeadersReceived = args.onHeadersReceived; + pendingRequest.onDone = args.onDone; + pendingRequest.onError = args.onError; + pendingRequest.onProgress = args.onProgress; + xhr.send(null); + return xhrId; + } + onProgress(xhrId, evt) { + const pendingRequest = this.pendingRequests[xhrId]; + if (!pendingRequest) { + return; + } + pendingRequest.onProgress?.(evt); + } + onStateChange(xhrId, evt) { + const pendingRequest = this.pendingRequests[xhrId]; + if (!pendingRequest) { + return; + } + const xhr = pendingRequest.xhr; + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + if (xhr.readyState !== 4) { + return; + } + if (!(xhrId in this.pendingRequests)) { + return; + } + delete this.pendingRequests[xhrId]; + if (xhr.status === 0 && this.isHttp) { + pendingRequest.onError?.(xhr.status); + return; + } + const xhrStatus = xhr.status || OK_RESPONSE; + const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; + if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { + pendingRequest.onError?.(xhr.status); + return; + } + const chunk = getArrayBuffer(xhr); + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + const rangeHeader = xhr.getResponseHeader("Content-Range"); + const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); + pendingRequest.onDone({ + begin: parseInt(matches[1], 10), + chunk + }); + } else if (chunk) { + pendingRequest.onDone({ + begin: 0, + chunk + }); + } else { + pendingRequest.onError?.(xhr.status); + } + } + getRequestXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + } + isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + } + abortRequest(xhrId) { + const xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } +} +class PDFNetworkStream { + constructor(source) { + this._source = source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + _onRangeRequestReaderClosed(reader) { + const i = this._rangeRequestReaders.indexOf(reader); + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); + return this._fullRequestReader; + } + getRangeReader(begin, end) { + const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); + reader.onClosed = this._onRangeRequestReaderClosed.bind(this); + this._rangeRequestReaders.push(reader); + return reader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeRequestReaders.slice(0)) { + reader.cancel(reason); + } + } +} +exports.PDFNetworkStream = PDFNetworkStream; +class PDFNetworkStreamFullRequestReader { + constructor(manager, source) { + this._manager = manager; + const args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = new _util.PromiseCapability(); + this._disableRange = source.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this._filename = null; + this.onProgress = null; + } + _onHeadersReceived() { + const fullRequestXhrId = this._fullRequestId; + const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); + const getResponseHeader = name => { + return fullRequestXhr.getResponseHeader(name); + }; + const { + allowRangeRequests, + suggestedLength + } = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader, + isHttp: this._manager.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }); + if (allowRangeRequests) { + this._isRangeSupported = true; + } + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + if (this._isRangeSupported) { + this._manager.abortRequest(fullRequestXhrId); + } + this._headersReceivedCapability.resolve(); + } + _onDone(data) { + if (data) { + if (this._requests.length > 0) { + const requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: data.chunk, + done: false + }); + } else { + this._cachedChunks.push(data.chunk); + } + } + this._done = true; + if (this._cachedChunks.length > 0) { + return; + } + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + } + _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + this._headersReceivedCapability.reject(this._storedError); + for (const requestCapability of this._requests) { + requestCapability.reject(this._storedError); + } + this._requests.length = 0; + this._cachedChunks.length = 0; + } + _onProgress(evt) { + this.onProgress?.({ + loaded: evt.loaded, + total: evt.lengthComputable ? evt.total : this._contentLength + }); + } + get filename() { + return this._filename; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + get contentLength() { + return this._contentLength; + } + get headersReady() { + return this._headersReceivedCapability.promise; + } + async read() { + if (this._storedError) { + throw this._storedError; + } + if (this._cachedChunks.length > 0) { + const chunk = this._cachedChunks.shift(); + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + this._headersReceivedCapability.reject(reason); + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + if (this._manager.isPendingRequest(this._fullRequestId)) { + this._manager.abortRequest(this._fullRequestId); + } + this._fullRequestReader = null; + } +} +class PDFNetworkStreamRangeRequestReader { + constructor(manager, begin, end) { + this._manager = manager; + const args = { + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = manager.url; + this._requestId = manager.requestRange(begin, end, args); + this._requests = []; + this._queuedChunk = null; + this._done = false; + this._storedError = undefined; + this.onProgress = null; + this.onClosed = null; + } + _close() { + this.onClosed?.(this); + } + _onDone(data) { + const chunk = data.chunk; + if (this._requests.length > 0) { + const requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + this._close(); + } + _onError(status) { + this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url); + for (const requestCapability of this._requests) { + requestCapability.reject(this._storedError); + } + this._requests.length = 0; + this._queuedChunk = null; + } + _onProgress(evt) { + if (!this.isStreamingSupported) { + this.onProgress?.({ + loaded: evt.loaded + }); + } + } + get isStreamingSupported() { + return false; + } + async read() { + if (this._storedError) { + throw this._storedError; + } + if (this._queuedChunk !== null) { + const chunk = this._queuedChunk; + this._queuedChunk = null; + return { + value: chunk, + done: false + }; + } + if (this._done) { + return { + value: undefined, + done: true + }; + } + const requestCapability = new _util.PromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + } + cancel(reason) { + this._done = true; + for (const requestCapability of this._requests) { + requestCapability.resolve({ + value: undefined, + done: true + }); + } + this._requests.length = 0; + if (this._manager.isPendingRequest(this._requestId)) { + this._manager.abortRequest(this._requestId); + } + this._close(); + } +} + +/***/ }), +/* 185 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNodeStream = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +var _util = __w_pdfjs_require__(1); +var _network_utils = __w_pdfjs_require__(182); +; +const fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; +function parseUrl(sourceUrl) { + const url = require("url"); + const parsedUrl = url.parse(sourceUrl); + if (parsedUrl.protocol === "file:" || parsedUrl.host) { + return parsedUrl; + } + if (/^[a-z]:[/\\]/i.test(sourceUrl)) { + return url.parse(`file:///${sourceUrl}`); + } + if (!parsedUrl.host) { + parsedUrl.protocol = "file:"; + } + return parsedUrl; +} +class PDFNodeStream { + constructor(source) { + this.source = source; + this.url = parseUrl(source.url); + this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; + this.isFsUrl = this.url.protocol === "file:"; + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + get _progressiveDataLength() { + return this._fullRequestReader?._loaded ?? 0; + } + getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once."); + this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this); + return this._fullRequestReader; + } + getRangeReader(start, end) { + if (end <= this._progressiveDataLength) { + return null; + } + const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end); + this._rangeRequestReaders.push(rangeReader); + return rangeReader; + } + cancelAllRequests(reason) { + this._fullRequestReader?.cancel(reason); + for (const reader of this._rangeRequestReaders.slice(0)) { + reader.cancel(reason); + } + } +} +exports.PDFNodeStream = PDFNodeStream; +class BaseFullReader { + constructor(stream) { + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + const source = stream.source; + this._contentLength = source.length; + this._loaded = 0; + this._filename = null; + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._readableStream = null; + this._readCapability = new _util.PromiseCapability(); + this._headersCapability = new _util.PromiseCapability(); + } + get headersReady() { + return this._headersCapability.promise; + } + get filename() { + return this._filename; + } + get contentLength() { + return this._contentLength; + } + get isRangeSupported() { + return this._isRangeSupported; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._readCapability.promise; + if (this._done) { + return { + value: undefined, + done: true + }; + } + if (this._storedError) { + throw this._storedError; + } + const chunk = this._readableStream.read(); + if (chunk === null) { + this._readCapability = new _util.PromiseCapability(); + return this.read(); + } + this._loaded += chunk.length; + this.onProgress?.({ + loaded: this._loaded, + total: this._contentLength + }); + const buffer = new Uint8Array(chunk).buffer; + return { + value: buffer, + done: false + }; + } + cancel(reason) { + if (!this._readableStream) { + this._error(reason); + return; + } + this._readableStream.destroy(reason); + } + _error(reason) { + this._storedError = reason; + this._readCapability.resolve(); + } + _setReadableStream(readableStream) { + this._readableStream = readableStream; + readableStream.on("readable", () => { + this._readCapability.resolve(); + }); + readableStream.on("end", () => { + readableStream.destroy(); + this._done = true; + this._readCapability.resolve(); + }); + readableStream.on("error", reason => { + this._error(reason); + }); + if (!this._isStreamingSupported && this._isRangeSupported) { + this._error(new _util.AbortException("streaming is disabled")); + } + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } +} +class BaseRangeReader { + constructor(stream) { + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + this._loaded = 0; + this._readableStream = null; + this._readCapability = new _util.PromiseCapability(); + const source = stream.source; + this._isStreamingSupported = !source.disableStream; + } + get isStreamingSupported() { + return this._isStreamingSupported; + } + async read() { + await this._readCapability.promise; + if (this._done) { + return { + value: undefined, + done: true + }; + } + if (this._storedError) { + throw this._storedError; + } + const chunk = this._readableStream.read(); + if (chunk === null) { + this._readCapability = new _util.PromiseCapability(); + return this.read(); + } + this._loaded += chunk.length; + this.onProgress?.({ + loaded: this._loaded + }); + const buffer = new Uint8Array(chunk).buffer; + return { + value: buffer, + done: false + }; + } + cancel(reason) { + if (!this._readableStream) { + this._error(reason); + return; + } + this._readableStream.destroy(reason); + } + _error(reason) { + this._storedError = reason; + this._readCapability.resolve(); + } + _setReadableStream(readableStream) { + this._readableStream = readableStream; + readableStream.on("readable", () => { + this._readCapability.resolve(); + }); + readableStream.on("end", () => { + readableStream.destroy(); + this._done = true; + this._readCapability.resolve(); + }); + readableStream.on("error", reason => { + this._error(reason); + }); + if (this._storedError) { + this._readableStream.destroy(this._storedError); + } + } +} +function createRequestOptions(parsedUrl, headers) { + return { + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, + method: "GET", + headers + }; +} +class PDFNodeStreamFullReader extends BaseFullReader { + constructor(stream) { + super(stream); + const handleResponse = response => { + if (response.statusCode === 404) { + const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`); + this._storedError = error; + this._headersCapability.reject(error); + return; + } + this._headersCapability.resolve(); + this._setReadableStream(response); + const getResponseHeader = name => { + return this._readableStream.headers[name.toLowerCase()]; + }; + const { + allowRangeRequests, + suggestedLength + } = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader, + isHttp: stream.isHttp, + rangeChunkSize: this._rangeChunkSize, + disableRange: this._disableRange + }); + this._isRangeSupported = allowRangeRequests; + this._contentLength = suggestedLength || this._contentLength; + this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + }; + this._request = null; + if (this._url.protocol === "http:") { + const http = require("http"); + this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse); + } else { + const https = require("https"); + this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse); + } + this._request.on("error", reason => { + this._storedError = reason; + this._headersCapability.reject(reason); + }); + this._request.end(); + } +} +class PDFNodeStreamRangeReader extends BaseRangeReader { + constructor(stream, start, end) { + super(stream); + this._httpHeaders = {}; + for (const property in stream.httpHeaders) { + const value = stream.httpHeaders[property]; + if (value === undefined) { + continue; + } + this._httpHeaders[property] = value; + } + this._httpHeaders.Range = `bytes=${start}-${end - 1}`; + const handleResponse = response => { + if (response.statusCode === 404) { + const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`); + this._storedError = error; + return; + } + this._setReadableStream(response); + }; + this._request = null; + if (this._url.protocol === "http:") { + const http = require("http"); + this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse); + } else { + const https = require("https"); + this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse); + } + this._request.on("error", reason => { + this._storedError = reason; + }); + this._request.end(); + } +} +class PDFNodeStreamFsFullReader extends BaseFullReader { + constructor(stream) { + super(stream); + let path = decodeURIComponent(this._url.path); + if (fileUriRegex.test(this._url.href)) { + path = path.replace(/^\//, ""); + } + const fs = require("fs"); + fs.lstat(path, (error, stat) => { + if (error) { + if (error.code === "ENOENT") { + error = new _util.MissingPDFException(`Missing PDF "${path}".`); + } + this._storedError = error; + this._headersCapability.reject(error); + return; + } + this._contentLength = stat.size; + this._setReadableStream(fs.createReadStream(path)); + this._headersCapability.resolve(); + }); + } +} +class PDFNodeStreamFsRangeReader extends BaseRangeReader { + constructor(stream, start, end) { + super(stream); + let path = decodeURIComponent(this._url.path); + if (fileUriRegex.test(this._url.href)) { + path = path.replace(/^\//, ""); + } + const fs = require("fs"); + this._setReadableStream(fs.createReadStream(path, { + start, + end: end - 1 + })); + } +} + +/***/ }), +/* 186 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SVGGraphics = void 0; +__w_pdfjs_require__(84); +__w_pdfjs_require__(86); +__w_pdfjs_require__(87); +__w_pdfjs_require__(93); +__w_pdfjs_require__(101); +__w_pdfjs_require__(102); +__w_pdfjs_require__(105); +__w_pdfjs_require__(107); +__w_pdfjs_require__(109); +__w_pdfjs_require__(113); +__w_pdfjs_require__(116); +__w_pdfjs_require__(123); +__w_pdfjs_require__(2); +__w_pdfjs_require__(89); +__w_pdfjs_require__(187); +var _display_utils = __w_pdfjs_require__(168); +var _util = __w_pdfjs_require__(1); +; +const SVG_DEFAULTS = { + fontStyle: "normal", + fontWeight: "normal", + fillColor: "#000000" +}; +const XML_NS = "http://www.w3.org/XML/1998/namespace"; +const XLINK_NS = "http://www.w3.org/1999/xlink"; +const LINE_CAP_STYLES = ["butt", "round", "square"]; +const LINE_JOIN_STYLES = ["miter", "round", "bevel"]; +const createObjectURL = function (data) { + let contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (URL.createObjectURL && typeof Blob !== "undefined" && !forceDataSchema) { + return URL.createObjectURL(new Blob([data], { + type: contentType + })); + } + const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + let buffer = `data:${contentType};base64,`; + for (let i = 0, ii = data.length; i < ii; i += 3) { + const b1 = data[i] & 0xff; + const b2 = data[i + 1] & 0xff; + const b3 = data[i + 2] & 0xff; + const d1 = b1 >> 2, + d2 = (b1 & 3) << 4 | b2 >> 4; + const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64; + const d4 = i + 2 < ii ? b3 & 0x3f : 64; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + return buffer; +}; +const convertImgDataToPng = function () { + const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); + const CHUNK_WRAPPER_SIZE = 12; + const crcTable = new Int32Array(256); + for (let i = 0; i < 256; i++) { + let c = i; + for (let h = 0; h < 8; h++) { + c = c & 1 ? 0xedb88320 ^ c >> 1 & 0x7fffffff : c >> 1 & 0x7fffffff; + } + crcTable[i] = c; + } + function crc32(data, start, end) { + let crc = -1; + for (let i = start; i < end; i++) { + const a = (crc ^ data[i]) & 0xff; + const b = crcTable[a]; + crc = crc >>> 8 ^ b; + } + return crc ^ -1; + } + function writePngChunk(type, body, data, offset) { + let p = offset; + const len = body.length; + data[p] = len >> 24 & 0xff; + data[p + 1] = len >> 16 & 0xff; + data[p + 2] = len >> 8 & 0xff; + data[p + 3] = len & 0xff; + p += 4; + data[p] = type.charCodeAt(0) & 0xff; + data[p + 1] = type.charCodeAt(1) & 0xff; + data[p + 2] = type.charCodeAt(2) & 0xff; + data[p + 3] = type.charCodeAt(3) & 0xff; + p += 4; + data.set(body, p); + p += body.length; + const crc = crc32(data, offset + 4, p); + data[p] = crc >> 24 & 0xff; + data[p + 1] = crc >> 16 & 0xff; + data[p + 2] = crc >> 8 & 0xff; + data[p + 3] = crc & 0xff; + } + function adler32(data, start, end) { + let a = 1; + let b = 0; + for (let i = start; i < end; ++i) { + a = (a + (data[i] & 0xff)) % 65521; + b = (b + a) % 65521; + } + return b << 16 | a; + } + function deflateSync(literals) { + if (!_util.isNodeJS) { + return deflateSyncUncompressed(literals); + } + try { + const input = parseInt(process.versions.node) >= 8 ? literals : Buffer.from(literals); + const output = require("zlib").deflateSync(input, { + level: 9 + }); + return output instanceof Uint8Array ? output : new Uint8Array(output); + } catch (e) { + (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); + } + return deflateSyncUncompressed(literals); + } + function deflateSyncUncompressed(literals) { + let len = literals.length; + const maxBlockLength = 0xffff; + const deflateBlocks = Math.ceil(len / maxBlockLength); + const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4); + let pi = 0; + idat[pi++] = 0x78; + idat[pi++] = 0x9c; + let pos = 0; + while (len > maxBlockLength) { + idat[pi++] = 0x00; + idat[pi++] = 0xff; + idat[pi++] = 0xff; + idat[pi++] = 0x00; + idat[pi++] = 0x00; + idat.set(literals.subarray(pos, pos + maxBlockLength), pi); + pi += maxBlockLength; + pos += maxBlockLength; + len -= maxBlockLength; + } + idat[pi++] = 0x01; + idat[pi++] = len & 0xff; + idat[pi++] = len >> 8 & 0xff; + idat[pi++] = ~len & 0xffff & 0xff; + idat[pi++] = (~len & 0xffff) >> 8 & 0xff; + idat.set(literals.subarray(pos), pi); + pi += literals.length - pos; + const adler = adler32(literals, 0, literals.length); + idat[pi++] = adler >> 24 & 0xff; + idat[pi++] = adler >> 16 & 0xff; + idat[pi++] = adler >> 8 & 0xff; + idat[pi++] = adler & 0xff; + return idat; + } + function encode(imgData, kind, forceDataSchema, isMask) { + const width = imgData.width; + const height = imgData.height; + let bitDepth, colorType, lineSize; + const bytes = imgData.data; + switch (kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + colorType = 0; + bitDepth = 1; + lineSize = width + 7 >> 3; + break; + case _util.ImageKind.RGB_24BPP: + colorType = 2; + bitDepth = 8; + lineSize = width * 3; + break; + case _util.ImageKind.RGBA_32BPP: + colorType = 6; + bitDepth = 8; + lineSize = width * 4; + break; + default: + throw new Error("invalid format"); + } + const literals = new Uint8Array((1 + lineSize) * height); + let offsetLiterals = 0, + offsetBytes = 0; + for (let y = 0; y < height; ++y) { + literals[offsetLiterals++] = 0; + literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); + offsetBytes += lineSize; + offsetLiterals += lineSize; + } + if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { + offsetLiterals = 0; + for (let y = 0; y < height; y++) { + offsetLiterals++; + for (let i = 0; i < lineSize; i++) { + literals[offsetLiterals++] ^= 0xff; + } + } + } + const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]); + const idat = deflateSync(literals); + const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length; + const data = new Uint8Array(pngLength); + let offset = 0; + data.set(PNG_HEADER, offset); + offset += PNG_HEADER.length; + writePngChunk("IHDR", ihdr, data, offset); + offset += CHUNK_WRAPPER_SIZE + ihdr.length; + writePngChunk("IDATA", idat, data, offset); + offset += CHUNK_WRAPPER_SIZE + idat.length; + writePngChunk("IEND", new Uint8Array(0), data, offset); + return createObjectURL(data, "image/png", forceDataSchema); + } + return function convertImgDataToPng(imgData, forceDataSchema, isMask) { + const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind; + return encode(imgData, kind, forceDataSchema, isMask); + }; +}(); +class SVGExtraState { + constructor() { + this.fontSizeScale = 1; + this.fontWeight = SVG_DEFAULTS.fontWeight; + this.fontSize = 0; + this.textMatrix = _util.IDENTITY_MATRIX; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textMatrixScale = 1; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRise = 0; + this.fillColor = SVG_DEFAULTS.fillColor; + this.strokeColor = "#000000"; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.lineJoin = ""; + this.lineCap = ""; + this.miterLimit = 0; + this.dashArray = []; + this.dashPhase = 0; + this.dependencies = []; + this.activeClipUrl = null; + this.clipGroup = null; + this.maskId = ""; + } + clone() { + return Object.create(this); + } + setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } +} +function opListToTree(opList) { + let opTree = []; + const tmp = []; + for (const opListElement of opList) { + if (opListElement.fn === "save") { + opTree.push({ + fnId: 92, + fn: "group", + items: [] + }); + tmp.push(opTree); + opTree = opTree.at(-1).items; + continue; + } + if (opListElement.fn === "restore") { + opTree = tmp.pop(); + } else { + opTree.push(opListElement); + } + } + return opTree; +} +function pf(value) { + if (Number.isInteger(value)) { + return value.toString(); + } + const s = value.toFixed(10); + let i = s.length - 1; + if (s[i] !== "0") { + return s; + } + do { + i--; + } while (s[i] === "0"); + return s.substring(0, s[i] === "." ? i : i + 1); +} +function pm(m) { + if (m[4] === 0 && m[5] === 0) { + if (m[1] === 0 && m[2] === 0) { + if (m[0] === 1 && m[3] === 1) { + return ""; + } + return `scale(${pf(m[0])} ${pf(m[3])})`; + } + if (m[0] === m[3] && m[1] === -m[2]) { + const a = Math.acos(m[0]) * 180 / Math.PI; + return `rotate(${pf(a)})`; + } + } else if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) { + return `translate(${pf(m[4])} ${pf(m[5])})`; + } + return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`; +} +let clipCount = 0; +let maskCount = 0; +let shadingCount = 0; +class SVGGraphics { + constructor(commonObjs, objs) { + let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + (0, _display_utils.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future."); + this.svgFactory = new _display_utils.DOMSVGFactory(); + this.current = new SVGExtraState(); + this.transformMatrix = _util.IDENTITY_MATRIX; + this.transformStack = []; + this.extraStack = []; + this.commonObjs = commonObjs; + this.objs = objs; + this.pendingClip = null; + this.pendingEOFill = false; + this.embedFonts = false; + this.embeddedFonts = Object.create(null); + this.cssStyle = null; + this.forceDataSchema = !!forceDataSchema; + this._operatorIdMapping = []; + for (const op in _util.OPS) { + this._operatorIdMapping[_util.OPS[op]] = op; + } + } + getObject(data) { + let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (typeof data === "string") { + return data.startsWith("g_") ? this.commonObjs.get(data) : this.objs.get(data); + } + return fallback; + } + save() { + this.transformStack.push(this.transformMatrix); + const old = this.current; + this.extraStack.push(old); + this.current = old.clone(); + } + restore() { + this.transformMatrix = this.transformStack.pop(); + this.current = this.extraStack.pop(); + this.pendingClip = null; + this.tgrp = null; + } + group(items) { + this.save(); + this.executeOpTree(items); + this.restore(); + } + loadDependencies(operatorList) { + const fnArray = operatorList.fnArray; + const argsArray = operatorList.argsArray; + for (let i = 0, ii = fnArray.length; i < ii; i++) { + if (fnArray[i] !== _util.OPS.dependency) { + continue; + } + for (const obj of argsArray[i]) { + const objsPool = obj.startsWith("g_") ? this.commonObjs : this.objs; + const promise = new Promise(resolve => { + objsPool.get(obj, resolve); + }); + this.current.dependencies.push(promise); + } + } + return Promise.all(this.current.dependencies); + } + transform(a, b, c, d, e, f) { + const transformMatrix = [a, b, c, d, e, f]; + this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix); + this.tgrp = null; + } + getSVG(operatorList, viewport) { + this.viewport = viewport; + const svgElement = this._initialize(viewport); + return this.loadDependencies(operatorList).then(() => { + this.transformMatrix = _util.IDENTITY_MATRIX; + this.executeOpTree(this.convertOpList(operatorList)); + return svgElement; + }); + } + convertOpList(operatorList) { + const operatorIdMapping = this._operatorIdMapping; + const argsArray = operatorList.argsArray; + const fnArray = operatorList.fnArray; + const opList = []; + for (let i = 0, ii = fnArray.length; i < ii; i++) { + const fnId = fnArray[i]; + opList.push({ + fnId, + fn: operatorIdMapping[fnId], + args: argsArray[i] + }); + } + return opListToTree(opList); + } + executeOpTree(opTree) { + for (const opTreeElement of opTree) { + const fn = opTreeElement.fn; + const fnId = opTreeElement.fnId; + const args = opTreeElement.args; + switch (fnId | 0) { + case _util.OPS.beginText: + this.beginText(); + break; + case _util.OPS.dependency: + break; + case _util.OPS.setLeading: + this.setLeading(args); + break; + case _util.OPS.setLeadingMoveText: + this.setLeadingMoveText(args[0], args[1]); + break; + case _util.OPS.setFont: + this.setFont(args); + break; + case _util.OPS.showText: + this.showText(args[0]); + break; + case _util.OPS.showSpacedText: + this.showText(args[0]); + break; + case _util.OPS.endText: + this.endText(); + break; + case _util.OPS.moveText: + this.moveText(args[0], args[1]); + break; + case _util.OPS.setCharSpacing: + this.setCharSpacing(args[0]); + break; + case _util.OPS.setWordSpacing: + this.setWordSpacing(args[0]); + break; + case _util.OPS.setHScale: + this.setHScale(args[0]); + break; + case _util.OPS.setTextMatrix: + this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + case _util.OPS.setTextRise: + this.setTextRise(args[0]); + break; + case _util.OPS.setTextRenderingMode: + this.setTextRenderingMode(args[0]); + break; + case _util.OPS.setLineWidth: + this.setLineWidth(args[0]); + break; + case _util.OPS.setLineJoin: + this.setLineJoin(args[0]); + break; + case _util.OPS.setLineCap: + this.setLineCap(args[0]); + break; + case _util.OPS.setMiterLimit: + this.setMiterLimit(args[0]); + break; + case _util.OPS.setFillRGBColor: + this.setFillRGBColor(args[0], args[1], args[2]); + break; + case _util.OPS.setStrokeRGBColor: + this.setStrokeRGBColor(args[0], args[1], args[2]); + break; + case _util.OPS.setStrokeColorN: + this.setStrokeColorN(args); + break; + case _util.OPS.setFillColorN: + this.setFillColorN(args); + break; + case _util.OPS.shadingFill: + this.shadingFill(args[0]); + break; + case _util.OPS.setDash: + this.setDash(args[0], args[1]); + break; + case _util.OPS.setRenderingIntent: + this.setRenderingIntent(args[0]); + break; + case _util.OPS.setFlatness: + this.setFlatness(args[0]); + break; + case _util.OPS.setGState: + this.setGState(args[0]); + break; + case _util.OPS.fill: + this.fill(); + break; + case _util.OPS.eoFill: + this.eoFill(); + break; + case _util.OPS.stroke: + this.stroke(); + break; + case _util.OPS.fillStroke: + this.fillStroke(); + break; + case _util.OPS.eoFillStroke: + this.eoFillStroke(); + break; + case _util.OPS.clip: + this.clip("nonzero"); + break; + case _util.OPS.eoClip: + this.clip("evenodd"); + break; + case _util.OPS.paintSolidColorImageMask: + this.paintSolidColorImageMask(); + break; + case _util.OPS.paintImageXObject: + this.paintImageXObject(args[0]); + break; + case _util.OPS.paintInlineImageXObject: + this.paintInlineImageXObject(args[0]); + break; + case _util.OPS.paintImageMaskXObject: + this.paintImageMaskXObject(args[0]); + break; + case _util.OPS.paintFormXObjectBegin: + this.paintFormXObjectBegin(args[0], args[1]); + break; + case _util.OPS.paintFormXObjectEnd: + this.paintFormXObjectEnd(); + break; + case _util.OPS.closePath: + this.closePath(); + break; + case _util.OPS.closeStroke: + this.closeStroke(); + break; + case _util.OPS.closeFillStroke: + this.closeFillStroke(); + break; + case _util.OPS.closeEOFillStroke: + this.closeEOFillStroke(); + break; + case _util.OPS.nextLine: + this.nextLine(); + break; + case _util.OPS.transform: + this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + case _util.OPS.constructPath: + this.constructPath(args[0], args[1]); + break; + case _util.OPS.endPath: + this.endPath(); + break; + case 92: + this.group(opTreeElement.items); + break; + default: + (0, _util.warn)(`Unimplemented operator ${fn}`); + break; + } + } + } + setWordSpacing(wordSpacing) { + this.current.wordSpacing = wordSpacing; + } + setCharSpacing(charSpacing) { + this.current.charSpacing = charSpacing; + } + nextLine() { + this.moveText(0, this.current.leading); + } + setTextMatrix(a, b, c, d, e, f) { + const current = this.current; + current.textMatrix = current.lineMatrix = [a, b, c, d, e, f]; + current.textMatrixScale = Math.hypot(a, b); + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtElement.append(current.tspan); + } + beginText() { + const current = this.current; + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.textMatrix = _util.IDENTITY_MATRIX; + current.lineMatrix = _util.IDENTITY_MATRIX; + current.textMatrixScale = 1; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.txtElement = this.svgFactory.createElement("svg:text"); + current.txtgrp = this.svgFactory.createElement("svg:g"); + current.xcoords = []; + current.ycoords = []; + } + moveText(x, y) { + const current = this.current; + current.x = current.lineX += x; + current.y = current.lineY += y; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + showText(glyphs) { + const current = this.current; + const font = current.font; + const fontSize = current.fontSize; + if (fontSize === 0) { + return; + } + const fontSizeScale = current.fontSizeScale; + const charSpacing = current.charSpacing; + const wordSpacing = current.wordSpacing; + const fontDirection = current.fontDirection; + const textHScale = current.textHScale * fontDirection; + const vertical = font.vertical; + const spacingDir = vertical ? 1 : -1; + const defaultVMetrics = font.defaultVMetrics; + const widthAdvanceScale = fontSize * current.fontMatrix[0]; + let x = 0; + for (const glyph of glyphs) { + if (glyph === null) { + x += fontDirection * wordSpacing; + continue; + } else if (typeof glyph === "number") { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + const character = glyph.fontChar; + let scaledX, scaledY; + let width = glyph.width; + if (vertical) { + let vx; + const vmetric = glyph.vmetric || defaultVMetrics; + vx = glyph.vmetric ? vmetric[1] : width * 0.5; + vx = -vx * widthAdvanceScale; + const vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + if (glyph.isInFont || font.missingFile) { + current.xcoords.push(current.x + scaledX); + if (vertical) { + current.ycoords.push(-current.y + scaledY); + } + current.tspan.textContent += character; + } else {} + const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection; + x += charWidth; + } + current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" ")); + if (vertical) { + current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" ")); + } else { + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + } + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`); + if (current.fontStyle !== SVG_DEFAULTS.fontStyle) { + current.tspan.setAttributeNS(null, "font-style", current.fontStyle); + } + if (current.fontWeight !== SVG_DEFAULTS.fontWeight) { + current.tspan.setAttributeNS(null, "font-weight", current.fontWeight); + } + const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + if (current.fillColor !== SVG_DEFAULTS.fillColor) { + current.tspan.setAttributeNS(null, "fill", current.fillColor); + } + if (current.fillAlpha < 1) { + current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha); + } + } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) { + current.tspan.setAttributeNS(null, "fill", "transparent"); + } else { + current.tspan.setAttributeNS(null, "fill", "none"); + } + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + const lineWidthScale = 1 / (current.textMatrixScale || 1); + this._setStrokeAttributes(current.tspan, lineWidthScale); + } + let textMatrix = current.textMatrix; + if (current.textRise !== 0) { + textMatrix = textMatrix.slice(); + textMatrix[5] += current.textRise; + } + current.txtElement.setAttributeNS(null, "transform", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`); + current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve"); + current.txtElement.append(current.tspan); + current.txtgrp.append(current.txtElement); + this._ensureTransformGroup().append(current.txtElement); + } + setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + addFontStyle(fontObj) { + if (!fontObj.data) { + throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.'); + } + if (!this.cssStyle) { + this.cssStyle = this.svgFactory.createElement("svg:style"); + this.cssStyle.setAttributeNS(null, "type", "text/css"); + this.defs.append(this.cssStyle); + } + const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema); + this.cssStyle.textContent += `@font-face { font-family: "${fontObj.loadedName}";` + ` src: url(${url}); }\n`; + } + setFont(details) { + const current = this.current; + const fontObj = this.commonObjs.get(details[0]); + let size = details[1]; + current.font = fontObj; + if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) { + this.addFontStyle(fontObj); + this.embeddedFonts[fontObj.loadedName] = fontObj; + } + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + let bold = "normal"; + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + const italic = fontObj.italic ? "italic" : "normal"; + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + current.fontSize = size; + current.fontFamily = fontObj.loadedName; + current.fontWeight = bold; + current.fontStyle = italic; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "y", pf(-current.y)); + current.xcoords = []; + current.ycoords = []; + } + endText() { + const current = this.current; + if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) { + current.element = current.txtElement; + this.clip("nonzero"); + this.endPath(); + } + } + setLineWidth(width) { + if (width > 0) { + this.current.lineWidth = width; + } + } + setLineCap(style) { + this.current.lineCap = LINE_CAP_STYLES[style]; + } + setLineJoin(style) { + this.current.lineJoin = LINE_JOIN_STYLES[style]; + } + setMiterLimit(limit) { + this.current.miterLimit = limit; + } + setStrokeAlpha(strokeAlpha) { + this.current.strokeAlpha = strokeAlpha; + } + setStrokeRGBColor(r, g, b) { + this.current.strokeColor = _util.Util.makeHexColor(r, g, b); + } + setFillAlpha(fillAlpha) { + this.current.fillAlpha = fillAlpha; + } + setFillRGBColor(r, g, b) { + this.current.fillColor = _util.Util.makeHexColor(r, g, b); + this.current.tspan = this.svgFactory.createElement("svg:tspan"); + this.current.xcoords = []; + this.current.ycoords = []; + } + setStrokeColorN(args) { + this.current.strokeColor = this._makeColorN_Pattern(args); + } + setFillColorN(args) { + this.current.fillColor = this._makeColorN_Pattern(args); + } + shadingFill(args) { + const { + width, + height + } = this.viewport; + const inv = _util.Util.inverseTransform(this.transformMatrix); + const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv); + const rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", x0); + rect.setAttributeNS(null, "y", y0); + rect.setAttributeNS(null, "width", x1 - x0); + rect.setAttributeNS(null, "height", y1 - y0); + rect.setAttributeNS(null, "fill", this._makeShadingPattern(args)); + if (this.current.fillAlpha < 1) { + rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); + } + this._ensureTransformGroup().append(rect); + } + _makeColorN_Pattern(args) { + if (args[0] === "TilingPattern") { + return this._makeTilingPattern(args); + } + return this._makeShadingPattern(args); + } + _makeTilingPattern(args) { + const color = args[1]; + const operatorList = args[2]; + const matrix = args[3] || _util.IDENTITY_MATRIX; + const [x0, y0, x1, y1] = args[4]; + const xstep = args[5]; + const ystep = args[6]; + const paintType = args[7]; + const tilingId = `shading${shadingCount++}`; + const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]); + const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix); + const txstep = xstep * xscale; + const tystep = ystep * yscale; + const tiling = this.svgFactory.createElement("svg:pattern"); + tiling.setAttributeNS(null, "id", tilingId); + tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse"); + tiling.setAttributeNS(null, "width", txstep); + tiling.setAttributeNS(null, "height", tystep); + tiling.setAttributeNS(null, "x", `${tx0}`); + tiling.setAttributeNS(null, "y", `${ty0}`); + const svg = this.svg; + const transformMatrix = this.transformMatrix; + const fillColor = this.current.fillColor; + const strokeColor = this.current.strokeColor; + const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0); + this.svg = bbox; + this.transformMatrix = matrix; + if (paintType === 2) { + const cssColor = _util.Util.makeHexColor(...color); + this.current.fillColor = cssColor; + this.current.strokeColor = cssColor; + } + this.executeOpTree(this.convertOpList(operatorList)); + this.svg = svg; + this.transformMatrix = transformMatrix; + this.current.fillColor = fillColor; + this.current.strokeColor = strokeColor; + tiling.append(bbox.childNodes[0]); + this.defs.append(tiling); + return `url(#${tilingId})`; + } + _makeShadingPattern(args) { + if (typeof args === "string") { + args = this.objs.get(args); + } + switch (args[0]) { + case "RadialAxial": + const shadingId = `shading${shadingCount++}`; + const colorStops = args[3]; + let gradient; + switch (args[1]) { + case "axial": + const point0 = args[4]; + const point1 = args[5]; + gradient = this.svgFactory.createElement("svg:linearGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "x1", point0[0]); + gradient.setAttributeNS(null, "y1", point0[1]); + gradient.setAttributeNS(null, "x2", point1[0]); + gradient.setAttributeNS(null, "y2", point1[1]); + break; + case "radial": + const focalPoint = args[4]; + const circlePoint = args[5]; + const focalRadius = args[6]; + const circleRadius = args[7]; + gradient = this.svgFactory.createElement("svg:radialGradient"); + gradient.setAttributeNS(null, "id", shadingId); + gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse"); + gradient.setAttributeNS(null, "cx", circlePoint[0]); + gradient.setAttributeNS(null, "cy", circlePoint[1]); + gradient.setAttributeNS(null, "r", circleRadius); + gradient.setAttributeNS(null, "fx", focalPoint[0]); + gradient.setAttributeNS(null, "fy", focalPoint[1]); + gradient.setAttributeNS(null, "fr", focalRadius); + break; + default: + throw new Error(`Unknown RadialAxial type: ${args[1]}`); + } + for (const colorStop of colorStops) { + const stop = this.svgFactory.createElement("svg:stop"); + stop.setAttributeNS(null, "offset", colorStop[0]); + stop.setAttributeNS(null, "stop-color", colorStop[1]); + gradient.append(stop); + } + this.defs.append(gradient); + return `url(#${shadingId})`; + case "Mesh": + (0, _util.warn)("Unimplemented pattern Mesh"); + return null; + case "Dummy": + return "hotpink"; + default: + throw new Error(`Unknown IR type: ${args[0]}`); + } + } + setDash(dashArray, dashPhase) { + this.current.dashArray = dashArray; + this.current.dashPhase = dashPhase; + } + constructPath(ops, args) { + const current = this.current; + let x = current.x, + y = current.y; + let d = []; + let j = 0; + for (const op of ops) { + switch (op | 0) { + case _util.OPS.rectangle: + x = args[j++]; + y = args[j++]; + const width = args[j++]; + const height = args[j++]; + const xw = x + width; + const yh = y + height; + d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z"); + break; + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + d.push("M", pf(x), pf(y)); + break; + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + d.push("L", pf(x), pf(y)); + break; + case _util.OPS.curveTo: + x = args[j + 4]; + y = args[j + 5]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y)); + j += 6; + break; + case _util.OPS.curveTo2: + d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3])); + x = args[j + 2]; + y = args[j + 3]; + j += 4; + break; + case _util.OPS.curveTo3: + x = args[j + 2]; + y = args[j + 3]; + d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y)); + j += 4; + break; + case _util.OPS.closePath: + d.push("Z"); + break; + } + } + d = d.join(" "); + if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) { + d = current.path.getAttributeNS(null, "d") + d; + } else { + current.path = this.svgFactory.createElement("svg:path"); + this._ensureTransformGroup().append(current.path); + } + current.path.setAttributeNS(null, "d", d); + current.path.setAttributeNS(null, "fill", "none"); + current.element = current.path; + current.setCurrentPoint(x, y); + } + endPath() { + const current = this.current; + current.path = null; + if (!this.pendingClip) { + return; + } + if (!current.element) { + this.pendingClip = null; + return; + } + const clipId = `clippath${clipCount++}`; + const clipPath = this.svgFactory.createElement("svg:clipPath"); + clipPath.setAttributeNS(null, "id", clipId); + clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix)); + const clipElement = current.element.cloneNode(true); + if (this.pendingClip === "evenodd") { + clipElement.setAttributeNS(null, "clip-rule", "evenodd"); + } else { + clipElement.setAttributeNS(null, "clip-rule", "nonzero"); + } + this.pendingClip = null; + clipPath.append(clipElement); + this.defs.append(clipPath); + if (current.activeClipUrl) { + current.clipGroup = null; + for (const prev of this.extraStack) { + prev.clipGroup = null; + } + clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); + } + current.activeClipUrl = `url(#${clipId})`; + this.tgrp = null; + } + clip(type) { + this.pendingClip = type; + } + closePath() { + const current = this.current; + if (current.path) { + const d = `${current.path.getAttributeNS(null, "d")}Z`; + current.path.setAttributeNS(null, "d", d); + } + } + setLeading(leading) { + this.current.leading = -leading; + } + setTextRise(textRise) { + this.current.textRise = textRise; + } + setTextRenderingMode(textRenderingMode) { + this.current.textRenderingMode = textRenderingMode; + } + setHScale(scale) { + this.current.textHScale = scale / 100; + } + setRenderingIntent(intent) {} + setFlatness(flatness) {} + setGState(states) { + for (const [key, value] of states) { + switch (key) { + case "LW": + this.setLineWidth(value); + break; + case "LC": + this.setLineCap(value); + break; + case "LJ": + this.setLineJoin(value); + break; + case "ML": + this.setMiterLimit(value); + break; + case "D": + this.setDash(value[0], value[1]); + break; + case "RI": + this.setRenderingIntent(value); + break; + case "FL": + this.setFlatness(value); + break; + case "Font": + this.setFont(value); + break; + case "CA": + this.setStrokeAlpha(value); + break; + case "ca": + this.setFillAlpha(value); + break; + default: + (0, _util.warn)(`Unimplemented graphic state operator ${key}`); + break; + } + } + } + fill() { + const current = this.current; + if (current.element) { + current.element.setAttributeNS(null, "fill", current.fillColor); + current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha); + this.endPath(); + } + } + stroke() { + const current = this.current; + if (current.element) { + this._setStrokeAttributes(current.element); + current.element.setAttributeNS(null, "fill", "none"); + this.endPath(); + } + } + _setStrokeAttributes(element) { + let lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; + const current = this.current; + let dashArray = current.dashArray; + if (lineWidthScale !== 1 && dashArray.length > 0) { + dashArray = dashArray.map(function (value) { + return lineWidthScale * value; + }); + } + element.setAttributeNS(null, "stroke", current.strokeColor); + element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); + element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); + element.setAttributeNS(null, "stroke-linecap", current.lineCap); + element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); + element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); + element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); + element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); + } + eoFill() { + this.current.element?.setAttributeNS(null, "fill-rule", "evenodd"); + this.fill(); + } + fillStroke() { + this.stroke(); + this.fill(); + } + eoFillStroke() { + this.current.element?.setAttributeNS(null, "fill-rule", "evenodd"); + this.fillStroke(); + } + closeStroke() { + this.closePath(); + this.stroke(); + } + closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + closeEOFillStroke() { + this.closePath(); + this.eoFillStroke(); + } + paintSolidColorImageMask() { + const rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", "1px"); + rect.setAttributeNS(null, "height", "1px"); + rect.setAttributeNS(null, "fill", this.current.fillColor); + this._ensureTransformGroup().append(rect); + } + paintImageXObject(objId) { + const imgData = this.getObject(objId); + if (!imgData) { + (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`); + return; + } + this.paintInlineImageXObject(imgData); + } + paintInlineImageXObject(imgData, mask) { + const width = imgData.width; + const height = imgData.height; + const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask); + const cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", "0"); + cliprect.setAttributeNS(null, "y", "0"); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + const imgEl = this.svgFactory.createElement("svg:image"); + imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc); + imgEl.setAttributeNS(null, "x", "0"); + imgEl.setAttributeNS(null, "y", pf(-height)); + imgEl.setAttributeNS(null, "width", pf(width) + "px"); + imgEl.setAttributeNS(null, "height", pf(height) + "px"); + imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / width)} ${pf(-1 / height)})`); + if (mask) { + mask.append(imgEl); + } else { + this._ensureTransformGroup().append(imgEl); + } + } + paintImageMaskXObject(img) { + const imgData = this.getObject(img.data, img); + if (imgData.bitmap) { + (0, _util.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, " + "ensure that the `isOffscreenCanvasSupported` API parameter is disabled."); + return; + } + const current = this.current; + const width = imgData.width; + const height = imgData.height; + const fillColor = current.fillColor; + current.maskId = `mask${maskCount++}`; + const mask = this.svgFactory.createElement("svg:mask"); + mask.setAttributeNS(null, "id", current.maskId); + const rect = this.svgFactory.createElement("svg:rect"); + rect.setAttributeNS(null, "x", "0"); + rect.setAttributeNS(null, "y", "0"); + rect.setAttributeNS(null, "width", pf(width)); + rect.setAttributeNS(null, "height", pf(height)); + rect.setAttributeNS(null, "fill", fillColor); + rect.setAttributeNS(null, "mask", `url(#${current.maskId})`); + this.defs.append(mask); + this._ensureTransformGroup().append(rect); + this.paintInlineImageXObject(imgData, mask); + } + paintFormXObjectBegin(matrix, bbox) { + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); + } + if (bbox) { + const width = bbox[2] - bbox[0]; + const height = bbox[3] - bbox[1]; + const cliprect = this.svgFactory.createElement("svg:rect"); + cliprect.setAttributeNS(null, "x", bbox[0]); + cliprect.setAttributeNS(null, "y", bbox[1]); + cliprect.setAttributeNS(null, "width", pf(width)); + cliprect.setAttributeNS(null, "height", pf(height)); + this.current.element = cliprect; + this.clip("nonzero"); + this.endPath(); + } + } + paintFormXObjectEnd() {} + _initialize(viewport) { + const svg = this.svgFactory.create(viewport.width, viewport.height); + const definitions = this.svgFactory.createElement("svg:defs"); + svg.append(definitions); + this.defs = definitions; + const rootGroup = this.svgFactory.createElement("svg:g"); + rootGroup.setAttributeNS(null, "transform", pm(viewport.transform)); + svg.append(rootGroup); + this.svg = rootGroup; + return svg; + } + _ensureClipGroup() { + if (!this.current.clipGroup) { + const clipGroup = this.svgFactory.createElement("svg:g"); + clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl); + this.svg.append(clipGroup); + this.current.clipGroup = clipGroup; + } + return this.current.clipGroup; + } + _ensureTransformGroup() { + if (!this.tgrp) { + this.tgrp = this.svgFactory.createElement("svg:g"); + this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix)); + if (this.current.activeClipUrl) { + this._ensureClipGroup().append(this.tgrp); + } else { + this.svg.append(this.tgrp); + } + } + return this.tgrp; + } +} +exports.SVGGraphics = SVGGraphics; + +/***/ }), +/* 187 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var $ = __w_pdfjs_require__(3); +var $group = __w_pdfjs_require__(188); +var addToUnscopables = __w_pdfjs_require__(193); +$({ + target: 'Array', + proto: true +}, { + group: function group(callbackfn) { + var thisArg = arguments.length > 1 ? arguments[1] : undefined; + return $group(this, callbackfn, thisArg); + } +}); +addToUnscopables('group'); + +/***/ }), +/* 188 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var bind = __w_pdfjs_require__(99); +var uncurryThis = __w_pdfjs_require__(14); +var IndexedObject = __w_pdfjs_require__(13); +var toObject = __w_pdfjs_require__(40); +var toPropertyKey = __w_pdfjs_require__(18); +var lengthOfArrayLike = __w_pdfjs_require__(64); +var objectCreate = __w_pdfjs_require__(189); +var arrayFromConstructorAndList = __w_pdfjs_require__(108); +var $Array = Array; +var push = uncurryThis([].push); +module.exports = function ($this, callbackfn, that, specificConstructor) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that); + var target = objectCreate(null); + var length = lengthOfArrayLike(self); + var index = 0; + var Constructor, key, value; + for (; length > index; index++) { + value = self[index]; + key = toPropertyKey(boundFunction(value, index, O)); + if (key in target) + push(target[key], value); + else + target[key] = [value]; + } + if (specificConstructor) { + Constructor = specificConstructor(O); + if (Constructor !== $Array) { + for (key in target) + target[key] = arrayFromConstructorAndList(Constructor, target[key]); + } + } + return target; +}; + +/***/ }), +/* 189 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var anObject = __w_pdfjs_require__(47); +var definePropertiesModule = __w_pdfjs_require__(190); +var enumBugKeys = __w_pdfjs_require__(66); +var hiddenKeys = __w_pdfjs_require__(55); +var html = __w_pdfjs_require__(192); +var documentCreateElement = __w_pdfjs_require__(43); +var sharedKey = __w_pdfjs_require__(54); +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); +var EmptyConstructor = function () { +}; +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; + return temp; +}; +var NullProtoObjectViaIFrame = function () { + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { + } + NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument); + var length = enumBugKeys.length; + while (length--) + delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; +hiddenKeys[IE_PROTO] = true; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + +/***/ }), +/* 190 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + +var DESCRIPTORS = __w_pdfjs_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(46); +var definePropertyModule = __w_pdfjs_require__(45); +var anObject = __w_pdfjs_require__(47); +var toIndexedObject = __w_pdfjs_require__(12); +var objectKeys = __w_pdfjs_require__(191); +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) + definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + +/***/ }), +/* 191 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var internalObjectKeys = __w_pdfjs_require__(59); +var enumBugKeys = __w_pdfjs_require__(66); +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +/***/ }), +/* 192 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var getBuiltIn = __w_pdfjs_require__(24); +module.exports = getBuiltIn('document', 'documentElement'); + +/***/ }), +/* 193 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + + +var wellKnownSymbol = __w_pdfjs_require__(34); +var create = __w_pdfjs_require__(189); +var defineProperty = (__w_pdfjs_require__(45).f); +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +/***/ }), +/* 194 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaText = void 0; +__w_pdfjs_require__(89); +class XfaText { + static textContent(xfa) { + const items = []; + const output = { + items, + styles: Object.create(null) + }; + function walk(node) { + if (!node) { + return; + } + let str = null; + const name = node.name; + if (name === "#text") { + str = node.value; + } else if (!XfaText.shouldBuildText(name)) { + return; + } else if (node?.attributes?.textContent) { + str = node.attributes.textContent; + } else if (node.value) { + str = node.value; + } + if (str !== null) { + items.push({ + str + }); + } + if (!node.children) { + return; + } + for (const child of node.children) { + walk(child); + } + } + walk(xfa); + return output; + } + static shouldBuildText(name) { + return !(name === "textarea" || name === "input" || name === "option" || name === "select"); + } +} +exports.XfaText = XfaText; + +/***/ }), +/* 195 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextLayerRenderTask = void 0; +exports.renderTextLayer = renderTextLayer; +exports.updateTextLayer = updateTextLayer; +__w_pdfjs_require__(89); +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +const MAX_TEXT_DIVS_TO_RENDER = 100000; +const DEFAULT_FONT_SIZE = 30; +const DEFAULT_FONT_ASCENT = 0.8; +const ascentCache = new Map(); +function getCtx(size, isOffscreenCanvasSupported) { + let ctx; + if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) { + ctx = new OffscreenCanvas(size, size).getContext("2d", { + alpha: false + }); + } else { + const canvas = document.createElement("canvas"); + canvas.width = canvas.height = size; + ctx = canvas.getContext("2d", { + alpha: false + }); + } + return ctx; +} +function getAscent(fontFamily, isOffscreenCanvasSupported) { + const cachedAscent = ascentCache.get(fontFamily); + if (cachedAscent) { + return cachedAscent; + } + const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported); + ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`; + const metrics = ctx.measureText(""); + let ascent = metrics.fontBoundingBoxAscent; + let descent = Math.abs(metrics.fontBoundingBoxDescent); + if (ascent) { + const ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + ctx.canvas.width = ctx.canvas.height = 0; + return ratio; + } + ctx.strokeStyle = "red"; + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("g", 0, 0); + let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + descent = 0; + for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) { + if (pixels[i] > 0) { + descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); + pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + ascent = 0; + for (let i = 0, ii = pixels.length; i < ii; i += 4) { + if (pixels[i] > 0) { + ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + ctx.canvas.width = ctx.canvas.height = 0; + if (ascent) { + const ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + return ratio; + } + ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); + return DEFAULT_FONT_ASCENT; +} +function appendText(task, geom, styles) { + const textDiv = document.createElement("span"); + const textDivProperties = { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + fontSize: 0 + }; + task._textDivs.push(textDiv); + const tx = _util.Util.transform(task._transform, geom.transform); + let angle = Math.atan2(tx[1], tx[0]); + const style = styles[geom.fontName]; + if (style.vertical) { + angle += Math.PI / 2; + } + const fontHeight = Math.hypot(tx[2], tx[3]); + const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported); + let left, top; + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + const scaleFactorStr = "calc(var(--scale-factor)*"; + const divStyle = textDiv.style; + if (task._container === task._rootContainer) { + divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`; + divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`; + } else { + divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`; + divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`; + } + divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`; + divStyle.fontFamily = style.fontFamily; + textDivProperties.fontSize = fontHeight; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + if (task._fontInspectorEnabled) { + textDiv.dataset.fontName = geom.fontName; + } + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + let shouldScaleText = false; + if (geom.str.length > 1) { + shouldScaleText = true; + } else if (geom.str !== " " && geom.transform[0] !== geom.transform[3]) { + const absScaleX = Math.abs(geom.transform[0]), + absScaleY = Math.abs(geom.transform[3]); + if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) { + shouldScaleText = true; + } + } + if (shouldScaleText) { + textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width; + } + task._textDivProperties.set(textDiv, textDivProperties); + if (task._isReadableStream) { + task._layoutText(textDiv); + } +} +function layout(params) { + const { + div, + scale, + properties, + ctx, + prevFontSize, + prevFontFamily + } = params; + const { + style + } = div; + let transform = ""; + if (properties.canvasWidth !== 0 && properties.hasText) { + const { + fontFamily + } = style; + const { + canvasWidth, + fontSize + } = properties; + if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) { + ctx.font = `${fontSize * scale}px ${fontFamily}`; + params.prevFontSize = fontSize; + params.prevFontFamily = fontFamily; + } + const { + width + } = ctx.measureText(div.textContent); + if (width > 0) { + transform = `scaleX(${canvasWidth * scale / width})`; + } + } + if (properties.angle !== 0) { + transform = `rotate(${properties.angle}deg) ${transform}`; + } + if (transform.length > 0) { + style.transform = transform; + } +} +function render(task) { + if (task._canceled) { + return; + } + const textDivs = task._textDivs; + const capability = task._capability; + const textDivsLength = textDivs.length; + if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { + capability.resolve(); + return; + } + if (!task._isReadableStream) { + for (const textDiv of textDivs) { + task._layoutText(textDiv); + } + } + capability.resolve(); +} +class TextLayerRenderTask { + constructor(_ref) { + let { + textContentSource, + container, + viewport, + textDivs, + textDivProperties, + textContentItemsStr, + isOffscreenCanvasSupported + } = _ref; + this._textContentSource = textContentSource; + this._isReadableStream = textContentSource instanceof ReadableStream; + this._container = this._rootContainer = container; + this._textDivs = textDivs || []; + this._textContentItemsStr = textContentItemsStr || []; + this._isOffscreenCanvasSupported = isOffscreenCanvasSupported; + this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled; + this._reader = null; + this._textDivProperties = textDivProperties || new WeakMap(); + this._canceled = false; + this._capability = new _util.PromiseCapability(); + this._layoutTextParams = { + prevFontSize: null, + prevFontFamily: null, + div: null, + scale: viewport.scale * (globalThis.devicePixelRatio || 1), + properties: null, + ctx: getCtx(0, isOffscreenCanvasSupported) + }; + const { + pageWidth, + pageHeight, + pageX, + pageY + } = viewport.rawDims; + this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight]; + this._pageWidth = pageWidth; + this._pageHeight = pageHeight; + (0, _display_utils.setLayerDimensions)(container, viewport); + this._capability.promise.finally(() => { + this._layoutTextParams = null; + }).catch(() => {}); + } + get promise() { + return this._capability.promise; + } + cancel() { + this._canceled = true; + if (this._reader) { + this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch(() => {}); + this._reader = null; + } + this._capability.reject(new _util.AbortException("TextLayer task cancelled.")); + } + _processItems(items, styleCache) { + for (const item of items) { + if (item.str === undefined) { + if (item.type === "beginMarkedContentProps" || item.type === "beginMarkedContent") { + const parent = this._container; + this._container = document.createElement("span"); + this._container.classList.add("markedContent"); + if (item.id !== null) { + this._container.setAttribute("id", `${item.id}`); + } + parent.append(this._container); + } else if (item.type === "endMarkedContent") { + this._container = this._container.parentNode; + } + continue; + } + this._textContentItemsStr.push(item.str); + appendText(this, item, styleCache); + } + } + _layoutText(textDiv) { + const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv); + this._layoutTextParams.div = textDiv; + layout(this._layoutTextParams); + if (textDivProperties.hasText) { + this._container.append(textDiv); + } + if (textDivProperties.hasEOL) { + const br = document.createElement("br"); + br.setAttribute("role", "presentation"); + this._container.append(br); + } + } + _render() { + const capability = new _util.PromiseCapability(); + let styleCache = Object.create(null); + if (this._isReadableStream) { + const pump = () => { + this._reader.read().then(_ref2 => { + let { + value, + done + } = _ref2; + if (done) { + capability.resolve(); + return; + } + Object.assign(styleCache, value.styles); + this._processItems(value.items, styleCache); + pump(); + }, capability.reject); + }; + this._reader = this._textContentSource.getReader(); + pump(); + } else if (this._textContentSource) { + const { + items, + styles + } = this._textContentSource; + this._processItems(items, styles); + capability.resolve(); + } else { + throw new Error('No "textContentSource" parameter specified.'); + } + capability.promise.then(() => { + styleCache = null; + render(this); + }, this._capability.reject); + } +} +exports.TextLayerRenderTask = TextLayerRenderTask; +function renderTextLayer(params) { + if (!params.textContentSource && (params.textContent || params.textContentStream)) { + (0, _display_utils.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters " + "will be removed in the future, please use `textContentSource` instead."); + params.textContentSource = params.textContent || params.textContentStream; + } + const { + container, + viewport + } = params; + const style = getComputedStyle(container); + const visibility = style.getPropertyValue("visibility"); + const scaleFactor = parseFloat(style.getPropertyValue("--scale-factor")); + if (visibility === "visible" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) { + console.error("The `--scale-factor` CSS-variable must be set, " + "to the same value as `viewport.scale`, " + "either on the `container`-element itself or higher up in the DOM."); + } + const task = new TextLayerRenderTask(params); + task._render(); + return task; +} +function updateTextLayer(_ref3) { + let { + container, + viewport, + textDivs, + textDivProperties, + isOffscreenCanvasSupported, + mustRotate = true, + mustRescale = true + } = _ref3; + if (mustRotate) { + (0, _display_utils.setLayerDimensions)(container, { + rotation: viewport.rotation + }); + } + if (mustRescale) { + const ctx = getCtx(0, isOffscreenCanvasSupported); + const scale = viewport.scale * (globalThis.devicePixelRatio || 1); + const params = { + prevFontSize: null, + prevFontFamily: null, + div: null, + scale, + properties: null, + ctx + }; + for (const div of textDivs) { + params.properties = textDivProperties.get(div); + params.div = div; + layout(params); + } + } +} + +/***/ }), +/* 196 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationEditorLayer = void 0; +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _freetext = __w_pdfjs_require__(197); +var _ink = __w_pdfjs_require__(202); +var _display_utils = __w_pdfjs_require__(168); +var _stamp = __w_pdfjs_require__(203); +class AnnotationEditorLayer { + #accessibilityManager; + #allowClick = false; + #annotationLayer = null; + #boundPointerup = this.pointerup.bind(this); + #boundPointerdown = this.pointerdown.bind(this); + #editors = new Map(); + #hadPointerDown = false; + #isCleaningUp = false; + #isDisabling = false; + #uiManager; + static _initialized = false; + constructor(_ref) { + let { + uiManager, + pageIndex, + div, + accessibilityManager, + annotationLayer, + viewport, + l10n + } = _ref; + const editorTypes = [_freetext.FreeTextEditor, _ink.InkEditor, _stamp.StampEditor]; + if (!AnnotationEditorLayer._initialized) { + AnnotationEditorLayer._initialized = true; + for (const editorType of editorTypes) { + editorType.initialize(l10n); + } + } + uiManager.registerEditorTypes(editorTypes); + this.#uiManager = uiManager; + this.pageIndex = pageIndex; + this.div = div; + this.#accessibilityManager = accessibilityManager; + this.#annotationLayer = annotationLayer; + this.viewport = viewport; + this.#uiManager.addLayer(this); + } + get isEmpty() { + return this.#editors.size === 0; + } + updateToolbar(mode) { + this.#uiManager.updateToolbar(mode); + } + updateMode() { + let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.#uiManager.getMode(); + this.#cleanup(); + if (mode === _util.AnnotationEditorType.INK) { + this.addInkEditorIfNeeded(false); + this.disableClick(); + } else { + this.enableClick(); + } + if (mode !== _util.AnnotationEditorType.NONE) { + this.div.classList.toggle("freeTextEditing", mode === _util.AnnotationEditorType.FREETEXT); + this.div.classList.toggle("inkEditing", mode === _util.AnnotationEditorType.INK); + this.div.classList.toggle("stampEditing", mode === _util.AnnotationEditorType.STAMP); + this.div.hidden = false; + } + } + addInkEditorIfNeeded(isCommitting) { + if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) { + return; + } + if (!isCommitting) { + for (const editor of this.#editors.values()) { + if (editor.isEmpty()) { + editor.setInBackground(); + return; + } + } + } + const editor = this.#createAndAddNewEditor({ + offsetX: 0, + offsetY: 0 + }, false); + editor.setInBackground(); + } + setEditingState(isEditing) { + this.#uiManager.setEditingState(isEditing); + } + addCommands(params) { + this.#uiManager.addCommands(params); + } + enable() { + this.div.style.pointerEvents = "auto"; + const annotationElementIds = new Set(); + for (const editor of this.#editors.values()) { + editor.enableEditing(); + if (editor.annotationElementId) { + annotationElementIds.add(editor.annotationElementId); + } + } + if (!this.#annotationLayer) { + return; + } + const editables = this.#annotationLayer.getEditableAnnotations(); + for (const editable of editables) { + editable.hide(); + if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) { + continue; + } + if (annotationElementIds.has(editable.data.id)) { + continue; + } + const editor = this.deserialize(editable); + if (!editor) { + continue; + } + this.addOrRebuild(editor); + editor.enableEditing(); + } + } + disable() { + this.#isDisabling = true; + this.div.style.pointerEvents = "none"; + const hiddenAnnotationIds = new Set(); + for (const editor of this.#editors.values()) { + editor.disableEditing(); + if (!editor.annotationElementId || editor.serialize() !== null) { + hiddenAnnotationIds.add(editor.annotationElementId); + continue; + } + this.getEditableAnnotation(editor.annotationElementId)?.show(); + editor.remove(); + } + if (this.#annotationLayer) { + const editables = this.#annotationLayer.getEditableAnnotations(); + for (const editable of editables) { + const { + id + } = editable.data; + if (hiddenAnnotationIds.has(id) || this.#uiManager.isDeletedAnnotationElement(id)) { + continue; + } + editable.show(); + } + } + this.#cleanup(); + if (this.isEmpty) { + this.div.hidden = true; + } + this.#isDisabling = false; + } + getEditableAnnotation(id) { + return this.#annotationLayer?.getEditableAnnotation(id) || null; + } + setActiveEditor(editor) { + const currentActive = this.#uiManager.getActive(); + if (currentActive === editor) { + return; + } + this.#uiManager.setActiveEditor(editor); + } + enableClick() { + this.div.addEventListener("pointerdown", this.#boundPointerdown); + this.div.addEventListener("pointerup", this.#boundPointerup); + } + disableClick() { + this.div.removeEventListener("pointerdown", this.#boundPointerdown); + this.div.removeEventListener("pointerup", this.#boundPointerup); + } + attach(editor) { + this.#editors.set(editor.id, editor); + const { + annotationElementId + } = editor; + if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) { + this.#uiManager.removeDeletedAnnotationElement(editor); + } + } + detach(editor) { + this.#editors.delete(editor.id); + this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv); + if (!this.#isDisabling && editor.annotationElementId) { + this.#uiManager.addDeletedAnnotationElement(editor); + } + } + remove(editor) { + this.detach(editor); + this.#uiManager.removeEditor(editor); + if (editor.div.contains(document.activeElement)) { + setTimeout(() => { + this.#uiManager.focusMainContainer(); + }, 0); + } + editor.div.remove(); + editor.isAttachedToDOM = false; + if (!this.#isCleaningUp) { + this.addInkEditorIfNeeded(false); + } + } + changeParent(editor) { + if (editor.parent === this) { + return; + } + if (editor.annotationElementId) { + this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId); + _editor.AnnotationEditor.deleteAnnotationElement(editor); + editor.annotationElementId = null; + } + this.attach(editor); + editor.parent?.detach(editor); + editor.setParent(this); + if (editor.div && editor.isAttachedToDOM) { + editor.div.remove(); + this.div.append(editor.div); + } + } + add(editor) { + this.changeParent(editor); + this.#uiManager.addEditor(editor); + this.attach(editor); + if (!editor.isAttachedToDOM) { + const div = editor.render(); + this.div.append(div); + editor.isAttachedToDOM = true; + } + editor.fixAndSetPosition(); + editor.onceAdded(); + this.#uiManager.addToAnnotationStorage(editor); + } + moveEditorInDOM(editor) { + if (!editor.isAttachedToDOM) { + return; + } + const { + activeElement + } = document; + if (editor.div.contains(activeElement)) { + editor._focusEventsAllowed = false; + setTimeout(() => { + if (!editor.div.contains(document.activeElement)) { + editor.div.addEventListener("focusin", () => { + editor._focusEventsAllowed = true; + }, { + once: true + }); + activeElement.focus(); + } else { + editor._focusEventsAllowed = true; + } + }, 0); + } + editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true); + } + addOrRebuild(editor) { + if (editor.needsToBeRebuilt()) { + editor.rebuild(); + } else { + this.add(editor); + } + } + addUndoableEditor(editor) { + const cmd = () => editor._uiManager.rebuild(editor); + const undo = () => { + editor.remove(); + }; + this.addCommands({ + cmd, + undo, + mustExec: false + }); + } + getNextId() { + return this.#uiManager.getId(); + } + #createNewEditor(params) { + switch (this.#uiManager.getMode()) { + case _util.AnnotationEditorType.FREETEXT: + return new _freetext.FreeTextEditor(params); + case _util.AnnotationEditorType.INK: + return new _ink.InkEditor(params); + case _util.AnnotationEditorType.STAMP: + return new _stamp.StampEditor(params); + } + return null; + } + pasteEditor(mode, params) { + this.#uiManager.updateToolbar(mode); + this.#uiManager.updateMode(mode); + const { + offsetX, + offsetY + } = this.#getCenterPoint(); + const id = this.getNextId(); + const editor = this.#createNewEditor({ + parent: this, + id, + x: offsetX, + y: offsetY, + uiManager: this.#uiManager, + isCentered: true, + ...params + }); + if (editor) { + this.add(editor); + } + } + deserialize(data) { + switch (data.annotationType ?? data.annotationEditorType) { + case _util.AnnotationEditorType.FREETEXT: + return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager); + case _util.AnnotationEditorType.INK: + return _ink.InkEditor.deserialize(data, this, this.#uiManager); + case _util.AnnotationEditorType.STAMP: + return _stamp.StampEditor.deserialize(data, this, this.#uiManager); + } + return null; + } + #createAndAddNewEditor(event, isCentered) { + const id = this.getNextId(); + const editor = this.#createNewEditor({ + parent: this, + id, + x: event.offsetX, + y: event.offsetY, + uiManager: this.#uiManager, + isCentered + }); + if (editor) { + this.add(editor); + } + return editor; + } + #getCenterPoint() { + const { + x, + y, + width, + height + } = this.div.getBoundingClientRect(); + const tlX = Math.max(0, x); + const tlY = Math.max(0, y); + const brX = Math.min(window.innerWidth, x + width); + const brY = Math.min(window.innerHeight, y + height); + const centerX = (tlX + brX) / 2 - x; + const centerY = (tlY + brY) / 2 - y; + const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX]; + return { + offsetX, + offsetY + }; + } + addNewEditor() { + this.#createAndAddNewEditor(this.#getCenterPoint(), true); + } + setSelected(editor) { + this.#uiManager.setSelected(editor); + } + toggleSelected(editor) { + this.#uiManager.toggleSelected(editor); + } + isSelected(editor) { + return this.#uiManager.isSelected(editor); + } + unselect(editor) { + this.#uiManager.unselect(editor); + } + pointerup(event) { + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + if (event.target !== this.div) { + return; + } + if (!this.#hadPointerDown) { + return; + } + this.#hadPointerDown = false; + if (!this.#allowClick) { + this.#allowClick = true; + return; + } + if (this.#uiManager.getMode() === _util.AnnotationEditorType.STAMP) { + this.#uiManager.unselectAll(); + return; + } + this.#createAndAddNewEditor(event, false); + } + pointerdown(event) { + if (this.#hadPointerDown) { + this.#hadPointerDown = false; + return; + } + const { + isMac + } = _util.FeatureTest.platform; + if (event.button !== 0 || event.ctrlKey && isMac) { + return; + } + if (event.target !== this.div) { + return; + } + this.#hadPointerDown = true; + const editor = this.#uiManager.getActive(); + this.#allowClick = !editor || editor.isEmpty(); + } + findNewParent(editor, x, y) { + const layer = this.#uiManager.findParent(x, y); + if (layer === null || layer === this) { + return false; + } + layer.changeParent(editor); + return true; + } + destroy() { + if (this.#uiManager.getActive()?.parent === this) { + this.#uiManager.commitOrRemove(); + this.#uiManager.setActiveEditor(null); + } + for (const editor of this.#editors.values()) { + this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv); + editor.setParent(null); + editor.isAttachedToDOM = false; + editor.div.remove(); + } + this.div = null; + this.#editors.clear(); + this.#uiManager.removeLayer(this); + } + #cleanup() { + this.#isCleaningUp = true; + for (const editor of this.#editors.values()) { + if (editor.isEmpty()) { + editor.remove(); + } + } + this.#isCleaningUp = false; + } + render(_ref2) { + let { + viewport + } = _ref2; + this.viewport = viewport; + (0, _display_utils.setLayerDimensions)(this.div, viewport); + for (const editor of this.#uiManager.getEditors(this.pageIndex)) { + this.add(editor); + } + this.updateMode(); + } + update(_ref3) { + let { + viewport + } = _ref3; + this.#uiManager.commitOrRemove(); + this.viewport = viewport; + (0, _display_utils.setLayerDimensions)(this.div, { + rotation: viewport.rotation + }); + this.updateMode(); + } + get pageDimensions() { + const { + pageWidth, + pageHeight + } = this.viewport.rawDims; + return [pageWidth, pageHeight]; + } +} +exports.AnnotationEditorLayer = AnnotationEditorLayer; + +/***/ }), +/* 197 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FreeTextEditor = void 0; +__w_pdfjs_require__(89); +var _util = __w_pdfjs_require__(1); +var _tools = __w_pdfjs_require__(165); +var _editor = __w_pdfjs_require__(164); +var _annotation_layer = __w_pdfjs_require__(198); +class FreeTextEditor extends _editor.AnnotationEditor { + #boundEditorDivBlur = this.editorDivBlur.bind(this); + #boundEditorDivFocus = this.editorDivFocus.bind(this); + #boundEditorDivInput = this.editorDivInput.bind(this); + #boundEditorDivKeydown = this.editorDivKeydown.bind(this); + #color; + #content = ""; + #editorDivId = `${this.id}-editor`; + #fontSize; + #initialData = null; + static _freeTextDefaultContent = ""; + static _internalPadding = 0; + static _defaultColor = null; + static _defaultFontSize = 10; + static get _keyboardManager() { + const proto = FreeTextEditor.prototype; + const arrowChecker = self => self.isEmpty(); + const small = _tools.AnnotationEditorUIManager.TRANSLATE_SMALL; + const big = _tools.AnnotationEditorUIManager.TRANSLATE_BIG; + return (0, _util.shadow)(this, "_keyboardManager", new _tools.KeyboardManager([[["ctrl+s", "mac+meta+s", "ctrl+p", "mac+meta+p"], proto.commitOrRemove, { + bubbles: true + }], [["ctrl+Enter", "mac+meta+Enter", "Escape", "mac+Escape"], proto.commitOrRemove], [["ArrowLeft", "mac+ArrowLeft"], proto._translateEmpty, { + args: [-small, 0], + checker: arrowChecker + }], [["ctrl+ArrowLeft", "mac+shift+ArrowLeft"], proto._translateEmpty, { + args: [-big, 0], + checker: arrowChecker + }], [["ArrowRight", "mac+ArrowRight"], proto._translateEmpty, { + args: [small, 0], + checker: arrowChecker + }], [["ctrl+ArrowRight", "mac+shift+ArrowRight"], proto._translateEmpty, { + args: [big, 0], + checker: arrowChecker + }], [["ArrowUp", "mac+ArrowUp"], proto._translateEmpty, { + args: [0, -small], + checker: arrowChecker + }], [["ctrl+ArrowUp", "mac+shift+ArrowUp"], proto._translateEmpty, { + args: [0, -big], + checker: arrowChecker + }], [["ArrowDown", "mac+ArrowDown"], proto._translateEmpty, { + args: [0, small], + checker: arrowChecker + }], [["ctrl+ArrowDown", "mac+shift+ArrowDown"], proto._translateEmpty, { + args: [0, big], + checker: arrowChecker + }]])); + } + static _type = "freetext"; + constructor(params) { + super({ + ...params, + name: "freeTextEditor" + }); + this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor; + this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize; + } + static initialize(l10n) { + _editor.AnnotationEditor.initialize(l10n, { + strings: ["free_text2_default_content", "editor_free_text2_aria_label"] + }); + const style = getComputedStyle(document.documentElement); + this._internalPadding = parseFloat(style.getPropertyValue("--freetext-padding")); + } + static updateDefaultParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.FREETEXT_SIZE: + FreeTextEditor._defaultFontSize = value; + break; + case _util.AnnotationEditorParamsType.FREETEXT_COLOR: + FreeTextEditor._defaultColor = value; + break; + } + } + updateParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.FREETEXT_SIZE: + this.#updateFontSize(value); + break; + case _util.AnnotationEditorParamsType.FREETEXT_COLOR: + this.#updateColor(value); + break; + } + } + static get defaultPropertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]]; + } + get propertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]]; + } + #updateFontSize(fontSize) { + const setFontsize = size => { + this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`; + this.translate(0, -(size - this.#fontSize) * this.parentScale); + this.#fontSize = size; + this.#setEditorDimensions(); + }; + const savedFontsize = this.#fontSize; + this.addCommands({ + cmd: () => { + setFontsize(fontSize); + }, + undo: () => { + setFontsize(savedFontsize); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.FREETEXT_SIZE, + overwriteIfSameType: true, + keepUndo: true + }); + } + #updateColor(color) { + const savedColor = this.#color; + this.addCommands({ + cmd: () => { + this.#color = this.editorDiv.style.color = color; + }, + undo: () => { + this.#color = this.editorDiv.style.color = savedColor; + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.FREETEXT_COLOR, + overwriteIfSameType: true, + keepUndo: true + }); + } + _translateEmpty(x, y) { + this._uiManager.translateSelectedEditors(x, y, true); + } + getInitialTranslation() { + const scale = this.parentScale; + return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale]; + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + enableEditMode() { + if (this.isInEditMode()) { + return; + } + this.parent.setEditingState(false); + this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT); + super.enableEditMode(); + this.overlayDiv.classList.remove("enabled"); + this.editorDiv.contentEditable = true; + this._isDraggable = false; + this.div.removeAttribute("aria-activedescendant"); + this.editorDiv.addEventListener("keydown", this.#boundEditorDivKeydown); + this.editorDiv.addEventListener("focus", this.#boundEditorDivFocus); + this.editorDiv.addEventListener("blur", this.#boundEditorDivBlur); + this.editorDiv.addEventListener("input", this.#boundEditorDivInput); + } + disableEditMode() { + if (!this.isInEditMode()) { + return; + } + this.parent.setEditingState(true); + super.disableEditMode(); + this.overlayDiv.classList.add("enabled"); + this.editorDiv.contentEditable = false; + this.div.setAttribute("aria-activedescendant", this.#editorDivId); + this._isDraggable = true; + this.editorDiv.removeEventListener("keydown", this.#boundEditorDivKeydown); + this.editorDiv.removeEventListener("focus", this.#boundEditorDivFocus); + this.editorDiv.removeEventListener("blur", this.#boundEditorDivBlur); + this.editorDiv.removeEventListener("input", this.#boundEditorDivInput); + this.div.focus({ + preventScroll: true + }); + this.isEditing = false; + this.parent.div.classList.add("freeTextEditing"); + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + super.focusin(event); + if (event.target !== this.editorDiv) { + this.editorDiv.focus(); + } + } + onceAdded() { + if (this.width) { + this.#cheatInitialRect(); + return; + } + this.enableEditMode(); + this.editorDiv.focus(); + if (this._initialOptions?.isCentered) { + this.center(); + } + this._initialOptions = null; + } + isEmpty() { + return !this.editorDiv || this.editorDiv.innerText.trim() === ""; + } + remove() { + this.isEditing = false; + if (this.parent) { + this.parent.setEditingState(true); + this.parent.div.classList.add("freeTextEditing"); + } + super.remove(); + } + #extractText() { + const divs = this.editorDiv.getElementsByTagName("div"); + if (divs.length === 0) { + return this.editorDiv.innerText; + } + const buffer = []; + for (const div of divs) { + buffer.push(div.innerText.replace(/\r\n?|\n/, "")); + } + return buffer.join("\n"); + } + #setEditorDimensions() { + const [parentWidth, parentHeight] = this.parentDimensions; + let rect; + if (this.isAttachedToDOM) { + rect = this.div.getBoundingClientRect(); + } else { + const { + currentLayer, + div + } = this; + const savedDisplay = div.style.display; + div.style.display = "hidden"; + currentLayer.div.append(this.div); + rect = div.getBoundingClientRect(); + div.remove(); + div.style.display = savedDisplay; + } + if (this.rotation % 180 === this.parentRotation % 180) { + this.width = rect.width / parentWidth; + this.height = rect.height / parentHeight; + } else { + this.width = rect.height / parentWidth; + this.height = rect.width / parentHeight; + } + this.fixAndSetPosition(); + } + commit() { + if (!this.isInEditMode()) { + return; + } + super.commit(); + this.disableEditMode(); + const savedText = this.#content; + const newText = this.#content = this.#extractText().trimEnd(); + if (savedText === newText) { + return; + } + const setText = text => { + this.#content = text; + if (!text) { + this.remove(); + return; + } + this.#setContent(); + this._uiManager.rebuild(this); + this.#setEditorDimensions(); + }; + this.addCommands({ + cmd: () => { + setText(newText); + }, + undo: () => { + setText(savedText); + }, + mustExec: false + }); + this.#setEditorDimensions(); + } + shouldGetKeyboardEvents() { + return this.isInEditMode(); + } + enterInEditMode() { + this.enableEditMode(); + this.editorDiv.focus(); + } + dblclick(event) { + this.enterInEditMode(); + } + keydown(event) { + if (event.target === this.div && event.key === "Enter") { + this.enterInEditMode(); + event.preventDefault(); + } + } + editorDivKeydown(event) { + FreeTextEditor._keyboardManager.exec(this, event); + } + editorDivFocus(event) { + this.isEditing = true; + } + editorDivBlur(event) { + this.isEditing = false; + } + editorDivInput(event) { + this.parent.div.classList.toggle("freeTextEditing", this.isEmpty()); + } + disableEditing() { + this.editorDiv.setAttribute("role", "comment"); + this.editorDiv.removeAttribute("aria-multiline"); + } + enableEditing() { + this.editorDiv.setAttribute("role", "textbox"); + this.editorDiv.setAttribute("aria-multiline", true); + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this.width) { + baseX = this.x; + baseY = this.y; + } + super.render(); + this.editorDiv = document.createElement("div"); + this.editorDiv.className = "internal"; + this.editorDiv.setAttribute("id", this.#editorDivId); + this.enableEditing(); + _editor.AnnotationEditor._l10nPromise.get("editor_free_text2_aria_label").then(msg => this.editorDiv?.setAttribute("aria-label", msg)); + _editor.AnnotationEditor._l10nPromise.get("free_text2_default_content").then(msg => this.editorDiv?.setAttribute("default-content", msg)); + this.editorDiv.contentEditable = true; + const { + style + } = this.editorDiv; + style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`; + style.color = this.#color; + this.div.append(this.editorDiv); + this.overlayDiv = document.createElement("div"); + this.overlayDiv.classList.add("overlay", "enabled"); + this.div.append(this.overlayDiv); + (0, _tools.bindEvents)(this, this.div, ["dblclick", "keydown"]); + if (this.width) { + const [parentWidth, parentHeight] = this.parentDimensions; + if (this.annotationElementId) { + const { + position + } = this.#initialData; + let [tx, ty] = this.getInitialTranslation(); + [tx, ty] = this.pageTranslationToScreen(tx, ty); + const [pageWidth, pageHeight] = this.pageDimensions; + const [pageX, pageY] = this.pageTranslation; + let posX, posY; + switch (this.rotation) { + case 0: + posX = baseX + (position[0] - pageX) / pageWidth; + posY = baseY + this.height - (position[1] - pageY) / pageHeight; + break; + case 90: + posX = baseX + (position[0] - pageX) / pageWidth; + posY = baseY - (position[1] - pageY) / pageHeight; + [tx, ty] = [ty, -tx]; + break; + case 180: + posX = baseX - this.width + (position[0] - pageX) / pageWidth; + posY = baseY - (position[1] - pageY) / pageHeight; + [tx, ty] = [-tx, -ty]; + break; + case 270: + posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth; + posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight; + [tx, ty] = [-ty, tx]; + break; + } + this.setAt(posX * parentWidth, posY * parentHeight, tx, ty); + } else { + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + } + this.#setContent(); + this._isDraggable = true; + this.editorDiv.contentEditable = false; + } else { + this._isDraggable = false; + this.editorDiv.contentEditable = true; + } + return this.div; + } + #setContent() { + this.editorDiv.replaceChildren(); + if (!this.#content) { + return; + } + for (const line of this.#content.split("\n")) { + const div = document.createElement("div"); + div.append(line ? document.createTextNode(line) : document.createElement("br")); + this.editorDiv.append(div); + } + } + get contentDiv() { + return this.editorDiv; + } + static deserialize(data, parent, uiManager) { + let initialData = null; + if (data instanceof _annotation_layer.FreeTextAnnotationElement) { + const { + data: { + defaultAppearanceData: { + fontSize, + fontColor + }, + rect, + rotation, + id + }, + textContent, + textPosition, + parent: { + page: { + pageNumber + } + } + } = data; + if (!textContent || textContent.length === 0) { + return null; + } + initialData = data = { + annotationType: _util.AnnotationEditorType.FREETEXT, + color: Array.from(fontColor), + fontSize, + value: textContent.join("\n"), + position: textPosition, + pageIndex: pageNumber - 1, + rect, + rotation, + id, + deleted: false + }; + } + const editor = super.deserialize(data, parent, uiManager); + editor.#fontSize = data.fontSize; + editor.#color = _util.Util.makeHexColor(...data.color); + editor.#content = data.value; + editor.annotationElementId = data.id || null; + editor.#initialData = initialData; + return editor; + } + serialize() { + let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.isEmpty()) { + return null; + } + if (this.deleted) { + return { + pageIndex: this.pageIndex, + id: this.annotationElementId, + deleted: true + }; + } + const padding = FreeTextEditor._internalPadding * this.parentScale; + const rect = this.getRect(padding, padding); + const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color); + const serialized = { + annotationType: _util.AnnotationEditorType.FREETEXT, + color, + fontSize: this.#fontSize, + value: this.#content, + pageIndex: this.pageIndex, + rect, + rotation: this.rotation, + structTreeParentId: this._structTreeParentId + }; + if (isForCopying) { + return serialized; + } + if (this.annotationElementId && !this.#hasElementChanged(serialized)) { + return null; + } + serialized.id = this.annotationElementId; + return serialized; + } + #hasElementChanged(serialized) { + const { + value, + fontSize, + color, + rect, + pageIndex + } = this.#initialData; + return serialized.value !== value || serialized.fontSize !== fontSize || serialized.rect.some((x, i) => Math.abs(x - rect[i]) >= 1) || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex; + } + #cheatInitialRect() { + let delayed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (!this.annotationElementId) { + return; + } + this.#setEditorDimensions(); + if (!delayed && (this.width === 0 || this.height === 0)) { + setTimeout(() => this.#cheatInitialRect(true), 0); + return; + } + const padding = FreeTextEditor._internalPadding * this.parentScale; + this.#initialData.rect = this.getRect(padding, padding); + } +} +exports.FreeTextEditor = FreeTextEditor; + +/***/ }), +/* 198 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StampAnnotationElement = exports.InkAnnotationElement = exports.FreeTextAnnotationElement = exports.AnnotationLayer = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(125); +__w_pdfjs_require__(136); +__w_pdfjs_require__(138); +__w_pdfjs_require__(141); +__w_pdfjs_require__(143); +__w_pdfjs_require__(145); +__w_pdfjs_require__(147); +var _util = __w_pdfjs_require__(1); +var _display_utils = __w_pdfjs_require__(168); +var _annotation_storage = __w_pdfjs_require__(163); +var _scripting_utils = __w_pdfjs_require__(199); +var _displayL10n_utils = __w_pdfjs_require__(200); +var _xfa_layer = __w_pdfjs_require__(201); +const DEFAULT_TAB_INDEX = 1000; +const DEFAULT_FONT_SIZE = 9; +const GetElementsByNameSet = new WeakSet(); +function getRectDims(rect) { + return { + width: rect[2] - rect[0], + height: rect[3] - rect[1] + }; +} +class AnnotationElementFactory { + static create(parameters) { + const subtype = parameters.data.annotationType; + switch (subtype) { + case _util.AnnotationType.LINK: + return new LinkAnnotationElement(parameters); + case _util.AnnotationType.TEXT: + return new TextAnnotationElement(parameters); + case _util.AnnotationType.WIDGET: + const fieldType = parameters.data.fieldType; + switch (fieldType) { + case "Tx": + return new TextWidgetAnnotationElement(parameters); + case "Btn": + if (parameters.data.radioButton) { + return new RadioButtonWidgetAnnotationElement(parameters); + } else if (parameters.data.checkBox) { + return new CheckboxWidgetAnnotationElement(parameters); + } + return new PushButtonWidgetAnnotationElement(parameters); + case "Ch": + return new ChoiceWidgetAnnotationElement(parameters); + case "Sig": + return new SignatureWidgetAnnotationElement(parameters); + } + return new WidgetAnnotationElement(parameters); + case _util.AnnotationType.POPUP: + return new PopupAnnotationElement(parameters); + case _util.AnnotationType.FREETEXT: + return new FreeTextAnnotationElement(parameters); + case _util.AnnotationType.LINE: + return new LineAnnotationElement(parameters); + case _util.AnnotationType.SQUARE: + return new SquareAnnotationElement(parameters); + case _util.AnnotationType.CIRCLE: + return new CircleAnnotationElement(parameters); + case _util.AnnotationType.POLYLINE: + return new PolylineAnnotationElement(parameters); + case _util.AnnotationType.CARET: + return new CaretAnnotationElement(parameters); + case _util.AnnotationType.INK: + return new InkAnnotationElement(parameters); + case _util.AnnotationType.POLYGON: + return new PolygonAnnotationElement(parameters); + case _util.AnnotationType.HIGHLIGHT: + return new HighlightAnnotationElement(parameters); + case _util.AnnotationType.UNDERLINE: + return new UnderlineAnnotationElement(parameters); + case _util.AnnotationType.SQUIGGLY: + return new SquigglyAnnotationElement(parameters); + case _util.AnnotationType.STRIKEOUT: + return new StrikeOutAnnotationElement(parameters); + case _util.AnnotationType.STAMP: + return new StampAnnotationElement(parameters); + case _util.AnnotationType.FILEATTACHMENT: + return new FileAttachmentAnnotationElement(parameters); + default: + return new AnnotationElement(parameters); + } + } +} +class AnnotationElement { + #hasBorder = false; + constructor(parameters) { + let { + isRenderable = false, + ignoreBorder = false, + createQuadrilaterals = false + } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + this.isRenderable = isRenderable; + this.data = parameters.data; + this.layer = parameters.layer; + this.linkService = parameters.linkService; + this.downloadManager = parameters.downloadManager; + this.imageResourcesPath = parameters.imageResourcesPath; + this.renderForms = parameters.renderForms; + this.svgFactory = parameters.svgFactory; + this.annotationStorage = parameters.annotationStorage; + this.enableScripting = parameters.enableScripting; + this.hasJSActions = parameters.hasJSActions; + this._fieldObjects = parameters.fieldObjects; + this.parent = parameters.parent; + if (isRenderable) { + this.container = this._createContainer(ignoreBorder); + } + if (createQuadrilaterals) { + this._createQuadrilaterals(); + } + } + static _hasPopupData(_ref) { + let { + titleObj, + contentsObj, + richText + } = _ref; + return !!(titleObj?.str || contentsObj?.str || richText?.str); + } + get hasPopupData() { + return AnnotationElement._hasPopupData(this.data); + } + _createContainer(ignoreBorder) { + const { + data, + parent: { + page, + viewport + } + } = this; + const container = document.createElement("section"); + container.setAttribute("data-annotation-id", data.id); + if (!(this instanceof WidgetAnnotationElement)) { + container.tabIndex = DEFAULT_TAB_INDEX; + } + container.style.zIndex = this.parent.zIndex++; + if (this.data.popupRef) { + container.setAttribute("aria-haspopup", "dialog"); + } + if (data.noRotate) { + container.classList.add("norotate"); + } + const { + pageWidth, + pageHeight, + pageX, + pageY + } = viewport.rawDims; + if (!data.rect || this instanceof PopupAnnotationElement) { + const { + rotation + } = data; + if (!data.hasOwnCanvas && rotation !== 0) { + this.setRotation(rotation, container); + } + return container; + } + const { + width, + height + } = getRectDims(data.rect); + const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]); + if (!ignoreBorder && data.borderStyle.width > 0) { + container.style.borderWidth = `${data.borderStyle.width}px`; + const horizontalRadius = data.borderStyle.horizontalCornerRadius; + const verticalRadius = data.borderStyle.verticalCornerRadius; + if (horizontalRadius > 0 || verticalRadius > 0) { + const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`; + container.style.borderRadius = radius; + } else if (this instanceof RadioButtonWidgetAnnotationElement) { + const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`; + container.style.borderRadius = radius; + } + switch (data.borderStyle.style) { + case _util.AnnotationBorderStyleType.SOLID: + container.style.borderStyle = "solid"; + break; + case _util.AnnotationBorderStyleType.DASHED: + container.style.borderStyle = "dashed"; + break; + case _util.AnnotationBorderStyleType.BEVELED: + (0, _util.warn)("Unimplemented border style: beveled"); + break; + case _util.AnnotationBorderStyleType.INSET: + (0, _util.warn)("Unimplemented border style: inset"); + break; + case _util.AnnotationBorderStyleType.UNDERLINE: + container.style.borderBottomStyle = "solid"; + break; + default: + break; + } + const borderColor = data.borderColor || null; + if (borderColor) { + this.#hasBorder = true; + container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0); + } else { + container.style.borderWidth = 0; + } + } + container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`; + container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`; + const { + rotation + } = data; + if (data.hasOwnCanvas || rotation === 0) { + container.style.width = `${100 * width / pageWidth}%`; + container.style.height = `${100 * height / pageHeight}%`; + } else { + this.setRotation(rotation, container); + } + return container; + } + setRotation(angle) { + let container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.container; + if (!this.data.rect) { + return; + } + const { + pageWidth, + pageHeight + } = this.parent.viewport.rawDims; + const { + width, + height + } = getRectDims(this.data.rect); + let elementWidth, elementHeight; + if (angle % 180 === 0) { + elementWidth = 100 * width / pageWidth; + elementHeight = 100 * height / pageHeight; + } else { + elementWidth = 100 * height / pageWidth; + elementHeight = 100 * width / pageHeight; + } + container.style.width = `${elementWidth}%`; + container.style.height = `${elementHeight}%`; + container.setAttribute("data-main-rotation", (360 - angle) % 360); + } + get _commonActions() { + const setColor = (jsName, styleName, event) => { + const color = event.detail[jsName]; + const colorType = color[0]; + const colorArray = color.slice(1); + event.target.style[styleName] = _scripting_utils.ColorConverters[`${colorType}_HTML`](colorArray); + this.annotationStorage.setValue(this.data.id, { + [styleName]: _scripting_utils.ColorConverters[`${colorType}_rgb`](colorArray) + }); + }; + return (0, _util.shadow)(this, "_commonActions", { + display: event => { + const { + display + } = event.detail; + const hidden = display % 2 === 1; + this.container.style.visibility = hidden ? "hidden" : "visible"; + this.annotationStorage.setValue(this.data.id, { + noView: hidden, + noPrint: display === 1 || display === 2 + }); + }, + print: event => { + this.annotationStorage.setValue(this.data.id, { + noPrint: !event.detail.print + }); + }, + hidden: event => { + const { + hidden + } = event.detail; + this.container.style.visibility = hidden ? "hidden" : "visible"; + this.annotationStorage.setValue(this.data.id, { + noPrint: hidden, + noView: hidden + }); + }, + focus: event => { + setTimeout(() => event.target.focus({ + preventScroll: false + }), 0); + }, + userName: event => { + event.target.title = event.detail.userName; + }, + readonly: event => { + event.target.disabled = event.detail.readonly; + }, + required: event => { + this._setRequired(event.target, event.detail.required); + }, + bgColor: event => { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: event => { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: event => { + setColor("fgColor", "color", event); + }, + textColor: event => { + setColor("textColor", "color", event); + }, + borderColor: event => { + setColor("borderColor", "borderColor", event); + }, + strokeColor: event => { + setColor("strokeColor", "borderColor", event); + }, + rotation: event => { + const angle = event.detail.rotation; + this.setRotation(angle); + this.annotationStorage.setValue(this.data.id, { + rotation: angle + }); + } + }); + } + _dispatchEventFromSandbox(actions, jsEvent) { + const commonActions = this._commonActions; + for (const name of Object.keys(jsEvent.detail)) { + const action = actions[name] || commonActions[name]; + action?.(jsEvent); + } + } + _setDefaultPropertiesFromJS(element) { + if (!this.enableScripting) { + return; + } + const storedData = this.annotationStorage.getRawValue(this.data.id); + if (!storedData) { + return; + } + const commonActions = this._commonActions; + for (const [actionName, detail] of Object.entries(storedData)) { + const action = commonActions[actionName]; + if (action) { + const eventProxy = { + detail: { + [actionName]: detail + }, + target: element + }; + action(eventProxy); + delete storedData[actionName]; + } + } + } + _createQuadrilaterals() { + if (!this.container) { + return; + } + const { + quadPoints + } = this.data; + if (!quadPoints) { + return; + } + const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect; + if (quadPoints.length === 1) { + const [, { + x: trX, + y: trY + }, { + x: blX, + y: blY + }] = quadPoints[0]; + if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) { + return; + } + } + const { + style + } = this.container; + let svgBuffer; + if (this.#hasBorder) { + const { + borderColor, + borderWidth + } = style; + style.borderWidth = 0; + svgBuffer = ["url('data:image/svg+xml;utf8,", ``, ``]; + this.container.classList.add("hasBorder"); + } + const width = rectTrX - rectBlX; + const height = rectTrY - rectBlY; + const { + svgFactory + } = this; + const svg = svgFactory.createElement("svg"); + svg.classList.add("quadrilateralsContainer"); + svg.setAttribute("width", 0); + svg.setAttribute("height", 0); + const defs = svgFactory.createElement("defs"); + svg.append(defs); + const clipPath = svgFactory.createElement("clipPath"); + const id = `clippath_${this.data.id}`; + clipPath.setAttribute("id", id); + clipPath.setAttribute("clipPathUnits", "objectBoundingBox"); + defs.append(clipPath); + for (const [, { + x: trX, + y: trY + }, { + x: blX, + y: blY + }] of quadPoints) { + const rect = svgFactory.createElement("rect"); + const x = (blX - rectBlX) / width; + const y = (rectTrY - trY) / height; + const rectWidth = (trX - blX) / width; + const rectHeight = (trY - blY) / height; + rect.setAttribute("x", x); + rect.setAttribute("y", y); + rect.setAttribute("width", rectWidth); + rect.setAttribute("height", rectHeight); + clipPath.append(rect); + svgBuffer?.push(``); + } + if (this.#hasBorder) { + svgBuffer.push(`')`); + style.backgroundImage = svgBuffer.join(""); + } + this.container.append(svg); + this.container.style.clipPath = `url(#${id})`; + } + _createPopup() { + const { + container, + data + } = this; + container.setAttribute("aria-haspopup", "dialog"); + const popup = new PopupAnnotationElement({ + data: { + color: data.color, + titleObj: data.titleObj, + modificationDate: data.modificationDate, + contentsObj: data.contentsObj, + richText: data.richText, + parentRect: data.rect, + borderStyle: 0, + id: `popup_${data.id}`, + rotation: data.rotation + }, + parent: this.parent, + elements: [this] + }); + this.parent.div.append(popup.render()); + } + render() { + (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); + } + _getElementsByName(name) { + let skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const fields = []; + if (this._fieldObjects) { + const fieldObj = this._fieldObjects[name]; + if (fieldObj) { + for (const { + page, + id, + exportValues + } of fieldObj) { + if (page === -1) { + continue; + } + if (id === skipId) { + continue; + } + const exportValue = typeof exportValues === "string" ? exportValues : null; + const domElement = document.querySelector(`[data-element-id="${id}"]`); + if (domElement && !GetElementsByNameSet.has(domElement)) { + (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`); + continue; + } + fields.push({ + id, + exportValue, + domElement + }); + } + } + return fields; + } + for (const domElement of document.getElementsByName(name)) { + const { + exportValue + } = domElement; + const id = domElement.getAttribute("data-element-id"); + if (id === skipId) { + continue; + } + if (!GetElementsByNameSet.has(domElement)) { + continue; + } + fields.push({ + id, + exportValue, + domElement + }); + } + return fields; + } + show() { + if (this.container) { + this.container.hidden = false; + } + this.popup?.maybeShow(); + } + hide() { + if (this.container) { + this.container.hidden = true; + } + this.popup?.forceHide(); + } + getElementsToTriggerPopup() { + return this.container; + } + addHighlightArea() { + const triggers = this.getElementsToTriggerPopup(); + if (Array.isArray(triggers)) { + for (const element of triggers) { + element.classList.add("highlightArea"); + } + } else { + triggers.classList.add("highlightArea"); + } + } + _editOnDoubleClick() { + const { + annotationEditorType: mode, + data: { + id: editId + } + } = this; + this.container.addEventListener("dblclick", () => { + this.linkService.eventBus?.dispatch("switchannotationeditormode", { + source: this, + mode, + editId + }); + }); + } +} +class LinkAnnotationElement extends AnnotationElement { + constructor(parameters) { + let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + super(parameters, { + isRenderable: true, + ignoreBorder: !!options?.ignoreBorder, + createQuadrilaterals: true + }); + this.isTooltipOnly = parameters.data.isTooltipOnly; + } + render() { + const { + data, + linkService + } = this; + const link = document.createElement("a"); + link.setAttribute("data-element-id", data.id); + let isBound = false; + if (data.url) { + linkService.addLinkAttributes(link, data.url, data.newWindow); + isBound = true; + } else if (data.action) { + this._bindNamedAction(link, data.action); + isBound = true; + } else if (data.attachment) { + this._bindAttachment(link, data.attachment); + isBound = true; + } else if (data.setOCGState) { + this.#bindSetOCGState(link, data.setOCGState); + isBound = true; + } else if (data.dest) { + this._bindLink(link, data.dest); + isBound = true; + } else { + if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) { + this._bindJSAction(link, data); + isBound = true; + } + if (data.resetForm) { + this._bindResetFormAction(link, data.resetForm); + isBound = true; + } else if (this.isTooltipOnly && !isBound) { + this._bindLink(link, ""); + isBound = true; + } + } + this.container.classList.add("linkAnnotation"); + if (isBound) { + this.container.append(link); + } + return this.container; + } + #setInternalLink() { + this.container.setAttribute("data-internal-link", ""); + } + _bindLink(link, destination) { + link.href = this.linkService.getDestinationHash(destination); + link.onclick = () => { + if (destination) { + this.linkService.goToDestination(destination); + } + return false; + }; + if (destination || destination === "") { + this.#setInternalLink(); + } + } + _bindNamedAction(link, action) { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.linkService.executeNamedAction(action); + return false; + }; + this.#setInternalLink(); + } + _bindAttachment(link, attachment) { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename); + return false; + }; + this.#setInternalLink(); + } + #bindSetOCGState(link, action) { + link.href = this.linkService.getAnchorUrl(""); + link.onclick = () => { + this.linkService.executeSetOCGState(action); + return false; + }; + this.#setInternalLink(); + } + _bindJSAction(link, data) { + link.href = this.linkService.getAnchorUrl(""); + const map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + for (const name of Object.keys(data.actions)) { + const jsName = map.get(name); + if (!jsName) { + continue; + } + link[jsName] = () => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: data.id, + name + } + }); + return false; + }; + } + if (!link.onclick) { + link.onclick = () => false; + } + this.#setInternalLink(); + } + _bindResetFormAction(link, resetForm) { + const otherClickAction = link.onclick; + if (!otherClickAction) { + link.href = this.linkService.getAnchorUrl(""); + } + this.#setInternalLink(); + if (!this._fieldObjects) { + (0, _util.warn)(`_bindResetFormAction - "resetForm" action not supported, ` + "ensure that the `fieldObjects` parameter is provided."); + if (!otherClickAction) { + link.onclick = () => false; + } + return; + } + link.onclick = () => { + otherClickAction?.(); + const { + fields: resetFormFields, + refs: resetFormRefs, + include + } = resetForm; + const allFields = []; + if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) { + const fieldIds = new Set(resetFormRefs); + for (const fieldName of resetFormFields) { + const fields = this._fieldObjects[fieldName] || []; + for (const { + id + } of fields) { + fieldIds.add(id); + } + } + for (const fields of Object.values(this._fieldObjects)) { + for (const field of fields) { + if (fieldIds.has(field.id) === include) { + allFields.push(field); + } + } + } + } else { + for (const fields of Object.values(this._fieldObjects)) { + allFields.push(...fields); + } + } + const storage = this.annotationStorage; + const allIds = []; + for (const field of allFields) { + const { + id + } = field; + allIds.push(id); + switch (field.type) { + case "text": + { + const value = field.defaultValue || ""; + storage.setValue(id, { + value + }); + break; + } + case "checkbox": + case "radiobutton": + { + const value = field.defaultValue === field.exportValues; + storage.setValue(id, { + value + }); + break; + } + case "combobox": + case "listbox": + { + const value = field.defaultValue || ""; + storage.setValue(id, { + value + }); + break; + } + default: + continue; + } + const domElement = document.querySelector(`[data-element-id="${id}"]`); + if (!domElement) { + continue; + } else if (!GetElementsByNameSet.has(domElement)) { + (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`); + continue; + } + domElement.dispatchEvent(new Event("resetform")); + } + if (this.enableScripting) { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: "app", + ids: allIds, + name: "ResetForm" + } + }); + } + return false; + }; + } +} +class TextAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true + }); + } + render() { + this.container.classList.add("textAnnotation"); + const image = document.createElement("img"); + image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg"; + image.alt = "[{{type}} Annotation]"; + image.dataset.l10nId = "text_annotation_type"; + image.dataset.l10nArgs = JSON.stringify({ + type: this.data.name + }); + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + this.container.append(image); + return this.container; + } +} +class WidgetAnnotationElement extends AnnotationElement { + render() { + if (this.data.alternativeText) { + this.container.title = this.data.alternativeText; + } + return this.container; + } + showElementAndHideCanvas(element) { + if (this.data.hasOwnCanvas) { + if (element.previousSibling?.nodeName === "CANVAS") { + element.previousSibling.hidden = true; + } + element.hidden = false; + } + } + _getKeyModifier(event) { + const { + isWin, + isMac + } = _util.FeatureTest.platform; + return isWin && event.ctrlKey || isMac && event.metaKey; + } + _setEventListener(element, elementData, baseName, eventName, valueGetter) { + if (baseName.includes("mouse")) { + element.addEventListener(baseName, event => { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: this.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: this._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, event => { + if (baseName === "blur") { + if (!elementData.focused || !event.relatedTarget) { + return; + } + elementData.focused = false; + } else if (baseName === "focus") { + if (elementData.focused) { + return; + } + elementData.focused = true; + } + if (!valueGetter) { + return; + } + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id: this.data.id, + name: eventName, + value: valueGetter(event) + } + }); + }); + } + } + _setEventListeners(element, elementData, names, getter) { + for (const [baseName, eventName] of names) { + if (eventName === "Action" || this.data.actions?.[eventName]) { + if (eventName === "Focus" || eventName === "Blur") { + elementData ||= { + focused: false + }; + } + this._setEventListener(element, elementData, baseName, eventName, getter); + if (eventName === "Focus" && !this.data.actions?.Blur) { + this._setEventListener(element, elementData, "blur", "Blur", null); + } else if (eventName === "Blur" && !this.data.actions?.Focus) { + this._setEventListener(element, elementData, "focus", "Focus", null); + } + } + } + } + _setBackgroundColor(element) { + const color = this.data.backgroundColor || null; + element.style.backgroundColor = color === null ? "transparent" : _util.Util.makeHexColor(color[0], color[1], color[2]); + } + _setTextStyle(element) { + const TEXT_ALIGNMENT = ["left", "center", "right"]; + const { + fontColor + } = this.data.defaultAppearanceData; + const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE; + const style = element.style; + let computedFontSize; + const BORDER_SIZE = 2; + const roundToOneDecimal = x => Math.round(10 * x) / 10; + if (this.data.multiLine) { + const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); + const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1; + const lineHeight = height / numberOfLines; + computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR)); + } else { + const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE); + computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR)); + } + style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`; + style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]); + if (this.data.textAlignment !== null) { + style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment]; + } + } + _setRequired(element, isRequired) { + if (isRequired) { + element.setAttribute("required", true); + } else { + element.removeAttribute("required"); + } + element.setAttribute("aria-required", isRequired); + } +} +class TextWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + super(parameters, { + isRenderable + }); + } + setPropertyOnSiblings(base, key, value, keyInStorage) { + const storage = this.annotationStorage; + for (const element of this._getElementsByName(base.name, base.id)) { + if (element.domElement) { + element.domElement[key] = value; + } + storage.setValue(element.id, { + [keyInStorage]: value + }); + } + } + render() { + const storage = this.annotationStorage; + const id = this.data.id; + this.container.classList.add("textWidgetAnnotation"); + let element = null; + if (this.renderForms) { + const storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + let textContent = storedData.value || ""; + const maxLen = storage.getValue(id, { + charLimit: this.data.maxLen + }).charLimit; + if (maxLen && textContent.length > maxLen) { + textContent = textContent.slice(0, maxLen); + } + let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join("\n") || null; + if (fieldFormattedValues && this.data.comb) { + fieldFormattedValues = fieldFormattedValues.replaceAll(/\s+/g, ""); + } + const elementData = { + userValue: textContent, + formattedValue: fieldFormattedValues, + lastCommittedValue: null, + commitKey: 1, + focused: false + }; + if (this.data.multiLine) { + element = document.createElement("textarea"); + element.textContent = fieldFormattedValues ?? textContent; + if (this.data.doNotScroll) { + element.style.overflowY = "hidden"; + } + } else { + element = document.createElement("input"); + element.type = "text"; + element.setAttribute("value", fieldFormattedValues ?? textContent); + if (this.data.doNotScroll) { + element.style.overflowX = "hidden"; + } + } + if (this.data.hasOwnCanvas) { + element.hidden = true; + } + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = this.data.readOnly; + element.name = this.data.fieldName; + element.tabIndex = DEFAULT_TAB_INDEX; + this._setRequired(element, this.data.required); + if (maxLen) { + element.maxLength = maxLen; + } + element.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + this.setPropertyOnSiblings(element, "value", event.target.value, "value"); + elementData.formattedValue = null; + }); + element.addEventListener("resetform", event => { + const defaultValue = this.data.defaultFieldValue ?? ""; + element.value = elementData.userValue = defaultValue; + elementData.formattedValue = null; + }); + let blurListener = event => { + const { + formattedValue + } = elementData; + if (formattedValue !== null && formattedValue !== undefined) { + event.target.value = formattedValue; + } + event.target.scrollLeft = 0; + }; + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("focus", event => { + if (elementData.focused) { + return; + } + const { + target + } = event; + if (elementData.userValue) { + target.value = elementData.userValue; + } + elementData.lastCommittedValue = target.value; + elementData.commitKey = 1; + elementData.focused = true; + }); + element.addEventListener("updatefromsandbox", jsEvent => { + this.showElementAndHideCanvas(jsEvent.target); + const actions = { + value(event) { + elementData.userValue = event.detail.value ?? ""; + storage.setValue(id, { + value: elementData.userValue.toString() + }); + event.target.value = elementData.userValue; + }, + formattedValue(event) { + const { + formattedValue + } = event.detail; + elementData.formattedValue = formattedValue; + if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) { + event.target.value = formattedValue; + } + storage.setValue(id, { + formattedValue + }); + }, + selRange(event) { + event.target.setSelectionRange(...event.detail.selRange); + }, + charLimit: event => { + const { + charLimit + } = event.detail; + const { + target + } = event; + if (charLimit === 0) { + target.removeAttribute("maxLength"); + return; + } + target.setAttribute("maxLength", charLimit); + let value = elementData.userValue; + if (!value || value.length <= charLimit) { + return; + } + value = value.slice(0, charLimit); + target.value = elementData.userValue = value; + storage.setValue(id, { + value + }); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey: 1, + selStart: target.selectionStart, + selEnd: target.selectionEnd + } + }); + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", event => { + elementData.commitKey = 1; + let commitKey = -1; + if (event.key === "Escape") { + commitKey = 0; + } else if (event.key === "Enter" && !this.data.multiLine) { + commitKey = 2; + } else if (event.key === "Tab") { + elementData.commitKey = 3; + } + if (commitKey === -1) { + return; + } + const { + value + } = event.target; + if (elementData.lastCommittedValue === value) { + return; + } + elementData.lastCommittedValue = value; + elementData.userValue = value; + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + const _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", event => { + if (!elementData.focused || !event.relatedTarget) { + return; + } + elementData.focused = false; + const { + value + } = event.target; + elementData.userValue = value; + if (elementData.lastCommittedValue !== value) { + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + willCommit: true, + commitKey: elementData.commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + _blurListener(event); + }); + if (this.data.actions?.Keystroke) { + element.addEventListener("beforeinput", event => { + elementData.lastCommittedValue = null; + const { + data, + target + } = event; + const { + value, + selectionStart, + selectionEnd + } = target; + let selStart = selectionStart, + selEnd = selectionEnd; + switch (event.inputType) { + case "deleteWordBackward": + { + const match = value.substring(0, selectionStart).match(/\w*[^\w]*$/); + if (match) { + selStart -= match[0].length; + } + break; + } + case "deleteWordForward": + { + const match = value.substring(selectionStart).match(/^[^\w]*\w*/); + if (match) { + selEnd += match[0].length; + } + break; + } + case "deleteContentBackward": + if (selectionStart === selectionEnd) { + selStart -= 1; + } + break; + case "deleteContentForward": + if (selectionStart === selectionEnd) { + selEnd += 1; + } + break; + } + event.preventDefault(); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value, + change: data || "", + willCommit: false, + selStart, + selEnd + } + }); + }); + } + this._setEventListeners(element, elementData, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.value); + } + if (blurListener) { + element.addEventListener("blur", blurListener); + } + if (this.data.comb) { + const fieldWidth = this.data.rect[2] - this.data.rect[0]; + const combWidth = fieldWidth / maxLen; + element.classList.add("comb"); + element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`; + } + } else { + element = document.createElement("div"); + element.textContent = this.data.fieldValue; + element.style.verticalAlign = "middle"; + element.style.display = "table-cell"; + } + this._setTextStyle(element); + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class SignatureWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: !!parameters.data.hasOwnCanvas + }); + } +} +class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + const storage = this.annotationStorage; + const data = this.data; + const id = data.id; + let value = storage.getValue(id, { + value: data.exportValue === data.fieldValue + }).value; + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value + }); + } + this.container.classList.add("buttonWidgetAnnotation", "checkBox"); + const element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = data.readOnly; + this._setRequired(element, this.data.required); + element.type = "checkbox"; + element.name = data.fieldName; + if (value) { + element.setAttribute("checked", true); + } + element.setAttribute("exportValue", data.exportValue); + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", event => { + const { + name, + checked + } = event.target; + for (const checkbox of this._getElementsByName(name, id)) { + const curChecked = checked && checkbox.exportValue === data.exportValue; + if (checkbox.domElement) { + checkbox.domElement.checked = curChecked; + } + storage.setValue(checkbox.id, { + value: curChecked + }); + } + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", event => { + const defaultValue = data.defaultFieldValue || "Off"; + event.target.checked = defaultValue === data.exportValue; + }); + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + this._setEventListeners(element, null, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); + } + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + this.container.classList.add("buttonWidgetAnnotation", "radioButton"); + const storage = this.annotationStorage; + const data = this.data; + const id = data.id; + let value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value + }); + } + const element = document.createElement("input"); + GetElementsByNameSet.add(element); + element.setAttribute("data-element-id", id); + element.disabled = data.readOnly; + this._setRequired(element, this.data.required); + element.type = "radio"; + element.name = data.fieldName; + if (value) { + element.setAttribute("checked", true); + } + element.tabIndex = DEFAULT_TAB_INDEX; + element.addEventListener("change", event => { + const { + name, + checked + } = event.target; + for (const radio of this._getElementsByName(name, id)) { + storage.setValue(radio.id, { + value: false + }); + } + storage.setValue(id, { + value: checked + }); + }); + element.addEventListener("resetform", event => { + const defaultValue = data.defaultFieldValue; + event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue; + }); + if (this.enableScripting && this.hasJSActions) { + const pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value: event => { + const checked = pdfButtonValue === event.detail.value; + for (const radio of this._getElementsByName(event.target.name)) { + const curChecked = checked && radio.id === id; + if (radio.domElement) { + radio.domElement.checked = curChecked; + } + storage.setValue(radio.id, { + value: curChecked + }); + } + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + this._setEventListeners(element, null, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked); + } + this._setBackgroundColor(element); + this._setDefaultPropertiesFromJS(element); + this.container.append(element); + return this.container; + } +} +class PushButtonWidgetAnnotationElement extends LinkAnnotationElement { + constructor(parameters) { + super(parameters, { + ignoreBorder: parameters.data.hasAppearance + }); + } + render() { + const container = super.render(); + container.classList.add("buttonWidgetAnnotation", "pushButton"); + if (this.data.alternativeText) { + container.title = this.data.alternativeText; + } + const linkElement = container.lastChild; + if (this.enableScripting && this.hasJSActions && linkElement) { + this._setDefaultPropertiesFromJS(linkElement); + linkElement.addEventListener("updatefromsandbox", jsEvent => { + this._dispatchEventFromSandbox({}, jsEvent); + }); + } + return container; + } +} +class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: parameters.renderForms + }); + } + render() { + this.container.classList.add("choiceWidgetAnnotation"); + const storage = this.annotationStorage; + const id = this.data.id; + const storedData = storage.getValue(id, { + value: this.data.fieldValue + }); + const selectElement = document.createElement("select"); + GetElementsByNameSet.add(selectElement); + selectElement.setAttribute("data-element-id", id); + selectElement.disabled = this.data.readOnly; + this._setRequired(selectElement, this.data.required); + selectElement.name = this.data.fieldName; + selectElement.tabIndex = DEFAULT_TAB_INDEX; + let addAnEmptyEntry = this.data.combo && this.data.options.length > 0; + if (!this.data.combo) { + selectElement.size = this.data.options.length; + if (this.data.multiSelect) { + selectElement.multiple = true; + } + } + selectElement.addEventListener("resetform", event => { + const defaultValue = this.data.defaultFieldValue; + for (const option of selectElement.options) { + option.selected = option.value === defaultValue; + } + }); + for (const option of this.data.options) { + const optionElement = document.createElement("option"); + optionElement.textContent = option.displayValue; + optionElement.value = option.exportValue; + if (storedData.value.includes(option.exportValue)) { + optionElement.setAttribute("selected", true); + addAnEmptyEntry = false; + } + selectElement.append(optionElement); + } + let removeEmptyEntry = null; + if (addAnEmptyEntry) { + const noneOptionElement = document.createElement("option"); + noneOptionElement.value = " "; + noneOptionElement.setAttribute("hidden", true); + noneOptionElement.setAttribute("selected", true); + selectElement.prepend(noneOptionElement); + removeEmptyEntry = () => { + noneOptionElement.remove(); + selectElement.removeEventListener("input", removeEmptyEntry); + removeEmptyEntry = null; + }; + selectElement.addEventListener("input", removeEmptyEntry); + } + const getValue = isExport => { + const name = isExport ? "value" : "textContent"; + const { + options, + multiple + } = selectElement; + if (!multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]); + }; + let selectedValues = getValue(false); + const getItems = event => { + const options = event.target.options; + return Array.prototype.map.call(options, option => { + return { + displayValue: option.textContent, + exportValue: option.value + }; + }); + }; + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", jsEvent => { + const actions = { + value(event) { + removeEmptyEntry?.(); + const value = event.detail.value; + const values = new Set(Array.isArray(value) ? value : [value]); + for (const option of selectElement.options) { + option.selected = values.has(option.value); + } + storage.setValue(id, { + value: getValue(true) + }); + selectedValues = getValue(false); + }, + multipleSelection(event) { + selectElement.multiple = true; + }, + remove(event) { + const options = selectElement.options; + const index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + if (options.length > 0) { + const i = Array.prototype.findIndex.call(options, option => option.selected); + if (i === -1) { + options[0].selected = true; + } + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + storage.setValue(id, { + value: null, + items: [] + }); + selectedValues = getValue(false); + }, + insert(event) { + const { + index, + displayValue, + exportValue + } = event.detail.insert; + const selectChild = selectElement.children[index]; + const optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + if (selectChild) { + selectChild.before(optionElement); + } else { + selectElement.append(optionElement); + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + items(event) { + const { + items + } = event.detail; + while (selectElement.length !== 0) { + selectElement.remove(0); + } + for (const item of items) { + const { + displayValue, + exportValue + } = item; + const optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.append(optionElement); + } + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + storage.setValue(id, { + value: getValue(true), + items: getItems(event) + }); + selectedValues = getValue(false); + }, + indices(event) { + const indices = new Set(event.detail.indices); + for (const option of event.target.options) { + option.selected = indices.has(option.index); + } + storage.setValue(id, { + value: getValue(true) + }); + selectedValues = getValue(false); + }, + editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + this._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", event => { + const exportValue = getValue(true); + storage.setValue(id, { + value: exportValue + }); + event.preventDefault(); + this.linkService.eventBus?.dispatch("dispatcheventinsandbox", { + source: this, + detail: { + id, + name: "Keystroke", + value: selectedValues, + changeEx: exportValue, + willCommit: false, + commitKey: 1, + keyDown: false + } + }); + }); + this._setEventListeners(selectElement, null, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"], ["input", "Action"], ["input", "Validate"]], event => event.target.value); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(true) + }); + }); + } + if (this.data.combo) { + this._setTextStyle(selectElement); + } else {} + this._setBackgroundColor(selectElement); + this._setDefaultPropertiesFromJS(selectElement); + this.container.append(selectElement); + return this.container; + } +} +class PopupAnnotationElement extends AnnotationElement { + constructor(parameters) { + const { + data, + elements + } = parameters; + super(parameters, { + isRenderable: AnnotationElement._hasPopupData(data) + }); + this.elements = elements; + } + render() { + this.container.classList.add("popupAnnotation"); + const popup = new PopupElement({ + container: this.container, + color: this.data.color, + titleObj: this.data.titleObj, + modificationDate: this.data.modificationDate, + contentsObj: this.data.contentsObj, + richText: this.data.richText, + rect: this.data.rect, + parentRect: this.data.parentRect || null, + parent: this.parent, + elements: this.elements, + open: this.data.open + }); + const elementIds = []; + for (const element of this.elements) { + element.popup = popup; + elementIds.push(element.data.id); + element.addHighlightArea(); + } + this.container.setAttribute("aria-controls", elementIds.map(id => `${_util.AnnotationPrefix}${id}`).join(",")); + return this.container; + } +} +class PopupElement { + #dateTimePromise = null; + #boundKeyDown = this.#keyDown.bind(this); + #boundHide = this.#hide.bind(this); + #boundShow = this.#show.bind(this); + #boundToggle = this.#toggle.bind(this); + #color = null; + #container = null; + #contentsObj = null; + #elements = null; + #parent = null; + #parentRect = null; + #pinned = false; + #popup = null; + #rect = null; + #richText = null; + #titleObj = null; + #wasVisible = false; + constructor(_ref2) { + let { + container, + color, + elements, + titleObj, + modificationDate, + contentsObj, + richText, + parent, + rect, + parentRect, + open + } = _ref2; + this.#container = container; + this.#titleObj = titleObj; + this.#contentsObj = contentsObj; + this.#richText = richText; + this.#parent = parent; + this.#color = color; + this.#rect = rect; + this.#parentRect = parentRect; + this.#elements = elements; + const dateObject = _display_utils.PDFDateString.toDateObject(modificationDate); + if (dateObject) { + this.#dateTimePromise = parent.l10n.get("annotation_date_string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + } + this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup()); + for (const element of this.trigger) { + element.addEventListener("click", this.#boundToggle); + element.addEventListener("mouseenter", this.#boundShow); + element.addEventListener("mouseleave", this.#boundHide); + element.classList.add("popupTriggerArea"); + } + for (const element of elements) { + element.container?.addEventListener("keydown", this.#boundKeyDown); + } + this.#container.hidden = true; + if (open) { + this.#toggle(); + } + } + render() { + if (this.#popup) { + return; + } + const { + page: { + view + }, + viewport: { + rawDims: { + pageWidth, + pageHeight, + pageX, + pageY + } + } + } = this.#parent; + const popup = this.#popup = document.createElement("div"); + popup.className = "popup"; + if (this.#color) { + const baseColor = popup.style.outlineColor = _util.Util.makeHexColor(...this.#color); + if (CSS.supports("background-color", "color-mix(in srgb, red 30%, white)")) { + popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`; + } else { + const BACKGROUND_ENLIGHT = 0.7; + popup.style.backgroundColor = _util.Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c))); + } + } + const header = document.createElement("span"); + header.className = "header"; + const title = document.createElement("h1"); + header.append(title); + ({ + dir: title.dir, + str: title.textContent + } = this.#titleObj); + popup.append(header); + if (this.#dateTimePromise) { + const modificationDate = document.createElement("span"); + modificationDate.classList.add("popupDate"); + this.#dateTimePromise.then(localized => { + modificationDate.textContent = localized; + }); + header.append(modificationDate); + } + const contentsObj = this.#contentsObj; + const richText = this.#richText; + if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) { + _xfa_layer.XfaLayer.render({ + xfaHtml: richText.html, + intent: "richText", + div: popup + }); + popup.lastChild.classList.add("richText", "popupContent"); + } else { + const contents = this._formatContents(contentsObj); + popup.append(contents); + } + let useParentRect = !!this.#parentRect; + let rect = useParentRect ? this.#parentRect : this.#rect; + for (const element of this.#elements) { + if (!rect || _util.Util.intersect(element.data.rect, rect) !== null) { + rect = element.data.rect; + useParentRect = true; + break; + } + } + const normalizedRect = _util.Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]); + const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5; + const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0; + const popupLeft = normalizedRect[0] + parentWidth; + const popupTop = normalizedRect[1]; + const { + style + } = this.#container; + style.left = `${100 * (popupLeft - pageX) / pageWidth}%`; + style.top = `${100 * (popupTop - pageY) / pageHeight}%`; + this.#container.append(popup); + } + _formatContents(_ref3) { + let { + str, + dir + } = _ref3; + const p = document.createElement("p"); + p.classList.add("popupContent"); + p.dir = dir; + const lines = str.split(/(?:\r\n?|\n)/); + for (let i = 0, ii = lines.length; i < ii; ++i) { + const line = lines[i]; + p.append(document.createTextNode(line)); + if (i < ii - 1) { + p.append(document.createElement("br")); + } + } + return p; + } + #keyDown(event) { + if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) { + return; + } + if (event.key === "Enter" || event.key === "Escape" && this.#pinned) { + this.#toggle(); + } + } + #toggle() { + this.#pinned = !this.#pinned; + if (this.#pinned) { + this.#show(); + this.#container.addEventListener("click", this.#boundToggle); + this.#container.addEventListener("keydown", this.#boundKeyDown); + } else { + this.#hide(); + this.#container.removeEventListener("click", this.#boundToggle); + this.#container.removeEventListener("keydown", this.#boundKeyDown); + } + } + #show() { + if (!this.#popup) { + this.render(); + } + if (!this.isVisible) { + this.#container.hidden = false; + this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000; + } else if (this.#pinned) { + this.#container.classList.add("focused"); + } + } + #hide() { + this.#container.classList.remove("focused"); + if (this.#pinned || !this.isVisible) { + return; + } + this.#container.hidden = true; + this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000; + } + forceHide() { + this.#wasVisible = this.isVisible; + if (!this.#wasVisible) { + return; + } + this.#container.hidden = true; + } + maybeShow() { + if (!this.#wasVisible) { + return; + } + this.#wasVisible = false; + this.#container.hidden = false; + } + get isVisible() { + return this.#container.hidden === false; + } +} +class FreeTextAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.textContent = parameters.data.textContent; + this.textPosition = parameters.data.textPosition; + this.annotationEditorType = _util.AnnotationEditorType.FREETEXT; + } + render() { + this.container.classList.add("freeTextAnnotation"); + if (this.textContent) { + const content = document.createElement("div"); + content.classList.add("annotationTextContent"); + content.setAttribute("role", "comment"); + for (const line of this.textContent) { + const lineSpan = document.createElement("span"); + lineSpan.textContent = line; + content.append(lineSpan); + } + this.container.append(content); + } + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + this._editOnDoubleClick(); + return this.container; + } +} +exports.FreeTextAnnotationElement = FreeTextAnnotationElement; +class LineAnnotationElement extends AnnotationElement { + #line = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("lineAnnotation"); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + const line = this.#line = this.svgFactory.createElement("svg:line"); + line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]); + line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]); + line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]); + line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]); + line.setAttribute("stroke-width", data.borderStyle.width || 1); + line.setAttribute("stroke", "transparent"); + line.setAttribute("fill", "transparent"); + svg.append(line); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#line; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class SquareAnnotationElement extends AnnotationElement { + #square = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("squareAnnotation"); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + const borderWidth = data.borderStyle.width; + const square = this.#square = this.svgFactory.createElement("svg:rect"); + square.setAttribute("x", borderWidth / 2); + square.setAttribute("y", borderWidth / 2); + square.setAttribute("width", width - borderWidth); + square.setAttribute("height", height - borderWidth); + square.setAttribute("stroke-width", borderWidth || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "transparent"); + svg.append(square); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#square; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class CircleAnnotationElement extends AnnotationElement { + #circle = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("circleAnnotation"); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + const borderWidth = data.borderStyle.width; + const circle = this.#circle = this.svgFactory.createElement("svg:ellipse"); + circle.setAttribute("cx", width / 2); + circle.setAttribute("cy", height / 2); + circle.setAttribute("rx", width / 2 - borderWidth / 2); + circle.setAttribute("ry", height / 2 - borderWidth / 2); + circle.setAttribute("stroke-width", borderWidth || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "transparent"); + svg.append(circle); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#circle; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class PolylineAnnotationElement extends AnnotationElement { + #polyline = null; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.containerClassName = "polylineAnnotation"; + this.svgElementName = "svg:polyline"; + } + render() { + this.container.classList.add(this.containerClassName); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + let points = []; + for (const coordinate of data.vertices) { + const x = coordinate.x - data.rect[0]; + const y = data.rect[3] - coordinate.y; + points.push(x + "," + y); + } + points = points.join(" "); + const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + svg.append(polyline); + this.container.append(svg); + if (!data.popupRef && this.hasPopupData) { + this._createPopup(); + } + return this.container; + } + getElementsToTriggerPopup() { + return this.#polyline; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +class PolygonAnnotationElement extends PolylineAnnotationElement { + constructor(parameters) { + super(parameters); + this.containerClassName = "polygonAnnotation"; + this.svgElementName = "svg:polygon"; + } +} +class CaretAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("caretAnnotation"); + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + return this.container; + } +} +class InkAnnotationElement extends AnnotationElement { + #polylines = []; + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + this.containerClassName = "inkAnnotation"; + this.svgElementName = "svg:polyline"; + this.annotationEditorType = _util.AnnotationEditorType.INK; + } + render() { + this.container.classList.add(this.containerClassName); + const data = this.data; + const { + width, + height + } = getRectDims(data.rect); + const svg = this.svgFactory.create(width, height, true); + for (const inkList of data.inkLists) { + let points = []; + for (const coordinate of inkList) { + const x = coordinate.x - data.rect[0]; + const y = data.rect[3] - coordinate.y; + points.push(`${x},${y}`); + } + points = points.join(" "); + const polyline = this.svgFactory.createElement(this.svgElementName); + this.#polylines.push(polyline); + polyline.setAttribute("points", points); + polyline.setAttribute("stroke-width", data.borderStyle.width || 1); + polyline.setAttribute("stroke", "transparent"); + polyline.setAttribute("fill", "transparent"); + if (!data.popupRef && this.hasPopupData) { + this._createPopup(); + } + svg.append(polyline); + } + this.container.append(svg); + return this.container; + } + getElementsToTriggerPopup() { + return this.#polylines; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } +} +exports.InkAnnotationElement = InkAnnotationElement; +class HighlightAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + this.container.classList.add("highlightAnnotation"); + return this.container; + } +} +class UnderlineAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + this.container.classList.add("underlineAnnotation"); + return this.container; + } +} +class SquigglyAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + this.container.classList.add("squigglyAnnotation"); + return this.container; + } +} +class StrikeOutAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + render() { + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + this.container.classList.add("strikeoutAnnotation"); + return this.container; + } +} +class StampAnnotationElement extends AnnotationElement { + constructor(parameters) { + super(parameters, { + isRenderable: true, + ignoreBorder: true + }); + } + render() { + this.container.classList.add("stampAnnotation"); + if (!this.data.popupRef && this.hasPopupData) { + this._createPopup(); + } + return this.container; + } +} +exports.StampAnnotationElement = StampAnnotationElement; +class FileAttachmentAnnotationElement extends AnnotationElement { + #trigger = null; + constructor(parameters) { + super(parameters, { + isRenderable: true + }); + const { + filename, + content + } = this.data.file; + this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true); + this.content = content; + this.linkService.eventBus?.dispatch("fileattachmentannotation", { + source: this, + filename, + content + }); + } + render() { + this.container.classList.add("fileAttachmentAnnotation"); + const { + container, + data + } = this; + let trigger; + if (data.hasAppearance || data.fillAlpha === 0) { + trigger = document.createElement("div"); + } else { + trigger = document.createElement("img"); + trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? "paperclip" : "pushpin"}.svg`; + if (data.fillAlpha && data.fillAlpha < 1) { + trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`; + } + } + trigger.addEventListener("dblclick", this.#download.bind(this)); + this.#trigger = trigger; + const { + isMac + } = _util.FeatureTest.platform; + container.addEventListener("keydown", evt => { + if (evt.key === "Enter" && (isMac ? evt.metaKey : evt.ctrlKey)) { + this.#download(); + } + }); + if (!data.popupRef && this.hasPopupData) { + this._createPopup(); + } else { + trigger.classList.add("popupTriggerArea"); + } + container.append(trigger); + return container; + } + getElementsToTriggerPopup() { + return this.#trigger; + } + addHighlightArea() { + this.container.classList.add("highlightArea"); + } + #download() { + this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename); + } +} +class AnnotationLayer { + #accessibilityManager = null; + #annotationCanvasMap = null; + #editableAnnotations = new Map(); + constructor(_ref4) { + let { + div, + accessibilityManager, + annotationCanvasMap, + l10n, + page, + viewport + } = _ref4; + this.div = div; + this.#accessibilityManager = accessibilityManager; + this.#annotationCanvasMap = annotationCanvasMap; + this.l10n = l10n; + this.page = page; + this.viewport = viewport; + this.zIndex = 0; + this.l10n ||= _displayL10n_utils.NullL10n; + } + #appendElement(element, id) { + const contentElement = element.firstChild || element; + contentElement.id = `${_util.AnnotationPrefix}${id}`; + this.div.append(element); + this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false); + } + async render(params) { + const { + annotations + } = params; + const layer = this.div; + (0, _display_utils.setLayerDimensions)(layer, this.viewport); + const popupToElements = new Map(); + const elementParams = { + data: null, + layer, + linkService: params.linkService, + downloadManager: params.downloadManager, + imageResourcesPath: params.imageResourcesPath || "", + renderForms: params.renderForms !== false, + svgFactory: new _display_utils.DOMSVGFactory(), + annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(), + enableScripting: params.enableScripting === true, + hasJSActions: params.hasJSActions, + fieldObjects: params.fieldObjects, + parent: this, + elements: null + }; + for (const data of annotations) { + if (data.noHTML) { + continue; + } + const isPopupAnnotation = data.annotationType === _util.AnnotationType.POPUP; + if (!isPopupAnnotation) { + const { + width, + height + } = getRectDims(data.rect); + if (width <= 0 || height <= 0) { + continue; + } + } else { + const elements = popupToElements.get(data.id); + if (!elements) { + continue; + } + elementParams.elements = elements; + } + elementParams.data = data; + const element = AnnotationElementFactory.create(elementParams); + if (!element.isRenderable) { + continue; + } + if (!isPopupAnnotation && data.popupRef) { + const elements = popupToElements.get(data.popupRef); + if (!elements) { + popupToElements.set(data.popupRef, [element]); + } else { + elements.push(element); + } + } + if (element.annotationEditorType > 0) { + this.#editableAnnotations.set(element.data.id, element); + } + const rendered = element.render(); + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + this.#appendElement(rendered, data.id); + } + this.#setAnnotationCanvasMap(); + await this.l10n.translate(layer); + } + update(_ref5) { + let { + viewport + } = _ref5; + const layer = this.div; + this.viewport = viewport; + (0, _display_utils.setLayerDimensions)(layer, { + rotation: viewport.rotation + }); + this.#setAnnotationCanvasMap(); + layer.hidden = false; + } + #setAnnotationCanvasMap() { + if (!this.#annotationCanvasMap) { + return; + } + const layer = this.div; + for (const [id, canvas] of this.#annotationCanvasMap) { + const element = layer.querySelector(`[data-annotation-id="${id}"]`); + if (!element) { + continue; + } + const { + firstChild + } = element; + if (!firstChild) { + element.append(canvas); + } else if (firstChild.nodeName === "CANVAS") { + firstChild.replaceWith(canvas); + } else { + firstChild.before(canvas); + } + } + this.#annotationCanvasMap.clear(); + } + getEditableAnnotations() { + return Array.from(this.#editableAnnotations.values()); + } + getEditableAnnotation(id) { + return this.#editableAnnotations.get(id); + } +} +exports.AnnotationLayer = AnnotationLayer; + +/***/ }), +/* 199 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ColorConverters = void 0; +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} +function scaleAndClamp(x) { + return Math.max(0, Math.min(255, 255 * x)); +} +class ColorConverters { + static CMYK_G(_ref) { + let [c, y, m, k] = _ref; + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + static G_CMYK(_ref2) { + let [g] = _ref2; + return ["CMYK", 0, 0, 0, 1 - g]; + } + static G_RGB(_ref3) { + let [g] = _ref3; + return ["RGB", g, g, g]; + } + static G_rgb(_ref4) { + let [g] = _ref4; + g = scaleAndClamp(g); + return [g, g, g]; + } + static G_HTML(_ref5) { + let [g] = _ref5; + const G = makeColorComp(g); + return `#${G}${G}${G}`; + } + static RGB_G(_ref6) { + let [r, g, b] = _ref6; + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + static RGB_rgb(color) { + return color.map(scaleAndClamp); + } + static RGB_HTML(color) { + return `#${color.map(makeColorComp).join("")}`; + } + static T_HTML() { + return "#00000000"; + } + static T_rgb() { + return [null]; + } + static CMYK_RGB(_ref7) { + let [c, y, m, k] = _ref7; + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + static CMYK_rgb(_ref8) { + let [c, y, m, k] = _ref8; + return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))]; + } + static CMYK_HTML(components) { + const rgb = this.CMYK_RGB(components).slice(1); + return this.RGB_HTML(rgb); + } + static RGB_CMYK(_ref9) { + let [r, g, b] = _ref9; + const c = 1 - r; + const m = 1 - g; + const y = 1 - b; + const k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } +} +exports.ColorConverters = ColorConverters; + +/***/ }), +/* 200 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NullL10n = void 0; +exports.getL10nFallback = getL10nFallback; +const DEFAULT_L10N_STRINGS = { + of_pages: "of {{pagesCount}}", + page_of_pages: "({{pageNumber}} of {{pagesCount}})", + document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)", + document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)", + document_properties_date_string: "{{date}}, {{time}}", + document_properties_page_size_unit_inches: "in", + document_properties_page_size_unit_millimeters: "mm", + document_properties_page_size_orientation_portrait: "portrait", + document_properties_page_size_orientation_landscape: "landscape", + document_properties_page_size_name_a3: "A3", + document_properties_page_size_name_a4: "A4", + document_properties_page_size_name_letter: "Letter", + document_properties_page_size_name_legal: "Legal", + document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})", + document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})", + document_properties_linearized_yes: "Yes", + document_properties_linearized_no: "No", + additional_layers: "Additional Layers", + page_landmark: "Page {{page}}", + thumb_page_title: "Page {{page}}", + thumb_page_canvas: "Thumbnail of Page {{page}}", + find_reached_top: "Reached top of document, continued from bottom", + find_reached_bottom: "Reached end of document, continued from top", + "find_match_count[one]": "{{current}} of {{total}} match", + "find_match_count[other]": "{{current}} of {{total}} matches", + "find_match_count_limit[one]": "More than {{limit}} match", + "find_match_count_limit[other]": "More than {{limit}} matches", + find_not_found: "Phrase not found", + page_scale_width: "Page Width", + page_scale_fit: "Page Fit", + page_scale_auto: "Automatic Zoom", + page_scale_actual: "Actual Size", + page_scale_percent: "{{scale}}%", + loading_error: "An error occurred while loading the PDF.", + invalid_file_error: "Invalid or corrupted PDF file.", + missing_file_error: "Missing PDF file.", + unexpected_response_error: "Unexpected server response.", + rendering_error: "An error occurred while rendering the page.", + annotation_date_string: "{{date}}, {{time}}", + printing_not_supported: "Warning: Printing is not fully supported by this browser.", + printing_not_ready: "Warning: The PDF is not fully loaded for printing.", + web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts.", + free_text2_default_content: "Start typing…", + editor_free_text2_aria_label: "Text Editor", + editor_ink2_aria_label: "Draw Editor", + editor_ink_canvas_aria_label: "User-created image", + editor_alt_text_button_label: "Alt text", + editor_alt_text_edit_button_label: "Edit alt text", + editor_alt_text_decorative_tooltip: "Marked as decorative" +}; +{ + DEFAULT_L10N_STRINGS.print_progress_percent = "{{progress}}%"; +} +function getL10nFallback(key, args) { + switch (key) { + case "find_match_count": + key = `find_match_count[${args.total === 1 ? "one" : "other"}]`; + break; + case "find_match_count_limit": + key = `find_match_count_limit[${args.limit === 1 ? "one" : "other"}]`; + break; + } + return DEFAULT_L10N_STRINGS[key] || ""; +} +function formatL10nValue(text, args) { + if (!args) { + return text; + } + return text.replaceAll(/\{\{\s*(\w+)\s*\}\}/g, (all, name) => { + return name in args ? args[name] : "{{" + name + "}}"; + }); +} +const NullL10n = { + async getLanguage() { + return "en-us"; + }, + async getDirection() { + return "ltr"; + }, + async get(key) { + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getL10nFallback(key, args); + return formatL10nValue(fallback, args); + }, + async translate(element) {} +}; +exports.NullL10n = NullL10n; + +/***/ }), +/* 201 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayer = void 0; +__w_pdfjs_require__(89); +var _xfa_text = __w_pdfjs_require__(194); +class XfaLayer { + static setupStorage(html, id, element, storage, intent) { + const storedData = storage.getValue(id, { + value: null + }); + switch (element.name) { + case "textarea": + if (storedData.value !== null) { + html.textContent = storedData.value; + } + if (intent === "print") { + break; + } + html.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + }); + break; + case "input": + if (element.attributes.type === "radio" || element.attributes.type === "checkbox") { + if (storedData.value === element.attributes.xfaOn) { + html.setAttribute("checked", true); + } else if (storedData.value === element.attributes.xfaOff) { + html.removeAttribute("checked"); + } + if (intent === "print") { + break; + } + html.addEventListener("change", event => { + storage.setValue(id, { + value: event.target.checked ? event.target.getAttribute("xfaOn") : event.target.getAttribute("xfaOff") + }); + }); + } else { + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + if (intent === "print") { + break; + } + html.addEventListener("input", event => { + storage.setValue(id, { + value: event.target.value + }); + }); + } + break; + case "select": + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + for (const option of element.children) { + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } else if (option.attributes.hasOwnProperty("selected")) { + delete option.attributes.selected; + } + } + } + html.addEventListener("input", event => { + const options = event.target.options; + const value = options.selectedIndex === -1 ? "" : options[options.selectedIndex].value; + storage.setValue(id, { + value + }); + }); + break; + } + } + static setAttributes(_ref) { + let { + html, + element, + storage = null, + intent, + linkService + } = _ref; + const { + attributes + } = element; + const isHTMLAnchorElement = html instanceof HTMLAnchorElement; + if (attributes.type === "radio") { + attributes.name = `${attributes.name}-${intent}`; + } + for (const [key, value] of Object.entries(attributes)) { + if (value === null || value === undefined) { + continue; + } + switch (key) { + case "class": + if (value.length) { + html.setAttribute(key, value.join(" ")); + } + break; + case "dataId": + break; + case "id": + html.setAttribute("data-element-id", value); + break; + case "style": + Object.assign(html.style, value); + break; + case "textContent": + html.textContent = value; + break; + default: + if (!isHTMLAnchorElement || key !== "href" && key !== "newWindow") { + html.setAttribute(key, value); + } + } + } + if (isHTMLAnchorElement) { + linkService.addLinkAttributes(html, attributes.href, attributes.newWindow); + } + if (storage && attributes.dataId) { + this.setupStorage(html, attributes.dataId, element, storage); + } + } + static render(parameters) { + const storage = parameters.annotationStorage; + const linkService = parameters.linkService; + const root = parameters.xfaHtml; + const intent = parameters.intent || "display"; + const rootHtml = document.createElement(root.name); + if (root.attributes) { + this.setAttributes({ + html: rootHtml, + element: root, + intent, + linkService + }); + } + const stack = [[root, -1, rootHtml]]; + const rootDiv = parameters.div; + rootDiv.append(rootHtml); + if (parameters.viewport) { + const transform = `matrix(${parameters.viewport.transform.join(",")})`; + rootDiv.style.transform = transform; + } + if (intent !== "richText") { + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + } + const textDivs = []; + while (stack.length > 0) { + const [parent, i, html] = stack.at(-1); + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + const child = parent.children[++stack.at(-1)[1]]; + if (child === null) { + continue; + } + const { + name + } = child; + if (name === "#text") { + const node = document.createTextNode(child.value); + textDivs.push(node); + html.append(node); + continue; + } + const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name); + html.append(childHtml); + if (child.attributes) { + this.setAttributes({ + html: childHtml, + element: child, + storage, + intent, + linkService + }); + } + if (child.children && child.children.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + const node = document.createTextNode(child.value); + if (_xfa_text.XfaText.shouldBuildText(name)) { + textDivs.push(node); + } + childHtml.append(node); + } + } + for (const el of rootDiv.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea")) { + el.setAttribute("readOnly", true); + } + return { + textDivs + }; + } + static update(parameters) { + const transform = `matrix(${parameters.viewport.transform.join(",")})`; + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } +} +exports.XfaLayer = XfaLayer; + +/***/ }), +/* 202 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.InkEditor = void 0; +__w_pdfjs_require__(89); +__w_pdfjs_require__(2); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _annotation_layer = __w_pdfjs_require__(198); +var _display_utils = __w_pdfjs_require__(168); +var _tools = __w_pdfjs_require__(165); +class InkEditor extends _editor.AnnotationEditor { + #baseHeight = 0; + #baseWidth = 0; + #boundCanvasPointermove = this.canvasPointermove.bind(this); + #boundCanvasPointerleave = this.canvasPointerleave.bind(this); + #boundCanvasPointerup = this.canvasPointerup.bind(this); + #boundCanvasPointerdown = this.canvasPointerdown.bind(this); + #currentPath2D = new Path2D(); + #disableEditing = false; + #hasSomethingToDraw = false; + #isCanvasInitialized = false; + #observer = null; + #realWidth = 0; + #realHeight = 0; + #requestFrameCallback = null; + static _defaultColor = null; + static _defaultOpacity = 1; + static _defaultThickness = 1; + static _type = "ink"; + constructor(params) { + super({ + ...params, + name: "inkEditor" + }); + this.color = params.color || null; + this.thickness = params.thickness || null; + this.opacity = params.opacity || null; + this.paths = []; + this.bezierPath2D = []; + this.allRawPaths = []; + this.currentPath = []; + this.scaleFactor = 1; + this.translationX = this.translationY = 0; + this.x = 0; + this.y = 0; + this._willKeepAspectRatio = true; + } + static initialize(l10n) { + _editor.AnnotationEditor.initialize(l10n, { + strings: ["editor_ink_canvas_aria_label", "editor_ink2_aria_label"] + }); + } + static updateDefaultParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.INK_THICKNESS: + InkEditor._defaultThickness = value; + break; + case _util.AnnotationEditorParamsType.INK_COLOR: + InkEditor._defaultColor = value; + break; + case _util.AnnotationEditorParamsType.INK_OPACITY: + InkEditor._defaultOpacity = value / 100; + break; + } + } + updateParams(type, value) { + switch (type) { + case _util.AnnotationEditorParamsType.INK_THICKNESS: + this.#updateThickness(value); + break; + case _util.AnnotationEditorParamsType.INK_COLOR: + this.#updateColor(value); + break; + case _util.AnnotationEditorParamsType.INK_OPACITY: + this.#updateOpacity(value); + break; + } + } + static get defaultPropertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]]; + } + get propertiesToUpdate() { + return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]]; + } + #updateThickness(thickness) { + const savedThickness = this.thickness; + this.addCommands({ + cmd: () => { + this.thickness = thickness; + this.#fitToContent(); + }, + undo: () => { + this.thickness = savedThickness; + this.#fitToContent(); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.INK_THICKNESS, + overwriteIfSameType: true, + keepUndo: true + }); + } + #updateColor(color) { + const savedColor = this.color; + this.addCommands({ + cmd: () => { + this.color = color; + this.#redraw(); + }, + undo: () => { + this.color = savedColor; + this.#redraw(); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.INK_COLOR, + overwriteIfSameType: true, + keepUndo: true + }); + } + #updateOpacity(opacity) { + opacity /= 100; + const savedOpacity = this.opacity; + this.addCommands({ + cmd: () => { + this.opacity = opacity; + this.#redraw(); + }, + undo: () => { + this.opacity = savedOpacity; + this.#redraw(); + }, + mustExec: true, + type: _util.AnnotationEditorParamsType.INK_OPACITY, + overwriteIfSameType: true, + keepUndo: true + }); + } + rebuild() { + if (!this.parent) { + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (!this.canvas) { + this.#createCanvas(); + this.#createObserver(); + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + this.#setCanvasDims(); + } + this.#fitToContent(); + } + remove() { + if (this.canvas === null) { + return; + } + if (!this.isEmpty()) { + this.commit(); + } + this.canvas.width = this.canvas.height = 0; + this.canvas.remove(); + this.canvas = null; + this.#observer.disconnect(); + this.#observer = null; + super.remove(); + } + setParent(parent) { + if (!this.parent && parent) { + this._uiManager.removeShouldRescale(this); + } else if (this.parent && parent === null) { + this._uiManager.addShouldRescale(this); + } + super.setParent(parent); + } + onScaleChanging() { + const [parentWidth, parentHeight] = this.parentDimensions; + const width = this.width * parentWidth; + const height = this.height * parentHeight; + this.setDimensions(width, height); + } + enableEditMode() { + if (this.#disableEditing || this.canvas === null) { + return; + } + super.enableEditMode(); + this._isDraggable = false; + this.canvas.addEventListener("pointerdown", this.#boundCanvasPointerdown); + } + disableEditMode() { + if (!this.isInEditMode() || this.canvas === null) { + return; + } + super.disableEditMode(); + this._isDraggable = !this.isEmpty(); + this.div.classList.remove("editing"); + this.canvas.removeEventListener("pointerdown", this.#boundCanvasPointerdown); + } + onceAdded() { + this._isDraggable = !this.isEmpty(); + } + isEmpty() { + return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0; + } + #getInitialBBox() { + const { + parentRotation, + parentDimensions: [width, height] + } = this; + switch (parentRotation) { + case 90: + return [0, height, height, width]; + case 180: + return [width, height, width, height]; + case 270: + return [width, 0, height, width]; + default: + return [0, 0, width, height]; + } + } + #setStroke() { + const { + ctx, + color, + opacity, + thickness, + parentScale, + scaleFactor + } = this; + ctx.lineWidth = thickness * parentScale / scaleFactor; + ctx.lineCap = "round"; + ctx.lineJoin = "round"; + ctx.miterLimit = 10; + ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`; + } + #startDrawing(x, y) { + this.canvas.addEventListener("contextmenu", _display_utils.noContextMenu); + this.canvas.addEventListener("pointerleave", this.#boundCanvasPointerleave); + this.canvas.addEventListener("pointermove", this.#boundCanvasPointermove); + this.canvas.addEventListener("pointerup", this.#boundCanvasPointerup); + this.canvas.removeEventListener("pointerdown", this.#boundCanvasPointerdown); + this.isEditing = true; + if (!this.#isCanvasInitialized) { + this.#isCanvasInitialized = true; + this.#setCanvasDims(); + this.thickness ||= InkEditor._defaultThickness; + this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor; + this.opacity ??= InkEditor._defaultOpacity; + } + this.currentPath.push([x, y]); + this.#hasSomethingToDraw = false; + this.#setStroke(); + this.#requestFrameCallback = () => { + this.#drawPoints(); + if (this.#requestFrameCallback) { + window.requestAnimationFrame(this.#requestFrameCallback); + } + }; + window.requestAnimationFrame(this.#requestFrameCallback); + } + #draw(x, y) { + const [lastX, lastY] = this.currentPath.at(-1); + if (this.currentPath.length > 1 && x === lastX && y === lastY) { + return; + } + const currentPath = this.currentPath; + let path2D = this.#currentPath2D; + currentPath.push([x, y]); + this.#hasSomethingToDraw = true; + if (currentPath.length <= 2) { + path2D.moveTo(...currentPath[0]); + path2D.lineTo(x, y); + return; + } + if (currentPath.length === 3) { + this.#currentPath2D = path2D = new Path2D(); + path2D.moveTo(...currentPath[0]); + } + this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y); + } + #endPath() { + if (this.currentPath.length === 0) { + return; + } + const lastPoint = this.currentPath.at(-1); + this.#currentPath2D.lineTo(...lastPoint); + } + #stopDrawing(x, y) { + this.#requestFrameCallback = null; + x = Math.min(Math.max(x, 0), this.canvas.width); + y = Math.min(Math.max(y, 0), this.canvas.height); + this.#draw(x, y); + this.#endPath(); + let bezier; + if (this.currentPath.length !== 1) { + bezier = this.#generateBezierPoints(); + } else { + const xy = [x, y]; + bezier = [[xy, xy.slice(), xy.slice(), xy]]; + } + const path2D = this.#currentPath2D; + const currentPath = this.currentPath; + this.currentPath = []; + this.#currentPath2D = new Path2D(); + const cmd = () => { + this.allRawPaths.push(currentPath); + this.paths.push(bezier); + this.bezierPath2D.push(path2D); + this.rebuild(); + }; + const undo = () => { + this.allRawPaths.pop(); + this.paths.pop(); + this.bezierPath2D.pop(); + if (this.paths.length === 0) { + this.remove(); + } else { + if (!this.canvas) { + this.#createCanvas(); + this.#createObserver(); + } + this.#fitToContent(); + } + }; + this.addCommands({ + cmd, + undo, + mustExec: true + }); + } + #drawPoints() { + if (!this.#hasSomethingToDraw) { + return; + } + this.#hasSomethingToDraw = false; + const thickness = Math.ceil(this.thickness * this.parentScale); + const lastPoints = this.currentPath.slice(-3); + const x = lastPoints.map(xy => xy[0]); + const y = lastPoints.map(xy => xy[1]); + const xMin = Math.min(...x) - thickness; + const xMax = Math.max(...x) + thickness; + const yMin = Math.min(...y) - thickness; + const yMax = Math.max(...y) + thickness; + const { + ctx + } = this; + ctx.save(); + ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + for (const path of this.bezierPath2D) { + ctx.stroke(path); + } + ctx.stroke(this.#currentPath2D); + ctx.restore(); + } + #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) { + const prevX = (x0 + x1) / 2; + const prevY = (y0 + y1) / 2; + const x3 = (x1 + x2) / 2; + const y3 = (y1 + y2) / 2; + path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3); + } + #generateBezierPoints() { + const path = this.currentPath; + if (path.length <= 2) { + return [[path[0], path[0], path.at(-1), path.at(-1)]]; + } + const bezierPoints = []; + let i; + let [x0, y0] = path[0]; + for (i = 1; i < path.length - 2; i++) { + const [x1, y1] = path[i]; + const [x2, y2] = path[i + 1]; + const x3 = (x1 + x2) / 2; + const y3 = (y1 + y2) / 2; + const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3]; + const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3]; + bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]); + [x0, y0] = [x3, y3]; + } + const [x1, y1] = path[i]; + const [x2, y2] = path[i + 1]; + const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3]; + const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3]; + bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]); + return bezierPoints; + } + #redraw() { + if (this.isEmpty()) { + this.#updateTransform(); + return; + } + this.#setStroke(); + const { + canvas, + ctx + } = this; + ctx.setTransform(1, 0, 0, 1, 0, 0); + ctx.clearRect(0, 0, canvas.width, canvas.height); + this.#updateTransform(); + for (const path of this.bezierPath2D) { + ctx.stroke(path); + } + } + commit() { + if (this.#disableEditing) { + return; + } + super.commit(); + this.isEditing = false; + this.disableEditMode(); + this.setInForeground(); + this.#disableEditing = true; + this.div.classList.add("disabled"); + this.#fitToContent(true); + this.makeResizable(); + this.parent.addInkEditorIfNeeded(true); + this.moveInDOM(); + this.div.focus({ + preventScroll: true + }); + } + focusin(event) { + if (!this._focusEventsAllowed) { + return; + } + super.focusin(event); + this.enableEditMode(); + } + canvasPointerdown(event) { + if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) { + return; + } + this.setInForeground(); + event.preventDefault(); + if (event.type !== "mouse") { + this.div.focus(); + } + this.#startDrawing(event.offsetX, event.offsetY); + } + canvasPointermove(event) { + event.preventDefault(); + this.#draw(event.offsetX, event.offsetY); + } + canvasPointerup(event) { + event.preventDefault(); + this.#endDrawing(event); + } + canvasPointerleave(event) { + this.#endDrawing(event); + } + #endDrawing(event) { + this.canvas.removeEventListener("pointerleave", this.#boundCanvasPointerleave); + this.canvas.removeEventListener("pointermove", this.#boundCanvasPointermove); + this.canvas.removeEventListener("pointerup", this.#boundCanvasPointerup); + this.canvas.addEventListener("pointerdown", this.#boundCanvasPointerdown); + setTimeout(() => { + this.canvas.removeEventListener("contextmenu", _display_utils.noContextMenu); + }, 10); + this.#stopDrawing(event.offsetX, event.offsetY); + this.addToAnnotationStorage(); + this.setInBackground(); + } + #createCanvas() { + this.canvas = document.createElement("canvas"); + this.canvas.width = this.canvas.height = 0; + this.canvas.className = "inkEditorCanvas"; + _editor.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(msg => this.canvas?.setAttribute("aria-label", msg)); + this.div.append(this.canvas); + this.ctx = this.canvas.getContext("2d"); + } + #createObserver() { + this.#observer = new ResizeObserver(entries => { + const rect = entries[0].contentRect; + if (rect.width && rect.height) { + this.setDimensions(rect.width, rect.height); + } + }); + this.#observer.observe(this.div); + } + get isResizable() { + return !this.isEmpty() && this.#disableEditing; + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this.width) { + baseX = this.x; + baseY = this.y; + } + super.render(); + _editor.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(msg => this.div?.setAttribute("aria-label", msg)); + const [x, y, w, h] = this.#getInitialBBox(); + this.setAt(x, y, 0, 0); + this.setDims(w, h); + this.#createCanvas(); + if (this.width) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.setAspectRatio(this.width * parentWidth, this.height * parentHeight); + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + this.#isCanvasInitialized = true; + this.#setCanvasDims(); + this.setDims(this.width * parentWidth, this.height * parentHeight); + this.#redraw(); + this.div.classList.add("disabled"); + } else { + this.div.classList.add("editing"); + this.enableEditMode(); + } + this.#createObserver(); + return this.div; + } + #setCanvasDims() { + if (!this.#isCanvasInitialized) { + return; + } + const [parentWidth, parentHeight] = this.parentDimensions; + this.canvas.width = Math.ceil(this.width * parentWidth); + this.canvas.height = Math.ceil(this.height * parentHeight); + this.#updateTransform(); + } + setDimensions(width, height) { + const roundedWidth = Math.round(width); + const roundedHeight = Math.round(height); + if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) { + return; + } + this.#realWidth = roundedWidth; + this.#realHeight = roundedHeight; + this.canvas.style.visibility = "hidden"; + const [parentWidth, parentHeight] = this.parentDimensions; + this.width = width / parentWidth; + this.height = height / parentHeight; + this.fixAndSetPosition(); + if (this.#disableEditing) { + this.#setScaleFactor(width, height); + } + this.#setCanvasDims(); + this.#redraw(); + this.canvas.style.visibility = "visible"; + this.fixDims(); + } + #setScaleFactor(width, height) { + const padding = this.#getPadding(); + const scaleFactorW = (width - padding) / this.#baseWidth; + const scaleFactorH = (height - padding) / this.#baseHeight; + this.scaleFactor = Math.min(scaleFactorW, scaleFactorH); + } + #updateTransform() { + const padding = this.#getPadding() / 2; + this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding); + } + static #buildPath2D(bezier) { + const path2D = new Path2D(); + for (let i = 0, ii = bezier.length; i < ii; i++) { + const [first, control1, control2, second] = bezier[i]; + if (i === 0) { + path2D.moveTo(...first); + } + path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]); + } + return path2D; + } + static #toPDFCoordinates(points, rect, rotation) { + const [blX, blY, trX, trY] = rect; + switch (rotation) { + case 0: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] += blX; + points[i + 1] = trY - points[i + 1]; + } + break; + case 90: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = points[i + 1] + blX; + points[i + 1] = x + blY; + } + break; + case 180: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] = trX - points[i]; + points[i + 1] += blY; + } + break; + case 270: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = trX - points[i + 1]; + points[i + 1] = trY - x; + } + break; + default: + throw new Error("Invalid rotation"); + } + return points; + } + static #fromPDFCoordinates(points, rect, rotation) { + const [blX, blY, trX, trY] = rect; + switch (rotation) { + case 0: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] -= blX; + points[i + 1] = trY - points[i + 1]; + } + break; + case 90: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = points[i + 1] - blY; + points[i + 1] = x - blX; + } + break; + case 180: + for (let i = 0, ii = points.length; i < ii; i += 2) { + points[i] = trX - points[i]; + points[i + 1] -= blY; + } + break; + case 270: + for (let i = 0, ii = points.length; i < ii; i += 2) { + const x = points[i]; + points[i] = trY - points[i + 1]; + points[i + 1] = trX - x; + } + break; + default: + throw new Error("Invalid rotation"); + } + return points; + } + #serializePaths(s, tx, ty, rect) { + const paths = []; + const padding = this.thickness / 2; + const shiftX = s * tx + padding; + const shiftY = s * ty + padding; + for (const bezier of this.paths) { + const buffer = []; + const points = []; + for (let j = 0, jj = bezier.length; j < jj; j++) { + const [first, control1, control2, second] = bezier[j]; + const p10 = s * first[0] + shiftX; + const p11 = s * first[1] + shiftY; + const p20 = s * control1[0] + shiftX; + const p21 = s * control1[1] + shiftY; + const p30 = s * control2[0] + shiftX; + const p31 = s * control2[1] + shiftY; + const p40 = s * second[0] + shiftX; + const p41 = s * second[1] + shiftY; + if (j === 0) { + buffer.push(p10, p11); + points.push(p10, p11); + } + buffer.push(p20, p21, p30, p31, p40, p41); + points.push(p20, p21); + if (j === jj - 1) { + points.push(p40, p41); + } + } + paths.push({ + bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation), + points: InkEditor.#toPDFCoordinates(points, rect, this.rotation) + }); + } + return paths; + } + #getBbox() { + let xMin = Infinity; + let xMax = -Infinity; + let yMin = Infinity; + let yMax = -Infinity; + for (const path of this.paths) { + for (const [first, control1, control2, second] of path) { + const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second); + xMin = Math.min(xMin, bbox[0]); + yMin = Math.min(yMin, bbox[1]); + xMax = Math.max(xMax, bbox[2]); + yMax = Math.max(yMax, bbox[3]); + } + } + return [xMin, yMin, xMax, yMax]; + } + #getPadding() { + return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0; + } + #fitToContent() { + let firstTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.isEmpty()) { + return; + } + if (!this.#disableEditing) { + this.#redraw(); + return; + } + const bbox = this.#getBbox(); + const padding = this.#getPadding(); + this.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]); + this.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]); + const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor); + const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor); + const [parentWidth, parentHeight] = this.parentDimensions; + this.width = width / parentWidth; + this.height = height / parentHeight; + this.setAspectRatio(width, height); + const prevTranslationX = this.translationX; + const prevTranslationY = this.translationY; + this.translationX = -bbox[0]; + this.translationY = -bbox[1]; + this.#setCanvasDims(); + this.#redraw(); + this.#realWidth = width; + this.#realHeight = height; + this.setDims(width, height); + const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0; + this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding); + } + static deserialize(data, parent, uiManager) { + if (data instanceof _annotation_layer.InkAnnotationElement) { + return null; + } + const editor = super.deserialize(data, parent, uiManager); + editor.thickness = data.thickness; + editor.color = _util.Util.makeHexColor(...data.color); + editor.opacity = data.opacity; + const [pageWidth, pageHeight] = editor.pageDimensions; + const width = editor.width * pageWidth; + const height = editor.height * pageHeight; + const scaleFactor = editor.parentScale; + const padding = data.thickness / 2; + editor.#disableEditing = true; + editor.#realWidth = Math.round(width); + editor.#realHeight = Math.round(height); + const { + paths, + rect, + rotation + } = data; + for (let { + bezier + } of paths) { + bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation); + const path = []; + editor.paths.push(path); + let p0 = scaleFactor * (bezier[0] - padding); + let p1 = scaleFactor * (bezier[1] - padding); + for (let i = 2, ii = bezier.length; i < ii; i += 6) { + const p10 = scaleFactor * (bezier[i] - padding); + const p11 = scaleFactor * (bezier[i + 1] - padding); + const p20 = scaleFactor * (bezier[i + 2] - padding); + const p21 = scaleFactor * (bezier[i + 3] - padding); + const p30 = scaleFactor * (bezier[i + 4] - padding); + const p31 = scaleFactor * (bezier[i + 5] - padding); + path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]); + p0 = p30; + p1 = p31; + } + const path2D = this.#buildPath2D(path); + editor.bezierPath2D.push(path2D); + } + const bbox = editor.#getBbox(); + editor.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]); + editor.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]); + editor.#setScaleFactor(width, height); + return editor; + } + serialize() { + if (this.isEmpty()) { + return null; + } + const rect = this.getRect(0, 0); + const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle); + return { + annotationType: _util.AnnotationEditorType.INK, + color, + thickness: this.thickness, + opacity: this.opacity, + paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect), + pageIndex: this.pageIndex, + rect, + rotation: this.rotation, + structTreeParentId: this._structTreeParentId + }; + } +} +exports.InkEditor = InkEditor; + +/***/ }), +/* 203 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StampEditor = void 0; +__w_pdfjs_require__(149); +__w_pdfjs_require__(152); +var _util = __w_pdfjs_require__(1); +var _editor = __w_pdfjs_require__(164); +var _display_utils = __w_pdfjs_require__(168); +var _annotation_layer = __w_pdfjs_require__(198); +class StampEditor extends _editor.AnnotationEditor { + #bitmap = null; + #bitmapId = null; + #bitmapPromise = null; + #bitmapUrl = null; + #bitmapFile = null; + #canvas = null; + #observer = null; + #resizeTimeoutId = null; + #isSvg = false; + #hasBeenAddedInUndoStack = false; + static _type = "stamp"; + constructor(params) { + super({ + ...params, + name: "stampEditor" + }); + this.#bitmapUrl = params.bitmapUrl; + this.#bitmapFile = params.bitmapFile; + } + static initialize(l10n) { + _editor.AnnotationEditor.initialize(l10n); + } + static get supportedTypes() { + const types = ["apng", "avif", "bmp", "gif", "jpeg", "png", "svg+xml", "webp", "x-icon"]; + return (0, _util.shadow)(this, "supportedTypes", types.map(type => `image/${type}`)); + } + static get supportedTypesStr() { + return (0, _util.shadow)(this, "supportedTypesStr", this.supportedTypes.join(",")); + } + static isHandlingMimeForPasting(mime) { + return this.supportedTypes.includes(mime); + } + static paste(item, parent) { + parent.pasteEditor(_util.AnnotationEditorType.STAMP, { + bitmapFile: item.getAsFile() + }); + } + #getBitmapFetched(data) { + let fromId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!data) { + this.remove(); + return; + } + this.#bitmap = data.bitmap; + if (!fromId) { + this.#bitmapId = data.id; + this.#isSvg = data.isSvg; + } + this.#createCanvas(); + } + #getBitmapDone() { + this.#bitmapPromise = null; + this._uiManager.enableWaiting(false); + if (this.#canvas) { + this.div.focus(); + } + } + #getBitmap() { + if (this.#bitmapId) { + this._uiManager.enableWaiting(true); + this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone()); + return; + } + if (this.#bitmapUrl) { + const url = this.#bitmapUrl; + this.#bitmapUrl = null; + this._uiManager.enableWaiting(true); + this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone()); + return; + } + if (this.#bitmapFile) { + const file = this.#bitmapFile; + this.#bitmapFile = null; + this._uiManager.enableWaiting(true); + this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone()); + return; + } + const input = document.createElement("input"); + input.type = "file"; + input.accept = StampEditor.supportedTypesStr; + this.#bitmapPromise = new Promise(resolve => { + input.addEventListener("change", async () => { + if (!input.files || input.files.length === 0) { + this.remove(); + } else { + this._uiManager.enableWaiting(true); + const data = await this._uiManager.imageManager.getFromFile(input.files[0]); + this.#getBitmapFetched(data); + } + resolve(); + }); + input.addEventListener("cancel", () => { + this.remove(); + resolve(); + }); + }).finally(() => this.#getBitmapDone()); + input.click(); + } + remove() { + if (this.#bitmapId) { + this.#bitmap = null; + this._uiManager.imageManager.deleteId(this.#bitmapId); + this.#canvas?.remove(); + this.#canvas = null; + this.#observer?.disconnect(); + this.#observer = null; + } + super.remove(); + } + rebuild() { + if (!this.parent) { + if (this.#bitmapId) { + this.#getBitmap(); + } + return; + } + super.rebuild(); + if (this.div === null) { + return; + } + if (this.#bitmapId) { + this.#getBitmap(); + } + if (!this.isAttachedToDOM) { + this.parent.add(this); + } + } + onceAdded() { + this._isDraggable = true; + this.div.focus(); + } + isEmpty() { + return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile); + } + get isResizable() { + return true; + } + render() { + if (this.div) { + return this.div; + } + let baseX, baseY; + if (this.width) { + baseX = this.x; + baseY = this.y; + } + super.render(); + this.div.hidden = true; + if (this.#bitmap) { + this.#createCanvas(); + } else { + this.#getBitmap(); + } + if (this.width) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight); + } + return this.div; + } + #createCanvas() { + const { + div + } = this; + let { + width, + height + } = this.#bitmap; + const [pageWidth, pageHeight] = this.pageDimensions; + const MAX_RATIO = 0.75; + if (this.width) { + width = this.width * pageWidth; + height = this.height * pageHeight; + } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) { + const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height); + width *= factor; + height *= factor; + } + const [parentWidth, parentHeight] = this.parentDimensions; + this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight); + this._uiManager.enableWaiting(false); + const canvas = this.#canvas = document.createElement("canvas"); + div.append(canvas); + div.hidden = false; + this.#drawBitmap(width, height); + this.#createObserver(); + if (!this.#hasBeenAddedInUndoStack) { + this.parent.addUndoableEditor(this); + this.#hasBeenAddedInUndoStack = true; + } + this._uiManager._eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "editing", + subtype: this.editorType, + data: { + action: "inserted_image" + } + } + }); + this.addAltTextButton(); + } + #setDimensions(width, height) { + const [parentWidth, parentHeight] = this.parentDimensions; + this.width = width / parentWidth; + this.height = height / parentHeight; + this.setDims(width, height); + if (this._initialOptions?.isCentered) { + this.center(); + } else { + this.fixAndSetPosition(); + } + this._initialOptions = null; + if (this.#resizeTimeoutId !== null) { + clearTimeout(this.#resizeTimeoutId); + } + const TIME_TO_WAIT = 200; + this.#resizeTimeoutId = setTimeout(() => { + this.#resizeTimeoutId = null; + this.#drawBitmap(width, height); + }, TIME_TO_WAIT); + } + #scaleBitmap(width, height) { + const { + width: bitmapWidth, + height: bitmapHeight + } = this.#bitmap; + let newWidth = bitmapWidth; + let newHeight = bitmapHeight; + let bitmap = this.#bitmap; + while (newWidth > 2 * width || newHeight > 2 * height) { + const prevWidth = newWidth; + const prevHeight = newHeight; + if (newWidth > 2 * width) { + newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2); + } + if (newHeight > 2 * height) { + newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2); + } + const offscreen = new OffscreenCanvas(newWidth, newHeight); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight); + bitmap = offscreen.transferToImageBitmap(); + } + return bitmap; + } + #drawBitmap(width, height) { + width = Math.ceil(width); + height = Math.ceil(height); + const canvas = this.#canvas; + if (!canvas || canvas.width === width && canvas.height === height) { + return; + } + canvas.width = width; + canvas.height = height; + const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(width, height); + const ctx = canvas.getContext("2d"); + ctx.filter = this._uiManager.hcmFilter; + ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, width, height); + } + #serializeBitmap(toUrl) { + if (toUrl) { + if (this.#isSvg) { + const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId); + if (url) { + return url; + } + } + const canvas = document.createElement("canvas"); + ({ + width: canvas.width, + height: canvas.height + } = this.#bitmap); + const ctx = canvas.getContext("2d"); + ctx.drawImage(this.#bitmap, 0, 0); + return canvas.toDataURL(); + } + if (this.#isSvg) { + const [pageWidth, pageHeight] = this.pageDimensions; + const width = Math.round(this.width * pageWidth * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + const height = Math.round(this.height * pageHeight * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS); + const offscreen = new OffscreenCanvas(width, height); + const ctx = offscreen.getContext("2d"); + ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height); + return offscreen.transferToImageBitmap(); + } + return structuredClone(this.#bitmap); + } + #createObserver() { + this.#observer = new ResizeObserver(entries => { + const rect = entries[0].contentRect; + if (rect.width && rect.height) { + this.#setDimensions(rect.width, rect.height); + } + }); + this.#observer.observe(this.div); + } + static deserialize(data, parent, uiManager) { + if (data instanceof _annotation_layer.StampAnnotationElement) { + return null; + } + const editor = super.deserialize(data, parent, uiManager); + const { + rect, + bitmapUrl, + bitmapId, + isSvg, + accessibilityData + } = data; + if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) { + editor.#bitmapId = bitmapId; + } else { + editor.#bitmapUrl = bitmapUrl; + } + editor.#isSvg = isSvg; + const [parentWidth, parentHeight] = editor.pageDimensions; + editor.width = (rect[2] - rect[0]) / parentWidth; + editor.height = (rect[3] - rect[1]) / parentHeight; + if (accessibilityData) { + editor.altTextData = accessibilityData; + } + return editor; + } + serialize() { + let isForCopying = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (this.isEmpty()) { + return null; + } + const serialized = { + annotationType: _util.AnnotationEditorType.STAMP, + bitmapId: this.#bitmapId, + pageIndex: this.pageIndex, + rect: this.getRect(0, 0), + rotation: this.rotation, + isSvg: this.#isSvg, + structTreeParentId: this._structTreeParentId + }; + if (isForCopying) { + serialized.bitmapUrl = this.#serializeBitmap(true); + serialized.accessibilityData = this.altTextData; + return serialized; + } + const { + decorative, + altText + } = this.altTextData; + if (!decorative && altText) { + serialized.accessibilityData = { + type: "Figure", + alt: altText + }; + } + if (context === null) { + return serialized; + } + context.stamps ||= new Map(); + const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null; + if (!context.stamps.has(this.#bitmapId)) { + context.stamps.set(this.#bitmapId, { + area, + serialized + }); + serialized.bitmap = this.#serializeBitmap(false); + } else if (this.#isSvg) { + const prevData = context.stamps.get(this.#bitmapId); + if (area > prevData.area) { + prevData.area = area; + prevData.serialized.bitmap.close(); + prevData.serialized.bitmap = this.#serializeBitmap(false); + } + } + return serialized; + } +} +exports.StampEditor = StampEditor; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "AbortException", ({ + enumerable: true, + get: function () { + return _util.AbortException; + } +})); +Object.defineProperty(exports, "AnnotationEditorLayer", ({ + enumerable: true, + get: function () { + return _annotation_editor_layer.AnnotationEditorLayer; + } +})); +Object.defineProperty(exports, "AnnotationEditorParamsType", ({ + enumerable: true, + get: function () { + return _util.AnnotationEditorParamsType; + } +})); +Object.defineProperty(exports, "AnnotationEditorType", ({ + enumerable: true, + get: function () { + return _util.AnnotationEditorType; + } +})); +Object.defineProperty(exports, "AnnotationEditorUIManager", ({ + enumerable: true, + get: function () { + return _tools.AnnotationEditorUIManager; + } +})); +Object.defineProperty(exports, "AnnotationLayer", ({ + enumerable: true, + get: function () { + return _annotation_layer.AnnotationLayer; + } +})); +Object.defineProperty(exports, "AnnotationMode", ({ + enumerable: true, + get: function () { + return _util.AnnotationMode; + } +})); +Object.defineProperty(exports, "CMapCompressionType", ({ + enumerable: true, + get: function () { + return _util.CMapCompressionType; + } +})); +Object.defineProperty(exports, "DOMSVGFactory", ({ + enumerable: true, + get: function () { + return _display_utils.DOMSVGFactory; + } +})); +Object.defineProperty(exports, "FeatureTest", ({ + enumerable: true, + get: function () { + return _util.FeatureTest; + } +})); +Object.defineProperty(exports, "GlobalWorkerOptions", ({ + enumerable: true, + get: function () { + return _worker_options.GlobalWorkerOptions; + } +})); +Object.defineProperty(exports, "ImageKind", ({ + enumerable: true, + get: function () { + return _util.ImageKind; + } +})); +Object.defineProperty(exports, "InvalidPDFException", ({ + enumerable: true, + get: function () { + return _util.InvalidPDFException; + } +})); +Object.defineProperty(exports, "MissingPDFException", ({ + enumerable: true, + get: function () { + return _util.MissingPDFException; + } +})); +Object.defineProperty(exports, "OPS", ({ + enumerable: true, + get: function () { + return _util.OPS; + } +})); +Object.defineProperty(exports, "PDFDataRangeTransport", ({ + enumerable: true, + get: function () { + return _api.PDFDataRangeTransport; + } +})); +Object.defineProperty(exports, "PDFDateString", ({ + enumerable: true, + get: function () { + return _display_utils.PDFDateString; + } +})); +Object.defineProperty(exports, "PDFWorker", ({ + enumerable: true, + get: function () { + return _api.PDFWorker; + } +})); +Object.defineProperty(exports, "PasswordResponses", ({ + enumerable: true, + get: function () { + return _util.PasswordResponses; + } +})); +Object.defineProperty(exports, "PermissionFlag", ({ + enumerable: true, + get: function () { + return _util.PermissionFlag; + } +})); +Object.defineProperty(exports, "PixelsPerInch", ({ + enumerable: true, + get: function () { + return _display_utils.PixelsPerInch; + } +})); +Object.defineProperty(exports, "PromiseCapability", ({ + enumerable: true, + get: function () { + return _util.PromiseCapability; + } +})); +Object.defineProperty(exports, "RenderingCancelledException", ({ + enumerable: true, + get: function () { + return _display_utils.RenderingCancelledException; + } +})); +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function () { + return _api.SVGGraphics; + } +})); +Object.defineProperty(exports, "UnexpectedResponseException", ({ + enumerable: true, + get: function () { + return _util.UnexpectedResponseException; + } +})); +Object.defineProperty(exports, "Util", ({ + enumerable: true, + get: function () { + return _util.Util; + } +})); +Object.defineProperty(exports, "VerbosityLevel", ({ + enumerable: true, + get: function () { + return _util.VerbosityLevel; + } +})); +Object.defineProperty(exports, "XfaLayer", ({ + enumerable: true, + get: function () { + return _xfa_layer.XfaLayer; + } +})); +Object.defineProperty(exports, "build", ({ + enumerable: true, + get: function () { + return _api.build; + } +})); +Object.defineProperty(exports, "createValidAbsoluteUrl", ({ + enumerable: true, + get: function () { + return _util.createValidAbsoluteUrl; + } +})); +Object.defineProperty(exports, "getDocument", ({ + enumerable: true, + get: function () { + return _api.getDocument; + } +})); +Object.defineProperty(exports, "getFilenameFromUrl", ({ + enumerable: true, + get: function () { + return _display_utils.getFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ + enumerable: true, + get: function () { + return _display_utils.getPdfFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getXfaPageViewport", ({ + enumerable: true, + get: function () { + return _display_utils.getXfaPageViewport; + } +})); +Object.defineProperty(exports, "isDataScheme", ({ + enumerable: true, + get: function () { + return _display_utils.isDataScheme; + } +})); +Object.defineProperty(exports, "isPdfFile", ({ + enumerable: true, + get: function () { + return _display_utils.isPdfFile; + } +})); +Object.defineProperty(exports, "loadScript", ({ + enumerable: true, + get: function () { + return _display_utils.loadScript; + } +})); +Object.defineProperty(exports, "noContextMenu", ({ + enumerable: true, + get: function () { + return _display_utils.noContextMenu; + } +})); +Object.defineProperty(exports, "normalizeUnicode", ({ + enumerable: true, + get: function () { + return _util.normalizeUnicode; + } +})); +Object.defineProperty(exports, "renderTextLayer", ({ + enumerable: true, + get: function () { + return _text_layer.renderTextLayer; + } +})); +Object.defineProperty(exports, "setLayerDimensions", ({ + enumerable: true, + get: function () { + return _display_utils.setLayerDimensions; + } +})); +Object.defineProperty(exports, "shadow", ({ + enumerable: true, + get: function () { + return _util.shadow; + } +})); +Object.defineProperty(exports, "updateTextLayer", ({ + enumerable: true, + get: function () { + return _text_layer.updateTextLayer; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function () { + return _api.version; + } +})); +var _util = __w_pdfjs_require__(1); +var _api = __w_pdfjs_require__(124); +var _display_utils = __w_pdfjs_require__(168); +var _text_layer = __w_pdfjs_require__(195); +var _annotation_editor_layer = __w_pdfjs_require__(196); +var _tools = __w_pdfjs_require__(165); +var _annotation_layer = __w_pdfjs_require__(198); +var _worker_options = __w_pdfjs_require__(176); +var _xfa_layer = __w_pdfjs_require__(201); +const pdfjsVersion = '3.11.174'; +const pdfjsBuild = 'ce8716743'; +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=pdf.js.map \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/pdf.js.map b/ChoiPDFv/webOSTVjs-1.2.10/pdf.js.map new file mode 100644 index 0000000..a6bdd9a --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/pdf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.error.cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-call.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-native.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-property-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-callable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/try-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-global-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has-own-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/make-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-name.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/math-trunc.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/length-of-array-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-apply.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/proxy-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/install-error-cause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-install.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-clear.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/error-stack-installable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.delete.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.size.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.push.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-set-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.find-last.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration-from-last.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.find-last-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-offset.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-positive-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-to-reversed.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.typed-array.with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-big-int-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-big-int.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.detached.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-is-detached.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-byte-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-buffer-transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-browser.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-deno.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-difference.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-helpers.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate-simple.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-size.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-set-record.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-direct.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-intersection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-subset-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-is-superset-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.set.union.v2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-union.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-exception.stack.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-exception-constants.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.structured-clone.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-get-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/regexp-flags.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/map-helpers.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/editor/editor.js","webpack://pdfjs-dist/build/pdf/src/display/editor/tools.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.json.parse.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/parse-json-string.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/shared/murmurhash3.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/shared/image_utils.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/esnext.array.group.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-group.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/annotation_editor_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/freetext.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/web/l10n_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/editor/ink.js","webpack://pdfjs-dist/build/pdf/src/display/editor/stamp.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsLib = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(globalThis, () => {\nreturn ","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6; // Ten megabytes.\n\n// Represent the percentage of the height of a single-line field over\n// the font size. Acrobat seems to use this value.\nconst LINE_FACTOR = 1.35;\nconst LINE_DESCENT_FACTOR = 0.35;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\n\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15,\n};\n\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n // PLEASE NOTE: We purposely keep any removed operators commented out, since\n // re-numbering the list would risk breaking third-party users.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n // beginAnnotations: 78,\n // endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n // paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value, nonSerializable = false) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\nfunction string32(value) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch {\n return false;\n }\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(\n this,\n \"isOffscreenCanvasSupported\",\n typeof OffscreenCanvas !== \"undefined\"\n );\n }\n\n static get platform() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n typeof navigator === \"undefined\"\n ) {\n return shadow(this, \"platform\", { isWin: false, isMac: false });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\"),\n });\n }\n\n static get isCSSRoundSupported() {\n return shadow(\n this,\n \"isCSSRoundSupported\",\n globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\")\n );\n }\n}\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Apply a scaling matrix to some min/max values.\n // If a scaling factor is negative then min and max must be\n // swaped.\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'null'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n const xLow = Math.max(\n Math.min(rect1[0], rect1[2]),\n Math.min(rect2[0], rect2[2])\n );\n const xHigh = Math.min(\n Math.max(rect1[0], rect1[2]),\n Math.max(rect2[0], rect2[2])\n );\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(\n Math.min(rect1[1], rect1[3]),\n Math.min(rect2[1], rect2[3])\n );\n const yHigh = Math.min(\n Math.max(rect1[1], rect1[3]),\n Math.max(rect2[1], rect2[3])\n );\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\nclass PromiseCapability {\n #settled = false;\n\n constructor() {\n /**\n * @type {Promise} The Promise object.\n */\n this.promise = new Promise((resolve, reject) => {\n /**\n * @type {function} Fulfills the Promise.\n */\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n\n /**\n * @type {function} Rejects the Promise.\n */\n this.reject = reason => {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(reason instanceof Error, 'Expected valid \"reason\" argument.');\n }\n this.#settled = true;\n reject(reason);\n };\n });\n }\n\n /**\n * @type {boolean} If the Promise has been fulfilled/rejected.\n */\n get settled() {\n return this.#settled;\n }\n}\n\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n // In order to generate the following regex:\n // - create a PDF containing all the chars in the range 0000-FFFF with\n // a NFKC which is different of the char.\n // - copy and paste all those chars and get the ones where NFKC is\n // required.\n // It appears that most the chars here contain some ligatures.\n NormalizeRegex =\n /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\nfunction getUuid() {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\")\n ) {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto?.getRandomValues === \"function\"\n ) {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\n\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationEditorParamsType,\n AnnotationEditorPrefix,\n AnnotationEditorType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMode,\n AnnotationPrefix,\n AnnotationReplyType,\n AnnotationType,\n assert,\n BaseException,\n BASELINE_FACTOR,\n bytesToString,\n CMapCompressionType,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n FeatureTest,\n FONT_IDENTITY_MATRIX,\n FormatError,\n getModificationDate,\n getUuid,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isNodeJS,\n LINE_DESCENT_FACTOR,\n LINE_FACTOR,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n normalizeUnicode,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLast = require('../internals/array-iteration-from-last').findLast;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLast` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast\nexportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {\n return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ findLast, findLastIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_FIND_LAST_INDEX = TYPE === 1;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var index = lengthOfArrayLike(self);\n var value, result;\n while (index-- > 0) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (result) switch (TYPE) {\n case 0: return value; // findLast\n case 1: return index; // findLastIndex\n }\n }\n return IS_FIND_LAST_INDEX ? -1 : undefined;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.findLast` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLast: createMethod(0),\n // `Array.prototype.findLastIndex` method\n // https://github.com/tc39/proposal-array-find-from-last\n findLastIndex: createMethod(1)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findLastIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex\nexportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {\n return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\n\nvar slice = uncurryThis(ArrayBuffer.prototype.slice);\n\nmodule.exports = function (O) {\n if (arrayBufferByteLength(O) !== 0) return false;\n try {\n slice(O, 0, 0);\n return false;\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar classof = require('../internals/classof-raw');\n\nvar $TypeError = TypeError;\n\n// Includes\n// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).\n// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.\nmodule.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {\n if (classof(O) !== 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');\n return O.byteLength;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar toIndex = require('../internals/to-index');\nvar isDetached = require('../internals/array-buffer-is-detached');\nvar arrayBufferByteLength = require('../internals/array-buffer-byte-length');\nvar PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar TypeError = global.TypeError;\nvar structuredClone = global.structuredClone;\nvar ArrayBuffer = global.ArrayBuffer;\nvar DataView = global.DataView;\nvar min = Math.min;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataViewPrototype = DataView.prototype;\nvar slice = uncurryThis(ArrayBufferPrototype.slice);\nvar isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');\nvar maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');\nvar getInt8 = uncurryThis(DataViewPrototype.getInt8);\nvar setInt8 = uncurryThis(DataViewPrototype.setInt8);\n\nmodule.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {\n var byteLength = arrayBufferByteLength(arrayBuffer);\n var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);\n var fixedLength = !isResizable || !isResizable(arrayBuffer);\n if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');\n var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });\n if (byteLength === newByteLength && (preserveResizability || fixedLength)) return newBuffer;\n if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) return slice(newBuffer, 0, newByteLength);\n var options = (preserveResizability && !fixedLength) && maxByteLength ? { maxByteLength: maxByteLength(newBuffer) } : undefined;\n var newNewBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(newBuffer);\n var b = new DataView(newNewBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n return newNewBuffer;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isNodeJS,\n MAX_IMAGE_SIZE_TO_CACHE,\n MissingPDFException,\n PasswordException,\n PromiseCapability,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n AnnotationStorage,\n PrintAnnotationStorage,\n SerializableEmpty,\n} from \"./annotation_storage.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMFilterFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n isValidFetchUrl,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeFilterFactory,\n NodeStandardFontDataFactory,\n} from \"display-node_utils\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { PDFFetchStream } from \"display-fetch_stream\";\nimport { PDFNetworkStream } from \"display-network\";\nimport { PDFNodeStream } from \"display-node_stream\";\nimport { SVGGraphics } from \"display-svg\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\nconst DELAYED_CLEANUP_TIMEOUT = 5000; // ms\n\nconst DefaultCanvasFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultFilterFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeFilterFactory\n : DOMFilterFactory;\nconst DefaultStandardFontDataFactory =\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\") && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef { TypedArray | ArrayBuffer | Array | string } BinaryData\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string | URL} [url] - The URL of the PDF.\n * @property {BinaryData} [data] - Binary PDF data.\n * Use TypedArrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n *\n * NOTE: If TypedArrays are used they will generally be transferred to the\n * worker-thread. This will help reduce main-thread memory usage, however\n * it will take ownership of the TypedArrays.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not. The default value is `true`.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [isOffscreenCanvasSupported] - Determines if we can use\n * `OffscreenCanvas` in the worker. Primarily used to improve performance of\n * image conversion/rendering.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {number} [canvasMaxAreaInBytes] - The integer value is used to\n * know when an image must be resized (uses `OffscreenCanvas` in the worker).\n * If it's -1 then a possibly slow algorithm is used to guess the max value.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object} [filterFactory] - A factory instance that will be used\n * to create SVG filters when rendering some images on the main canvas.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string | URL | TypedArray | ArrayBuffer | DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = { url: src };\n } else if (isArrayBuffer(src)) {\n src = { data: src };\n }\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n const task = new PDFDocumentLoadingTask();\n const { docId } = task;\n\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport =\n src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize =\n Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0\n ? src.rangeChunkSize\n : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n const docBaseUrl =\n typeof src.docBaseUrl === \"string\" && !isDataScheme(src.docBaseUrl)\n ? src.docBaseUrl\n : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl =\n typeof src.standardFontDataUrl === \"string\"\n ? src.standardFontDataUrl\n : null;\n const StandardFontDataFactory =\n src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize =\n Number.isInteger(src.maxImageSize) && src.maxImageSize > -1\n ? src.maxImageSize\n : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported =\n typeof src.isOffscreenCanvasSupported === \"boolean\"\n ? src.isOffscreenCanvasSupported\n : !isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes)\n ? src.canvasMaxAreaInBytes\n : -1;\n const disableFontFace =\n typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n\n // Parameters whose default values depend on other parameters.\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts =\n typeof src.useSystemFonts === \"boolean\"\n ? src.useSystemFonts\n : !isNodeJS && !disableFontFace;\n const useWorkerFetch =\n typeof src.useWorkerFetch === \"boolean\"\n ? src.useWorkerFetch\n : (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (CMapReaderFactory === DOMCMapReaderFactory &&\n StandardFontDataFactory === DOMStandardFontDataFactory &&\n cMapUrl &&\n standardFontDataUrl &&\n isValidFetchUrl(cMapUrl, document.baseURI) &&\n isValidFetchUrl(standardFontDataUrl, document.baseURI));\n const canvasFactory =\n src.canvasFactory || new DefaultCanvasFactory({ ownerDocument });\n const filterFactory =\n src.filterFactory || new DefaultFilterFactory({ docId, ownerDocument });\n\n // Parameters only intended for development/testing purposes.\n const styleElement =\n typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")\n ? src.styleElement\n : null;\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(verbosity);\n\n // Ensure that the various factories can be initialized, when necessary,\n // since the user may provide *custom* ones.\n const transportFactory = {\n canvasFactory,\n filterFactory,\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked,\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl,\n });\n }\n\n if (!worker) {\n const workerParams = {\n verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const fetchDocParams = {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null,\n },\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement,\n };\n\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename:\n rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream,\n },\n rangeTransport\n );\n } else if (!data) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: createPDFNetworkStream\");\n }\n const createPDFNetworkStream = params => {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS\n ) {\n return new PDFNodeStream(params);\n }\n return isValidFetchUrl(params.url)\n ? new PDFFetchStream(params)\n : new PDFNetworkStream(params);\n };\n\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n transportParams,\n transportFactory\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n source,\n source.data ? [source.data.buffer] : null\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\nfunction getUrlProp(val) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n return null; // The 'url' is unused with `PDFDataRangeTransport`.\n }\n if (val instanceof URL) {\n return val.href;\n }\n try {\n // The full path is required in the 'url' field.\n return new URL(val, window.location).href;\n } catch {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof val === \"string\"\n ) {\n return val; // Use the url as-is in Node.js environments.\n }\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n}\n\nfunction getDataProp(val) {\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n val instanceof Buffer // eslint-disable-line no-undef\n ) {\n throw new Error(\n \"Please provide binary data as `Uint8Array`, rather than `Buffer`.\"\n );\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n // Use the data as-is when it's already a Uint8Array that completely\n // \"utilizes\" its underlying ArrayBuffer, to prevent any possible\n // issues when transferring it to the worker-thread.\n return val;\n }\n if (typeof val === \"string\") {\n return stringToBytes(val);\n }\n if ((typeof val === \"object\" && !isNaN(val?.length)) || isArrayBuffer(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\n \"Invalid PDF binary data: either TypedArray, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n\n constructor() {\n this._capability = new PromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n *\n * NOTE: The TypedArrays passed to the constructor and relevant methods below\n * will generally be transferred to the worker-thread. This will help reduce\n * main-thread memory usage, however it will take ownership of the TypedArrays.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array|null} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new PromiseCapability();\n }\n\n /**\n * @param {function} listener\n */\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n /**\n * @param {function} listener\n */\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n /**\n * @param {number} begin\n * @param {Uint8Array|null} chunk\n */\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n /**\n * @param {number} loaded\n * @param {number|undefined} total\n */\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n /**\n * @param {Uint8Array|null} chunk\n */\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n /**\n * @param {number} begin\n * @param {number} end\n */\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"getJavaScript\", {\n value: () => {\n deprecated(\n \"`PDFDocumentProxy.getJavaScript`, \" +\n \"please use `PDFDocumentProxy.getJSActions` instead.\"\n );\n return this.getJSActions().then(js => {\n if (!js) {\n return js;\n }\n const jsArr = [];\n for (const name in js) {\n jsArr.push(...js[name]);\n }\n return jsArr;\n });\n },\n });\n }\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n // For testing purposes.\n Object.defineProperty(this, \"getXFADatasets\", {\n value: () => {\n return this._transport.getXFADatasets();\n },\n });\n Object.defineProperty(this, \"getXRefPrevValue\", {\n value: () => {\n return this._transport.getXRefPrevValue();\n },\n });\n Object.defineProperty(this, \"getAnnotArray\", {\n value: pageIndex => {\n return this._transport.getAnnotArray(pageIndex);\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree.\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the raw data of the PDF document.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n * @property {boolean} [disableNormalization] - When true the text is *not*\n * normalized in the worker-thread. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {CanvasRenderingContext2D} canvasContext - A 2D context of a DOM\n * Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {CanvasGradient | CanvasPattern | string} [background] - Background\n * to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n *\n * NOTE: This option may be partially, or completely, ignored when the\n * `pageColors`-option is used.\n * @property {Object} [pageColors] - Overwrites background and foreground colors\n * with user defined ones in order to improve readability in high contrast\n * mode.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n * @property {PrintAnnotationStorage} [printAnnotationStorage]\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {PrintAnnotationStorage} [printAnnotationStorage]\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n\n #pendingCleanup = false;\n\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n return this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n\n /**\n * @type {Object} The filter factory instance.\n */\n get filterFactory() {\n return this._transport.filterFactory;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return shadow(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null,\n }) {\n this._stats?.time(\"Overall\");\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render...\n this.#pendingCleanup = false;\n // ... and ensure that a delayed cleanup is always aborted.\n this.#abortDelayedCleanup();\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup immediately once rendering has finished.\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(/* delayed = */ !intentPrint);\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n printAnnotationStorage = null,\n } = {}) {\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n throw new Error(\"Not implemented: getOperatorList\");\n }\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n printAnnotationStorage,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null,\n };\n\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(/* delayed = */ false);\n\n if (resetStats && success) {\n this._stats &&= new StatTimer();\n }\n return success;\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @param {boolean} [delayed] - Delay the cleanup, to e.g. improve zooming\n * performance in documents with large images.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(/* delayed = */ false);\n }, DELAYED_CLEANUP_TIMEOUT);\n\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n this._stats?.timeEnd(\"Page Request\");\n\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n intentState.displayReadyCapability?.resolve(transparency);\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(/* delayed = */ true);\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable,\n }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n const { map, transfers } = annotationStorageSerializable;\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map,\n },\n transfers\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(/* delayed = */ true);\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\")) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < /* ms = */ 1000) {\n // Above, we prevent the total delay from becoming arbitrarily large.\n delay += reason.extraDelay;\n }\n\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({ intentState, reason, force: true });\n }, delay);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {StatTimer | null} Returns page stats, if enabled; returns `null`\n * otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n #listeners = new Set();\n\n #deferred = Promise.resolve();\n\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(\n obj,\n (typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL || TESTING\")) &&\n transfer\n ? { transfer }\n : null\n ),\n };\n\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n\n terminate() {\n this.#listeners.clear();\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Worker} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n // Check if URLs have the same origin. For non-HTTP based URLs, returns false.\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static #workerPorts;\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n\n this._readyCapability = new PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n port\n ) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: _initializeFromPort\");\n }\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let { workerSrc } = PDFWorker;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n const worker =\n typeof PDFJSDev === \"undefined\" &&\n !workerSrc.endsWith(\"/build/pdf.worker.js\")\n ? new Worker(workerSrc, { type: \"module\" })\n : new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n // Ensure that we can use `postMessage` transfers.\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts?.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: fromPort\");\n }\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\n \"PDFWorker.fromPort - the worker is being destroyed.\\n\" +\n \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\"\n );\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n PDFWorkerUtil.fallbackWorkerSrc !== null\n ) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a ` + + + + + + + +
+ +
+
+
+
+ + + + +
+
+ +
+ +
+
+
+
+
+ + + +
+
+
+ +
+ + + + + + + + + + +
+
+
+
+ +
+ +
+ +
+ +
+ + +
+
+ + + + + + +
+ +
+ + + +
+ +
+ + +
+
+
+ +
+ +
+ + + +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+ +
+ +
+
+ +
+
+ + +
+
+ +
+ File name: +

-

+
+
+ File size: +

-

+
+
+
+ Title: +

-

+
+
+ Author: +

-

+
+
+ Subject: +

-

+
+
+ Keywords: +

-

+
+
+ Creation Date: +

-

+
+
+ Modification Date: +

-

+
+
+ Creator: +

-

+
+
+
+ PDF Producer: +

-

+
+
+ PDF Version: +

-

+
+
+ Page Count: +

-

+
+
+ Page Size: +

-

+
+
+
+ Fast Web View: +

-

+
+
+ +
+
+ +
+
+ Choose an option + + Alt text (alternative text) helps when people can’t see the image or when it doesn’t load. + +
+
+
+
+ + +
+
+ + Aim for 1-2 sentences that describe the subject, setting, or actions. + +
+
+
+ +
+
+
+
+
+ + +
+
+ + This is used for ornamental images, like borders or watermarks. + +
+
+
+
+ + +
+
+
+ +
+ Preparing document for printing… +
+
+ + 0% +
+
+ +
+
+
+ +
+
+ + + + diff --git a/ChoiPDFv/webOSTVjs-1.2.10/pdfjs-3.11.174-legacy-dist/web/viewer.js b/ChoiPDFv/webOSTVjs-1.2.10/pdfjs-3.11.174-legacy-dist/web/viewer.js new file mode 100644 index 0000000..c7bcaf2 --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/pdfjs-3.11.174-legacy-dist/web/viewer.js @@ -0,0 +1,16955 @@ +/** + * @licstart The following is the entire license notice for the + * JavaScript code in this page + * + * Copyright 2023 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * JavaScript code in this page + */ + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericCom = void 0; +__webpack_require__(2); +var _app = __webpack_require__(75); +var _preferences = __webpack_require__(160); +var _download_manager = __webpack_require__(161); +var _genericl10n = __webpack_require__(162); +var _generic_scripting = __webpack_require__(164); +; +const GenericCom = {}; +exports.GenericCom = GenericCom; +class GenericPreferences extends _preferences.BasePreferences { + async _writeToStorage(prefObj) { + localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj)); + } + async _readFromStorage(prefObj) { + return JSON.parse(localStorage.getItem("pdfjs.preferences")); + } +} +class GenericExternalServices extends _app.DefaultExternalServices { + static createDownloadManager() { + return new _download_manager.DownloadManager(); + } + static createPreferences() { + return new GenericPreferences(); + } + static createL10n(_ref) { + let { + locale = "en-US" + } = _ref; + return new _genericl10n.GenericL10n(locale); + } + static createScripting(_ref2) { + let { + sandboxBundleSrc + } = _ref2; + return new _generic_scripting.GenericScripting(sandboxBundleSrc); + } +} +_app.PDFViewerApplication.externalServices = GenericExternalServices; + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var global = __webpack_require__(4); +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var isArray = __webpack_require__(69); +var hasOwn = __webpack_require__(39); +var toString = __webpack_require__(70); +var lengthOfArrayLike = __webpack_require__(64); +var createProperty = __webpack_require__(73); +var fails = __webpack_require__(7); +var parseJSONString = __webpack_require__(74); +var NATIVE_SYMBOL = __webpack_require__(27); +var JSON = global.JSON; +var Number = global.Number; +var SyntaxError = global.SyntaxError; +var nativeParse = JSON && JSON.parse; +var enumerableOwnProperties = getBuiltIn('Object', 'keys'); +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var push = uncurryThis([].push); +var IS_DIGIT = /^\d$/; +var IS_NON_ZERO_DIGIT = /^[1-9]$/; +var IS_NUMBER_START = /^(?:-|\d)$/; +var IS_WHITESPACE = /^[\t\n\r ]$/; +var PRIMITIVE = 0; +var OBJECT = 1; +var $parse = function (source, reviver) { + source = toString(source); + var context = new Context(source, 0, ''); + var root = context.parse(); + var value = root.value; + var endIndex = context.skip(IS_WHITESPACE, root.end); + if (endIndex < source.length) { + throw SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex); + } + return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value; +}; +var internalize = function (holder, name, reviver, node) { + var val = holder[name]; + var unmodified = node && val === node.value; + var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {}; + var elementRecordsLen, keys, len, i, P; + if (isObject(val)) { + var nodeIsArray = isArray(val); + var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {}; + if (nodeIsArray) { + elementRecordsLen = nodes.length; + len = lengthOfArrayLike(val); + for (i = 0; i < len; i++) { + internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined)); + } + } else { + keys = enumerableOwnProperties(val); + len = lengthOfArrayLike(keys); + for (i = 0; i < len; i++) { + P = keys[i]; + internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined)); + } + } + } + return call(reviver, holder, name, val, context); +}; +var internalizeProperty = function (object, key, value) { + if (DESCRIPTORS) { + var descriptor = getOwnPropertyDescriptor(object, key); + if (descriptor && !descriptor.configurable) + return; + } + if (value === undefined) + delete object[key]; + else + createProperty(object, key, value); +}; +var Node = function (value, end, source, nodes) { + this.value = value; + this.end = end; + this.source = source; + this.nodes = nodes; +}; +var Context = function (source, index) { + this.source = source; + this.index = index; +}; +Context.prototype = { + fork: function (nextIndex) { + return new Context(this.source, nextIndex); + }, + parse: function () { + var source = this.source; + var i = this.skip(IS_WHITESPACE, this.index); + var fork = this.fork(i); + var chr = at(source, i); + if (exec(IS_NUMBER_START, chr)) + return fork.number(); + switch (chr) { + case '{': + return fork.object(); + case '[': + return fork.array(); + case '"': + return fork.string(); + case 't': + return fork.keyword(true); + case 'f': + return fork.keyword(false); + case 'n': + return fork.keyword(null); + } + throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + }, + node: function (type, value, start, end, nodes) { + return new Node(value, end, type ? null : slice(this.source, start, end), nodes); + }, + object: function () { + var source = this.source; + var i = this.index + 1; + var expectKeypair = false; + var object = {}; + var nodes = {}; + while (i < source.length) { + i = this.until([ + '"', + '}' + ], i); + if (at(source, i) === '}' && !expectKeypair) { + i++; + break; + } + var result = this.fork(i).string(); + var key = result.value; + i = result.end; + i = this.until([':'], i) + 1; + i = this.skip(IS_WHITESPACE, i); + result = this.fork(i).parse(); + createProperty(nodes, key, result); + createProperty(object, key, result.value); + i = this.until([ + ',', + '}' + ], result.end); + var chr = at(source, i); + if (chr === ',') { + expectKeypair = true; + i++; + } else if (chr === '}') { + i++; + break; + } + } + return this.node(OBJECT, object, this.index, i, nodes); + }, + array: function () { + var source = this.source; + var i = this.index + 1; + var expectElement = false; + var array = []; + var nodes = []; + while (i < source.length) { + i = this.skip(IS_WHITESPACE, i); + if (at(source, i) === ']' && !expectElement) { + i++; + break; + } + var result = this.fork(i).parse(); + push(nodes, result); + push(array, result.value); + i = this.until([ + ',', + ']' + ], result.end); + if (at(source, i) === ',') { + expectElement = true; + i++; + } else if (at(source, i) === ']') { + i++; + break; + } + } + return this.node(OBJECT, array, this.index, i, nodes); + }, + string: function () { + var index = this.index; + var parsed = parseJSONString(this.source, this.index + 1); + return this.node(PRIMITIVE, parsed.value, index, parsed.end); + }, + number: function () { + var source = this.source; + var startIndex = this.index; + var i = startIndex; + if (at(source, i) === '-') + i++; + if (at(source, i) === '0') + i++; + else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) + i = this.skip(IS_DIGIT, ++i); + else + throw SyntaxError('Failed to parse number at: ' + i); + if (at(source, i) === '.') + i = this.skip(IS_DIGIT, ++i); + if (at(source, i) === 'e' || at(source, i) === 'E') { + i++; + if (at(source, i) === '+' || at(source, i) === '-') + i++; + var exponentStartIndex = i; + i = this.skip(IS_DIGIT, i); + if (exponentStartIndex === i) + throw SyntaxError("Failed to parse number's exponent value at: " + i); + } + return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i); + }, + keyword: function (value) { + var keyword = '' + value; + var index = this.index; + var endIndex = index + keyword.length; + if (slice(this.source, index, endIndex) !== keyword) + throw SyntaxError('Failed to parse value at: ' + index); + return this.node(PRIMITIVE, value, index, endIndex); + }, + skip: function (regex, i) { + var source = this.source; + for (; i < source.length; i++) + if (!exec(regex, at(source, i))) + break; + return i; + }, + until: function (array, i) { + i = this.skip(IS_WHITESPACE, i); + var chr = at(this.source, i); + for (var j = 0; j < array.length; j++) + if (array[j] === chr) + return i; + throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i); + } +}; +var NO_SOURCE_SUPPORT = fails(function () { + var unsafeInt = '9007199254740993'; + var source; + nativeParse(unsafeInt, function (key, value, context) { + source = context.source; + }); + return source !== unsafeInt; +}); +var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () { + return 1 / nativeParse('-0 \t') !== -Infinity; +}); +$({ + target: 'JSON', + stat: true, + forced: NO_SOURCE_SUPPORT +}, { + parse: function parse(text, reviver) { + return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver); + } +}); + +/***/ }), +/* 3 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(44); +var defineBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(38); +var copyConstructorProperties = __webpack_require__(56); +var isForced = __webpack_require__(68); +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) + for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else + targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) + continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + if (options.sham || targetProperty && targetProperty.sham) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () { + return this; +}()) || this || Function('return this')(); + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(39); +var IE8_DOM_DEFINE = __webpack_require__(42); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (hasOwn(O, P)) + return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + +/***/ }), +/* 6 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(7); +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { + get: function () { + return 7; + } + })[1] !== 7; +}); + +/***/ }), +/* 7 */ +/***/ ((module) => { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 8 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_BIND = __webpack_require__(9); +var call = Function.prototype.call; +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + +/***/ }), +/* 9 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(7); +module.exports = !fails(function () { + var test = function () { + }.bind(); + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + +/***/ }), +/* 10 */ +/***/ ((__unused_webpack_module, exports) => { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +/***/ }), +/* 11 */ +/***/ ((module) => { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 13 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); +var $Object = Object; +var split = uncurryThis(''.split); +module.exports = fails(function () { + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + +/***/ }), +/* 14 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_BIND = __webpack_require__(9); +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + +/***/ }), +/* 15 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isNullOrUndefined = __webpack_require__(17); +var $TypeError = TypeError; +module.exports = function (it) { + if (isNullOrUndefined(it)) + throw $TypeError("Can't call method on " + it); + return it; +}; + +/***/ }), +/* 17 */ +/***/ ((module) => { + + +module.exports = function (it) { + return it === null || it === undefined; +}; + +/***/ }), +/* 18 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(23); +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + +/***/ }), +/* 19 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(23); +var getMethod = __webpack_require__(30); +var ordinaryToPrimitive = __webpack_require__(33); +var wellKnownSymbol = __webpack_require__(34); +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) + return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) + pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) + return result; + throw $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) + pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(21); +var $documentAll = __webpack_require__(22); +var documentAll = $documentAll.all; +module.exports = $documentAll.IS_HTMLDDA ? function (it) { + return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll; +} : function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + +/***/ }), +/* 21 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var $documentAll = __webpack_require__(22); +var documentAll = $documentAll.all; +module.exports = $documentAll.IS_HTMLDDA ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + +/***/ }), +/* 22 */ +/***/ ((module) => { + + +var documentAll = typeof document == 'object' && document.all; +var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined; +module.exports = { + all: documentAll, + IS_HTMLDDA: IS_HTMLDDA +}; + +/***/ }), +/* 23 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(24); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(25); +var USE_SYMBOL_AS_UID = __webpack_require__(26); +var $Object = Object; +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + +/***/ }), +/* 24 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; +}; + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +module.exports = uncurryThis({}.isPrototypeOf); + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_SYMBOL = __webpack_require__(27); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 27 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var V8_VERSION = __webpack_require__(28); +var fails = __webpack_require__(7); +var global = __webpack_require__(4); +var $String = global.String; +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var userAgent = __webpack_require__(29); +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = +match[1]; + } +} +module.exports = version; + +/***/ }), +/* 29 */ +/***/ ((module) => { + + +module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aCallable = __webpack_require__(31); +var isNullOrUndefined = __webpack_require__(17); +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(32); +var $TypeError = TypeError; +module.exports = function (argument) { + if (isCallable(argument)) + return argument; + throw $TypeError(tryToString(argument) + ' is not a function'); +}; + +/***/ }), +/* 32 */ +/***/ ((module) => { + + +var $String = String; +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var $TypeError = TypeError; +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) + return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) + return val; + throw $TypeError("Can't convert object to primitive value"); +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var shared = __webpack_require__(35); +var hasOwn = __webpack_require__(39); +var uid = __webpack_require__(41); +var NATIVE_SYMBOL = __webpack_require__(27); +var USE_SYMBOL_AS_UID = __webpack_require__(26); +var Symbol = global.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) ? Symbol[name] : createWellKnownSymbol('Symbol.' + name); + } + return WellKnownSymbolsStore[name]; +}; + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var IS_PURE = __webpack_require__(36); +var store = __webpack_require__(37); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.32.2', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + +/***/ }), +/* 36 */ +/***/ ((module) => { + + +module.exports = false; + +/***/ }), +/* 37 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(38); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || defineGlobalProperty(SHARED, {}); +module.exports = store; + +/***/ }), +/* 38 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var defineProperty = Object.defineProperty; +module.exports = function (key, value) { + try { + defineProperty(global, key, { + value: value, + configurable: true, + writable: true + }); + } catch (error) { + global[key] = value; + } + return value; +}; + +/***/ }), +/* 39 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(40); +var hasOwnProperty = uncurryThis({}.hasOwnProperty); +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var requireObjectCoercible = __webpack_require__(16); +var $Object = Object; +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(43); +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { + return 7; + } + }).a !== 7; +}); + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var isObject = __webpack_require__(20); +var document = global.document; +var EXISTS = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 44 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(45); +var createPropertyDescriptor = __webpack_require__(11); +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +/***/ }), +/* 45 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(42); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(46); +var anObject = __webpack_require__(47); +var toPropertyKey = __webpack_require__(18); +var $TypeError = TypeError; +var $defineProperty = Object.defineProperty; +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } + return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw $TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 46 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +module.exports = DESCRIPTORS && fails(function () { + return Object.defineProperty(function () { + }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + +/***/ }), +/* 47 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isObject = __webpack_require__(20); +var $String = String; +var $TypeError = TypeError; +module.exports = function (argument) { + if (isObject(argument)) + return argument; + throw $TypeError($String(argument) + ' is not an object'); +}; + +/***/ }), +/* 48 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(45); +var makeBuiltIn = __webpack_require__(49); +var defineGlobalProperty = __webpack_require__(38); +module.exports = function (O, key, value, options) { + if (!options) + options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) + makeBuiltIn(value, name, options); + if (options.global) { + if (simple) + O[key] = value; + else + defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) + delete O[key]; + else if (O[key]) + simple = true; + } catch (error) { + } + if (simple) + O[key] = value; + else + definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } + return O; +}; + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(39); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(50).CONFIGURABLE); +var inspectSource = __webpack_require__(51); +var InternalStateModule = __webpack_require__(52); +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { + }, 'length', { value: 8 }).length !== 8; +}); +var TEMPLATE = String(String).split('String'); +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']'; + } + if (options && options.getter) + name = 'get ' + name; + if (options && options.setter) + name = 'set ' + name; + if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { + if (DESCRIPTORS) + defineProperty(value, 'name', { + value: name, + configurable: true + }); + else + value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) + defineProperty(value, 'prototype', { writable: false }); + } else if (value.prototype) + value.prototype = undefined; + } catch (error) { + } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } + return value; +}; +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + +/***/ }), +/* 50 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(39); +var FunctionPrototype = Function.prototype; +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; +var EXISTS = hasOwn(FunctionPrototype, 'name'); +var PROPER = EXISTS && function something() { +}.name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable); +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + +/***/ }), +/* 51 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(37); +var functionToString = uncurryThis(Function.toString); +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_WEAK_MAP = __webpack_require__(53); +var global = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(44); +var hasOwn = __webpack_require__(39); +var shared = __webpack_require__(37); +var sharedKey = __webpack_require__(54); +var hiddenKeys = __webpack_require__(55); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = global.TypeError; +var WeakMap = global.WeakMap; +var set, get, has; +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + store.get = store.get; + store.has = store.has; + store.set = store.set; + set = function (it, metadata) { + if (store.has(it)) + throw TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) + throw TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var WeakMap = global.WeakMap; +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + +/***/ }), +/* 54 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var shared = __webpack_require__(35); +var uid = __webpack_require__(41); +var keys = shared('keys'); +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +/***/ }), +/* 55 */ +/***/ ((module) => { + + +module.exports = {}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var hasOwn = __webpack_require__(39); +var ownKeys = __webpack_require__(57); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(45); +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(24); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(58); +var getOwnPropertySymbolsModule = __webpack_require__(67); +var anObject = __webpack_require__(47); +var concat = uncurryThis([].concat); +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + +/***/ }), +/* 58 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var internalObjectKeys = __webpack_require__(59); +var enumBugKeys = __webpack_require__(66); +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +/***/ }), +/* 59 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(39); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(60).indexOf); +var hiddenKeys = __webpack_require__(55); +var push = uncurryThis([].push); +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) + !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + while (names.length > i) + if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(64); +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + var index = toAbsoluteIndex(fromIndex, length); + var value; + if (IS_INCLUDES && el !== el) + while (length > index) { + value = O[index++]; + if (value !== value) + return true; + } + else + for (; length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) + return IS_INCLUDES || index || 0; + } + return !IS_INCLUDES && -1; + }; +}; +module.exports = { + includes: createMethod(true), + indexOf: createMethod(false) +}; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toIntegerOrInfinity = __webpack_require__(62); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +/***/ }), +/* 62 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var trunc = __webpack_require__(63); +module.exports = function (argument) { + var number = +argument; + return number !== number || number === 0 ? 0 : trunc(number); +}; + +/***/ }), +/* 63 */ +/***/ ((module) => { + + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toLength = __webpack_require__(65); +module.exports = function (obj) { + return toLength(obj.length); +}; + +/***/ }), +/* 65 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toIntegerOrInfinity = __webpack_require__(62); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 66 */ +/***/ ((module) => { + + +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 67 */ +/***/ ((__unused_webpack_module, exports) => { + + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var replacement = /#|\.prototype\./; +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection; +}; +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; +module.exports = isForced; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var classof = __webpack_require__(15); +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var classof = __webpack_require__(71); +var $String = String; +module.exports = function (argument) { + if (classof(argument) === 'Symbol') + throw TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(72); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(34); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; +var CORRECT_ARGUMENTS = classofRaw((function () { + return arguments; +}())) === 'Arguments'; +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { + } +}; +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var wellKnownSymbol = __webpack_require__(34); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 73 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(45); +var createPropertyDescriptor = __webpack_require__(11); +module.exports = function (object, key, value) { + var propertyKey = toPropertyKey(key); + if (propertyKey in object) + definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else + object[propertyKey] = value; +}; + +/***/ }), +/* 74 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(39); +var $SyntaxError = SyntaxError; +var $parseInt = parseInt; +var fromCharCode = String.fromCharCode; +var at = uncurryThis(''.charAt); +var slice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); +var codePoints = { + '\\"': '"', + '\\\\': '\\', + '\\/': '/', + '\\b': '\b', + '\\f': '\f', + '\\n': '\n', + '\\r': '\r', + '\\t': '\t' +}; +var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i; +var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/; +module.exports = function (source, i) { + var unterminated = true; + var value = ''; + while (i < source.length) { + var chr = at(source, i); + if (chr === '\\') { + var twoChars = slice(source, i, i + 2); + if (hasOwn(codePoints, twoChars)) { + value += codePoints[twoChars]; + i += 2; + } else if (twoChars === '\\u') { + i += 2; + var fourHexDigits = slice(source, i, i + 4); + if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) + throw $SyntaxError('Bad Unicode escape at: ' + i); + value += fromCharCode($parseInt(fourHexDigits, 16)); + i += 4; + } else + throw $SyntaxError('Unknown escape sequence: "' + twoChars + '"'); + } else if (chr === '"') { + unterminated = false; + i++; + break; + } else { + if (exec(IS_C0_CONTROL_CODE, chr)) + throw $SyntaxError('Bad control character in string literal at: ' + i); + value += chr; + i++; + } + } + if (unterminated) + throw $SyntaxError('Unterminated string at: ' + i); + return { + value: value, + end: i + }; +}; + +/***/ }), +/* 75 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0; +__webpack_require__(76); +__webpack_require__(89); +__webpack_require__(92); +__webpack_require__(94); +__webpack_require__(95); +var _ui_utils = __webpack_require__(97); +var _pdfjsLib = __webpack_require__(122); +var _app_options = __webpack_require__(123); +var _event_utils = __webpack_require__(124); +var _pdf_link_service = __webpack_require__(125); +var _webAlt_text_manager = __webpack_require__(126); +var _webAnnotation_editor_params = __webpack_require__(127); +var _overlay_manager = __webpack_require__(128); +var _password_prompt = __webpack_require__(129); +var _webPdf_attachment_viewer = __webpack_require__(130); +var _webPdf_cursor_tools = __webpack_require__(132); +var _webPdf_document_properties = __webpack_require__(134); +var _webPdf_find_bar = __webpack_require__(135); +var _pdf_find_controller = __webpack_require__(136); +var _pdf_history = __webpack_require__(138); +var _webPdf_layer_viewer = __webpack_require__(139); +var _webPdf_outline_viewer = __webpack_require__(140); +var _webPdf_presentation_mode = __webpack_require__(141); +var _pdf_rendering_queue = __webpack_require__(142); +var _pdf_scripting_manager = __webpack_require__(143); +var _webPdf_sidebar = __webpack_require__(144); +var _webPdf_thumbnail_viewer = __webpack_require__(145); +var _pdf_viewer = __webpack_require__(147); +var _webSecondary_toolbar = __webpack_require__(157); +var _webToolbar = __webpack_require__(158); +var _view_history = __webpack_require__(159); +const FORCE_PAGES_LOADED_TIMEOUT = 10000; +const WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; +const ViewOnLoad = { + UNKNOWN: -1, + PREVIOUS: 0, + INITIAL: 1 +}; +const ViewerCssTheme = { + AUTOMATIC: 0, + LIGHT: 1, + DARK: 2 +}; +class DefaultExternalServices { + constructor() { + throw new Error("Cannot initialize DefaultExternalServices."); + } + static updateFindControlState(data) {} + static updateFindMatchesCount(data) {} + static initPassiveLoading(callbacks) {} + static reportTelemetry(data) {} + static createDownloadManager() { + throw new Error("Not implemented: createDownloadManager"); + } + static createPreferences() { + throw new Error("Not implemented: createPreferences"); + } + static createL10n(options) { + throw new Error("Not implemented: createL10n"); + } + static createScripting(options) { + throw new Error("Not implemented: createScripting"); + } + static get supportsPinchToZoom() { + return (0, _pdfjsLib.shadow)(this, "supportsPinchToZoom", true); + } + static get supportsIntegratedFind() { + return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false); + } + static get supportsDocumentFonts() { + return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true); + } + static get supportedMouseWheelZoomModifierKeys() { + return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", { + ctrlKey: true, + metaKey: true + }); + } + static get isInAutomation() { + return (0, _pdfjsLib.shadow)(this, "isInAutomation", false); + } + static updateEditorStates(data) { + throw new Error("Not implemented: updateEditorStates"); + } + static get canvasMaxAreaInBytes() { + return (0, _pdfjsLib.shadow)(this, "canvasMaxAreaInBytes", -1); + } + static getNimbusExperimentData() { + return (0, _pdfjsLib.shadow)(this, "getNimbusExperimentData", Promise.resolve(null)); + } +} +exports.DefaultExternalServices = DefaultExternalServices; +const PDFViewerApplication = { + initialBookmark: document.location.hash.substring(1), + _initializedCapability: new _pdfjsLib.PromiseCapability(), + appConfig: null, + pdfDocument: null, + pdfLoadingTask: null, + printService: null, + pdfViewer: null, + pdfThumbnailViewer: null, + pdfRenderingQueue: null, + pdfPresentationMode: null, + pdfDocumentProperties: null, + pdfLinkService: null, + pdfHistory: null, + pdfSidebar: null, + pdfOutlineViewer: null, + pdfAttachmentViewer: null, + pdfLayerViewer: null, + pdfCursorTools: null, + pdfScriptingManager: null, + store: null, + downloadManager: null, + overlayManager: null, + preferences: null, + toolbar: null, + secondaryToolbar: null, + eventBus: null, + l10n: null, + annotationEditorParams: null, + isInitialViewSet: false, + downloadComplete: false, + isViewerEmbedded: window.parent !== window, + url: "", + baseUrl: "", + _downloadUrl: "", + externalServices: DefaultExternalServices, + _boundEvents: Object.create(null), + documentInfo: null, + metadata: null, + _contentDispositionFilename: null, + _contentLength: null, + _saveInProgress: false, + _wheelUnusedTicks: 0, + _wheelUnusedFactor: 1, + _touchUnusedTicks: 0, + _touchUnusedFactor: 1, + _PDFBug: null, + _hasAnnotationEditors: false, + _title: document.title, + _printAnnotationStoragePromise: null, + _touchInfo: null, + _isCtrlKeyDown: false, + _nimbusDataPromise: null, + async initialize(appConfig) { + this.preferences = this.externalServices.createPreferences(); + this.appConfig = appConfig; + await this._initializeOptions(); + this._forceCssTheme(); + await this._initializeL10n(); + if (this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdf_link_service.LinkTarget.NONE) { + _app_options.AppOptions.set("externalLinkTarget", _pdf_link_service.LinkTarget.TOP); + } + await this._initializeViewerComponents(); + this.bindEvents(); + this.bindWindowEvents(); + const appContainer = appConfig.appContainer || document.documentElement; + this.l10n.translate(appContainer).then(() => { + this.eventBus.dispatch("localized", { + source: this + }); + }); + this._initializedCapability.resolve(); + }, + async _initializeOptions() { + if (_app_options.AppOptions.get("disablePreferences")) { + if (_app_options.AppOptions.get("pdfBugEnabled")) { + await this._parseHashParams(); + } + return; + } + if (_app_options.AppOptions._hasUserOptions()) { + console.warn("_initializeOptions: The Preferences may override manually set AppOptions; " + 'please use the "disablePreferences"-option in order to prevent that.'); + } + try { + _app_options.AppOptions.setAll(await this.preferences.getAll()); + } catch (reason) { + console.error(`_initializeOptions: "${reason.message}".`); + } + if (_app_options.AppOptions.get("pdfBugEnabled")) { + await this._parseHashParams(); + } + }, + async _parseHashParams() { + const hash = document.location.hash.substring(1); + if (!hash) { + return; + } + const { + mainContainer, + viewerContainer + } = this.appConfig, + params = (0, _ui_utils.parseQueryString)(hash); + if (params.get("disableworker") === "true") { + try { + await loadFakeWorker(); + } catch (ex) { + console.error(`_parseHashParams: "${ex.message}".`); + } + } + if (params.has("disablerange")) { + _app_options.AppOptions.set("disableRange", params.get("disablerange") === "true"); + } + if (params.has("disablestream")) { + _app_options.AppOptions.set("disableStream", params.get("disablestream") === "true"); + } + if (params.has("disableautofetch")) { + _app_options.AppOptions.set("disableAutoFetch", params.get("disableautofetch") === "true"); + } + if (params.has("disablefontface")) { + _app_options.AppOptions.set("disableFontFace", params.get("disablefontface") === "true"); + } + if (params.has("disablehistory")) { + _app_options.AppOptions.set("disableHistory", params.get("disablehistory") === "true"); + } + if (params.has("verbosity")) { + _app_options.AppOptions.set("verbosity", params.get("verbosity") | 0); + } + if (params.has("textlayer")) { + switch (params.get("textlayer")) { + case "off": + _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE); + break; + case "visible": + case "shadow": + case "hover": + viewerContainer.classList.add(`textLayer-${params.get("textlayer")}`); + try { + await loadPDFBug(this); + this._PDFBug.loadCSS(); + } catch (ex) { + console.error(`_parseHashParams: "${ex.message}".`); + } + break; + } + } + if (params.has("pdfbug")) { + _app_options.AppOptions.set("pdfBug", true); + _app_options.AppOptions.set("fontExtraProperties", true); + const enabled = params.get("pdfbug").split(","); + try { + await loadPDFBug(this); + this._PDFBug.init(mainContainer, enabled); + } catch (ex) { + console.error(`_parseHashParams: "${ex.message}".`); + } + } + if (params.has("locale")) { + _app_options.AppOptions.set("locale", params.get("locale")); + } + }, + async _initializeL10n() { + this.l10n = this.externalServices.createL10n({ + locale: _app_options.AppOptions.get("locale") + }); + const dir = await this.l10n.getDirection(); + document.getElementsByTagName("html")[0].dir = dir; + }, + _forceCssTheme() { + const cssTheme = _app_options.AppOptions.get("viewerCssTheme"); + if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) { + return; + } + try { + const styleSheet = document.styleSheets[0]; + const cssRules = styleSheet?.cssRules || []; + for (let i = 0, ii = cssRules.length; i < ii; i++) { + const rule = cssRules[i]; + if (rule instanceof CSSMediaRule && rule.media?.[0] === "(prefers-color-scheme: dark)") { + if (cssTheme === ViewerCssTheme.LIGHT) { + styleSheet.deleteRule(i); + return; + } + const darkRules = /^@media \(prefers-color-scheme: dark\) {\n\s*([\w\s-.,:;/\\{}()]+)\n}$/.exec(rule.cssText); + if (darkRules?.[1]) { + styleSheet.deleteRule(i); + styleSheet.insertRule(darkRules[1], i); + } + return; + } + } + } catch (reason) { + console.error(`_forceCssTheme: "${reason?.message}".`); + } + }, + async _initializeViewerComponents() { + const { + appConfig, + externalServices, + l10n + } = this; + const eventBus = externalServices.isInAutomation ? new _event_utils.AutomationEventBus() : new _event_utils.EventBus(); + this.eventBus = eventBus; + this.overlayManager = new _overlay_manager.OverlayManager(); + const pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); + pdfRenderingQueue.onIdle = this._cleanup.bind(this); + this.pdfRenderingQueue = pdfRenderingQueue; + const pdfLinkService = new _pdf_link_service.PDFLinkService({ + eventBus, + externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"), + externalLinkRel: _app_options.AppOptions.get("externalLinkRel"), + ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom") + }); + this.pdfLinkService = pdfLinkService; + const downloadManager = externalServices.createDownloadManager(); + this.downloadManager = downloadManager; + const findController = new _pdf_find_controller.PDFFindController({ + linkService: pdfLinkService, + eventBus, + updateMatchesCountOnProgress: true + }); + this.findController = findController; + const pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({ + eventBus, + sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"), + externalServices, + docProperties: this._scriptingDocProperties.bind(this) + }); + this.pdfScriptingManager = pdfScriptingManager; + const container = appConfig.mainContainer, + viewer = appConfig.viewerContainer; + const annotationEditorMode = _app_options.AppOptions.get("annotationEditorMode"); + const isOffscreenCanvasSupported = _app_options.AppOptions.get("isOffscreenCanvasSupported") && _pdfjsLib.FeatureTest.isOffscreenCanvasSupported; + const pageColors = _app_options.AppOptions.get("forcePageColors") || window.matchMedia("(forced-colors: active)").matches ? { + background: _app_options.AppOptions.get("pageColorsBackground"), + foreground: _app_options.AppOptions.get("pageColorsForeground") + } : null; + const altTextManager = appConfig.altTextDialog ? new _webAlt_text_manager.AltTextManager(appConfig.altTextDialog, container, this.overlayManager, eventBus) : null; + const pdfViewer = new _pdf_viewer.PDFViewer({ + container, + viewer, + eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + downloadManager, + altTextManager, + findController, + scriptingManager: _app_options.AppOptions.get("enableScripting") && pdfScriptingManager, + l10n, + textLayerMode: _app_options.AppOptions.get("textLayerMode"), + annotationMode: _app_options.AppOptions.get("annotationMode"), + annotationEditorMode, + imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"), + enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"), + isOffscreenCanvasSupported, + maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"), + enablePermissions: _app_options.AppOptions.get("enablePermissions"), + pageColors + }); + this.pdfViewer = pdfViewer; + pdfRenderingQueue.setViewer(pdfViewer); + pdfLinkService.setViewer(pdfViewer); + pdfScriptingManager.setViewer(pdfViewer); + if (appConfig.sidebar?.thumbnailView) { + this.pdfThumbnailViewer = new _webPdf_thumbnail_viewer.PDFThumbnailViewer({ + container: appConfig.sidebar.thumbnailView, + eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + l10n, + pageColors + }); + pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer); + } + if (!this.isViewerEmbedded && !_app_options.AppOptions.get("disableHistory")) { + this.pdfHistory = new _pdf_history.PDFHistory({ + linkService: pdfLinkService, + eventBus + }); + pdfLinkService.setHistory(this.pdfHistory); + } + if (!this.supportsIntegratedFind && appConfig.findBar) { + this.findBar = new _webPdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, l10n); + } + if (appConfig.annotationEditorParams) { + if (annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) { + if (_app_options.AppOptions.get("enableStampEditor") && isOffscreenCanvasSupported) { + appConfig.toolbar?.editorStampButton?.classList.remove("hidden"); + } + this.annotationEditorParams = new _webAnnotation_editor_params.AnnotationEditorParams(appConfig.annotationEditorParams, eventBus); + } else { + for (const id of ["editorModeButtons", "editorModeSeparator"]) { + document.getElementById(id)?.classList.add("hidden"); + } + } + } + if (appConfig.documentProperties) { + this.pdfDocumentProperties = new _webPdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, this.overlayManager, eventBus, l10n, () => this._docFilename); + } + if (appConfig.secondaryToolbar?.cursorHandToolButton) { + this.pdfCursorTools = new _webPdf_cursor_tools.PDFCursorTools({ + container, + eventBus, + cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad") + }); + } + if (appConfig.toolbar) { + this.toolbar = new _webToolbar.Toolbar(appConfig.toolbar, eventBus, l10n); + } + if (appConfig.secondaryToolbar) { + this.secondaryToolbar = new _webSecondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, eventBus); + } + if (this.supportsFullscreen && appConfig.secondaryToolbar?.presentationModeButton) { + this.pdfPresentationMode = new _webPdf_presentation_mode.PDFPresentationMode({ + container, + pdfViewer, + eventBus + }); + } + if (appConfig.passwordOverlay) { + this.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, this.overlayManager, l10n, this.isViewerEmbedded); + } + if (appConfig.sidebar?.outlineView) { + this.pdfOutlineViewer = new _webPdf_outline_viewer.PDFOutlineViewer({ + container: appConfig.sidebar.outlineView, + eventBus, + linkService: pdfLinkService, + downloadManager + }); + } + if (appConfig.sidebar?.attachmentsView) { + this.pdfAttachmentViewer = new _webPdf_attachment_viewer.PDFAttachmentViewer({ + container: appConfig.sidebar.attachmentsView, + eventBus, + downloadManager + }); + } + if (appConfig.sidebar?.layersView) { + this.pdfLayerViewer = new _webPdf_layer_viewer.PDFLayerViewer({ + container: appConfig.sidebar.layersView, + eventBus, + l10n + }); + } + if (appConfig.sidebar) { + this.pdfSidebar = new _webPdf_sidebar.PDFSidebar({ + elements: appConfig.sidebar, + eventBus, + l10n + }); + this.pdfSidebar.onToggled = this.forceRendering.bind(this); + this.pdfSidebar.onUpdateThumbnails = () => { + for (const pageView of pdfViewer.getCachedPageViews()) { + if (pageView.renderingState === _ui_utils.RenderingStates.FINISHED) { + this.pdfThumbnailViewer.getThumbnail(pageView.id - 1)?.setImage(pageView); + } + } + this.pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); + }; + } + }, + async run(config) { + await this.initialize(config); + const { + appConfig, + eventBus + } = this; + let file; + const queryString = document.location.search.substring(1); + const params = (0, _ui_utils.parseQueryString)(queryString); + file = params.get("file") ?? _app_options.AppOptions.get("defaultUrl"); + validateFileURL(file); + const fileInput = appConfig.openFileInput; + fileInput.value = null; + fileInput.addEventListener("change", function (evt) { + const { + files + } = evt.target; + if (!files || files.length === 0) { + return; + } + eventBus.dispatch("fileinputchange", { + source: this, + fileInput: evt.target + }); + }); + appConfig.mainContainer.addEventListener("dragover", function (evt) { + evt.preventDefault(); + evt.dataTransfer.dropEffect = evt.dataTransfer.effectAllowed === "copy" ? "copy" : "move"; + }); + appConfig.mainContainer.addEventListener("drop", function (evt) { + evt.preventDefault(); + const { + files + } = evt.dataTransfer; + if (!files || files.length === 0) { + return; + } + eventBus.dispatch("fileinputchange", { + source: this, + fileInput: evt.dataTransfer + }); + }); + if (!this.supportsDocumentFonts) { + _app_options.AppOptions.set("disableFontFace", true); + this.l10n.get("web_fonts_disabled").then(msg => { + console.warn(msg); + }); + } + if (!this.supportsPrinting) { + appConfig.toolbar?.print?.classList.add("hidden"); + appConfig.secondaryToolbar?.printButton.classList.add("hidden"); + } + if (!this.supportsFullscreen) { + appConfig.secondaryToolbar?.presentationModeButton.classList.add("hidden"); + } + if (this.supportsIntegratedFind) { + appConfig.toolbar?.viewFind?.classList.add("hidden"); + } + appConfig.mainContainer.addEventListener("transitionend", function (evt) { + if (evt.target === this) { + eventBus.dispatch("resize", { + source: this + }); + } + }, true); + if (file) { + this.open({ + url: file + }); + } else { + this._hideViewBookmark(); + } + }, + get initialized() { + return this._initializedCapability.settled; + }, + get initializedPromise() { + return this._initializedCapability.promise; + }, + zoomIn(steps, scaleFactor) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + this.pdfViewer.increaseScale({ + drawingDelay: _app_options.AppOptions.get("defaultZoomDelay"), + steps, + scaleFactor + }); + }, + zoomOut(steps, scaleFactor) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + this.pdfViewer.decreaseScale({ + drawingDelay: _app_options.AppOptions.get("defaultZoomDelay"), + steps, + scaleFactor + }); + }, + zoomReset() { + if (this.pdfViewer.isInPresentationMode) { + return; + } + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + }, + get pagesCount() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + }, + get page() { + return this.pdfViewer.currentPageNumber; + }, + set page(val) { + this.pdfViewer.currentPageNumber = val; + }, + get supportsPrinting() { + return PDFPrintServiceFactory.instance.supportsPrinting; + }, + get supportsFullscreen() { + return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", document.fullscreenEnabled); + }, + get supportsPinchToZoom() { + return this.externalServices.supportsPinchToZoom; + }, + get supportsIntegratedFind() { + return this.externalServices.supportsIntegratedFind; + }, + get supportsDocumentFonts() { + return this.externalServices.supportsDocumentFonts; + }, + get loadingBar() { + const barElement = document.getElementById("loadingBar"); + const bar = barElement ? new _ui_utils.ProgressBar(barElement) : null; + return (0, _pdfjsLib.shadow)(this, "loadingBar", bar); + }, + get supportedMouseWheelZoomModifierKeys() { + return this.externalServices.supportedMouseWheelZoomModifierKeys; + }, + initPassiveLoading(file) { + throw new Error("Not implemented: initPassiveLoading"); + }, + setTitleUsingUrl() { + let url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; + let downloadUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this.url = url; + this.baseUrl = url.split("#")[0]; + if (downloadUrl) { + this._downloadUrl = downloadUrl === url ? this.baseUrl : downloadUrl.split("#")[0]; + } + if ((0, _pdfjsLib.isDataScheme)(url)) { + this._hideViewBookmark(); + } + let title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, ""); + if (!title) { + try { + title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url; + } catch { + title = url; + } + } + this.setTitle(title); + }, + setTitle() { + let title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._title; + this._title = title; + if (this.isViewerEmbedded) { + return; + } + const editorIndicator = this._hasAnnotationEditors && !this.pdfRenderingQueue.printing; + document.title = `${editorIndicator ? "* " : ""}${title}`; + }, + get _docFilename() { + return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url); + }, + _hideViewBookmark() { + const { + secondaryToolbar + } = this.appConfig; + secondaryToolbar?.viewBookmarkButton.classList.add("hidden"); + if (secondaryToolbar?.presentationModeButton.classList.contains("hidden")) { + document.getElementById("viewBookmarkSeparator")?.classList.add("hidden"); + } + }, + async close() { + this._unblockDocumentLoadEvent(); + this._hideViewBookmark(); + if (!this.pdfLoadingTask) { + return; + } + if (this.pdfDocument?.annotationStorage.size > 0 && this._annotationStorageModified) { + try { + await this.save(); + } catch {} + } + const promises = []; + promises.push(this.pdfLoadingTask.destroy()); + this.pdfLoadingTask = null; + if (this.pdfDocument) { + this.pdfDocument = null; + this.pdfThumbnailViewer?.setDocument(null); + this.pdfViewer.setDocument(null); + this.pdfLinkService.setDocument(null); + this.pdfDocumentProperties?.setDocument(null); + } + this.pdfLinkService.externalLinkEnabled = true; + this.store = null; + this.isInitialViewSet = false; + this.downloadComplete = false; + this.url = ""; + this.baseUrl = ""; + this._downloadUrl = ""; + this.documentInfo = null; + this.metadata = null; + this._contentDispositionFilename = null; + this._contentLength = null; + this._saveInProgress = false; + this._hasAnnotationEditors = false; + promises.push(this.pdfScriptingManager.destroyPromise, this.passwordPrompt.close()); + this.setTitle(); + this.pdfSidebar?.reset(); + this.pdfOutlineViewer?.reset(); + this.pdfAttachmentViewer?.reset(); + this.pdfLayerViewer?.reset(); + this.pdfHistory?.reset(); + this.findBar?.reset(); + this.toolbar?.reset(); + this.secondaryToolbar?.reset(); + this._PDFBug?.cleanup(); + await Promise.all(promises); + }, + async open(args) { + let deprecatedArgs = false; + if (typeof args === "string") { + args = { + url: args + }; + deprecatedArgs = true; + } else if (args?.byteLength) { + args = { + data: args + }; + deprecatedArgs = true; + } + if (deprecatedArgs) { + console.error("The `PDFViewerApplication.open` signature was updated, please use an object instead."); + } + if (this.pdfLoadingTask) { + await this.close(); + } + const workerParams = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER); + Object.assign(_pdfjsLib.GlobalWorkerOptions, workerParams); + if (args.url) { + this.setTitleUsingUrl(args.originalUrl || args.url, args.url); + } + const apiParams = _app_options.AppOptions.getAll(_app_options.OptionKind.API); + const params = { + canvasMaxAreaInBytes: this.externalServices.canvasMaxAreaInBytes, + ...apiParams, + ...args + }; + const loadingTask = (0, _pdfjsLib.getDocument)(params); + this.pdfLoadingTask = loadingTask; + loadingTask.onPassword = (updateCallback, reason) => { + if (this.isViewerEmbedded) { + this._unblockDocumentLoadEvent(); + } + this.pdfLinkService.externalLinkEnabled = false; + this.passwordPrompt.setUpdateCallback(updateCallback, reason); + this.passwordPrompt.open(); + }; + loadingTask.onProgress = _ref => { + let { + loaded, + total + } = _ref; + this.progress(loaded / total); + }; + return loadingTask.promise.then(pdfDocument => { + this.load(pdfDocument); + }, reason => { + if (loadingTask !== this.pdfLoadingTask) { + return undefined; + } + let key = "loading_error"; + if (reason instanceof _pdfjsLib.InvalidPDFException) { + key = "invalid_file_error"; + } else if (reason instanceof _pdfjsLib.MissingPDFException) { + key = "missing_file_error"; + } else if (reason instanceof _pdfjsLib.UnexpectedResponseException) { + key = "unexpected_response_error"; + } + return this.l10n.get(key).then(msg => { + this._documentError(msg, { + message: reason?.message + }); + throw reason; + }); + }); + }, + _ensureDownloadComplete() { + if (this.pdfDocument && this.downloadComplete) { + return; + } + throw new Error("PDF document not downloaded."); + }, + async download() { + let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const url = this._downloadUrl, + filename = this._docFilename; + try { + this._ensureDownloadComplete(); + const data = await this.pdfDocument.getData(); + const blob = new Blob([data], { + type: "application/pdf" + }); + await this.downloadManager.download(blob, url, filename, options); + } catch { + await this.downloadManager.downloadUrl(url, filename, options); + } + }, + async save() { + let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (this._saveInProgress) { + return; + } + this._saveInProgress = true; + await this.pdfScriptingManager.dispatchWillSave(); + const url = this._downloadUrl, + filename = this._docFilename; + try { + this._ensureDownloadComplete(); + const data = await this.pdfDocument.saveDocument(); + const blob = new Blob([data], { + type: "application/pdf" + }); + await this.downloadManager.download(blob, url, filename, options); + } catch (reason) { + console.error(`Error when saving the document: ${reason.message}`); + await this.download(options); + } finally { + await this.pdfScriptingManager.dispatchDidSave(); + this._saveInProgress = false; + } + if (this._hasAnnotationEditors) { + this.externalServices.reportTelemetry({ + type: "editing", + data: { + type: "save" + } + }); + } + }, + downloadOrSave() { + let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (this.pdfDocument?.annotationStorage.size > 0) { + this.save(options); + } else { + this.download(options); + } + }, + openInExternalApp() { + this.downloadOrSave({ + openInExternalApp: true + }); + }, + _documentError(message) { + let moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this._unblockDocumentLoadEvent(); + this._otherError(message, moreInfo); + this.eventBus.dispatch("documenterror", { + source: this, + message, + reason: moreInfo?.message ?? null + }); + }, + _otherError(message) { + let moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const moreInfoText = [`PDF.js v${_pdfjsLib.version || "?"} (build: ${_pdfjsLib.build || "?"})`]; + if (moreInfo) { + moreInfoText.push(`Message: ${moreInfo.message}`); + if (moreInfo.stack) { + moreInfoText.push(`Stack: ${moreInfo.stack}`); + } else { + if (moreInfo.filename) { + moreInfoText.push(`File: ${moreInfo.filename}`); + } + if (moreInfo.lineNumber) { + moreInfoText.push(`Line: ${moreInfo.lineNumber}`); + } + } + } + console.error(`${message}\n\n${moreInfoText.join("\n")}`); + }, + progress(level) { + if (!this.loadingBar || this.downloadComplete) { + return; + } + const percent = Math.round(level * 100); + if (percent <= this.loadingBar.percent) { + return; + } + this.loadingBar.percent = percent; + if (this.pdfDocument?.loadingParams.disableAutoFetch ?? _app_options.AppOptions.get("disableAutoFetch")) { + this.loadingBar.setDisableAutoFetch(); + } + }, + load(pdfDocument) { + this.pdfDocument = pdfDocument; + pdfDocument.getDownloadInfo().then(_ref2 => { + let { + length + } = _ref2; + this._contentLength = length; + this.downloadComplete = true; + this.loadingBar?.hide(); + firstPagePromise.then(() => { + this.eventBus.dispatch("documentloaded", { + source: this + }); + }); + }); + const pageLayoutPromise = pdfDocument.getPageLayout().catch(() => {}); + const pageModePromise = pdfDocument.getPageMode().catch(() => {}); + const openActionPromise = pdfDocument.getOpenAction().catch(() => {}); + this.toolbar?.setPagesCount(pdfDocument.numPages, false); + this.secondaryToolbar?.setPagesCount(pdfDocument.numPages); + this.pdfLinkService.setDocument(pdfDocument); + this.pdfDocumentProperties?.setDocument(pdfDocument); + const pdfViewer = this.pdfViewer; + pdfViewer.setDocument(pdfDocument); + const { + firstPagePromise, + onePageRendered, + pagesPromise + } = pdfViewer; + this.pdfThumbnailViewer?.setDocument(pdfDocument); + const storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprints[0])).getMultiple({ + page: null, + zoom: _ui_utils.DEFAULT_SCALE_VALUE, + scrollLeft: "0", + scrollTop: "0", + rotation: null, + sidebarView: _ui_utils.SidebarView.UNKNOWN, + scrollMode: _ui_utils.ScrollMode.UNKNOWN, + spreadMode: _ui_utils.SpreadMode.UNKNOWN + }).catch(() => {}); + firstPagePromise.then(pdfPage => { + this.loadingBar?.setWidth(this.appConfig.viewerContainer); + this._initializeAnnotationStorageCallbacks(pdfDocument); + Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then(async _ref3 => { + let [timeStamp, stored, pageLayout, pageMode, openAction] = _ref3; + const viewOnLoad = _app_options.AppOptions.get("viewOnLoad"); + this._initializePdfHistory({ + fingerprint: pdfDocument.fingerprints[0], + viewOnLoad, + initialDest: openAction?.dest + }); + const initialBookmark = this.initialBookmark; + const zoom = _app_options.AppOptions.get("defaultZoomValue"); + let hash = zoom ? `zoom=${zoom}` : null; + let rotation = null; + let sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad"); + let scrollMode = _app_options.AppOptions.get("scrollModeOnLoad"); + let spreadMode = _app_options.AppOptions.get("spreadModeOnLoad"); + if (stored?.page && viewOnLoad !== ViewOnLoad.INITIAL) { + hash = `page=${stored.page}&zoom=${zoom || stored.zoom},` + `${stored.scrollLeft},${stored.scrollTop}`; + rotation = parseInt(stored.rotation, 10); + if (sidebarView === _ui_utils.SidebarView.UNKNOWN) { + sidebarView = stored.sidebarView | 0; + } + if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) { + scrollMode = stored.scrollMode | 0; + } + if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) { + spreadMode = stored.spreadMode | 0; + } + } + if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) { + sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode); + } + if (pageLayout && scrollMode === _ui_utils.ScrollMode.UNKNOWN && spreadMode === _ui_utils.SpreadMode.UNKNOWN) { + const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(pageLayout); + spreadMode = modes.spreadMode; + } + this.setInitialView(hash, { + rotation, + sidebarView, + scrollMode, + spreadMode + }); + this.eventBus.dispatch("documentinit", { + source: this + }); + if (!this.isViewerEmbedded) { + pdfViewer.focus(); + } + await Promise.race([pagesPromise, new Promise(resolve => { + setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT); + })]); + if (!initialBookmark && !hash) { + return; + } + if (pdfViewer.hasEqualPageSizes) { + return; + } + this.initialBookmark = initialBookmark; + pdfViewer.currentScaleValue = pdfViewer.currentScaleValue; + this.setInitialView(hash); + }).catch(() => { + this.setInitialView(); + }).then(function () { + pdfViewer.update(); + }); + }); + pagesPromise.then(() => { + this._unblockDocumentLoadEvent(); + this._initializeAutoPrint(pdfDocument, openActionPromise); + }, reason => { + this.l10n.get("loading_error").then(msg => { + this._documentError(msg, { + message: reason?.message + }); + }); + }); + onePageRendered.then(data => { + this.externalServices.reportTelemetry({ + type: "pageInfo", + timestamp: data.timestamp + }); + if (this.pdfOutlineViewer) { + pdfDocument.getOutline().then(outline => { + if (pdfDocument !== this.pdfDocument) { + return; + } + this.pdfOutlineViewer.render({ + outline, + pdfDocument + }); + }); + } + if (this.pdfAttachmentViewer) { + pdfDocument.getAttachments().then(attachments => { + if (pdfDocument !== this.pdfDocument) { + return; + } + this.pdfAttachmentViewer.render({ + attachments + }); + }); + } + if (this.pdfLayerViewer) { + pdfViewer.optionalContentConfigPromise.then(optionalContentConfig => { + if (pdfDocument !== this.pdfDocument) { + return; + } + this.pdfLayerViewer.render({ + optionalContentConfig, + pdfDocument + }); + }); + } + }); + this._initializePageLabels(pdfDocument); + this._initializeMetadata(pdfDocument); + }, + async _scriptingDocProperties(pdfDocument) { + if (!this.documentInfo) { + await new Promise(resolve => { + this.eventBus._on("metadataloaded", resolve, { + once: true + }); + }); + if (pdfDocument !== this.pdfDocument) { + return null; + } + } + if (!this._contentLength) { + await new Promise(resolve => { + this.eventBus._on("documentloaded", resolve, { + once: true + }); + }); + if (pdfDocument !== this.pdfDocument) { + return null; + } + } + return { + ...this.documentInfo, + baseURL: this.baseUrl, + filesize: this._contentLength, + filename: this._docFilename, + metadata: this.metadata?.getRaw(), + authors: this.metadata?.get("dc:creator"), + numPages: this.pagesCount, + URL: this.url + }; + }, + async _initializeAutoPrint(pdfDocument, openActionPromise) { + const [openAction, jsActions] = await Promise.all([openActionPromise, this.pdfViewer.enableScripting ? null : pdfDocument.getJSActions()]); + if (pdfDocument !== this.pdfDocument) { + return; + } + let triggerAutoPrint = openAction?.action === "Print"; + if (jsActions) { + console.warn("Warning: JavaScript support is not enabled"); + for (const name in jsActions) { + if (triggerAutoPrint) { + break; + } + switch (name) { + case "WillClose": + case "WillSave": + case "DidSave": + case "WillPrint": + case "DidPrint": + continue; + } + triggerAutoPrint = jsActions[name].some(js => _ui_utils.AutoPrintRegExp.test(js)); + } + } + if (triggerAutoPrint) { + this.triggerPrinting(); + } + }, + async _initializeMetadata(pdfDocument) { + const { + info, + metadata, + contentDispositionFilename, + contentLength + } = await pdfDocument.getMetadata(); + if (pdfDocument !== this.pdfDocument) { + return; + } + this.documentInfo = info; + this.metadata = metadata; + this._contentDispositionFilename ??= contentDispositionFilename; + this._contentLength ??= contentLength; + console.log(`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` + `${(info.Producer || "-").trim()} / ${(info.Creator || "-").trim()}] ` + `(PDF.js: ${_pdfjsLib.version || "?"} [${_pdfjsLib.build || "?"}])`); + let pdfTitle = info.Title; + const metadataTitle = metadata?.get("dc:title"); + if (metadataTitle) { + if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) { + pdfTitle = metadataTitle; + } + } + if (pdfTitle) { + this.setTitle(`${pdfTitle} - ${this._contentDispositionFilename || this._title}`); + } else if (this._contentDispositionFilename) { + this.setTitle(this._contentDispositionFilename); + } + if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) { + if (pdfDocument.loadingParams.enableXfa) { + console.warn("Warning: XFA Foreground documents are not supported"); + } else { + console.warn("Warning: XFA support is not enabled"); + } + } else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !this.pdfViewer.renderForms) { + console.warn("Warning: Interactive form support is not enabled"); + } + if (info.IsSignaturesPresent) { + console.warn("Warning: Digital signatures validation is not supported"); + } + this.eventBus.dispatch("metadataloaded", { + source: this + }); + }, + async _initializePageLabels(pdfDocument) { + const labels = await pdfDocument.getPageLabels(); + if (pdfDocument !== this.pdfDocument) { + return; + } + if (!labels || _app_options.AppOptions.get("disablePageLabels")) { + return; + } + const numLabels = labels.length; + let standardLabels = 0, + emptyLabels = 0; + for (let i = 0; i < numLabels; i++) { + const label = labels[i]; + if (label === (i + 1).toString()) { + standardLabels++; + } else if (label === "") { + emptyLabels++; + } else { + break; + } + } + if (standardLabels >= numLabels || emptyLabels >= numLabels) { + return; + } + const { + pdfViewer, + pdfThumbnailViewer, + toolbar + } = this; + pdfViewer.setPageLabels(labels); + pdfThumbnailViewer?.setPageLabels(labels); + toolbar?.setPagesCount(numLabels, true); + toolbar?.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); + }, + _initializePdfHistory(_ref4) { + let { + fingerprint, + viewOnLoad, + initialDest = null + } = _ref4; + if (!this.pdfHistory) { + return; + } + this.pdfHistory.initialize({ + fingerprint, + resetHistory: viewOnLoad === ViewOnLoad.INITIAL, + updateUrl: _app_options.AppOptions.get("historyUpdateUrl") + }); + if (this.pdfHistory.initialBookmark) { + this.initialBookmark = this.pdfHistory.initialBookmark; + this.initialRotation = this.pdfHistory.initialRotation; + } + if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) { + this.initialBookmark = JSON.stringify(initialDest); + this.pdfHistory.push({ + explicitDest: initialDest, + pageNumber: null + }); + } + }, + _initializeAnnotationStorageCallbacks(pdfDocument) { + if (pdfDocument !== this.pdfDocument) { + return; + } + const { + annotationStorage + } = pdfDocument; + annotationStorage.onSetModified = () => { + window.addEventListener("beforeunload", beforeUnload); + this._annotationStorageModified = true; + }; + annotationStorage.onResetModified = () => { + window.removeEventListener("beforeunload", beforeUnload); + delete this._annotationStorageModified; + }; + annotationStorage.onAnnotationEditor = typeStr => { + this._hasAnnotationEditors = !!typeStr; + this.setTitle(); + if (typeStr) { + this.externalServices.reportTelemetry({ + type: "editing", + data: { + type: typeStr + } + }); + } + }; + }, + setInitialView(storedHash) { + let { + rotation, + sidebarView, + scrollMode, + spreadMode + } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const setRotation = angle => { + if ((0, _ui_utils.isValidRotation)(angle)) { + this.pdfViewer.pagesRotation = angle; + } + }; + const setViewerModes = (scroll, spread) => { + if ((0, _ui_utils.isValidScrollMode)(scroll)) { + this.pdfViewer.scrollMode = scroll; + } + if ((0, _ui_utils.isValidSpreadMode)(spread)) { + this.pdfViewer.spreadMode = spread; + } + }; + this.isInitialViewSet = true; + this.pdfSidebar?.setInitialView(sidebarView); + setViewerModes(scrollMode, spreadMode); + if (this.initialBookmark) { + setRotation(this.initialRotation); + delete this.initialRotation; + this.pdfLinkService.setHash(this.initialBookmark); + this.initialBookmark = null; + } else if (storedHash) { + setRotation(rotation); + this.pdfLinkService.setHash(storedHash); + } + this.toolbar?.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel); + this.secondaryToolbar?.setPageNumber(this.pdfViewer.currentPageNumber); + if (!this.pdfViewer.currentScaleValue) { + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + } + }, + _cleanup() { + if (!this.pdfDocument) { + return; + } + this.pdfViewer.cleanup(); + this.pdfThumbnailViewer?.cleanup(); + this.pdfDocument.cleanup(); + }, + forceRendering() { + this.pdfRenderingQueue.printing = !!this.printService; + this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar?.visibleView === _ui_utils.SidebarView.THUMBS; + this.pdfRenderingQueue.renderHighestPriority(); + }, + beforePrint() { + this._printAnnotationStoragePromise = this.pdfScriptingManager.dispatchWillPrint().catch(() => {}).then(() => { + return this.pdfDocument?.annotationStorage.print; + }); + if (this.printService) { + return; + } + if (!this.supportsPrinting) { + this.l10n.get("printing_not_supported").then(msg => { + this._otherError(msg); + }); + return; + } + if (!this.pdfViewer.pageViewsReady) { + this.l10n.get("printing_not_ready").then(msg => { + window.alert(msg); + }); + return; + } + const pagesOverview = this.pdfViewer.getPagesOverview(); + const printContainer = this.appConfig.printContainer; + const printResolution = _app_options.AppOptions.get("printResolution"); + const optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise; + const printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this._printAnnotationStoragePromise, this.l10n); + this.printService = printService; + this.forceRendering(); + this.setTitle(); + printService.layout(); + if (this._hasAnnotationEditors) { + this.externalServices.reportTelemetry({ + type: "editing", + data: { + type: "print" + } + }); + } + }, + afterPrint() { + if (this._printAnnotationStoragePromise) { + this._printAnnotationStoragePromise.then(() => { + this.pdfScriptingManager.dispatchDidPrint(); + }); + this._printAnnotationStoragePromise = null; + } + if (this.printService) { + this.printService.destroy(); + this.printService = null; + this.pdfDocument?.annotationStorage.resetModified(); + } + this.forceRendering(); + this.setTitle(); + }, + rotatePages(delta) { + this.pdfViewer.pagesRotation += delta; + }, + requestPresentationMode() { + this.pdfPresentationMode?.request(); + }, + triggerPrinting() { + if (!this.supportsPrinting) { + return; + } + window.print(); + }, + bindEvents() { + const { + eventBus, + _boundEvents + } = this; + _boundEvents.beforePrint = this.beforePrint.bind(this); + _boundEvents.afterPrint = this.afterPrint.bind(this); + eventBus._on("resize", webViewerResize); + eventBus._on("hashchange", webViewerHashchange); + eventBus._on("beforeprint", _boundEvents.beforePrint); + eventBus._on("afterprint", _boundEvents.afterPrint); + eventBus._on("pagerender", webViewerPageRender); + eventBus._on("pagerendered", webViewerPageRendered); + eventBus._on("updateviewarea", webViewerUpdateViewarea); + eventBus._on("pagechanging", webViewerPageChanging); + eventBus._on("scalechanging", webViewerScaleChanging); + eventBus._on("rotationchanging", webViewerRotationChanging); + eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged); + eventBus._on("pagemode", webViewerPageMode); + eventBus._on("namedaction", webViewerNamedAction); + eventBus._on("presentationmodechanged", webViewerPresentationModeChanged); + eventBus._on("presentationmode", webViewerPresentationMode); + eventBus._on("switchannotationeditormode", webViewerSwitchAnnotationEditorMode); + eventBus._on("switchannotationeditorparams", webViewerSwitchAnnotationEditorParams); + eventBus._on("print", webViewerPrint); + eventBus._on("download", webViewerDownload); + eventBus._on("openinexternalapp", webViewerOpenInExternalApp); + eventBus._on("firstpage", webViewerFirstPage); + eventBus._on("lastpage", webViewerLastPage); + eventBus._on("nextpage", webViewerNextPage); + eventBus._on("previouspage", webViewerPreviousPage); + eventBus._on("zoomin", webViewerZoomIn); + eventBus._on("zoomout", webViewerZoomOut); + eventBus._on("zoomreset", webViewerZoomReset); + eventBus._on("pagenumberchanged", webViewerPageNumberChanged); + eventBus._on("scalechanged", webViewerScaleChanged); + eventBus._on("rotatecw", webViewerRotateCw); + eventBus._on("rotateccw", webViewerRotateCcw); + eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig); + eventBus._on("switchscrollmode", webViewerSwitchScrollMode); + eventBus._on("scrollmodechanged", webViewerScrollModeChanged); + eventBus._on("switchspreadmode", webViewerSwitchSpreadMode); + eventBus._on("spreadmodechanged", webViewerSpreadModeChanged); + eventBus._on("documentproperties", webViewerDocumentProperties); + eventBus._on("findfromurlhash", webViewerFindFromUrlHash); + eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount); + eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState); + if (_app_options.AppOptions.get("pdfBug")) { + _boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug; + eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug); + eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug); + } + eventBus._on("fileinputchange", webViewerFileInputChange); + eventBus._on("openfile", webViewerOpenFile); + }, + bindWindowEvents() { + const { + eventBus, + _boundEvents + } = this; + function addWindowResolutionChange() { + let evt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + if (evt) { + webViewerResolutionChange(evt); + } + const mediaQueryList = window.matchMedia(`(resolution: ${window.devicePixelRatio || 1}dppx)`); + mediaQueryList.addEventListener("change", addWindowResolutionChange, { + once: true + }); + _boundEvents.removeWindowResolutionChange ||= function () { + mediaQueryList.removeEventListener("change", addWindowResolutionChange); + _boundEvents.removeWindowResolutionChange = null; + }; + } + addWindowResolutionChange(); + _boundEvents.windowResize = () => { + eventBus.dispatch("resize", { + source: window + }); + }; + _boundEvents.windowHashChange = () => { + eventBus.dispatch("hashchange", { + source: window, + hash: document.location.hash.substring(1) + }); + }; + _boundEvents.windowBeforePrint = () => { + eventBus.dispatch("beforeprint", { + source: window + }); + }; + _boundEvents.windowAfterPrint = () => { + eventBus.dispatch("afterprint", { + source: window + }); + }; + _boundEvents.windowUpdateFromSandbox = event => { + eventBus.dispatch("updatefromsandbox", { + source: window, + detail: event.detail + }); + }; + window.addEventListener("visibilitychange", webViewerVisibilityChange); + window.addEventListener("wheel", webViewerWheel, { + passive: false + }); + window.addEventListener("touchstart", webViewerTouchStart, { + passive: false + }); + window.addEventListener("touchmove", webViewerTouchMove, { + passive: false + }); + window.addEventListener("touchend", webViewerTouchEnd, { + passive: false + }); + window.addEventListener("click", webViewerClick); + window.addEventListener("keydown", webViewerKeyDown); + window.addEventListener("keyup", webViewerKeyUp); + window.addEventListener("resize", _boundEvents.windowResize); + window.addEventListener("hashchange", _boundEvents.windowHashChange); + window.addEventListener("beforeprint", _boundEvents.windowBeforePrint); + window.addEventListener("afterprint", _boundEvents.windowAfterPrint); + window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); + }, + unbindEvents() { + const { + eventBus, + _boundEvents + } = this; + eventBus._off("resize", webViewerResize); + eventBus._off("hashchange", webViewerHashchange); + eventBus._off("beforeprint", _boundEvents.beforePrint); + eventBus._off("afterprint", _boundEvents.afterPrint); + eventBus._off("pagerender", webViewerPageRender); + eventBus._off("pagerendered", webViewerPageRendered); + eventBus._off("updateviewarea", webViewerUpdateViewarea); + eventBus._off("pagechanging", webViewerPageChanging); + eventBus._off("scalechanging", webViewerScaleChanging); + eventBus._off("rotationchanging", webViewerRotationChanging); + eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged); + eventBus._off("pagemode", webViewerPageMode); + eventBus._off("namedaction", webViewerNamedAction); + eventBus._off("presentationmodechanged", webViewerPresentationModeChanged); + eventBus._off("presentationmode", webViewerPresentationMode); + eventBus._off("print", webViewerPrint); + eventBus._off("download", webViewerDownload); + eventBus._off("openinexternalapp", webViewerOpenInExternalApp); + eventBus._off("firstpage", webViewerFirstPage); + eventBus._off("lastpage", webViewerLastPage); + eventBus._off("nextpage", webViewerNextPage); + eventBus._off("previouspage", webViewerPreviousPage); + eventBus._off("zoomin", webViewerZoomIn); + eventBus._off("zoomout", webViewerZoomOut); + eventBus._off("zoomreset", webViewerZoomReset); + eventBus._off("pagenumberchanged", webViewerPageNumberChanged); + eventBus._off("scalechanged", webViewerScaleChanged); + eventBus._off("rotatecw", webViewerRotateCw); + eventBus._off("rotateccw", webViewerRotateCcw); + eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig); + eventBus._off("switchscrollmode", webViewerSwitchScrollMode); + eventBus._off("scrollmodechanged", webViewerScrollModeChanged); + eventBus._off("switchspreadmode", webViewerSwitchSpreadMode); + eventBus._off("spreadmodechanged", webViewerSpreadModeChanged); + eventBus._off("documentproperties", webViewerDocumentProperties); + eventBus._off("findfromurlhash", webViewerFindFromUrlHash); + eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount); + eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState); + if (_boundEvents.reportPageStatsPDFBug) { + eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug); + eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug); + _boundEvents.reportPageStatsPDFBug = null; + } + eventBus._off("fileinputchange", webViewerFileInputChange); + eventBus._off("openfile", webViewerOpenFile); + _boundEvents.beforePrint = null; + _boundEvents.afterPrint = null; + }, + unbindWindowEvents() { + const { + _boundEvents + } = this; + window.removeEventListener("visibilitychange", webViewerVisibilityChange); + window.removeEventListener("wheel", webViewerWheel, { + passive: false + }); + window.removeEventListener("touchstart", webViewerTouchStart, { + passive: false + }); + window.removeEventListener("touchmove", webViewerTouchMove, { + passive: false + }); + window.removeEventListener("touchend", webViewerTouchEnd, { + passive: false + }); + window.removeEventListener("click", webViewerClick); + window.removeEventListener("keydown", webViewerKeyDown); + window.removeEventListener("keyup", webViewerKeyUp); + window.removeEventListener("resize", _boundEvents.windowResize); + window.removeEventListener("hashchange", _boundEvents.windowHashChange); + window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint); + window.removeEventListener("afterprint", _boundEvents.windowAfterPrint); + window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); + _boundEvents.removeWindowResolutionChange?.(); + _boundEvents.windowResize = null; + _boundEvents.windowHashChange = null; + _boundEvents.windowBeforePrint = null; + _boundEvents.windowAfterPrint = null; + _boundEvents.windowUpdateFromSandbox = null; + }, + _accumulateTicks(ticks, prop) { + if (this[prop] > 0 && ticks < 0 || this[prop] < 0 && ticks > 0) { + this[prop] = 0; + } + this[prop] += ticks; + const wholeTicks = Math.trunc(this[prop]); + this[prop] -= wholeTicks; + return wholeTicks; + }, + _accumulateFactor(previousScale, factor, prop) { + if (factor === 1) { + return 1; + } + if (this[prop] > 1 && factor < 1 || this[prop] < 1 && factor > 1) { + this[prop] = 1; + } + const newFactor = Math.floor(previousScale * factor * this[prop] * 100) / (100 * previousScale); + this[prop] = factor / newFactor; + return newFactor; + }, + _centerAtPos(previousScale, x, y) { + const { + pdfViewer + } = this; + const scaleDiff = pdfViewer.currentScale / previousScale - 1; + if (scaleDiff !== 0) { + const [top, left] = pdfViewer.containerTopLeft; + pdfViewer.container.scrollLeft += (x - left) * scaleDiff; + pdfViewer.container.scrollTop += (y - top) * scaleDiff; + } + }, + _unblockDocumentLoadEvent() { + document.blockUnblockOnload?.(false); + this._unblockDocumentLoadEvent = () => {}; + }, + get scriptingReady() { + return this.pdfScriptingManager.ready; + } +}; +exports.PDFViewerApplication = PDFViewerApplication; +{ + const HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"]; + var validateFileURL = function (file) { + if (!file) { + return; + } + try { + const viewerOrigin = new URL(window.location.href).origin || "null"; + if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) { + return; + } + const fileOrigin = new URL(file, window.location.href).origin; + if (fileOrigin !== viewerOrigin) { + throw new Error("file origin does not match viewer's"); + } + } catch (ex) { + PDFViewerApplication.l10n.get("loading_error").then(msg => { + PDFViewerApplication._documentError(msg, { + message: ex?.message + }); + }); + throw ex; + } + }; +} +async function loadFakeWorker() { + _pdfjsLib.GlobalWorkerOptions.workerSrc ||= _app_options.AppOptions.get("workerSrc"); + await (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.workerSrc); +} +async function loadPDFBug(self) { + const { + debuggerScriptPath + } = self.appConfig; + const { + PDFBug + } = await import(debuggerScriptPath); + self._PDFBug = PDFBug; +} +function reportPageStatsPDFBug(_ref5) { + let { + pageNumber + } = _ref5; + if (!globalThis.Stats?.enabled) { + return; + } + const pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + globalThis.Stats.add(pageNumber, pageView?.pdfPage?.stats); +} +function webViewerPageRender(_ref6) { + let { + pageNumber + } = _ref6; + if (pageNumber === PDFViewerApplication.page) { + PDFViewerApplication.toolbar?.updateLoadingIndicatorState(true); + } +} +function webViewerPageRendered(_ref7) { + let { + pageNumber, + error + } = _ref7; + if (pageNumber === PDFViewerApplication.page) { + PDFViewerApplication.toolbar?.updateLoadingIndicatorState(false); + } + if (PDFViewerApplication.pdfSidebar?.visibleView === _ui_utils.SidebarView.THUMBS) { + const pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + const thumbnailView = PDFViewerApplication.pdfThumbnailViewer?.getThumbnail(pageNumber - 1); + if (pageView) { + thumbnailView?.setImage(pageView); + } + } + if (error) { + PDFViewerApplication.l10n.get("rendering_error").then(msg => { + PDFViewerApplication._otherError(msg, error); + }); + } +} +function webViewerPageMode(_ref8) { + let { + mode + } = _ref8; + let view; + switch (mode) { + case "thumbs": + view = _ui_utils.SidebarView.THUMBS; + break; + case "bookmarks": + case "outline": + view = _ui_utils.SidebarView.OUTLINE; + break; + case "attachments": + view = _ui_utils.SidebarView.ATTACHMENTS; + break; + case "layers": + view = _ui_utils.SidebarView.LAYERS; + break; + case "none": + view = _ui_utils.SidebarView.NONE; + break; + default: + console.error('Invalid "pagemode" hash parameter: ' + mode); + return; + } + PDFViewerApplication.pdfSidebar?.switchView(view, true); +} +function webViewerNamedAction(evt) { + switch (evt.action) { + case "GoToPage": + PDFViewerApplication.appConfig.toolbar?.pageNumber.select(); + break; + case "Find": + if (!PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication?.findBar.toggle(); + } + break; + case "Print": + PDFViewerApplication.triggerPrinting(); + break; + case "SaveAs": + PDFViewerApplication.downloadOrSave(); + break; + } +} +function webViewerPresentationModeChanged(evt) { + PDFViewerApplication.pdfViewer.presentationModeState = evt.state; +} +function webViewerSidebarViewChanged(_ref9) { + let { + view + } = _ref9; + PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = view === _ui_utils.SidebarView.THUMBS; + if (PDFViewerApplication.isInitialViewSet) { + PDFViewerApplication.store?.set("sidebarView", view).catch(() => {}); + } +} +function webViewerUpdateViewarea(_ref10) { + let { + location + } = _ref10; + if (PDFViewerApplication.isInitialViewSet) { + PDFViewerApplication.store?.setMultiple({ + page: location.pageNumber, + zoom: location.scale, + scrollLeft: location.left, + scrollTop: location.top, + rotation: location.rotation + }).catch(() => {}); + } + if (PDFViewerApplication.appConfig.secondaryToolbar) { + const href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); + PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href; + } +} +function webViewerScrollModeChanged(evt) { + if (PDFViewerApplication.isInitialViewSet && !PDFViewerApplication.pdfViewer.isInPresentationMode) { + PDFViewerApplication.store?.set("scrollMode", evt.mode).catch(() => {}); + } +} +function webViewerSpreadModeChanged(evt) { + if (PDFViewerApplication.isInitialViewSet && !PDFViewerApplication.pdfViewer.isInPresentationMode) { + PDFViewerApplication.store?.set("spreadMode", evt.mode).catch(() => {}); + } +} +function webViewerResize() { + const { + pdfDocument, + pdfViewer, + pdfRenderingQueue + } = PDFViewerApplication; + if (pdfRenderingQueue.printing && window.matchMedia("print").matches) { + return; + } + if (!pdfDocument) { + return; + } + const currentScaleValue = pdfViewer.currentScaleValue; + if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") { + pdfViewer.currentScaleValue = currentScaleValue; + } + pdfViewer.update(); +} +function webViewerHashchange(evt) { + const hash = evt.hash; + if (!hash) { + return; + } + if (!PDFViewerApplication.isInitialViewSet) { + PDFViewerApplication.initialBookmark = hash; + } else if (!PDFViewerApplication.pdfHistory?.popStateInProgress) { + PDFViewerApplication.pdfLinkService.setHash(hash); + } +} +{ + var webViewerFileInputChange = function (evt) { + if (PDFViewerApplication.pdfViewer?.isInPresentationMode) { + return; + } + const file = evt.fileInput.files[0]; + PDFViewerApplication.open({ + url: URL.createObjectURL(file), + originalUrl: file.name + }); + }; + var webViewerOpenFile = function (evt) { + const fileInput = PDFViewerApplication.appConfig.openFileInput; + fileInput.click(); + }; +} +function webViewerPresentationMode() { + PDFViewerApplication.requestPresentationMode(); +} +function webViewerSwitchAnnotationEditorMode(evt) { + PDFViewerApplication.pdfViewer.annotationEditorMode = evt; +} +function webViewerSwitchAnnotationEditorParams(evt) { + PDFViewerApplication.pdfViewer.annotationEditorParams = evt; +} +function webViewerPrint() { + PDFViewerApplication.triggerPrinting(); +} +function webViewerDownload() { + PDFViewerApplication.downloadOrSave(); +} +function webViewerOpenInExternalApp() { + PDFViewerApplication.openInExternalApp(); +} +function webViewerFirstPage() { + PDFViewerApplication.page = 1; +} +function webViewerLastPage() { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; +} +function webViewerNextPage() { + PDFViewerApplication.pdfViewer.nextPage(); +} +function webViewerPreviousPage() { + PDFViewerApplication.pdfViewer.previousPage(); +} +function webViewerZoomIn() { + PDFViewerApplication.zoomIn(); +} +function webViewerZoomOut() { + PDFViewerApplication.zoomOut(); +} +function webViewerZoomReset() { + PDFViewerApplication.zoomReset(); +} +function webViewerPageNumberChanged(evt) { + const pdfViewer = PDFViewerApplication.pdfViewer; + if (evt.value !== "") { + PDFViewerApplication.pdfLinkService.goToPage(evt.value); + } + if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) { + PDFViewerApplication.toolbar?.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); + } +} +function webViewerScaleChanged(evt) { + PDFViewerApplication.pdfViewer.currentScaleValue = evt.value; +} +function webViewerRotateCw() { + PDFViewerApplication.rotatePages(90); +} +function webViewerRotateCcw() { + PDFViewerApplication.rotatePages(-90); +} +function webViewerOptionalContentConfig(evt) { + PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise; +} +function webViewerSwitchScrollMode(evt) { + PDFViewerApplication.pdfViewer.scrollMode = evt.mode; +} +function webViewerSwitchSpreadMode(evt) { + PDFViewerApplication.pdfViewer.spreadMode = evt.mode; +} +function webViewerDocumentProperties() { + PDFViewerApplication.pdfDocumentProperties?.open(); +} +function webViewerFindFromUrlHash(evt) { + PDFViewerApplication.eventBus.dispatch("find", { + source: evt.source, + type: "", + query: evt.query, + caseSensitive: false, + entireWord: false, + highlightAll: true, + findPrevious: false, + matchDiacritics: true + }); +} +function webViewerUpdateFindMatchesCount(_ref11) { + let { + matchesCount + } = _ref11; + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount); + } else { + PDFViewerApplication.findBar.updateResultsCount(matchesCount); + } +} +function webViewerUpdateFindControlState(_ref12) { + let { + state, + previous, + matchesCount, + rawQuery + } = _ref12; + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindControlState({ + result: state, + findPrevious: previous, + matchesCount, + rawQuery + }); + } else { + PDFViewerApplication.findBar?.updateUIState(state, previous, matchesCount); + } +} +function webViewerScaleChanging(evt) { + PDFViewerApplication.toolbar?.setPageScale(evt.presetValue, evt.scale); + PDFViewerApplication.pdfViewer.update(); +} +function webViewerRotationChanging(evt) { + if (PDFViewerApplication.pdfThumbnailViewer) { + PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation; + } + PDFViewerApplication.forceRendering(); + PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber; +} +function webViewerPageChanging(_ref13) { + let { + pageNumber, + pageLabel + } = _ref13; + PDFViewerApplication.toolbar?.setPageNumber(pageNumber, pageLabel); + PDFViewerApplication.secondaryToolbar?.setPageNumber(pageNumber); + if (PDFViewerApplication.pdfSidebar?.visibleView === _ui_utils.SidebarView.THUMBS) { + PDFViewerApplication.pdfThumbnailViewer?.scrollThumbnailIntoView(pageNumber); + } + const currentPage = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + PDFViewerApplication.toolbar?.updateLoadingIndicatorState(currentPage?.renderingState === _ui_utils.RenderingStates.RUNNING); +} +function webViewerResolutionChange(evt) { + PDFViewerApplication.pdfViewer.refresh(); +} +function webViewerVisibilityChange(evt) { + if (document.visibilityState === "visible") { + setZoomDisabledTimeout(); + } +} +let zoomDisabledTimeout = null; +function setZoomDisabledTimeout() { + if (zoomDisabledTimeout) { + clearTimeout(zoomDisabledTimeout); + } + zoomDisabledTimeout = setTimeout(function () { + zoomDisabledTimeout = null; + }, WHEEL_ZOOM_DISABLED_TIMEOUT); +} +function webViewerWheel(evt) { + const { + pdfViewer, + supportedMouseWheelZoomModifierKeys, + supportsPinchToZoom + } = PDFViewerApplication; + if (pdfViewer.isInPresentationMode) { + return; + } + const deltaMode = evt.deltaMode; + let scaleFactor = Math.exp(-evt.deltaY / 100); + const isBuiltInMac = false; + const isPinchToZoom = evt.ctrlKey && !PDFViewerApplication._isCtrlKeyDown && deltaMode === WheelEvent.DOM_DELTA_PIXEL && evt.deltaX === 0 && (Math.abs(scaleFactor - 1) < 0.05 || isBuiltInMac) && evt.deltaZ === 0; + if (isPinchToZoom || evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) { + evt.preventDefault(); + if (zoomDisabledTimeout || document.visibilityState === "hidden" || PDFViewerApplication.overlayManager.active) { + return; + } + const previousScale = pdfViewer.currentScale; + if (isPinchToZoom && supportsPinchToZoom) { + scaleFactor = PDFViewerApplication._accumulateFactor(previousScale, scaleFactor, "_wheelUnusedFactor"); + if (scaleFactor < 1) { + PDFViewerApplication.zoomOut(null, scaleFactor); + } else if (scaleFactor > 1) { + PDFViewerApplication.zoomIn(null, scaleFactor); + } else { + return; + } + } else { + const delta = (0, _ui_utils.normalizeWheelEventDirection)(evt); + let ticks = 0; + if (deltaMode === WheelEvent.DOM_DELTA_LINE || deltaMode === WheelEvent.DOM_DELTA_PAGE) { + if (Math.abs(delta) >= 1) { + ticks = Math.sign(delta); + } else { + ticks = PDFViewerApplication._accumulateTicks(delta, "_wheelUnusedTicks"); + } + } else { + const PIXELS_PER_LINE_SCALE = 30; + ticks = PDFViewerApplication._accumulateTicks(delta / PIXELS_PER_LINE_SCALE, "_wheelUnusedTicks"); + } + if (ticks < 0) { + PDFViewerApplication.zoomOut(-ticks); + } else if (ticks > 0) { + PDFViewerApplication.zoomIn(ticks); + } else { + return; + } + } + PDFViewerApplication._centerAtPos(previousScale, evt.clientX, evt.clientY); + } else { + setZoomDisabledTimeout(); + } +} +function webViewerTouchStart(evt) { + if (PDFViewerApplication.pdfViewer.isInPresentationMode || evt.touches.length < 2) { + return; + } + evt.preventDefault(); + if (evt.touches.length !== 2 || PDFViewerApplication.overlayManager.active) { + PDFViewerApplication._touchInfo = null; + return; + } + let [touch0, touch1] = evt.touches; + if (touch0.identifier > touch1.identifier) { + [touch0, touch1] = [touch1, touch0]; + } + PDFViewerApplication._touchInfo = { + touch0X: touch0.pageX, + touch0Y: touch0.pageY, + touch1X: touch1.pageX, + touch1Y: touch1.pageY + }; +} +function webViewerTouchMove(evt) { + if (!PDFViewerApplication._touchInfo || evt.touches.length !== 2) { + return; + } + const { + pdfViewer, + _touchInfo, + supportsPinchToZoom + } = PDFViewerApplication; + let [touch0, touch1] = evt.touches; + if (touch0.identifier > touch1.identifier) { + [touch0, touch1] = [touch1, touch0]; + } + const { + pageX: page0X, + pageY: page0Y + } = touch0; + const { + pageX: page1X, + pageY: page1Y + } = touch1; + const { + touch0X: pTouch0X, + touch0Y: pTouch0Y, + touch1X: pTouch1X, + touch1Y: pTouch1Y + } = _touchInfo; + if (Math.abs(pTouch0X - page0X) <= 1 && Math.abs(pTouch0Y - page0Y) <= 1 && Math.abs(pTouch1X - page1X) <= 1 && Math.abs(pTouch1Y - page1Y) <= 1) { + return; + } + _touchInfo.touch0X = page0X; + _touchInfo.touch0Y = page0Y; + _touchInfo.touch1X = page1X; + _touchInfo.touch1Y = page1Y; + if (pTouch0X === page0X && pTouch0Y === page0Y) { + const v1X = pTouch1X - page0X; + const v1Y = pTouch1Y - page0Y; + const v2X = page1X - page0X; + const v2Y = page1Y - page0Y; + const det = v1X * v2Y - v1Y * v2X; + if (Math.abs(det) > 0.02 * Math.hypot(v1X, v1Y) * Math.hypot(v2X, v2Y)) { + return; + } + } else if (pTouch1X === page1X && pTouch1Y === page1Y) { + const v1X = pTouch0X - page1X; + const v1Y = pTouch0Y - page1Y; + const v2X = page0X - page1X; + const v2Y = page0Y - page1Y; + const det = v1X * v2Y - v1Y * v2X; + if (Math.abs(det) > 0.02 * Math.hypot(v1X, v1Y) * Math.hypot(v2X, v2Y)) { + return; + } + } else { + const diff0X = page0X - pTouch0X; + const diff1X = page1X - pTouch1X; + const diff0Y = page0Y - pTouch0Y; + const diff1Y = page1Y - pTouch1Y; + const dotProduct = diff0X * diff1X + diff0Y * diff1Y; + if (dotProduct >= 0) { + return; + } + } + evt.preventDefault(); + const distance = Math.hypot(page0X - page1X, page0Y - page1Y) || 1; + const pDistance = Math.hypot(pTouch0X - pTouch1X, pTouch0Y - pTouch1Y) || 1; + const previousScale = pdfViewer.currentScale; + if (supportsPinchToZoom) { + const newScaleFactor = PDFViewerApplication._accumulateFactor(previousScale, distance / pDistance, "_touchUnusedFactor"); + if (newScaleFactor < 1) { + PDFViewerApplication.zoomOut(null, newScaleFactor); + } else if (newScaleFactor > 1) { + PDFViewerApplication.zoomIn(null, newScaleFactor); + } else { + return; + } + } else { + const PIXELS_PER_LINE_SCALE = 30; + const ticks = PDFViewerApplication._accumulateTicks((distance - pDistance) / PIXELS_PER_LINE_SCALE, "_touchUnusedTicks"); + if (ticks < 0) { + PDFViewerApplication.zoomOut(-ticks); + } else if (ticks > 0) { + PDFViewerApplication.zoomIn(ticks); + } else { + return; + } + } + PDFViewerApplication._centerAtPos(previousScale, (page0X + page1X) / 2, (page0Y + page1Y) / 2); +} +function webViewerTouchEnd(evt) { + if (!PDFViewerApplication._touchInfo) { + return; + } + evt.preventDefault(); + PDFViewerApplication._touchInfo = null; + PDFViewerApplication._touchUnusedTicks = 0; + PDFViewerApplication._touchUnusedFactor = 1; +} +function webViewerClick(evt) { + if (!PDFViewerApplication.secondaryToolbar?.isOpen) { + return; + } + const appConfig = PDFViewerApplication.appConfig; + if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar?.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar?.toggleButton) { + PDFViewerApplication.secondaryToolbar.close(); + } +} +function webViewerKeyUp(evt) { + if (evt.key === "Control") { + PDFViewerApplication._isCtrlKeyDown = false; + } +} +function webViewerKeyDown(evt) { + PDFViewerApplication._isCtrlKeyDown = evt.key === "Control"; + if (PDFViewerApplication.overlayManager.active) { + return; + } + const { + eventBus, + pdfViewer + } = PDFViewerApplication; + const isViewerInPresentationMode = pdfViewer.isInPresentationMode; + let handled = false, + ensureViewerFocused = false; + const cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0); + if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) { + switch (evt.keyCode) { + case 70: + if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) { + PDFViewerApplication.findBar?.open(); + handled = true; + } + break; + case 71: + if (!PDFViewerApplication.supportsIntegratedFind) { + const { + state + } = PDFViewerApplication.findController; + if (state) { + const newState = { + source: window, + type: "again", + findPrevious: cmd === 5 || cmd === 12 + }; + eventBus.dispatch("find", { + ...state, + ...newState + }); + } + handled = true; + } + break; + case 61: + case 107: + case 187: + case 171: + PDFViewerApplication.zoomIn(); + handled = true; + break; + case 173: + case 109: + case 189: + PDFViewerApplication.zoomOut(); + handled = true; + break; + case 48: + case 96: + if (!isViewerInPresentationMode) { + setTimeout(function () { + PDFViewerApplication.zoomReset(); + }); + handled = false; + } + break; + case 38: + if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { + PDFViewerApplication.page = 1; + handled = true; + ensureViewerFocused = true; + } + break; + case 40: + if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + handled = true; + ensureViewerFocused = true; + } + break; + } + } + if (cmd === 1 || cmd === 8) { + switch (evt.keyCode) { + case 83: + eventBus.dispatch("download", { + source: window + }); + handled = true; + break; + case 79: + { + eventBus.dispatch("openfile", { + source: window + }); + handled = true; + } + break; + } + } + if (cmd === 3 || cmd === 10) { + switch (evt.keyCode) { + case 80: + PDFViewerApplication.requestPresentationMode(); + handled = true; + PDFViewerApplication.externalServices.reportTelemetry({ + type: "buttons", + data: { + id: "presentationModeKeyboard" + } + }); + break; + case 71: + if (PDFViewerApplication.appConfig.toolbar) { + PDFViewerApplication.appConfig.toolbar.pageNumber.select(); + handled = true; + } + break; + } + } + if (handled) { + if (ensureViewerFocused && !isViewerInPresentationMode) { + pdfViewer.focus(); + } + evt.preventDefault(); + return; + } + const curElement = (0, _ui_utils.getActiveOrFocusedElement)(); + const curElementTagName = curElement?.tagName.toUpperCase(); + if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement?.isContentEditable) { + if (evt.keyCode !== 27) { + return; + } + } + if (cmd === 0) { + let turnPage = 0, + turnOnlyIfPageFit = false; + switch (evt.keyCode) { + case 38: + case 33: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + turnPage = -1; + break; + case 8: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + turnPage = -1; + break; + case 37: + if (pdfViewer.isHorizontalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + case 75: + case 80: + turnPage = -1; + break; + case 27: + if (PDFViewerApplication.secondaryToolbar?.isOpen) { + PDFViewerApplication.secondaryToolbar.close(); + handled = true; + } + if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar?.opened) { + PDFViewerApplication.findBar.close(); + handled = true; + } + break; + case 40: + case 34: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + turnPage = 1; + break; + case 13: + case 32: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + turnPage = 1; + break; + case 39: + if (pdfViewer.isHorizontalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + case 74: + case 78: + turnPage = 1; + break; + case 36: + if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { + PDFViewerApplication.page = 1; + handled = true; + ensureViewerFocused = true; + } + break; + case 35: + if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + handled = true; + ensureViewerFocused = true; + } + break; + case 83: + PDFViewerApplication.pdfCursorTools?.switchTool(_ui_utils.CursorTool.SELECT); + break; + case 72: + PDFViewerApplication.pdfCursorTools?.switchTool(_ui_utils.CursorTool.HAND); + break; + case 82: + PDFViewerApplication.rotatePages(90); + break; + case 115: + PDFViewerApplication.pdfSidebar?.toggle(); + break; + } + if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) { + if (turnPage > 0) { + pdfViewer.nextPage(); + } else { + pdfViewer.previousPage(); + } + handled = true; + } + } + if (cmd === 4) { + switch (evt.keyCode) { + case 13: + case 32: + if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") { + break; + } + pdfViewer.previousPage(); + handled = true; + break; + case 82: + PDFViewerApplication.rotatePages(-90); + break; + } + } + if (!handled && !isViewerInPresentationMode) { + if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") { + ensureViewerFocused = true; + } + } + if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) { + pdfViewer.focus(); + } + if (handled) { + evt.preventDefault(); + } +} +function beforeUnload(evt) { + evt.preventDefault(); + evt.returnValue = ""; + return false; +} +function webViewerAnnotationEditorStatesChanged(data) { + PDFViewerApplication.externalServices.updateEditorStates(data); +} +function webViewerReportTelemetry(_ref14) { + let { + details + } = _ref14; + PDFViewerApplication.externalServices.reportTelemetry(details); +} +const PDFPrintServiceFactory = { + instance: { + supportsPrinting: false, + createPrintService() { + throw new Error("Not implemented: createPrintService"); + } + } +}; +exports.PDFPrintServiceFactory = PDFPrintServiceFactory; + +/***/ }), +/* 76 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var global = __webpack_require__(4); +var apply = __webpack_require__(77); +var wrapErrorConstructorWithCause = __webpack_require__(78); +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = global[WEB_ASSEMBLY]; +var FORCED = Error('e', { cause: 7 }).cause !== 7; +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ + global: true, + constructor: true, + arity: 1, + forced: FORCED + }, O); +}; +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ + target: WEB_ASSEMBLY, + stat: true, + constructor: true, + arity: 1, + forced: FORCED + }, O); + } +}; +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { + return apply(init, this, arguments); + }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { + return apply(init, this, arguments); + }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { + return apply(init, this, arguments); + }; +}); + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_BIND = __webpack_require__(9); +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + +/***/ }), +/* 78 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(24); +var hasOwn = __webpack_require__(39); +var createNonEnumerableProperty = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(25); +var setPrototypeOf = __webpack_require__(79); +var copyConstructorProperties = __webpack_require__(56); +var proxyAccessor = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(83); +var normalizeStringArgument = __webpack_require__(84); +var installErrorCause = __webpack_require__(85); +var installErrorStack = __webpack_require__(86); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + if (!OriginalError) + return; + var OriginalErrorPrototype = OriginalError.prototype; + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) + delete OriginalErrorPrototype.cause; + if (!FORCED) + return OriginalError; + var BaseError = getBuiltIn('Error'); + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) + createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) + inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) + installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + WrappedError.prototype = OriginalErrorPrototype; + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) + setPrototypeOf(WrappedError, BaseError); + else + copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + copyConstructorProperties(WrappedError, OriginalError); + if (!IS_PURE) + try { + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { + } + return WrappedError; +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThisAccessor = __webpack_require__(80); +var anObject = __webpack_require__(47); +var aPossiblePrototype = __webpack_require__(81); +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { + } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) + setter(O, proto); + else + O.__proto__ = proto; + return O; + }; +}()) : undefined); + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(31); +module.exports = function (object, key, method) { + try { + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { + } +}; + +/***/ }), +/* 81 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(21); +var $String = String; +var $TypeError = TypeError; +module.exports = function (argument) { + if (typeof argument == 'object' || isCallable(argument)) + return argument; + throw $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + +/***/ }), +/* 82 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var defineProperty = (__webpack_require__(45).f); +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { + return Source[key]; + }, + set: function (it) { + Source[key] = it; + } + }); +}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(79); +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) + setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +/***/ }), +/* 84 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toString = __webpack_require__(70); +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + +/***/ }), +/* 85 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(44); +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + +/***/ }), +/* 86 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var createNonEnumerableProperty = __webpack_require__(44); +var clearErrorStack = __webpack_require__(87); +var ERROR_STACK_INSTALLABLE = __webpack_require__(88); +var captureStackTrace = Error.captureStackTrace; +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) + captureStackTrace(error, C); + else + createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + +/***/ }), +/* 87 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var $Error = Error; +var replace = uncurryThis(''.replace); +var TEST = function (arg) { + return String($Error(arg).stack); +}('zxcasd'); +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) + stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } + return stack; +}; + +/***/ }), +/* 88 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); +module.exports = !fails(function () { + var error = Error('a'); + if (!('stack' in error)) + return true; + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + +/***/ }), +/* 89 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(40); +var lengthOfArrayLike = __webpack_require__(64); +var setArrayLength = __webpack_require__(90); +var doesNotExceedSafeInteger = __webpack_require__(91); +var fails = __webpack_require__(7); +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); +var properErrorOnNonWritableLength = function () { + try { + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); +$({ + target: 'Array', + proto: true, + arity: 1, + forced: FORCED +}, { + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(69); +var $TypeError = TypeError; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !(function () { + if (this !== undefined) + return true; + try { + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}()); +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw $TypeError('Cannot set read only .length'); + } + return O.length = length; +} : function (O, length) { + return O.length = length; +}; + +/***/ }), +/* 91 */ +/***/ ((module) => { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) + throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + +/***/ }), +/* 92 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var defineBuiltIn = __webpack_require__(48); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(70); +var validateArgumentsLength = __webpack_require__(93); +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); +params['delete']('a', 1); +params['delete']('b', undefined); +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) + return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { + push(entries, { + key: k, + value: v + }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else + dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) + append(this, entry.key, entry.value); + } + }, { + enumerable: true, + unsafe: true + }); +} + +/***/ }), +/* 93 */ +/***/ ((module) => { + + +var $TypeError = TypeError; +module.exports = function (passed, required) { + if (passed < required) + throw $TypeError('Not enough arguments'); + return passed; +}; + +/***/ }), +/* 94 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var defineBuiltIn = __webpack_require__(48); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(70); +var validateArgumentsLength = __webpack_require__(93); +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) + return $has(this, name); + var values = getAll(this, name); + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) + return true; + } + return false; + }, { + enumerable: true, + unsafe: true + }); +} + +/***/ }), +/* 95 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(96); +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { + count++; + }); + return count; + }, + configurable: true, + enumerable: true + }); +} + +/***/ }), +/* 96 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var makeBuiltIn = __webpack_require__(49); +var defineProperty = __webpack_require__(45); +module.exports = function (target, name, descriptor) { + if (descriptor.get) + makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) + makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + +/***/ }), +/* 97 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.CursorTool = exports.AutoPrintRegExp = void 0; +exports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes; +exports.apiPageModeToSidebarView = apiPageModeToSidebarView; +exports.approximateFraction = approximateFraction; +exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements; +exports.binarySearchFirstItem = binarySearchFirstItem; +exports.docStyle = void 0; +exports.getActiveOrFocusedElement = getActiveOrFocusedElement; +exports.getPageSizeInches = getPageSizeInches; +exports.getVisibleElements = getVisibleElements; +exports.isPortraitOrientation = isPortraitOrientation; +exports.isValidRotation = isValidRotation; +exports.isValidScrollMode = isValidScrollMode; +exports.isValidSpreadMode = isValidSpreadMode; +exports.normalizeWheelEventDelta = normalizeWheelEventDelta; +exports.normalizeWheelEventDirection = normalizeWheelEventDirection; +exports.parseQueryString = parseQueryString; +exports.removeNullCharacters = removeNullCharacters; +exports.roundToDivide = roundToDivide; +exports.scrollIntoView = scrollIntoView; +exports.toggleCheckedBtn = toggleCheckedBtn; +exports.toggleExpandedBtn = toggleExpandedBtn; +exports.watchScroll = watchScroll; +__webpack_require__(92); +__webpack_require__(94); +__webpack_require__(95); +__webpack_require__(98); +__webpack_require__(109); +__webpack_require__(111); +__webpack_require__(114); +__webpack_require__(116); +__webpack_require__(118); +__webpack_require__(120); +__webpack_require__(89); +const DEFAULT_SCALE_VALUE = "auto"; +exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE; +const DEFAULT_SCALE = 1.0; +exports.DEFAULT_SCALE = DEFAULT_SCALE; +const DEFAULT_SCALE_DELTA = 1.1; +exports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA; +const MIN_SCALE = 0.1; +exports.MIN_SCALE = MIN_SCALE; +const MAX_SCALE = 10.0; +exports.MAX_SCALE = MAX_SCALE; +const UNKNOWN_SCALE = 0; +exports.UNKNOWN_SCALE = UNKNOWN_SCALE; +const MAX_AUTO_SCALE = 1.25; +exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE; +const SCROLLBAR_PADDING = 40; +exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING; +const VERTICAL_PADDING = 5; +exports.VERTICAL_PADDING = VERTICAL_PADDING; +const RenderingStates = { + INITIAL: 0, + RUNNING: 1, + PAUSED: 2, + FINISHED: 3 +}; +exports.RenderingStates = RenderingStates; +const PresentationModeState = { + UNKNOWN: 0, + NORMAL: 1, + CHANGING: 2, + FULLSCREEN: 3 +}; +exports.PresentationModeState = PresentationModeState; +const SidebarView = { + UNKNOWN: -1, + NONE: 0, + THUMBS: 1, + OUTLINE: 2, + ATTACHMENTS: 3, + LAYERS: 4 +}; +exports.SidebarView = SidebarView; +const TextLayerMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_PERMISSIONS: 2 +}; +exports.TextLayerMode = TextLayerMode; +const ScrollMode = { + UNKNOWN: -1, + VERTICAL: 0, + HORIZONTAL: 1, + WRAPPED: 2, + PAGE: 3 +}; +exports.ScrollMode = ScrollMode; +const SpreadMode = { + UNKNOWN: -1, + NONE: 0, + ODD: 1, + EVEN: 2 +}; +exports.SpreadMode = SpreadMode; +const CursorTool = { + SELECT: 0, + HAND: 1, + ZOOM: 2 +}; +exports.CursorTool = CursorTool; +const AutoPrintRegExp = /\bprint\s*\(/; +exports.AutoPrintRegExp = AutoPrintRegExp; +class OutputScale { + constructor() { + const pixelRatio = window.devicePixelRatio || 1; + this.sx = pixelRatio; + this.sy = pixelRatio; + } + get scaled() { + return this.sx !== 1 || this.sy !== 1; + } +} +exports.OutputScale = OutputScale; +function scrollIntoView(element, spot) { + let scrollMatches = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + let parent = element.offsetParent; + if (!parent) { + console.error("offsetParent is not set -- cannot scroll"); + return; + } + let offsetY = element.offsetTop + element.clientTop; + let offsetX = element.offsetLeft + element.clientLeft; + while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains("markedContent") || getComputedStyle(parent).overflow === "hidden")) { + offsetY += parent.offsetTop; + offsetX += parent.offsetLeft; + parent = parent.offsetParent; + if (!parent) { + return; + } + } + if (spot) { + if (spot.top !== undefined) { + offsetY += spot.top; + } + if (spot.left !== undefined) { + offsetX += spot.left; + parent.scrollLeft = offsetX; + } + } + parent.scrollTop = offsetY; +} +function watchScroll(viewAreaElement, callback) { + const debounceScroll = function (evt) { + if (rAF) { + return; + } + rAF = window.requestAnimationFrame(function viewAreaElementScrolled() { + rAF = null; + const currentX = viewAreaElement.scrollLeft; + const lastX = state.lastX; + if (currentX !== lastX) { + state.right = currentX > lastX; + } + state.lastX = currentX; + const currentY = viewAreaElement.scrollTop; + const lastY = state.lastY; + if (currentY !== lastY) { + state.down = currentY > lastY; + } + state.lastY = currentY; + callback(state); + }); + }; + const state = { + right: true, + down: true, + lastX: viewAreaElement.scrollLeft, + lastY: viewAreaElement.scrollTop, + _eventHandler: debounceScroll + }; + let rAF = null; + viewAreaElement.addEventListener("scroll", debounceScroll, true); + return state; +} +function parseQueryString(query) { + const params = new Map(); + for (const [key, value] of new URLSearchParams(query)) { + params.set(key.toLowerCase(), value); + } + return params; +} +const InvisibleCharactersRegExp = /[\x01-\x1F]/g; +function removeNullCharacters(str) { + let replaceInvisible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (typeof str !== "string") { + console.error(`The argument must be a string.`); + return str; + } + if (replaceInvisible) { + str = str.replaceAll(InvisibleCharactersRegExp, " "); + } + return str.replaceAll("\x00", ""); +} +function binarySearchFirstItem(items, condition) { + let start = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + let minIndex = start; + let maxIndex = items.length - 1; + if (maxIndex < 0 || !condition(items[maxIndex])) { + return items.length; + } + if (condition(items[minIndex])) { + return minIndex; + } + while (minIndex < maxIndex) { + const currentIndex = minIndex + maxIndex >> 1; + const currentItem = items[currentIndex]; + if (condition(currentItem)) { + maxIndex = currentIndex; + } else { + minIndex = currentIndex + 1; + } + } + return minIndex; +} +function approximateFraction(x) { + if (Math.floor(x) === x) { + return [x, 1]; + } + const xinv = 1 / x; + const limit = 8; + if (xinv > limit) { + return [1, limit]; + } else if (Math.floor(xinv) === xinv) { + return [1, xinv]; + } + const x_ = x > 1 ? xinv : x; + let a = 0, + b = 1, + c = 1, + d = 1; + while (true) { + const p = a + c, + q = b + d; + if (q > limit) { + break; + } + if (x_ <= p / q) { + c = p; + d = q; + } else { + a = p; + b = q; + } + } + let result; + if (x_ - a / b < c / d - x_) { + result = x_ === x ? [a, b] : [b, a]; + } else { + result = x_ === x ? [c, d] : [d, c]; + } + return result; +} +function roundToDivide(x, div) { + const r = x % div; + return r === 0 ? x : Math.round(x - r + div); +} +function getPageSizeInches(_ref) { + let { + view, + userUnit, + rotate + } = _ref; + const [x1, y1, x2, y2] = view; + const changeOrientation = rotate % 180 !== 0; + const width = (x2 - x1) / 72 * userUnit; + const height = (y2 - y1) / 72 * userUnit; + return { + width: changeOrientation ? height : width, + height: changeOrientation ? width : height + }; +} +function backtrackBeforeAllVisibleElements(index, views, top) { + if (index < 2) { + return index; + } + let elt = views[index].div; + let pageTop = elt.offsetTop + elt.clientTop; + if (pageTop >= top) { + elt = views[index - 1].div; + pageTop = elt.offsetTop + elt.clientTop; + } + for (let i = index - 2; i >= 0; --i) { + elt = views[i].div; + if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) { + break; + } + index = i; + } + return index; +} +function getVisibleElements(_ref2) { + let { + scrollEl, + views, + sortByVisibility = false, + horizontal = false, + rtl = false + } = _ref2; + const top = scrollEl.scrollTop, + bottom = top + scrollEl.clientHeight; + const left = scrollEl.scrollLeft, + right = left + scrollEl.clientWidth; + function isElementBottomAfterViewTop(view) { + const element = view.div; + const elementBottom = element.offsetTop + element.clientTop + element.clientHeight; + return elementBottom > top; + } + function isElementNextAfterViewHorizontally(view) { + const element = view.div; + const elementLeft = element.offsetLeft + element.clientLeft; + const elementRight = elementLeft + element.clientWidth; + return rtl ? elementLeft < right : elementRight > left; + } + const visible = [], + ids = new Set(), + numViews = views.length; + let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop); + if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) { + firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top); + } + let lastEdge = horizontal ? right : -1; + for (let i = firstVisibleElementInd; i < numViews; i++) { + const view = views[i], + element = view.div; + const currentWidth = element.offsetLeft + element.clientLeft; + const currentHeight = element.offsetTop + element.clientTop; + const viewWidth = element.clientWidth, + viewHeight = element.clientHeight; + const viewRight = currentWidth + viewWidth; + const viewBottom = currentHeight + viewHeight; + if (lastEdge === -1) { + if (viewBottom >= bottom) { + lastEdge = viewBottom; + } + } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) { + break; + } + if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) { + continue; + } + const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom); + const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right); + const fractionHeight = (viewHeight - hiddenHeight) / viewHeight, + fractionWidth = (viewWidth - hiddenWidth) / viewWidth; + const percent = fractionHeight * fractionWidth * 100 | 0; + visible.push({ + id: view.id, + x: currentWidth, + y: currentHeight, + view, + percent, + widthPercent: fractionWidth * 100 | 0 + }); + ids.add(view.id); + } + const first = visible[0], + last = visible.at(-1); + if (sortByVisibility) { + visible.sort(function (a, b) { + const pc = a.percent - b.percent; + if (Math.abs(pc) > 0.001) { + return -pc; + } + return a.id - b.id; + }); + } + return { + first, + last, + views: visible, + ids + }; +} +function normalizeWheelEventDirection(evt) { + let delta = Math.hypot(evt.deltaX, evt.deltaY); + const angle = Math.atan2(evt.deltaY, evt.deltaX); + if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) { + delta = -delta; + } + return delta; +} +function normalizeWheelEventDelta(evt) { + const deltaMode = evt.deltaMode; + let delta = normalizeWheelEventDirection(evt); + const MOUSE_PIXELS_PER_LINE = 30; + const MOUSE_LINES_PER_PAGE = 30; + if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) { + delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE; + } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) { + delta /= MOUSE_LINES_PER_PAGE; + } + return delta; +} +function isValidRotation(angle) { + return Number.isInteger(angle) && angle % 90 === 0; +} +function isValidScrollMode(mode) { + return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN; +} +function isValidSpreadMode(mode) { + return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN; +} +function isPortraitOrientation(size) { + return size.width <= size.height; +} +const animationStarted = new Promise(function (resolve) { + window.requestAnimationFrame(resolve); +}); +exports.animationStarted = animationStarted; +const docStyle = document.documentElement.style; +exports.docStyle = docStyle; +function clamp(v, min, max) { + return Math.min(Math.max(v, min), max); +} +class ProgressBar { + #classList = null; + #disableAutoFetchTimeout = null; + #percent = 0; + #style = null; + #visible = true; + constructor(bar) { + this.#classList = bar.classList; + this.#style = bar.style; + } + get percent() { + return this.#percent; + } + set percent(val) { + this.#percent = clamp(val, 0, 100); + if (isNaN(val)) { + this.#classList.add("indeterminate"); + return; + } + this.#classList.remove("indeterminate"); + this.#style.setProperty("--progressBar-percent", `${this.#percent}%`); + } + setWidth(viewer) { + if (!viewer) { + return; + } + const container = viewer.parentNode; + const scrollbarWidth = container.offsetWidth - viewer.offsetWidth; + if (scrollbarWidth > 0) { + this.#style.setProperty("--progressBar-end-offset", `${scrollbarWidth}px`); + } + } + setDisableAutoFetch() { + let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 5000; + if (isNaN(this.#percent)) { + return; + } + if (this.#disableAutoFetchTimeout) { + clearTimeout(this.#disableAutoFetchTimeout); + } + this.show(); + this.#disableAutoFetchTimeout = setTimeout(() => { + this.#disableAutoFetchTimeout = null; + this.hide(); + }, delay); + } + hide() { + if (!this.#visible) { + return; + } + this.#visible = false; + this.#classList.add("hidden"); + } + show() { + if (this.#visible) { + return; + } + this.#visible = true; + this.#classList.remove("hidden"); + } +} +exports.ProgressBar = ProgressBar; +function getActiveOrFocusedElement() { + let curRoot = document; + let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); + while (curActiveOrFocused?.shadowRoot) { + curRoot = curActiveOrFocused.shadowRoot; + curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); + } + return curActiveOrFocused; +} +function apiPageLayoutToViewerModes(layout) { + let scrollMode = ScrollMode.VERTICAL, + spreadMode = SpreadMode.NONE; + switch (layout) { + case "SinglePage": + scrollMode = ScrollMode.PAGE; + break; + case "OneColumn": + break; + case "TwoPageLeft": + scrollMode = ScrollMode.PAGE; + case "TwoColumnLeft": + spreadMode = SpreadMode.ODD; + break; + case "TwoPageRight": + scrollMode = ScrollMode.PAGE; + case "TwoColumnRight": + spreadMode = SpreadMode.EVEN; + break; + } + return { + scrollMode, + spreadMode + }; +} +function apiPageModeToSidebarView(mode) { + switch (mode) { + case "UseNone": + return SidebarView.NONE; + case "UseThumbs": + return SidebarView.THUMBS; + case "UseOutlines": + return SidebarView.OUTLINE; + case "UseAttachments": + return SidebarView.ATTACHMENTS; + case "UseOC": + return SidebarView.LAYERS; + } + return SidebarView.NONE; +} +function toggleCheckedBtn(button, toggle) { + let view = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + button.classList.toggle("toggled", toggle); + button.setAttribute("aria-checked", toggle); + view?.classList.toggle("hidden", !toggle); +} +function toggleExpandedBtn(button, toggle) { + let view = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + button.classList.toggle("toggled", toggle); + button.setAttribute("aria-expanded", toggle); + view?.classList.toggle("hidden", !toggle); +} + +/***/ }), +/* 98 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(99); +var setMethodAcceptSetLike = __webpack_require__(108); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('difference') +}, { difference: difference }); + +/***/ }), +/* 99 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var SetHelpers = __webpack_require__(101); +var clone = __webpack_require__(102); +var size = __webpack_require__(105); +var getSetRecord = __webpack_require__(106); +var iterateSet = __webpack_require__(103); +var iterateSimple = __webpack_require__(104); +var has = SetHelpers.has; +var remove = SetHelpers.remove; +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) + iterateSet(O, function (e) { + if (otherRec.includes(e)) + remove(result, e); + }); + else + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) + remove(result, e); + }); + return result; +}; + +/***/ }), +/* 100 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var has = (__webpack_require__(101).has); +module.exports = function (it) { + has(it); + return it; +}; + +/***/ }), +/* 101 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var SetPrototype = Set.prototype; +module.exports = { + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + +/***/ }), +/* 102 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var SetHelpers = __webpack_require__(101); +var iterate = __webpack_require__(103); +var Set = SetHelpers.Set; +var add = SetHelpers.add; +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + +/***/ }), +/* 103 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(104); +var SetHelpers = __webpack_require__(101); +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ + iterator: keys(set), + next: next + }, fn) : forEach(set, fn); +}; + +/***/ }), +/* 104 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(8); +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) + return result; + } +}; + +/***/ }), +/* 105 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThisAccessor = __webpack_require__(80); +var SetHelpers = __webpack_require__(101); +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + +/***/ }), +/* 106 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aCallable = __webpack_require__(31); +var anObject = __webpack_require__(47); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(62); +var getIteratorDirect = __webpack_require__(107); +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; +var SetRecord = function (set, size, has, keys) { + this.set = set; + this.size = size; + this.has = has; + this.keys = keys; +}; +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + if (numSize !== numSize) + throw $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) + throw $RangeError(INVALID_SIZE); + return new SetRecord(obj, max(intSize, 0), aCallable(obj.has), aCallable(obj.keys)); +}; + +/***/ }), +/* 107 */ +/***/ ((module) => { + + +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + +/***/ }), +/* 108 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(24); +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + +/***/ }), +/* 109 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(110); +var setMethodAcceptSetLike = __webpack_require__(108); +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + return Array.from(new Set([ + 1, + 2, + 3 + ]).intersection(new Set([ + 3, + 2 + ]))) !== '3,2'; +}); +$({ + target: 'Set', + proto: true, + real: true, + forced: INCORRECT +}, { intersection: intersection }); + +/***/ }), +/* 110 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var SetHelpers = __webpack_require__(101); +var size = __webpack_require__(105); +var getSetRecord = __webpack_require__(106); +var iterateSet = __webpack_require__(103); +var iterateSimple = __webpack_require__(104); +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) + add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) + add(result, e); + }); + } + return result; +}; + +/***/ }), +/* 111 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(112); +var setMethodAcceptSetLike = __webpack_require__(108); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isDisjointFrom') +}, { isDisjointFrom: isDisjointFrom }); + +/***/ }), +/* 112 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var has = (__webpack_require__(101).has); +var size = __webpack_require__(105); +var getSetRecord = __webpack_require__(106); +var iterateSet = __webpack_require__(103); +var iterateSimple = __webpack_require__(104); +var iteratorClose = __webpack_require__(113); +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) + return iterateSet(O, function (e) { + if (otherRec.includes(e)) + return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) + return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + +/***/ }), +/* 113 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(47); +var getMethod = __webpack_require__(30); +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') + throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') + throw value; + if (innerError) + throw innerResult; + anObject(innerResult); + return value; +}; + +/***/ }), +/* 114 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(115); +var setMethodAcceptSetLike = __webpack_require__(108); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isSubsetOf') +}, { isSubsetOf: isSubsetOf }); + +/***/ }), +/* 115 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var size = __webpack_require__(105); +var iterate = __webpack_require__(103); +var getSetRecord = __webpack_require__(106); +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) + return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) + return false; + }, true) !== false; +}; + +/***/ }), +/* 116 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(117); +var setMethodAcceptSetLike = __webpack_require__(108); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('isSupersetOf') +}, { isSupersetOf: isSupersetOf }); + +/***/ }), +/* 117 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var has = (__webpack_require__(101).has); +var size = __webpack_require__(105); +var getSetRecord = __webpack_require__(106); +var iterateSimple = __webpack_require__(104); +var iteratorClose = __webpack_require__(113); +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) + return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) + return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + +/***/ }), +/* 118 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(119); +var setMethodAcceptSetLike = __webpack_require__(108); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('symmetricDifference') +}, { symmetricDifference: symmetricDifference }); + +/***/ }), +/* 119 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var SetHelpers = __webpack_require__(101); +var clone = __webpack_require__(102); +var getSetRecord = __webpack_require__(106); +var iterateSimple = __webpack_require__(104); +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) + remove(result, e); + else + add(result, e); + }); + return result; +}; + +/***/ }), +/* 120 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(121); +var setMethodAcceptSetLike = __webpack_require__(108); +$({ + target: 'Set', + proto: true, + real: true, + forced: !setMethodAcceptSetLike('union') +}, { union: union }); + +/***/ }), +/* 121 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(100); +var add = (__webpack_require__(101).add); +var clone = __webpack_require__(102); +var getSetRecord = __webpack_require__(106); +var iterateSimple = __webpack_require__(104); +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + +/***/ }), +/* 122 */ +/***/ ((module) => { + + + +module.exports = globalThis.pdfjsLib; + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0; +__webpack_require__(76); +const compatibilityParams = Object.create(null); +exports.compatibilityParams = compatibilityParams; +{ + const userAgent = navigator.userAgent || ""; + const platform = navigator.platform || ""; + const maxTouchPoints = navigator.maxTouchPoints || 1; + const isAndroid = /Android/.test(userAgent); + const isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1; + (function checkCanvasSizeLimitation() { + if (isIOS || isAndroid) { + compatibilityParams.maxCanvasPixels = 5242880; + } + })(); +} +const OptionKind = { + VIEWER: 0x02, + API: 0x04, + WORKER: 0x08, + PREFERENCE: 0x80 +}; +exports.OptionKind = OptionKind; +const defaultOptions = { + annotationEditorMode: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + annotationMode: { + value: 2, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cursorToolOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + defaultZoomDelay: { + value: 400, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + defaultZoomValue: { + value: "", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + disableHistory: { + value: false, + kind: OptionKind.VIEWER + }, + disablePageLabels: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enablePermissions: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enablePrintAutoRotate: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enableScripting: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enableStampEditor: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + externalLinkRel: { + value: "noopener noreferrer nofollow", + kind: OptionKind.VIEWER + }, + externalLinkTarget: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + historyUpdateUrl: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + ignoreDestinationZoom: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + imageResourcesPath: { + value: "./images/", + kind: OptionKind.VIEWER + }, + maxCanvasPixels: { + value: 16777216, + kind: OptionKind.VIEWER + }, + forcePageColors: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + pageColorsBackground: { + value: "Canvas", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + pageColorsForeground: { + value: "CanvasText", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + pdfBugEnabled: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + printResolution: { + value: 150, + kind: OptionKind.VIEWER + }, + sidebarViewOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + scrollModeOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + spreadModeOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + textLayerMode: { + value: 1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + viewerCssTheme: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + viewOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cMapPacked: { + value: true, + kind: OptionKind.API + }, + cMapUrl: { + value: "../web/cmaps/", + kind: OptionKind.API + }, + disableAutoFetch: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableFontFace: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableRange: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableStream: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + docBaseUrl: { + value: "", + kind: OptionKind.API + }, + enableXfa: { + value: true, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + fontExtraProperties: { + value: false, + kind: OptionKind.API + }, + isEvalSupported: { + value: true, + kind: OptionKind.API + }, + isOffscreenCanvasSupported: { + value: true, + kind: OptionKind.API + }, + maxImageSize: { + value: -1, + kind: OptionKind.API + }, + pdfBug: { + value: false, + kind: OptionKind.API + }, + standardFontDataUrl: { + value: "../web/standard_fonts/", + kind: OptionKind.API + }, + verbosity: { + value: 1, + kind: OptionKind.API + }, + workerPort: { + value: null, + kind: OptionKind.WORKER + }, + workerSrc: { + value: "../build/pdf.worker.js", + kind: OptionKind.WORKER + } +}; +{ + defaultOptions.defaultUrl = { + value: "compressed.tracemonkey-pldi-09.pdf", + kind: OptionKind.VIEWER + }; + defaultOptions.disablePreferences = { + value: false, + kind: OptionKind.VIEWER + }; + defaultOptions.locale = { + value: navigator.language || "en-US", + kind: OptionKind.VIEWER + }; + defaultOptions.sandboxBundleSrc = { + value: "../build/pdf.sandbox.js", + kind: OptionKind.VIEWER + }; +} +const userOptions = Object.create(null); +class AppOptions { + constructor() { + throw new Error("Cannot initialize AppOptions."); + } + static get(name) { + const userOption = userOptions[name]; + if (userOption !== undefined) { + return userOption; + } + const defaultOption = defaultOptions[name]; + if (defaultOption !== undefined) { + return compatibilityParams[name] ?? defaultOption.value; + } + return undefined; + } + static getAll() { + let kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + const options = Object.create(null); + for (const name in defaultOptions) { + const defaultOption = defaultOptions[name]; + if (kind) { + if ((kind & defaultOption.kind) === 0) { + continue; + } + if (kind === OptionKind.PREFERENCE) { + const value = defaultOption.value, + valueType = typeof value; + if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) { + options[name] = value; + continue; + } + throw new Error(`Invalid type for preference: ${name}`); + } + } + const userOption = userOptions[name]; + options[name] = userOption !== undefined ? userOption : compatibilityParams[name] ?? defaultOption.value; + } + return options; + } + static set(name, value) { + userOptions[name] = value; + } + static setAll(options) { + for (const name in options) { + userOptions[name] = options[name]; + } + } + static remove(name) { + delete userOptions[name]; + } +} +exports.AppOptions = AppOptions; +{ + AppOptions._hasUserOptions = function () { + return Object.keys(userOptions).length > 0; + }; +} + +/***/ }), +/* 124 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0; +exports.waitOnEventOrTimeout = waitOnEventOrTimeout; +__webpack_require__(76); +__webpack_require__(89); +const WaitOnType = { + EVENT: "event", + TIMEOUT: "timeout" +}; +exports.WaitOnType = WaitOnType; +function waitOnEventOrTimeout(_ref) { + let { + target, + name, + delay = 0 + } = _ref; + return new Promise(function (resolve, reject) { + if (typeof target !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) { + throw new Error("waitOnEventOrTimeout - invalid parameters."); + } + function handler(type) { + if (target instanceof EventBus) { + target._off(name, eventHandler); + } else { + target.removeEventListener(name, eventHandler); + } + if (timeout) { + clearTimeout(timeout); + } + resolve(type); + } + const eventHandler = handler.bind(null, WaitOnType.EVENT); + if (target instanceof EventBus) { + target._on(name, eventHandler); + } else { + target.addEventListener(name, eventHandler); + } + const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT); + const timeout = setTimeout(timeoutHandler, delay); + }); +} +class EventBus { + #listeners = Object.create(null); + on(eventName, listener) { + let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + this._on(eventName, listener, { + external: true, + once: options?.once + }); + } + off(eventName, listener) { + let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + this._off(eventName, listener, { + external: true, + once: options?.once + }); + } + dispatch(eventName, data) { + const eventListeners = this.#listeners[eventName]; + if (!eventListeners || eventListeners.length === 0) { + return; + } + let externalListeners; + for (const { + listener, + external, + once + } of eventListeners.slice(0)) { + if (once) { + this._off(eventName, listener); + } + if (external) { + (externalListeners ||= []).push(listener); + continue; + } + listener(data); + } + if (externalListeners) { + for (const listener of externalListeners) { + listener(data); + } + externalListeners = null; + } + } + _on(eventName, listener) { + let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + const eventListeners = this.#listeners[eventName] ||= []; + eventListeners.push({ + listener, + external: options?.external === true, + once: options?.once === true + }); + } + _off(eventName, listener) { + let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + const eventListeners = this.#listeners[eventName]; + if (!eventListeners) { + return; + } + for (let i = 0, ii = eventListeners.length; i < ii; i++) { + if (eventListeners[i].listener === listener) { + eventListeners.splice(i, 1); + return; + } + } + } +} +exports.EventBus = EventBus; +class AutomationEventBus extends EventBus { + dispatch(eventName, data) { + throw new Error("Not implemented: AutomationEventBus.dispatch"); + } +} +exports.AutomationEventBus = AutomationEventBus; + +/***/ }), +/* 125 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0; +__webpack_require__(76); +__webpack_require__(89); +__webpack_require__(2); +var _ui_utils = __webpack_require__(97); +const DEFAULT_LINK_REL = "noopener noreferrer nofollow"; +const LinkTarget = { + NONE: 0, + SELF: 1, + BLANK: 2, + PARENT: 3, + TOP: 4 +}; +exports.LinkTarget = LinkTarget; +function addLinkAttributes(link) { + let { + url, + target, + rel, + enabled = true + } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + if (!url || typeof url !== "string") { + throw new Error('A valid "url" parameter must provided.'); + } + if (enabled) { + link.href = link.title = url; + } else { + link.href = ""; + link.title = `Disabled: ${url}`; + link.onclick = () => { + return false; + }; + } + let targetStr = ""; + switch (target) { + case LinkTarget.NONE: + break; + case LinkTarget.SELF: + targetStr = "_self"; + break; + case LinkTarget.BLANK: + targetStr = "_blank"; + break; + case LinkTarget.PARENT: + targetStr = "_parent"; + break; + case LinkTarget.TOP: + targetStr = "_top"; + break; + } + link.target = targetStr; + link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL; +} +class PDFLinkService { + #pagesRefCache = new Map(); + constructor() { + let { + eventBus, + externalLinkTarget = null, + externalLinkRel = null, + ignoreDestinationZoom = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.eventBus = eventBus; + this.externalLinkTarget = externalLinkTarget; + this.externalLinkRel = externalLinkRel; + this.externalLinkEnabled = true; + this._ignoreDestinationZoom = ignoreDestinationZoom; + this.baseUrl = null; + this.pdfDocument = null; + this.pdfViewer = null; + this.pdfHistory = null; + } + setDocument(pdfDocument) { + let baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this.baseUrl = baseUrl; + this.pdfDocument = pdfDocument; + this.#pagesRefCache.clear(); + } + setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + setHistory(pdfHistory) { + this.pdfHistory = pdfHistory; + } + get pagesCount() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + } + get page() { + return this.pdfViewer.currentPageNumber; + } + set page(value) { + this.pdfViewer.currentPageNumber = value; + } + get rotation() { + return this.pdfViewer.pagesRotation; + } + set rotation(value) { + this.pdfViewer.pagesRotation = value; + } + get isInPresentationMode() { + return this.pdfViewer.isInPresentationMode; + } + #goToDestinationHelper(rawDest) { + let namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let explicitDest = arguments.length > 2 ? arguments[2] : undefined; + const destRef = explicitDest[0]; + let pageNumber; + if (typeof destRef === "object" && destRef !== null) { + pageNumber = this._cachedPageNumber(destRef); + if (!pageNumber) { + this.pdfDocument.getPageIndex(destRef).then(pageIndex => { + this.cachePageRef(pageIndex + 1, destRef); + this.#goToDestinationHelper(rawDest, namedDest, explicitDest); + }).catch(() => { + console.error(`PDFLinkService.#goToDestinationHelper: "${destRef}" is not ` + `a valid page reference, for dest="${rawDest}".`); + }); + return; + } + } else if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } else { + console.error(`PDFLinkService.#goToDestinationHelper: "${destRef}" is not ` + `a valid destination reference, for dest="${rawDest}".`); + return; + } + if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) { + console.error(`PDFLinkService.#goToDestinationHelper: "${pageNumber}" is not ` + `a valid page number, for dest="${rawDest}".`); + return; + } + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.push({ + namedDest, + explicitDest, + pageNumber + }); + } + this.pdfViewer.scrollPageIntoView({ + pageNumber, + destArray: explicitDest, + ignoreDestinationZoom: this._ignoreDestinationZoom + }); + } + async goToDestination(dest) { + if (!this.pdfDocument) { + return; + } + let namedDest, explicitDest; + if (typeof dest === "string") { + namedDest = dest; + explicitDest = await this.pdfDocument.getDestination(dest); + } else { + namedDest = null; + explicitDest = await dest; + } + if (!Array.isArray(explicitDest)) { + console.error(`PDFLinkService.goToDestination: "${explicitDest}" is not ` + `a valid destination array, for dest="${dest}".`); + return; + } + this.#goToDestinationHelper(dest, namedDest, explicitDest); + } + goToPage(val) { + if (!this.pdfDocument) { + return; + } + const pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0; + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error(`PDFLinkService.goToPage: "${val}" is not a valid page.`); + return; + } + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.pushPage(pageNumber); + } + this.pdfViewer.scrollPageIntoView({ + pageNumber + }); + } + addLinkAttributes(link, url) { + let newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + addLinkAttributes(link, { + url, + target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget, + rel: this.externalLinkRel, + enabled: this.externalLinkEnabled + }); + } + getDestinationHash(dest) { + if (typeof dest === "string") { + if (dest.length > 0) { + return this.getAnchorUrl("#" + escape(dest)); + } + } else if (Array.isArray(dest)) { + const str = JSON.stringify(dest); + if (str.length > 0) { + return this.getAnchorUrl("#" + escape(str)); + } + } + return this.getAnchorUrl(""); + } + getAnchorUrl(anchor) { + return this.baseUrl ? this.baseUrl + anchor : anchor; + } + setHash(hash) { + if (!this.pdfDocument) { + return; + } + let pageNumber, dest; + if (hash.includes("=")) { + const params = (0, _ui_utils.parseQueryString)(hash); + if (params.has("search")) { + const query = params.get("search").replaceAll('"', ""), + phrase = params.get("phrase") === "true"; + this.eventBus.dispatch("findfromurlhash", { + source: this, + query: phrase ? query : query.match(/\S+/g) + }); + } + if (params.has("page")) { + pageNumber = params.get("page") | 0 || 1; + } + if (params.has("zoom")) { + const zoomArgs = params.get("zoom").split(","); + const zoomArg = zoomArgs[0]; + const zoomArgNumber = parseFloat(zoomArg); + if (!zoomArg.includes("Fit")) { + dest = [null, { + name: "XYZ" + }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg]; + } else if (zoomArg === "Fit" || zoomArg === "FitB") { + dest = [null, { + name: zoomArg + }]; + } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") { + dest = [null, { + name: zoomArg + }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null]; + } else if (zoomArg === "FitR") { + if (zoomArgs.length !== 5) { + console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'); + } else { + dest = [null, { + name: zoomArg + }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0]; + } + } else { + console.error(`PDFLinkService.setHash: "${zoomArg}" is not a valid zoom value.`); + } + } + if (dest) { + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber || this.page, + destArray: dest, + allowNegativeOffset: true + }); + } else if (pageNumber) { + this.page = pageNumber; + } + if (params.has("pagemode")) { + this.eventBus.dispatch("pagemode", { + source: this, + mode: params.get("pagemode") + }); + } + if (params.has("nameddest")) { + this.goToDestination(params.get("nameddest")); + } + } else { + dest = unescape(hash); + try { + dest = JSON.parse(dest); + if (!Array.isArray(dest)) { + dest = dest.toString(); + } + } catch {} + if (typeof dest === "string" || PDFLinkService.#isValidExplicitDestination(dest)) { + this.goToDestination(dest); + return; + } + console.error(`PDFLinkService.setHash: "${unescape(hash)}" is not a valid destination.`); + } + } + executeNamedAction(action) { + switch (action) { + case "GoBack": + this.pdfHistory?.back(); + break; + case "GoForward": + this.pdfHistory?.forward(); + break; + case "NextPage": + this.pdfViewer.nextPage(); + break; + case "PrevPage": + this.pdfViewer.previousPage(); + break; + case "LastPage": + this.page = this.pagesCount; + break; + case "FirstPage": + this.page = 1; + break; + default: + break; + } + this.eventBus.dispatch("namedaction", { + source: this, + action + }); + } + async executeSetOCGState(action) { + const pdfDocument = this.pdfDocument; + const optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise; + if (pdfDocument !== this.pdfDocument) { + return; + } + let operator; + for (const elem of action.state) { + switch (elem) { + case "ON": + case "OFF": + case "Toggle": + operator = elem; + continue; + } + switch (operator) { + case "ON": + optionalContentConfig.setVisibility(elem, true); + break; + case "OFF": + optionalContentConfig.setVisibility(elem, false); + break; + case "Toggle": + const group = optionalContentConfig.getGroup(elem); + if (group) { + optionalContentConfig.setVisibility(elem, !group.visible); + } + break; + } + } + this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig); + } + cachePageRef(pageNum, pageRef) { + if (!pageRef) { + return; + } + const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`; + this.#pagesRefCache.set(refStr, pageNum); + } + _cachedPageNumber(pageRef) { + if (!pageRef) { + return null; + } + const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`; + return this.#pagesRefCache.get(refStr) || null; + } + static #isValidExplicitDestination(dest) { + if (!Array.isArray(dest)) { + return false; + } + const destLength = dest.length; + if (destLength < 2) { + return false; + } + const page = dest[0]; + if (!(typeof page === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) { + return false; + } + const zoom = dest[1]; + if (!(typeof zoom === "object" && typeof zoom.name === "string")) { + return false; + } + let allowNull = true; + switch (zoom.name) { + case "XYZ": + if (destLength !== 5) { + return false; + } + break; + case "Fit": + case "FitB": + return destLength === 2; + case "FitH": + case "FitBH": + case "FitV": + case "FitBV": + if (destLength !== 3) { + return false; + } + break; + case "FitR": + if (destLength !== 6) { + return false; + } + allowNull = false; + break; + default: + return false; + } + for (let i = 2; i < destLength; i++) { + const param = dest[i]; + if (!(typeof param === "number" || allowNull && param === null)) { + return false; + } + } + return true; + } +} +exports.PDFLinkService = PDFLinkService; +class SimpleLinkService { + constructor() { + this.externalLinkEnabled = true; + } + get pagesCount() { + return 0; + } + get page() { + return 0; + } + set page(value) {} + get rotation() { + return 0; + } + set rotation(value) {} + get isInPresentationMode() { + return false; + } + async goToDestination(dest) {} + goToPage(val) {} + addLinkAttributes(link, url) { + let newWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + addLinkAttributes(link, { + url, + enabled: this.externalLinkEnabled + }); + } + getDestinationHash(dest) { + return "#"; + } + getAnchorUrl(hash) { + return "#"; + } + setHash(hash) {} + executeNamedAction(action) {} + executeSetOCGState(action) {} + cachePageRef(pageNum, pageRef) {} +} +exports.SimpleLinkService = SimpleLinkService; + +/***/ }), +/* 126 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AltTextManager = void 0; +var _pdfjsLib = __webpack_require__(122); +class AltTextManager { + #boundUpdateUIState = this.#updateUIState.bind(this); + #boundSetPosition = this.#setPosition.bind(this); + #boundOnClick = this.#onClick.bind(this); + #currentEditor = null; + #cancelButton; + #dialog; + #eventBus; + #hasUsedPointer = false; + #optionDescription; + #optionDecorative; + #overlayManager; + #saveButton; + #textarea; + #uiManager; + #previousAltText = null; + #svgElement = null; + #rectElement = null; + #container; + #telemetryData = null; + constructor(_ref, container, overlayManager, eventBus) { + let { + dialog, + optionDescription, + optionDecorative, + textarea, + cancelButton, + saveButton + } = _ref; + this.#dialog = dialog; + this.#optionDescription = optionDescription; + this.#optionDecorative = optionDecorative; + this.#textarea = textarea; + this.#cancelButton = cancelButton; + this.#saveButton = saveButton; + this.#overlayManager = overlayManager; + this.#eventBus = eventBus; + this.#container = container; + dialog.addEventListener("close", this.#close.bind(this)); + dialog.addEventListener("contextmenu", event => { + if (event.target !== this.#textarea) { + event.preventDefault(); + } + }); + cancelButton.addEventListener("click", this.#finish.bind(this)); + saveButton.addEventListener("click", this.#save.bind(this)); + optionDescription.addEventListener("change", this.#boundUpdateUIState); + optionDecorative.addEventListener("change", this.#boundUpdateUIState); + this.#overlayManager.register(dialog); + } + get _elements() { + return (0, _pdfjsLib.shadow)(this, "_elements", [this.#optionDescription, this.#optionDecorative, this.#textarea, this.#saveButton, this.#cancelButton]); + } + #createSVGElement() { + if (this.#svgElement) { + return; + } + const svgFactory = new _pdfjsLib.DOMSVGFactory(); + const svg = this.#svgElement = svgFactory.createElement("svg"); + svg.setAttribute("width", "0"); + svg.setAttribute("height", "0"); + const defs = svgFactory.createElement("defs"); + svg.append(defs); + const mask = svgFactory.createElement("mask"); + defs.append(mask); + mask.setAttribute("id", "alttext-manager-mask"); + mask.setAttribute("maskContentUnits", "objectBoundingBox"); + let rect = svgFactory.createElement("rect"); + mask.append(rect); + rect.setAttribute("fill", "white"); + rect.setAttribute("width", "1"); + rect.setAttribute("height", "1"); + rect.setAttribute("x", "0"); + rect.setAttribute("y", "0"); + rect = this.#rectElement = svgFactory.createElement("rect"); + mask.append(rect); + rect.setAttribute("fill", "black"); + this.#dialog.append(svg); + } + async editAltText(uiManager, editor) { + if (this.#currentEditor || !editor) { + return; + } + this.#createSVGElement(); + this.#hasUsedPointer = false; + for (const element of this._elements) { + element.addEventListener("click", this.#boundOnClick); + } + const { + altText, + decorative + } = editor.altTextData; + if (decorative === true) { + this.#optionDecorative.checked = true; + this.#optionDescription.checked = false; + } else { + this.#optionDecorative.checked = false; + this.#optionDescription.checked = true; + } + this.#previousAltText = this.#textarea.value = altText?.trim() || ""; + this.#updateUIState(); + this.#currentEditor = editor; + this.#uiManager = uiManager; + this.#uiManager.removeEditListeners(); + this.#eventBus._on("resize", this.#boundSetPosition); + try { + await this.#overlayManager.open(this.#dialog); + this.#setPosition(); + } catch (ex) { + this.#close(); + throw ex; + } + } + #setPosition() { + if (!this.#currentEditor) { + return; + } + const dialog = this.#dialog; + const { + style + } = dialog; + const { + x: containerX, + y: containerY, + width: containerW, + height: containerH + } = this.#container.getBoundingClientRect(); + const { + innerWidth: windowW, + innerHeight: windowH + } = window; + const { + width: dialogW, + height: dialogH + } = dialog.getBoundingClientRect(); + const { + x, + y, + width, + height + } = this.#currentEditor.getClientDimensions(); + const MARGIN = 10; + const isLTR = this.#uiManager.direction === "ltr"; + const xs = Math.max(x, containerX); + const xe = Math.min(x + width, containerX + containerW); + const ys = Math.max(y, containerY); + const ye = Math.min(y + height, containerY + containerH); + this.#rectElement.setAttribute("width", `${(xe - xs) / windowW}`); + this.#rectElement.setAttribute("height", `${(ye - ys) / windowH}`); + this.#rectElement.setAttribute("x", `${xs / windowW}`); + this.#rectElement.setAttribute("y", `${ys / windowH}`); + let left = null; + let top = Math.max(y, 0); + top += Math.min(windowH - (top + dialogH), 0); + if (isLTR) { + if (x + width + MARGIN + dialogW < windowW) { + left = x + width + MARGIN; + } else if (x > dialogW + MARGIN) { + left = x - dialogW - MARGIN; + } + } else if (x > dialogW + MARGIN) { + left = x - dialogW - MARGIN; + } else if (x + width + MARGIN + dialogW < windowW) { + left = x + width + MARGIN; + } + if (left === null) { + top = null; + left = Math.max(x, 0); + left += Math.min(windowW - (left + dialogW), 0); + if (y > dialogH + MARGIN) { + top = y - dialogH - MARGIN; + } else if (y + height + MARGIN + dialogH < windowH) { + top = y + height + MARGIN; + } + } + if (top !== null) { + dialog.classList.add("positioned"); + if (isLTR) { + style.left = `${left}px`; + } else { + style.right = `${windowW - left - dialogW}px`; + } + style.top = `${top}px`; + } else { + dialog.classList.remove("positioned"); + style.left = ""; + style.top = ""; + } + } + #finish() { + if (this.#overlayManager.active === this.#dialog) { + this.#overlayManager.close(this.#dialog); + } + } + #close() { + this.#eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "editing", + subtype: this.#currentEditor.editorType, + data: this.#telemetryData || { + action: "alt_text_cancel", + alt_text_keyboard: !this.#hasUsedPointer + } + } + }); + this.#telemetryData = null; + this.#removeOnClickListeners(); + this.#uiManager?.addEditListeners(); + this.#eventBus._off("resize", this.#boundSetPosition); + this.#currentEditor = null; + this.#uiManager = null; + } + #updateUIState() { + this.#textarea.disabled = this.#optionDecorative.checked; + } + #save() { + const altText = this.#textarea.value.trim(); + const decorative = this.#optionDecorative.checked; + this.#currentEditor.altTextData = { + altText, + decorative + }; + this.#telemetryData = { + action: "alt_text_save", + alt_text_description: !!altText, + alt_text_edit: !!this.#previousAltText && this.#previousAltText !== altText, + alt_text_decorative: decorative, + alt_text_keyboard: !this.#hasUsedPointer + }; + this.#finish(); + } + #onClick(evt) { + if (evt.detail === 0) { + return; + } + this.#hasUsedPointer = true; + this.#removeOnClickListeners(); + } + #removeOnClickListeners() { + for (const element of this._elements) { + element.removeEventListener("click", this.#boundOnClick); + } + } + destroy() { + this.#uiManager = null; + this.#finish(); + this.#svgElement?.remove(); + this.#svgElement = this.#rectElement = null; + } +} +exports.AltTextManager = AltTextManager; + +/***/ }), +/* 127 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationEditorParams = void 0; +var _pdfjsLib = __webpack_require__(122); +class AnnotationEditorParams { + constructor(options, eventBus) { + this.eventBus = eventBus; + this.#bindListeners(options); + } + #bindListeners(_ref) { + let { + editorFreeTextFontSize, + editorFreeTextColor, + editorInkColor, + editorInkThickness, + editorInkOpacity, + editorStampAddImage + } = _ref; + const dispatchEvent = (typeStr, value) => { + this.eventBus.dispatch("switchannotationeditorparams", { + source: this, + type: _pdfjsLib.AnnotationEditorParamsType[typeStr], + value + }); + }; + editorFreeTextFontSize.addEventListener("input", function () { + dispatchEvent("FREETEXT_SIZE", this.valueAsNumber); + }); + editorFreeTextColor.addEventListener("input", function () { + dispatchEvent("FREETEXT_COLOR", this.value); + }); + editorInkColor.addEventListener("input", function () { + dispatchEvent("INK_COLOR", this.value); + }); + editorInkThickness.addEventListener("input", function () { + dispatchEvent("INK_THICKNESS", this.valueAsNumber); + }); + editorInkOpacity.addEventListener("input", function () { + dispatchEvent("INK_OPACITY", this.valueAsNumber); + }); + editorStampAddImage.addEventListener("click", () => { + dispatchEvent("CREATE"); + }); + this.eventBus._on("annotationeditorparamschanged", evt => { + for (const [type, value] of evt.details) { + switch (type) { + case _pdfjsLib.AnnotationEditorParamsType.FREETEXT_SIZE: + editorFreeTextFontSize.value = value; + break; + case _pdfjsLib.AnnotationEditorParamsType.FREETEXT_COLOR: + editorFreeTextColor.value = value; + break; + case _pdfjsLib.AnnotationEditorParamsType.INK_COLOR: + editorInkColor.value = value; + break; + case _pdfjsLib.AnnotationEditorParamsType.INK_THICKNESS: + editorInkThickness.value = value; + break; + case _pdfjsLib.AnnotationEditorParamsType.INK_OPACITY: + editorInkOpacity.value = value; + break; + } + } + }); + } +} +exports.AnnotationEditorParams = AnnotationEditorParams; + +/***/ }), +/* 128 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OverlayManager = void 0; +__webpack_require__(76); +class OverlayManager { + #overlays = new WeakMap(); + #active = null; + get active() { + return this.#active; + } + async register(dialog) { + let canForceClose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (typeof dialog !== "object") { + throw new Error("Not enough parameters."); + } else if (this.#overlays.has(dialog)) { + throw new Error("The overlay is already registered."); + } + this.#overlays.set(dialog, { + canForceClose + }); + dialog.addEventListener("cancel", evt => { + this.#active = null; + }); + } + async open(dialog) { + if (!this.#overlays.has(dialog)) { + throw new Error("The overlay does not exist."); + } else if (this.#active) { + if (this.#active === dialog) { + throw new Error("The overlay is already active."); + } else if (this.#overlays.get(dialog).canForceClose) { + await this.close(); + } else { + throw new Error("Another overlay is currently active."); + } + } + this.#active = dialog; + dialog.showModal(); + } + async close() { + let dialog = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.#active; + if (!this.#overlays.has(dialog)) { + throw new Error("The overlay does not exist."); + } else if (!this.#active) { + throw new Error("The overlay is currently not active."); + } else if (this.#active !== dialog) { + throw new Error("Another overlay is currently active."); + } + dialog.close(); + this.#active = null; + } +} +exports.OverlayManager = OverlayManager; + +/***/ }), +/* 129 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PasswordPrompt = void 0; +__webpack_require__(76); +var _pdfjsLib = __webpack_require__(122); +class PasswordPrompt { + #activeCapability = null; + #updateCallback = null; + #reason = null; + constructor(options, overlayManager, l10n) { + let isViewerEmbedded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + this.dialog = options.dialog; + this.label = options.label; + this.input = options.input; + this.submitButton = options.submitButton; + this.cancelButton = options.cancelButton; + this.overlayManager = overlayManager; + this.l10n = l10n; + this._isViewerEmbedded = isViewerEmbedded; + this.submitButton.addEventListener("click", this.#verify.bind(this)); + this.cancelButton.addEventListener("click", this.close.bind(this)); + this.input.addEventListener("keydown", e => { + if (e.keyCode === 13) { + this.#verify(); + } + }); + this.overlayManager.register(this.dialog, true); + this.dialog.addEventListener("close", this.#cancel.bind(this)); + } + async open() { + if (this.#activeCapability) { + await this.#activeCapability.promise; + } + this.#activeCapability = new _pdfjsLib.PromiseCapability(); + try { + await this.overlayManager.open(this.dialog); + } catch (ex) { + this.#activeCapability.resolve(); + throw ex; + } + const passwordIncorrect = this.#reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD; + if (!this._isViewerEmbedded || passwordIncorrect) { + this.input.focus(); + } + this.label.textContent = await this.l10n.get(`password_${passwordIncorrect ? "invalid" : "label"}`); + } + async close() { + if (this.overlayManager.active === this.dialog) { + this.overlayManager.close(this.dialog); + } + } + #verify() { + const password = this.input.value; + if (password?.length > 0) { + this.#invokeCallback(password); + } + } + #cancel() { + this.#invokeCallback(new Error("PasswordPrompt cancelled.")); + this.#activeCapability.resolve(); + } + #invokeCallback(password) { + if (!this.#updateCallback) { + return; + } + this.close(); + this.input.value = ""; + this.#updateCallback(password); + this.#updateCallback = null; + } + async setUpdateCallback(updateCallback, reason) { + if (this.#activeCapability) { + await this.#activeCapability.promise; + } + this.#updateCallback = updateCallback; + this.#reason = reason; + } +} +exports.PasswordPrompt = PasswordPrompt; + +/***/ }), +/* 130 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFAttachmentViewer = void 0; +var _pdfjsLib = __webpack_require__(122); +var _base_tree_viewer = __webpack_require__(131); +var _event_utils = __webpack_require__(124); +class PDFAttachmentViewer extends _base_tree_viewer.BaseTreeViewer { + constructor(options) { + super(options); + this.downloadManager = options.downloadManager; + this.eventBus._on("fileattachmentannotation", this.#appendAttachment.bind(this)); + } + reset() { + let keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + super.reset(); + this._attachments = null; + if (!keepRenderedCapability) { + this._renderedCapability = new _pdfjsLib.PromiseCapability(); + } + this._pendingDispatchEvent = false; + } + async _dispatchEvent(attachmentsCount) { + this._renderedCapability.resolve(); + if (attachmentsCount === 0 && !this._pendingDispatchEvent) { + this._pendingDispatchEvent = true; + await (0, _event_utils.waitOnEventOrTimeout)({ + target: this.eventBus, + name: "annotationlayerrendered", + delay: 1000 + }); + if (!this._pendingDispatchEvent) { + return; + } + } + this._pendingDispatchEvent = false; + this.eventBus.dispatch("attachmentsloaded", { + source: this, + attachmentsCount + }); + } + _bindLink(element, _ref) { + let { + content, + filename + } = _ref; + element.onclick = () => { + this.downloadManager.openOrDownloadData(element, content, filename); + return false; + }; + } + render(_ref2) { + let { + attachments, + keepRenderedCapability = false + } = _ref2; + if (this._attachments) { + this.reset(keepRenderedCapability); + } + this._attachments = attachments || null; + if (!attachments) { + this._dispatchEvent(0); + return; + } + const fragment = document.createDocumentFragment(); + let attachmentsCount = 0; + for (const name in attachments) { + const item = attachments[name]; + const content = item.content, + filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename, true); + const div = document.createElement("div"); + div.className = "treeItem"; + const element = document.createElement("a"); + this._bindLink(element, { + content, + filename + }); + element.textContent = this._normalizeTextContent(filename); + div.append(element); + fragment.append(div); + attachmentsCount++; + } + this._finishRendering(fragment, attachmentsCount); + } + #appendAttachment(_ref3) { + let { + filename, + content + } = _ref3; + const renderedPromise = this._renderedCapability.promise; + renderedPromise.then(() => { + if (renderedPromise !== this._renderedCapability.promise) { + return; + } + const attachments = this._attachments || Object.create(null); + for (const name in attachments) { + if (filename === name) { + return; + } + } + attachments[filename] = { + filename, + content + }; + this.render({ + attachments, + keepRenderedCapability: true + }); + }); + } +} +exports.PDFAttachmentViewer = PDFAttachmentViewer; + +/***/ }), +/* 131 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseTreeViewer = void 0; +__webpack_require__(76); +var _ui_utils = __webpack_require__(97); +const TREEITEM_OFFSET_TOP = -100; +const TREEITEM_SELECTED_CLASS = "selected"; +class BaseTreeViewer { + constructor(options) { + if (this.constructor === BaseTreeViewer) { + throw new Error("Cannot initialize BaseTreeViewer."); + } + this.container = options.container; + this.eventBus = options.eventBus; + this.reset(); + } + reset() { + this._pdfDocument = null; + this._lastToggleIsShow = true; + this._currentTreeItem = null; + this.container.textContent = ""; + this.container.classList.remove("treeWithDeepNesting"); + } + _dispatchEvent(count) { + throw new Error("Not implemented: _dispatchEvent"); + } + _bindLink(element, params) { + throw new Error("Not implemented: _bindLink"); + } + _normalizeTextContent(str) { + return (0, _ui_utils.removeNullCharacters)(str, true) || "\u2013"; + } + _addToggleButton(div) { + let hidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + const toggler = document.createElement("div"); + toggler.className = "treeItemToggler"; + if (hidden) { + toggler.classList.add("treeItemsHidden"); + } + toggler.onclick = evt => { + evt.stopPropagation(); + toggler.classList.toggle("treeItemsHidden"); + if (evt.shiftKey) { + const shouldShowAll = !toggler.classList.contains("treeItemsHidden"); + this._toggleTreeItem(div, shouldShowAll); + } + }; + div.prepend(toggler); + } + _toggleTreeItem(root) { + let show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this._lastToggleIsShow = show; + for (const toggler of root.querySelectorAll(".treeItemToggler")) { + toggler.classList.toggle("treeItemsHidden", !show); + } + } + _toggleAllTreeItems() { + this._toggleTreeItem(this.container, !this._lastToggleIsShow); + } + _finishRendering(fragment, count) { + let hasAnyNesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (hasAnyNesting) { + this.container.classList.add("treeWithDeepNesting"); + this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden"); + } + this.container.append(fragment); + this._dispatchEvent(count); + } + render(params) { + throw new Error("Not implemented: render"); + } + _updateCurrentTreeItem() { + let treeItem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + if (this._currentTreeItem) { + this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS); + this._currentTreeItem = null; + } + if (treeItem) { + treeItem.classList.add(TREEITEM_SELECTED_CLASS); + this._currentTreeItem = treeItem; + } + } + _scrollToCurrentTreeItem(treeItem) { + if (!treeItem) { + return; + } + let currentNode = treeItem.parentNode; + while (currentNode && currentNode !== this.container) { + if (currentNode.classList.contains("treeItem")) { + const toggler = currentNode.firstElementChild; + toggler?.classList.remove("treeItemsHidden"); + } + currentNode = currentNode.parentNode; + } + this._updateCurrentTreeItem(treeItem); + this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP); + } +} +exports.BaseTreeViewer = BaseTreeViewer; + +/***/ }), +/* 132 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFCursorTools = void 0; +var _pdfjsLib = __webpack_require__(122); +var _ui_utils = __webpack_require__(97); +var _grab_to_pan = __webpack_require__(133); +class PDFCursorTools { + #active = _ui_utils.CursorTool.SELECT; + #prevActive = null; + constructor(_ref) { + let { + container, + eventBus, + cursorToolOnLoad = _ui_utils.CursorTool.SELECT + } = _ref; + this.container = container; + this.eventBus = eventBus; + this.#addEventListeners(); + Promise.resolve().then(() => { + this.switchTool(cursorToolOnLoad); + }); + } + get activeTool() { + return this.#active; + } + switchTool(tool) { + if (this.#prevActive !== null) { + return; + } + if (tool === this.#active) { + return; + } + const disableActiveTool = () => { + switch (this.#active) { + case _ui_utils.CursorTool.SELECT: + break; + case _ui_utils.CursorTool.HAND: + this._handTool.deactivate(); + break; + case _ui_utils.CursorTool.ZOOM: + } + }; + switch (tool) { + case _ui_utils.CursorTool.SELECT: + disableActiveTool(); + break; + case _ui_utils.CursorTool.HAND: + disableActiveTool(); + this._handTool.activate(); + break; + case _ui_utils.CursorTool.ZOOM: + default: + console.error(`switchTool: "${tool}" is an unsupported value.`); + return; + } + this.#active = tool; + this.eventBus.dispatch("cursortoolchanged", { + source: this, + tool + }); + } + #addEventListeners() { + this.eventBus._on("switchcursortool", evt => { + this.switchTool(evt.tool); + }); + let annotationEditorMode = _pdfjsLib.AnnotationEditorType.NONE, + presentationModeState = _ui_utils.PresentationModeState.NORMAL; + const disableActive = () => { + const prevActive = this.#active; + this.switchTool(_ui_utils.CursorTool.SELECT); + this.#prevActive ??= prevActive; + }; + const enableActive = () => { + const prevActive = this.#prevActive; + if (prevActive !== null && annotationEditorMode === _pdfjsLib.AnnotationEditorType.NONE && presentationModeState === _ui_utils.PresentationModeState.NORMAL) { + this.#prevActive = null; + this.switchTool(prevActive); + } + }; + this.eventBus._on("secondarytoolbarreset", evt => { + if (this.#prevActive !== null) { + annotationEditorMode = _pdfjsLib.AnnotationEditorType.NONE; + presentationModeState = _ui_utils.PresentationModeState.NORMAL; + enableActive(); + } + }); + this.eventBus._on("annotationeditormodechanged", _ref2 => { + let { + mode + } = _ref2; + annotationEditorMode = mode; + if (mode === _pdfjsLib.AnnotationEditorType.NONE) { + enableActive(); + } else { + disableActive(); + } + }); + this.eventBus._on("presentationmodechanged", _ref3 => { + let { + state + } = _ref3; + presentationModeState = state; + if (state === _ui_utils.PresentationModeState.NORMAL) { + enableActive(); + } else if (state === _ui_utils.PresentationModeState.FULLSCREEN) { + disableActive(); + } + }); + } + get _handTool() { + return (0, _pdfjsLib.shadow)(this, "_handTool", new _grab_to_pan.GrabToPan({ + element: this.container + })); + } +} +exports.PDFCursorTools = PDFCursorTools; + +/***/ }), +/* 133 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GrabToPan = void 0; +const CSS_CLASS_GRAB = "grab-to-pan-grab"; +class GrabToPan { + constructor(_ref) { + let { + element + } = _ref; + this.element = element; + this.document = element.ownerDocument; + this.activate = this.activate.bind(this); + this.deactivate = this.deactivate.bind(this); + this.toggle = this.toggle.bind(this); + this._onMouseDown = this.#onMouseDown.bind(this); + this._onMouseMove = this.#onMouseMove.bind(this); + this._endPan = this.#endPan.bind(this); + const overlay = this.overlay = document.createElement("div"); + overlay.className = "grab-to-pan-grabbing"; + } + activate() { + if (!this.active) { + this.active = true; + this.element.addEventListener("mousedown", this._onMouseDown, true); + this.element.classList.add(CSS_CLASS_GRAB); + } + } + deactivate() { + if (this.active) { + this.active = false; + this.element.removeEventListener("mousedown", this._onMouseDown, true); + this._endPan(); + this.element.classList.remove(CSS_CLASS_GRAB); + } + } + toggle() { + if (this.active) { + this.deactivate(); + } else { + this.activate(); + } + } + ignoreTarget(node) { + return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option"); + } + #onMouseDown(event) { + if (event.button !== 0 || this.ignoreTarget(event.target)) { + return; + } + if (event.originalTarget) { + try { + event.originalTarget.tagName; + } catch { + return; + } + } + this.scrollLeftStart = this.element.scrollLeft; + this.scrollTopStart = this.element.scrollTop; + this.clientXStart = event.clientX; + this.clientYStart = event.clientY; + this.document.addEventListener("mousemove", this._onMouseMove, true); + this.document.addEventListener("mouseup", this._endPan, true); + this.element.addEventListener("scroll", this._endPan, true); + event.preventDefault(); + event.stopPropagation(); + const focusedElement = document.activeElement; + if (focusedElement && !focusedElement.contains(event.target)) { + focusedElement.blur(); + } + } + #onMouseMove(event) { + this.element.removeEventListener("scroll", this._endPan, true); + if (!(event.buttons & 1)) { + this._endPan(); + return; + } + const xDiff = event.clientX - this.clientXStart; + const yDiff = event.clientY - this.clientYStart; + this.element.scrollTo({ + top: this.scrollTopStart - yDiff, + left: this.scrollLeftStart - xDiff, + behavior: "instant" + }); + if (!this.overlay.parentNode) { + document.body.append(this.overlay); + } + } + #endPan() { + this.element.removeEventListener("scroll", this._endPan, true); + this.document.removeEventListener("mousemove", this._onMouseMove, true); + this.document.removeEventListener("mouseup", this._endPan, true); + this.overlay.remove(); + } +} +exports.GrabToPan = GrabToPan; + +/***/ }), +/* 134 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDocumentProperties = void 0; +var _ui_utils = __webpack_require__(97); +var _pdfjsLib = __webpack_require__(122); +const DEFAULT_FIELD_CONTENT = "-"; +const NON_METRIC_LOCALES = ["en-us", "en-lr", "my"]; +const US_PAGE_NAMES = { + "8.5x11": "Letter", + "8.5x14": "Legal" +}; +const METRIC_PAGE_NAMES = { + "297x420": "A3", + "210x297": "A4" +}; +function getPageName(size, isPortrait, pageNames) { + const width = isPortrait ? size.width : size.height; + const height = isPortrait ? size.height : size.width; + return pageNames[`${width}x${height}`]; +} +class PDFDocumentProperties { + #fieldData = null; + constructor(_ref, overlayManager, eventBus, l10n, fileNameLookup) { + let { + dialog, + fields, + closeButton + } = _ref; + this.dialog = dialog; + this.fields = fields; + this.overlayManager = overlayManager; + this.l10n = l10n; + this._fileNameLookup = fileNameLookup; + this.#reset(); + closeButton.addEventListener("click", this.close.bind(this)); + this.overlayManager.register(this.dialog); + eventBus._on("pagechanging", evt => { + this._currentPageNumber = evt.pageNumber; + }); + eventBus._on("rotationchanging", evt => { + this._pagesRotation = evt.pagesRotation; + }); + this._isNonMetricLocale = true; + l10n.getLanguage().then(locale => { + this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale); + }); + } + async open() { + await Promise.all([this.overlayManager.open(this.dialog), this._dataAvailableCapability.promise]); + const currentPageNumber = this._currentPageNumber; + const pagesRotation = this._pagesRotation; + if (this.#fieldData && currentPageNumber === this.#fieldData._currentPageNumber && pagesRotation === this.#fieldData._pagesRotation) { + this.#updateUI(); + return; + } + const { + info, + contentLength + } = await this.pdfDocument.getMetadata(); + const [fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized] = await Promise.all([this._fileNameLookup(), this.#parseFileSize(contentLength), this.#parseDate(info.CreationDate), this.#parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(pdfPage => { + return this.#parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation); + }), this.#parseLinearization(info.IsLinearized)]); + this.#fieldData = Object.freeze({ + fileName, + fileSize, + title: info.Title, + author: info.Author, + subject: info.Subject, + keywords: info.Keywords, + creationDate, + modificationDate, + creator: info.Creator, + producer: info.Producer, + version: info.PDFFormatVersion, + pageCount: this.pdfDocument.numPages, + pageSize, + linearized: isLinearized, + _currentPageNumber: currentPageNumber, + _pagesRotation: pagesRotation + }); + this.#updateUI(); + const { + length + } = await this.pdfDocument.getDownloadInfo(); + if (contentLength === length) { + return; + } + const data = Object.assign(Object.create(null), this.#fieldData); + data.fileSize = await this.#parseFileSize(length); + this.#fieldData = Object.freeze(data); + this.#updateUI(); + } + async close() { + this.overlayManager.close(this.dialog); + } + setDocument(pdfDocument) { + if (this.pdfDocument) { + this.#reset(); + this.#updateUI(true); + } + if (!pdfDocument) { + return; + } + this.pdfDocument = pdfDocument; + this._dataAvailableCapability.resolve(); + } + #reset() { + this.pdfDocument = null; + this.#fieldData = null; + this._dataAvailableCapability = new _pdfjsLib.PromiseCapability(); + this._currentPageNumber = 1; + this._pagesRotation = 0; + } + #updateUI() { + let reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (reset || !this.#fieldData) { + for (const id in this.fields) { + this.fields[id].textContent = DEFAULT_FIELD_CONTENT; + } + return; + } + if (this.overlayManager.active !== this.dialog) { + return; + } + for (const id in this.fields) { + const content = this.#fieldData[id]; + this.fields[id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT; + } + } + async #parseFileSize() { + let fileSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + const kb = fileSize / 1024, + mb = kb / 1024; + if (!kb) { + return undefined; + } + return this.l10n.get(`document_properties_${mb >= 1 ? "mb" : "kb"}`, { + size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(), + size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(), + size_b: fileSize.toLocaleString() + }); + } + async #parsePageSize(pageSizeInches, pagesRotation) { + if (!pageSizeInches) { + return undefined; + } + if (pagesRotation % 180 !== 0) { + pageSizeInches = { + width: pageSizeInches.height, + height: pageSizeInches.width + }; + } + const isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches); + let sizeInches = { + width: Math.round(pageSizeInches.width * 100) / 100, + height: Math.round(pageSizeInches.height * 100) / 100 + }; + let sizeMillimeters = { + width: Math.round(pageSizeInches.width * 25.4 * 10) / 10, + height: Math.round(pageSizeInches.height * 25.4 * 10) / 10 + }; + let rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES); + if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) { + const exactMillimeters = { + width: pageSizeInches.width * 25.4, + height: pageSizeInches.height * 25.4 + }; + const intMillimeters = { + width: Math.round(sizeMillimeters.width), + height: Math.round(sizeMillimeters.height) + }; + if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) { + rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES); + if (rawName) { + sizeInches = { + width: Math.round(intMillimeters.width / 25.4 * 100) / 100, + height: Math.round(intMillimeters.height / 25.4 * 100) / 100 + }; + sizeMillimeters = intMillimeters; + } + } + } + const [{ + width, + height + }, unit, name, orientation] = await Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get(`document_properties_page_size_unit_${this._isNonMetricLocale ? "inches" : "millimeters"}`), rawName && this.l10n.get(`document_properties_page_size_name_${rawName.toLowerCase()}`), this.l10n.get(`document_properties_page_size_orientation_${isPortrait ? "portrait" : "landscape"}`)]); + return this.l10n.get(`document_properties_page_size_dimension_${name ? "name_" : ""}string`, { + width: width.toLocaleString(), + height: height.toLocaleString(), + unit, + name, + orientation + }); + } + async #parseDate(inputDate) { + const dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate); + if (!dateObject) { + return undefined; + } + return this.l10n.get("document_properties_date_string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + } + #parseLinearization(isLinearized) { + return this.l10n.get(`document_properties_linearized_${isLinearized ? "yes" : "no"}`); + } +} +exports.PDFDocumentProperties = PDFDocumentProperties; + +/***/ }), +/* 135 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFindBar = void 0; +var _pdf_find_controller = __webpack_require__(136); +var _ui_utils = __webpack_require__(97); +const MATCHES_COUNT_LIMIT = 1000; +class PDFFindBar { + constructor(options, eventBus, l10n) { + this.opened = false; + this.bar = options.bar; + this.toggleButton = options.toggleButton; + this.findField = options.findField; + this.highlightAll = options.highlightAllCheckbox; + this.caseSensitive = options.caseSensitiveCheckbox; + this.matchDiacritics = options.matchDiacriticsCheckbox; + this.entireWord = options.entireWordCheckbox; + this.findMsg = options.findMsg; + this.findResultsCount = options.findResultsCount; + this.findPreviousButton = options.findPreviousButton; + this.findNextButton = options.findNextButton; + this.eventBus = eventBus; + this.l10n = l10n; + this.toggleButton.addEventListener("click", () => { + this.toggle(); + }); + this.findField.addEventListener("input", () => { + this.dispatchEvent(""); + }); + this.bar.addEventListener("keydown", e => { + switch (e.keyCode) { + case 13: + if (e.target === this.findField) { + this.dispatchEvent("again", e.shiftKey); + } + break; + case 27: + this.close(); + break; + } + }); + this.findPreviousButton.addEventListener("click", () => { + this.dispatchEvent("again", true); + }); + this.findNextButton.addEventListener("click", () => { + this.dispatchEvent("again", false); + }); + this.highlightAll.addEventListener("click", () => { + this.dispatchEvent("highlightallchange"); + }); + this.caseSensitive.addEventListener("click", () => { + this.dispatchEvent("casesensitivitychange"); + }); + this.entireWord.addEventListener("click", () => { + this.dispatchEvent("entirewordchange"); + }); + this.matchDiacritics.addEventListener("click", () => { + this.dispatchEvent("diacriticmatchingchange"); + }); + this.eventBus._on("resize", this.#adjustWidth.bind(this)); + } + reset() { + this.updateUIState(); + } + dispatchEvent(type) { + let findPrev = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this.eventBus.dispatch("find", { + source: this, + type, + query: this.findField.value, + caseSensitive: this.caseSensitive.checked, + entireWord: this.entireWord.checked, + highlightAll: this.highlightAll.checked, + findPrevious: findPrev, + matchDiacritics: this.matchDiacritics.checked + }); + } + updateUIState(state, previous, matchesCount) { + let findMsg = Promise.resolve(""); + let status = ""; + switch (state) { + case _pdf_find_controller.FindState.FOUND: + break; + case _pdf_find_controller.FindState.PENDING: + status = "pending"; + break; + case _pdf_find_controller.FindState.NOT_FOUND: + findMsg = this.l10n.get("find_not_found"); + status = "notFound"; + break; + case _pdf_find_controller.FindState.WRAPPED: + findMsg = this.l10n.get(`find_reached_${previous ? "top" : "bottom"}`); + break; + } + this.findField.setAttribute("data-status", status); + this.findField.setAttribute("aria-invalid", state === _pdf_find_controller.FindState.NOT_FOUND); + findMsg.then(msg => { + this.findMsg.setAttribute("data-status", status); + this.findMsg.textContent = msg; + this.#adjustWidth(); + }); + this.updateResultsCount(matchesCount); + } + updateResultsCount() { + let { + current = 0, + total = 0 + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const limit = MATCHES_COUNT_LIMIT; + let matchCountMsg = Promise.resolve(""); + if (total > 0) { + if (total > limit) { + let key = "find_match_count_limit"; + matchCountMsg = this.l10n.get(key, { + limit + }); + } else { + let key = "find_match_count"; + matchCountMsg = this.l10n.get(key, { + current, + total + }); + } + } + matchCountMsg.then(msg => { + this.findResultsCount.textContent = msg; + this.#adjustWidth(); + }); + } + open() { + if (!this.opened) { + this.opened = true; + (0, _ui_utils.toggleExpandedBtn)(this.toggleButton, true, this.bar); + } + this.findField.select(); + this.findField.focus(); + this.#adjustWidth(); + } + close() { + if (!this.opened) { + return; + } + this.opened = false; + (0, _ui_utils.toggleExpandedBtn)(this.toggleButton, false, this.bar); + this.eventBus.dispatch("findbarclose", { + source: this + }); + } + toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } + #adjustWidth() { + if (!this.opened) { + return; + } + this.bar.classList.remove("wrapContainers"); + const findbarHeight = this.bar.clientHeight; + const inputContainerHeight = this.bar.firstElementChild.clientHeight; + if (findbarHeight > inputContainerHeight) { + this.bar.classList.add("wrapContainers"); + } + } +} +exports.PDFFindBar = PDFFindBar; + +/***/ }), +/* 136 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFindController = exports.FindState = void 0; +__webpack_require__(98); +__webpack_require__(109); +__webpack_require__(111); +__webpack_require__(114); +__webpack_require__(116); +__webpack_require__(118); +__webpack_require__(120); +__webpack_require__(89); +var _ui_utils = __webpack_require__(97); +var _pdf_find_utils = __webpack_require__(137); +var _pdfjsLib = __webpack_require__(122); +const FindState = { + FOUND: 0, + NOT_FOUND: 1, + WRAPPED: 2, + PENDING: 3 +}; +exports.FindState = FindState; +const FIND_TIMEOUT = 250; +const MATCH_SCROLL_OFFSET_TOP = -50; +const MATCH_SCROLL_OFFSET_LEFT = -400; +const CHARACTERS_TO_NORMALIZE = { + "\u2010": "-", + "\u2018": "'", + "\u2019": "'", + "\u201A": "'", + "\u201B": "'", + "\u201C": '"', + "\u201D": '"', + "\u201E": '"', + "\u201F": '"', + "\u00BC": "1/4", + "\u00BD": "1/2", + "\u00BE": "3/4" +}; +const DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]); +let DIACRITICS_EXCEPTION_STR; +const DIACRITICS_REG_EXP = /\p{M}+/gu; +const SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M})|(\p{L})/gu; +const NOT_DIACRITIC_FROM_END_REG_EXP = /([^\p{M}])\p{M}*$/u; +const NOT_DIACRITIC_FROM_START_REG_EXP = /^\p{M}*([^\p{M}])/u; +const SYLLABLES_REG_EXP = /[\uAC00-\uD7AF\uFA6C\uFACF-\uFAD1\uFAD5-\uFAD7]+/g; +const SYLLABLES_LENGTHS = new Map(); +const FIRST_CHAR_SYLLABLES_REG_EXP = "[\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud84c\\ud850\\ud854\\ud857\\ud85f]"; +const NFKC_CHARS_TO_NORMALIZE = new Map(); +let noSyllablesRegExp = null; +let withSyllablesRegExp = null; +function normalize(text) { + const syllablePositions = []; + let m; + while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) { + let { + index + } = m; + for (const char of m[0]) { + let len = SYLLABLES_LENGTHS.get(char); + if (!len) { + len = char.normalize("NFD").length; + SYLLABLES_LENGTHS.set(char, len); + } + syllablePositions.push([len, index++]); + } + } + let normalizationRegex; + if (syllablePositions.length === 0 && noSyllablesRegExp) { + normalizationRegex = noSyllablesRegExp; + } else if (syllablePositions.length > 0 && withSyllablesRegExp) { + normalizationRegex = withSyllablesRegExp; + } else { + const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(""); + const toNormalizeWithNFKC = (0, _pdf_find_utils.getNormalizeWithNFKC)(); + const CJK = "(?:\\p{Ideographic}|[\u3040-\u30FF])"; + const HKDiacritics = "(?:\u3099|\u309A)"; + const regexp = `([${replace}])|([${toNormalizeWithNFKC}])|(${HKDiacritics}\\n)|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|(${CJK}\\n)|(\\n)`; + if (syllablePositions.length === 0) { + normalizationRegex = noSyllablesRegExp = new RegExp(regexp + "|(\\u0000)", "gum"); + } else { + normalizationRegex = withSyllablesRegExp = new RegExp(regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`, "gum"); + } + } + const rawDiacriticsPositions = []; + while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) { + rawDiacriticsPositions.push([m[0].length, m.index]); + } + let normalized = text.normalize("NFD"); + const positions = [[0, 0]]; + let rawDiacriticsIndex = 0; + let syllableIndex = 0; + let shift = 0; + let shiftOrigin = 0; + let eol = 0; + let hasDiacritics = false; + normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, p6, p7, p8, i) => { + i -= shiftOrigin; + if (p1) { + const replacement = CHARACTERS_TO_NORMALIZE[p1]; + const jj = replacement.length; + for (let j = 1; j < jj; j++) { + positions.push([i - shift + j, shift - j]); + } + shift -= jj - 1; + return replacement; + } + if (p2) { + let replacement = NFKC_CHARS_TO_NORMALIZE.get(p2); + if (!replacement) { + replacement = p2.normalize("NFKC"); + NFKC_CHARS_TO_NORMALIZE.set(p2, replacement); + } + const jj = replacement.length; + for (let j = 1; j < jj; j++) { + positions.push([i - shift + j, shift - j]); + } + shift -= jj - 1; + return replacement; + } + if (p3) { + hasDiacritics = true; + if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) { + ++rawDiacriticsIndex; + } else { + positions.push([i - 1 - shift + 1, shift - 1]); + shift -= 1; + shiftOrigin += 1; + } + positions.push([i - shift + 1, shift]); + shiftOrigin += 1; + eol += 1; + return p3.charAt(0); + } + if (p4) { + const hasTrailingDashEOL = p4.endsWith("\n"); + const len = hasTrailingDashEOL ? p4.length - 2 : p4.length; + hasDiacritics = true; + let jj = len; + if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) { + jj -= rawDiacriticsPositions[rawDiacriticsIndex][0]; + ++rawDiacriticsIndex; + } + for (let j = 1; j <= jj; j++) { + positions.push([i - 1 - shift + j, shift - j]); + } + shift -= jj; + shiftOrigin += jj; + if (hasTrailingDashEOL) { + i += len - 1; + positions.push([i - shift + 1, 1 + shift]); + shift += 1; + shiftOrigin += 1; + eol += 1; + return p4.slice(0, len); + } + return p4; + } + if (p5) { + const len = p5.length - 2; + positions.push([i - shift + len, 1 + shift]); + shift += 1; + shiftOrigin += 1; + eol += 1; + return p5.slice(0, -2); + } + if (p6) { + const len = p6.length - 1; + positions.push([i - shift + len, shift]); + shiftOrigin += 1; + eol += 1; + return p6.slice(0, -1); + } + if (p7) { + positions.push([i - shift + 1, shift - 1]); + shift -= 1; + shiftOrigin += 1; + eol += 1; + return " "; + } + if (i + eol === syllablePositions[syllableIndex]?.[1]) { + const newCharLen = syllablePositions[syllableIndex][0] - 1; + ++syllableIndex; + for (let j = 1; j <= newCharLen; j++) { + positions.push([i - (shift - j), shift - j]); + } + shift -= newCharLen; + shiftOrigin += newCharLen; + } + return p8; + }); + positions.push([normalized.length, shift]); + return [normalized, positions, hasDiacritics]; +} +function getOriginalIndex(diffs, pos, len) { + if (!diffs) { + return [pos, len]; + } + const start = pos; + const end = pos + len - 1; + let i = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= start); + if (diffs[i][0] > start) { + --i; + } + let j = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= end, i); + if (diffs[j][0] > end) { + --j; + } + const oldStart = start + diffs[i][1]; + const oldEnd = end + diffs[j][1]; + const oldLen = oldEnd + 1 - oldStart; + return [oldStart, oldLen]; +} +class PDFFindController { + #state = null; + #updateMatchesCountOnProgress = true; + #visitedPagesCount = 0; + constructor(_ref) { + let { + linkService, + eventBus, + updateMatchesCountOnProgress = true + } = _ref; + this._linkService = linkService; + this._eventBus = eventBus; + this.#updateMatchesCountOnProgress = updateMatchesCountOnProgress; + this.onIsPageVisible = null; + this.#reset(); + eventBus._on("find", this.#onFind.bind(this)); + eventBus._on("findbarclose", this.#onFindBarClose.bind(this)); + } + get highlightMatches() { + return this._highlightMatches; + } + get pageMatches() { + return this._pageMatches; + } + get pageMatchesLength() { + return this._pageMatchesLength; + } + get selected() { + return this._selected; + } + get state() { + return this.#state; + } + setDocument(pdfDocument) { + if (this._pdfDocument) { + this.#reset(); + } + if (!pdfDocument) { + return; + } + this._pdfDocument = pdfDocument; + this._firstPageCapability.resolve(); + } + #onFind(state) { + if (!state) { + return; + } + if (state.phraseSearch === false) { + console.error("The `phraseSearch`-parameter was removed, please provide " + "an Array of strings in the `query`-parameter instead."); + if (typeof state.query === "string") { + state.query = state.query.match(/\S+/g); + } + } + const pdfDocument = this._pdfDocument; + const { + type + } = state; + if (this.#state === null || this.#shouldDirtyMatch(state)) { + this._dirtyMatch = true; + } + this.#state = state; + if (type !== "highlightallchange") { + this.#updateUIState(FindState.PENDING); + } + this._firstPageCapability.promise.then(() => { + if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) { + return; + } + this.#extractText(); + const findbarClosed = !this._highlightMatches; + const pendingTimeout = !!this._findTimeout; + if (this._findTimeout) { + clearTimeout(this._findTimeout); + this._findTimeout = null; + } + if (!type) { + this._findTimeout = setTimeout(() => { + this.#nextMatch(); + this._findTimeout = null; + }, FIND_TIMEOUT); + } else if (this._dirtyMatch) { + this.#nextMatch(); + } else if (type === "again") { + this.#nextMatch(); + if (findbarClosed && this.#state.highlightAll) { + this.#updateAllPages(); + } + } else if (type === "highlightallchange") { + if (pendingTimeout) { + this.#nextMatch(); + } else { + this._highlightMatches = true; + } + this.#updateAllPages(); + } else { + this.#nextMatch(); + } + }); + } + scrollMatchIntoView(_ref2) { + let { + element = null, + selectedLeft = 0, + pageIndex = -1, + matchIndex = -1 + } = _ref2; + if (!this._scrollMatches || !element) { + return; + } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) { + return; + } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) { + return; + } + this._scrollMatches = false; + const spot = { + top: MATCH_SCROLL_OFFSET_TOP, + left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT + }; + (0, _ui_utils.scrollIntoView)(element, spot, true); + } + #reset() { + this._highlightMatches = false; + this._scrollMatches = false; + this._pdfDocument = null; + this._pageMatches = []; + this._pageMatchesLength = []; + this.#visitedPagesCount = 0; + this.#state = null; + this._selected = { + pageIdx: -1, + matchIdx: -1 + }; + this._offset = { + pageIdx: null, + matchIdx: null, + wrapped: false + }; + this._extractTextPromises = []; + this._pageContents = []; + this._pageDiffs = []; + this._hasDiacritics = []; + this._matchesCountTotal = 0; + this._pagesToSearch = null; + this._pendingFindMatches = new Set(); + this._resumePageIdx = null; + this._dirtyMatch = false; + clearTimeout(this._findTimeout); + this._findTimeout = null; + this._firstPageCapability = new _pdfjsLib.PromiseCapability(); + } + get #query() { + const { + query + } = this.#state; + if (typeof query === "string") { + if (query !== this._rawQuery) { + this._rawQuery = query; + [this._normalizedQuery] = normalize(query); + } + return this._normalizedQuery; + } + return (query || []).filter(q => !!q).map(q => normalize(q)[0]); + } + #shouldDirtyMatch(state) { + const newQuery = state.query, + prevQuery = this.#state.query; + const newType = typeof newQuery, + prevType = typeof prevQuery; + if (newType !== prevType) { + return true; + } + if (newType === "string") { + if (newQuery !== prevQuery) { + return true; + } + } else if (JSON.stringify(newQuery) !== JSON.stringify(prevQuery)) { + return true; + } + switch (state.type) { + case "again": + const pageNumber = this._selected.pageIdx + 1; + const linkService = this._linkService; + return pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !(this.onIsPageVisible?.(pageNumber) ?? true); + case "highlightallchange": + return false; + } + return true; + } + #isEntireWord(content, startIdx, length) { + let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP); + if (match) { + const first = content.charCodeAt(startIdx); + const limit = match[1].charCodeAt(0); + if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) { + return false; + } + } + match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP); + if (match) { + const last = content.charCodeAt(startIdx + length - 1); + const limit = match[1].charCodeAt(0); + if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) { + return false; + } + } + return true; + } + #calculateRegExpMatch(query, entireWord, pageIndex, pageContent) { + const matches = this._pageMatches[pageIndex] = []; + const matchesLength = this._pageMatchesLength[pageIndex] = []; + if (!query) { + return; + } + const diffs = this._pageDiffs[pageIndex]; + let match; + while ((match = query.exec(pageContent)) !== null) { + if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) { + continue; + } + const [matchPos, matchLen] = getOriginalIndex(diffs, match.index, match[0].length); + if (matchLen) { + matches.push(matchPos); + matchesLength.push(matchLen); + } + } + } + #convertToRegExpString(query, hasDiacritics) { + const { + matchDiacritics + } = this.#state; + let isUnicode = false; + query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => { + if (p1) { + return `[ ]*\\${p1}[ ]*`; + } + if (p2) { + return `[ ]*${p2}[ ]*`; + } + if (p3) { + return "[ ]+"; + } + if (matchDiacritics) { + return p4 || p5; + } + if (p4) { + return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : ""; + } + if (hasDiacritics) { + isUnicode = true; + return `${p5}\\p{M}*`; + } + return p5; + }); + const trailingSpaces = "[ ]*"; + if (query.endsWith(trailingSpaces)) { + query = query.slice(0, query.length - trailingSpaces.length); + } + if (matchDiacritics) { + if (hasDiacritics) { + DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(...DIACRITICS_EXCEPTION); + isUnicode = true; + query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\p{M}]|$)`; + } + } + return [isUnicode, query]; + } + #calculateMatch(pageIndex) { + let query = this.#query; + if (query.length === 0) { + return; + } + const { + caseSensitive, + entireWord + } = this.#state; + const pageContent = this._pageContents[pageIndex]; + const hasDiacritics = this._hasDiacritics[pageIndex]; + let isUnicode = false; + if (typeof query === "string") { + [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics); + } else { + query = query.sort().reverse().map(q => { + const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics); + isUnicode ||= isUnicodePart; + return `(${queryPart})`; + }).join("|"); + } + const flags = `g${isUnicode ? "u" : ""}${caseSensitive ? "" : "i"}`; + query = query ? new RegExp(query, flags) : null; + this.#calculateRegExpMatch(query, entireWord, pageIndex, pageContent); + if (this.#state.highlightAll) { + this.#updatePage(pageIndex); + } + if (this._resumePageIdx === pageIndex) { + this._resumePageIdx = null; + this.#nextPageMatch(); + } + const pageMatchesCount = this._pageMatches[pageIndex].length; + this._matchesCountTotal += pageMatchesCount; + if (this.#updateMatchesCountOnProgress) { + if (pageMatchesCount > 0) { + this.#updateUIResultsCount(); + } + } else if (++this.#visitedPagesCount === this._linkService.pagesCount) { + this.#updateUIResultsCount(); + } + } + #extractText() { + if (this._extractTextPromises.length > 0) { + return; + } + let promise = Promise.resolve(); + const textOptions = { + disableNormalization: true + }; + for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) { + const extractTextCapability = new _pdfjsLib.PromiseCapability(); + this._extractTextPromises[i] = extractTextCapability.promise; + promise = promise.then(() => { + return this._pdfDocument.getPage(i + 1).then(pdfPage => { + return pdfPage.getTextContent(textOptions); + }).then(textContent => { + const strBuf = []; + for (const textItem of textContent.items) { + strBuf.push(textItem.str); + if (textItem.hasEOL) { + strBuf.push("\n"); + } + } + [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join("")); + extractTextCapability.resolve(); + }, reason => { + console.error(`Unable to get text content for page ${i + 1}`, reason); + this._pageContents[i] = ""; + this._pageDiffs[i] = null; + this._hasDiacritics[i] = false; + extractTextCapability.resolve(); + }); + }); + } + } + #updatePage(index) { + if (this._scrollMatches && this._selected.pageIdx === index) { + this._linkService.page = index + 1; + } + this._eventBus.dispatch("updatetextlayermatches", { + source: this, + pageIndex: index + }); + } + #updateAllPages() { + this._eventBus.dispatch("updatetextlayermatches", { + source: this, + pageIndex: -1 + }); + } + #nextMatch() { + const previous = this.#state.findPrevious; + const currentPageIndex = this._linkService.page - 1; + const numPages = this._linkService.pagesCount; + this._highlightMatches = true; + if (this._dirtyMatch) { + this._dirtyMatch = false; + this._selected.pageIdx = this._selected.matchIdx = -1; + this._offset.pageIdx = currentPageIndex; + this._offset.matchIdx = null; + this._offset.wrapped = false; + this._resumePageIdx = null; + this._pageMatches.length = 0; + this._pageMatchesLength.length = 0; + this.#visitedPagesCount = 0; + this._matchesCountTotal = 0; + this.#updateAllPages(); + for (let i = 0; i < numPages; i++) { + if (this._pendingFindMatches.has(i)) { + continue; + } + this._pendingFindMatches.add(i); + this._extractTextPromises[i].then(() => { + this._pendingFindMatches.delete(i); + this.#calculateMatch(i); + }); + } + } + const query = this.#query; + if (query.length === 0) { + this.#updateUIState(FindState.FOUND); + return; + } + if (this._resumePageIdx) { + return; + } + const offset = this._offset; + this._pagesToSearch = numPages; + if (offset.matchIdx !== null) { + const numPageMatches = this._pageMatches[offset.pageIdx].length; + if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) { + offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1; + this.#updateMatch(true); + return; + } + this.#advanceOffsetPage(previous); + } + this.#nextPageMatch(); + } + #matchesReady(matches) { + const offset = this._offset; + const numMatches = matches.length; + const previous = this.#state.findPrevious; + if (numMatches) { + offset.matchIdx = previous ? numMatches - 1 : 0; + this.#updateMatch(true); + return true; + } + this.#advanceOffsetPage(previous); + if (offset.wrapped) { + offset.matchIdx = null; + if (this._pagesToSearch < 0) { + this.#updateMatch(false); + return true; + } + } + return false; + } + #nextPageMatch() { + if (this._resumePageIdx !== null) { + console.error("There can only be one pending page."); + } + let matches = null; + do { + const pageIdx = this._offset.pageIdx; + matches = this._pageMatches[pageIdx]; + if (!matches) { + this._resumePageIdx = pageIdx; + break; + } + } while (!this.#matchesReady(matches)); + } + #advanceOffsetPage(previous) { + const offset = this._offset; + const numPages = this._linkService.pagesCount; + offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1; + offset.matchIdx = null; + this._pagesToSearch--; + if (offset.pageIdx >= numPages || offset.pageIdx < 0) { + offset.pageIdx = previous ? numPages - 1 : 0; + offset.wrapped = true; + } + } + #updateMatch() { + let found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + let state = FindState.NOT_FOUND; + const wrapped = this._offset.wrapped; + this._offset.wrapped = false; + if (found) { + const previousPage = this._selected.pageIdx; + this._selected.pageIdx = this._offset.pageIdx; + this._selected.matchIdx = this._offset.matchIdx; + state = wrapped ? FindState.WRAPPED : FindState.FOUND; + if (previousPage !== -1 && previousPage !== this._selected.pageIdx) { + this.#updatePage(previousPage); + } + } + this.#updateUIState(state, this.#state.findPrevious); + if (this._selected.pageIdx !== -1) { + this._scrollMatches = true; + this.#updatePage(this._selected.pageIdx); + } + } + #onFindBarClose(evt) { + const pdfDocument = this._pdfDocument; + this._firstPageCapability.promise.then(() => { + if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) { + return; + } + if (this._findTimeout) { + clearTimeout(this._findTimeout); + this._findTimeout = null; + } + if (this._resumePageIdx) { + this._resumePageIdx = null; + this._dirtyMatch = true; + } + this.#updateUIState(FindState.FOUND); + this._highlightMatches = false; + this.#updateAllPages(); + }); + } + #requestMatchesCount() { + const { + pageIdx, + matchIdx + } = this._selected; + let current = 0, + total = this._matchesCountTotal; + if (matchIdx !== -1) { + for (let i = 0; i < pageIdx; i++) { + current += this._pageMatches[i]?.length || 0; + } + current += matchIdx + 1; + } + if (current < 1 || current > total) { + current = total = 0; + } + return { + current, + total + }; + } + #updateUIResultsCount() { + this._eventBus.dispatch("updatefindmatchescount", { + source: this, + matchesCount: this.#requestMatchesCount() + }); + } + #updateUIState(state) { + let previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!this.#updateMatchesCountOnProgress && (this.#visitedPagesCount !== this._linkService.pagesCount || state === FindState.PENDING)) { + return; + } + this._eventBus.dispatch("updatefindcontrolstate", { + source: this, + state, + previous, + matchesCount: this.#requestMatchesCount(), + rawQuery: this.#state?.query ?? null + }); + } +} +exports.PDFFindController = PDFFindController; + +/***/ }), +/* 137 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CharacterType = void 0; +exports.getCharacterType = getCharacterType; +exports.getNormalizeWithNFKC = getNormalizeWithNFKC; +const CharacterType = { + SPACE: 0, + ALPHA_LETTER: 1, + PUNCT: 2, + HAN_LETTER: 3, + KATAKANA_LETTER: 4, + HIRAGANA_LETTER: 5, + HALFWIDTH_KATAKANA_LETTER: 6, + THAI_LETTER: 7 +}; +exports.CharacterType = CharacterType; +function isAlphabeticalScript(charCode) { + return charCode < 0x2e80; +} +function isAscii(charCode) { + return (charCode & 0xff80) === 0; +} +function isAsciiAlpha(charCode) { + return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a; +} +function isAsciiDigit(charCode) { + return charCode >= 0x30 && charCode <= 0x39; +} +function isAsciiSpace(charCode) { + return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a; +} +function isHan(charCode) { + return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff; +} +function isKatakana(charCode) { + return charCode >= 0x30a0 && charCode <= 0x30ff; +} +function isHiragana(charCode) { + return charCode >= 0x3040 && charCode <= 0x309f; +} +function isHalfwidthKatakana(charCode) { + return charCode >= 0xff60 && charCode <= 0xff9f; +} +function isThai(charCode) { + return (charCode & 0xff80) === 0x0e00; +} +function getCharacterType(charCode) { + if (isAlphabeticalScript(charCode)) { + if (isAscii(charCode)) { + if (isAsciiSpace(charCode)) { + return CharacterType.SPACE; + } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) { + return CharacterType.ALPHA_LETTER; + } + return CharacterType.PUNCT; + } else if (isThai(charCode)) { + return CharacterType.THAI_LETTER; + } else if (charCode === 0xa0) { + return CharacterType.SPACE; + } + return CharacterType.ALPHA_LETTER; + } + if (isHan(charCode)) { + return CharacterType.HAN_LETTER; + } else if (isKatakana(charCode)) { + return CharacterType.KATAKANA_LETTER; + } else if (isHiragana(charCode)) { + return CharacterType.HIRAGANA_LETTER; + } else if (isHalfwidthKatakana(charCode)) { + return CharacterType.HALFWIDTH_KATAKANA_LETTER; + } + return CharacterType.ALPHA_LETTER; +} +let NormalizeWithNFKC; +function getNormalizeWithNFKC() { + NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`; + return NormalizeWithNFKC; +} + +/***/ }), +/* 138 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFHistory = void 0; +exports.isDestArraysEqual = isDestArraysEqual; +exports.isDestHashesEqual = isDestHashesEqual; +var _ui_utils = __webpack_require__(97); +var _event_utils = __webpack_require__(124); +const HASH_CHANGE_TIMEOUT = 1000; +const POSITION_UPDATED_THRESHOLD = 50; +const UPDATE_VIEWAREA_TIMEOUT = 1000; +function getCurrentHash() { + return document.location.hash; +} +class PDFHistory { + constructor(_ref) { + let { + linkService, + eventBus + } = _ref; + this.linkService = linkService; + this.eventBus = eventBus; + this._initialized = false; + this._fingerprint = ""; + this.reset(); + this._boundEvents = null; + this.eventBus._on("pagesinit", () => { + this._isPagesLoaded = false; + this.eventBus._on("pagesloaded", evt => { + this._isPagesLoaded = !!evt.pagesCount; + }, { + once: true + }); + }); + } + initialize(_ref2) { + let { + fingerprint, + resetHistory = false, + updateUrl = false + } = _ref2; + if (!fingerprint || typeof fingerprint !== "string") { + console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.'); + return; + } + if (this._initialized) { + this.reset(); + } + const reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint; + this._fingerprint = fingerprint; + this._updateUrl = updateUrl === true; + this._initialized = true; + this._bindEvents(); + const state = window.history.state; + this._popStateInProgress = false; + this._blockHashChange = 0; + this._currentHash = getCurrentHash(); + this._numPositionUpdates = 0; + this._uid = this._maxUid = 0; + this._destination = null; + this._position = null; + if (!this._isValidState(state, true) || resetHistory) { + const { + hash, + page, + rotation + } = this._parseCurrentHash(true); + if (!hash || reInitialized || resetHistory) { + this._pushOrReplaceState(null, true); + return; + } + this._pushOrReplaceState({ + hash, + page, + rotation + }, true); + return; + } + const destination = state.destination; + this._updateInternalState(destination, state.uid, true); + if (destination.rotation !== undefined) { + this._initialRotation = destination.rotation; + } + if (destination.dest) { + this._initialBookmark = JSON.stringify(destination.dest); + this._destination.page = null; + } else if (destination.hash) { + this._initialBookmark = destination.hash; + } else if (destination.page) { + this._initialBookmark = `page=${destination.page}`; + } + } + reset() { + if (this._initialized) { + this._pageHide(); + this._initialized = false; + this._unbindEvents(); + } + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + this._initialBookmark = null; + this._initialRotation = null; + } + push(_ref3) { + let { + namedDest = null, + explicitDest, + pageNumber + } = _ref3; + if (!this._initialized) { + return; + } + if (namedDest && typeof namedDest !== "string") { + console.error("PDFHistory.push: " + `"${namedDest}" is not a valid namedDest parameter.`); + return; + } else if (!Array.isArray(explicitDest)) { + console.error("PDFHistory.push: " + `"${explicitDest}" is not a valid explicitDest parameter.`); + return; + } else if (!this._isValidPage(pageNumber)) { + if (pageNumber !== null || this._destination) { + console.error("PDFHistory.push: " + `"${pageNumber}" is not a valid pageNumber parameter.`); + return; + } + } + const hash = namedDest || JSON.stringify(explicitDest); + if (!hash) { + return; + } + let forceReplace = false; + if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) { + if (this._destination.page) { + return; + } + forceReplace = true; + } + if (this._popStateInProgress && !forceReplace) { + return; + } + this._pushOrReplaceState({ + dest: explicitDest, + hash, + page: pageNumber, + rotation: this.linkService.rotation + }, forceReplace); + if (!this._popStateInProgress) { + this._popStateInProgress = true; + Promise.resolve().then(() => { + this._popStateInProgress = false; + }); + } + } + pushPage(pageNumber) { + if (!this._initialized) { + return; + } + if (!this._isValidPage(pageNumber)) { + console.error(`PDFHistory.pushPage: "${pageNumber}" is not a valid page number.`); + return; + } + if (this._destination?.page === pageNumber) { + return; + } + if (this._popStateInProgress) { + return; + } + this._pushOrReplaceState({ + dest: null, + hash: `page=${pageNumber}`, + page: pageNumber, + rotation: this.linkService.rotation + }); + if (!this._popStateInProgress) { + this._popStateInProgress = true; + Promise.resolve().then(() => { + this._popStateInProgress = false; + }); + } + } + pushCurrentPosition() { + if (!this._initialized || this._popStateInProgress) { + return; + } + this._tryPushCurrentPosition(); + } + back() { + if (!this._initialized || this._popStateInProgress) { + return; + } + const state = window.history.state; + if (this._isValidState(state) && state.uid > 0) { + window.history.back(); + } + } + forward() { + if (!this._initialized || this._popStateInProgress) { + return; + } + const state = window.history.state; + if (this._isValidState(state) && state.uid < this._maxUid) { + window.history.forward(); + } + } + get popStateInProgress() { + return this._initialized && (this._popStateInProgress || this._blockHashChange > 0); + } + get initialBookmark() { + return this._initialized ? this._initialBookmark : null; + } + get initialRotation() { + return this._initialized ? this._initialRotation : null; + } + _pushOrReplaceState(destination) { + let forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + const shouldReplace = forceReplace || !this._destination; + const newState = { + fingerprint: this._fingerprint, + uid: shouldReplace ? this._uid : this._uid + 1, + destination + }; + this._updateInternalState(destination, newState.uid); + let newUrl; + if (this._updateUrl && destination?.hash) { + const baseUrl = document.location.href.split("#")[0]; + if (!baseUrl.startsWith("file://")) { + newUrl = `${baseUrl}#${destination.hash}`; + } + } + if (shouldReplace) { + window.history.replaceState(newState, "", newUrl); + } else { + window.history.pushState(newState, "", newUrl); + } + } + _tryPushCurrentPosition() { + let temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (!this._position) { + return; + } + let position = this._position; + if (temporary) { + position = Object.assign(Object.create(null), this._position); + position.temporary = true; + } + if (!this._destination) { + this._pushOrReplaceState(position); + return; + } + if (this._destination.temporary) { + this._pushOrReplaceState(position, true); + return; + } + if (this._destination.hash === position.hash) { + return; + } + if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) { + return; + } + let forceReplace = false; + if (this._destination.page >= position.first && this._destination.page <= position.page) { + if (this._destination.dest !== undefined || !this._destination.first) { + return; + } + forceReplace = true; + } + this._pushOrReplaceState(position, forceReplace); + } + _isValidPage(val) { + return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount; + } + _isValidState(state) { + let checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (!state) { + return false; + } + if (state.fingerprint !== this._fingerprint) { + if (checkReload) { + if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) { + return false; + } + const [perfEntry] = performance.getEntriesByType("navigation"); + if (perfEntry?.type !== "reload") { + return false; + } + } else { + return false; + } + } + if (!Number.isInteger(state.uid) || state.uid < 0) { + return false; + } + if (state.destination === null || typeof state.destination !== "object") { + return false; + } + return true; + } + _updateInternalState(destination, uid) { + let removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + if (removeTemporary && destination?.temporary) { + delete destination.temporary; + } + this._destination = destination; + this._uid = uid; + this._maxUid = Math.max(this._maxUid, uid); + this._numPositionUpdates = 0; + } + _parseCurrentHash() { + let checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + const hash = unescape(getCurrentHash()).substring(1); + const params = (0, _ui_utils.parseQueryString)(hash); + const nameddest = params.get("nameddest") || ""; + let page = params.get("page") | 0; + if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) { + page = null; + } + return { + hash, + page, + rotation: this.linkService.rotation + }; + } + _updateViewarea(_ref4) { + let { + location + } = _ref4; + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + this._position = { + hash: location.pdfOpenParams.substring(1), + page: this.linkService.page, + first: location.pageNumber, + rotation: location.rotation + }; + if (this._popStateInProgress) { + return; + } + if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) { + this._numPositionUpdates++; + } + if (UPDATE_VIEWAREA_TIMEOUT > 0) { + this._updateViewareaTimeout = setTimeout(() => { + if (!this._popStateInProgress) { + this._tryPushCurrentPosition(true); + } + this._updateViewareaTimeout = null; + }, UPDATE_VIEWAREA_TIMEOUT); + } + } + _popState(_ref5) { + let { + state + } = _ref5; + const newHash = getCurrentHash(), + hashChanged = this._currentHash !== newHash; + this._currentHash = newHash; + if (!state) { + this._uid++; + const { + hash, + page, + rotation + } = this._parseCurrentHash(); + this._pushOrReplaceState({ + hash, + page, + rotation + }, true); + return; + } + if (!this._isValidState(state)) { + return; + } + this._popStateInProgress = true; + if (hashChanged) { + this._blockHashChange++; + (0, _event_utils.waitOnEventOrTimeout)({ + target: window, + name: "hashchange", + delay: HASH_CHANGE_TIMEOUT + }).then(() => { + this._blockHashChange--; + }); + } + const destination = state.destination; + this._updateInternalState(destination, state.uid, true); + if ((0, _ui_utils.isValidRotation)(destination.rotation)) { + this.linkService.rotation = destination.rotation; + } + if (destination.dest) { + this.linkService.goToDestination(destination.dest); + } else if (destination.hash) { + this.linkService.setHash(destination.hash); + } else if (destination.page) { + this.linkService.page = destination.page; + } + Promise.resolve().then(() => { + this._popStateInProgress = false; + }); + } + _pageHide() { + if (!this._destination || this._destination.temporary) { + this._tryPushCurrentPosition(); + } + } + _bindEvents() { + if (this._boundEvents) { + return; + } + this._boundEvents = { + updateViewarea: this._updateViewarea.bind(this), + popState: this._popState.bind(this), + pageHide: this._pageHide.bind(this) + }; + this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea); + window.addEventListener("popstate", this._boundEvents.popState); + window.addEventListener("pagehide", this._boundEvents.pageHide); + } + _unbindEvents() { + if (!this._boundEvents) { + return; + } + this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea); + window.removeEventListener("popstate", this._boundEvents.popState); + window.removeEventListener("pagehide", this._boundEvents.pageHide); + this._boundEvents = null; + } +} +exports.PDFHistory = PDFHistory; +function isDestHashesEqual(destHash, pushHash) { + if (typeof destHash !== "string" || typeof pushHash !== "string") { + return false; + } + if (destHash === pushHash) { + return true; + } + const nameddest = (0, _ui_utils.parseQueryString)(destHash).get("nameddest"); + if (nameddest === pushHash) { + return true; + } + return false; +} +function isDestArraysEqual(firstDest, secondDest) { + function isEntryEqual(first, second) { + if (typeof first !== typeof second) { + return false; + } + if (Array.isArray(first) || Array.isArray(second)) { + return false; + } + if (first !== null && typeof first === "object" && second !== null) { + if (Object.keys(first).length !== Object.keys(second).length) { + return false; + } + for (const key in first) { + if (!isEntryEqual(first[key], second[key])) { + return false; + } + } + return true; + } + return first === second || Number.isNaN(first) && Number.isNaN(second); + } + if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) { + return false; + } + if (firstDest.length !== secondDest.length) { + return false; + } + for (let i = 0, ii = firstDest.length; i < ii; i++) { + if (!isEntryEqual(firstDest[i], secondDest[i])) { + return false; + } + } + return true; +} + +/***/ }), +/* 139 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFLayerViewer = void 0; +__webpack_require__(89); +var _base_tree_viewer = __webpack_require__(131); +class PDFLayerViewer extends _base_tree_viewer.BaseTreeViewer { + constructor(options) { + super(options); + this.l10n = options.l10n; + this.eventBus._on("optionalcontentconfigchanged", evt => { + this.#updateLayers(evt.promise); + }); + this.eventBus._on("resetlayers", () => { + this.#updateLayers(); + }); + this.eventBus._on("togglelayerstree", this._toggleAllTreeItems.bind(this)); + } + reset() { + super.reset(); + this._optionalContentConfig = null; + this._optionalContentHash = null; + } + _dispatchEvent(layersCount) { + this.eventBus.dispatch("layersloaded", { + source: this, + layersCount + }); + } + _bindLink(element, _ref) { + let { + groupId, + input + } = _ref; + const setVisibility = () => { + this._optionalContentConfig.setVisibility(groupId, input.checked); + this._optionalContentHash = this._optionalContentConfig.getHash(); + this.eventBus.dispatch("optionalcontentconfig", { + source: this, + promise: Promise.resolve(this._optionalContentConfig) + }); + }; + element.onclick = evt => { + if (evt.target === input) { + setVisibility(); + return true; + } else if (evt.target !== element) { + return true; + } + input.checked = !input.checked; + setVisibility(); + return false; + }; + } + async _setNestedName(element, _ref2) { + let { + name = null + } = _ref2; + if (typeof name === "string") { + element.textContent = this._normalizeTextContent(name); + return; + } + element.textContent = await this.l10n.get("additional_layers"); + element.style.fontStyle = "italic"; + } + _addToggleButton(div, _ref3) { + let { + name = null + } = _ref3; + super._addToggleButton(div, name === null); + } + _toggleAllTreeItems() { + if (!this._optionalContentConfig) { + return; + } + super._toggleAllTreeItems(); + } + render(_ref4) { + let { + optionalContentConfig, + pdfDocument + } = _ref4; + if (this._optionalContentConfig) { + this.reset(); + } + this._optionalContentConfig = optionalContentConfig || null; + this._pdfDocument = pdfDocument || null; + const groups = optionalContentConfig?.getOrder(); + if (!groups) { + this._dispatchEvent(0); + return; + } + this._optionalContentHash = optionalContentConfig.getHash(); + const fragment = document.createDocumentFragment(), + queue = [{ + parent: fragment, + groups + }]; + let layersCount = 0, + hasAnyNesting = false; + while (queue.length > 0) { + const levelData = queue.shift(); + for (const groupId of levelData.groups) { + const div = document.createElement("div"); + div.className = "treeItem"; + const element = document.createElement("a"); + div.append(element); + if (typeof groupId === "object") { + hasAnyNesting = true; + this._addToggleButton(div, groupId); + this._setNestedName(element, groupId); + const itemsDiv = document.createElement("div"); + itemsDiv.className = "treeItems"; + div.append(itemsDiv); + queue.push({ + parent: itemsDiv, + groups: groupId.order + }); + } else { + const group = optionalContentConfig.getGroup(groupId); + const input = document.createElement("input"); + this._bindLink(element, { + groupId, + input + }); + input.type = "checkbox"; + input.checked = group.visible; + const label = document.createElement("label"); + label.textContent = this._normalizeTextContent(group.name); + label.append(input); + element.append(label); + layersCount++; + } + levelData.parent.append(div); + } + } + this._finishRendering(fragment, layersCount, hasAnyNesting); + } + async #updateLayers() { + let promise = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + if (!this._optionalContentConfig) { + return; + } + const pdfDocument = this._pdfDocument; + const optionalContentConfig = await (promise || pdfDocument.getOptionalContentConfig()); + if (pdfDocument !== this._pdfDocument) { + return; + } + if (promise) { + if (optionalContentConfig.getHash() === this._optionalContentHash) { + return; + } + } else { + this.eventBus.dispatch("optionalcontentconfig", { + source: this, + promise: Promise.resolve(optionalContentConfig) + }); + } + this.render({ + optionalContentConfig, + pdfDocument: this._pdfDocument + }); + } +} +exports.PDFLayerViewer = PDFLayerViewer; + +/***/ }), +/* 140 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFOutlineViewer = void 0; +__webpack_require__(89); +__webpack_require__(76); +var _base_tree_viewer = __webpack_require__(131); +var _pdfjsLib = __webpack_require__(122); +var _ui_utils = __webpack_require__(97); +class PDFOutlineViewer extends _base_tree_viewer.BaseTreeViewer { + constructor(options) { + super(options); + this.linkService = options.linkService; + this.downloadManager = options.downloadManager; + this.eventBus._on("toggleoutlinetree", this._toggleAllTreeItems.bind(this)); + this.eventBus._on("currentoutlineitem", this._currentOutlineItem.bind(this)); + this.eventBus._on("pagechanging", evt => { + this._currentPageNumber = evt.pageNumber; + }); + this.eventBus._on("pagesloaded", evt => { + this._isPagesLoaded = !!evt.pagesCount; + if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) { + this._currentOutlineItemCapability.resolve(this._isPagesLoaded); + } + }); + this.eventBus._on("sidebarviewchanged", evt => { + this._sidebarView = evt.view; + }); + } + reset() { + super.reset(); + this._outline = null; + this._pageNumberToDestHashCapability = null; + this._currentPageNumber = 1; + this._isPagesLoaded = null; + if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) { + this._currentOutlineItemCapability.resolve(false); + } + this._currentOutlineItemCapability = null; + } + _dispatchEvent(outlineCount) { + this._currentOutlineItemCapability = new _pdfjsLib.PromiseCapability(); + if (outlineCount === 0 || this._pdfDocument?.loadingParams.disableAutoFetch) { + this._currentOutlineItemCapability.resolve(false); + } else if (this._isPagesLoaded !== null) { + this._currentOutlineItemCapability.resolve(this._isPagesLoaded); + } + this.eventBus.dispatch("outlineloaded", { + source: this, + outlineCount, + currentOutlineItemPromise: this._currentOutlineItemCapability.promise + }); + } + _bindLink(element, _ref) { + let { + url, + newWindow, + action, + attachment, + dest, + setOCGState + } = _ref; + const { + linkService + } = this; + if (url) { + linkService.addLinkAttributes(element, url, newWindow); + return; + } + if (action) { + element.href = linkService.getAnchorUrl(""); + element.onclick = () => { + linkService.executeNamedAction(action); + return false; + }; + return; + } + if (attachment) { + element.href = linkService.getAnchorUrl(""); + element.onclick = () => { + this.downloadManager.openOrDownloadData(element, attachment.content, attachment.filename); + return false; + }; + return; + } + if (setOCGState) { + element.href = linkService.getAnchorUrl(""); + element.onclick = () => { + linkService.executeSetOCGState(setOCGState); + return false; + }; + return; + } + element.href = linkService.getDestinationHash(dest); + element.onclick = evt => { + this._updateCurrentTreeItem(evt.target.parentNode); + if (dest) { + linkService.goToDestination(dest); + } + return false; + }; + } + _setStyles(element, _ref2) { + let { + bold, + italic + } = _ref2; + if (bold) { + element.style.fontWeight = "bold"; + } + if (italic) { + element.style.fontStyle = "italic"; + } + } + _addToggleButton(div, _ref3) { + let { + count, + items + } = _ref3; + let hidden = false; + if (count < 0) { + let totalCount = items.length; + if (totalCount > 0) { + const queue = [...items]; + while (queue.length > 0) { + const { + count: nestedCount, + items: nestedItems + } = queue.shift(); + if (nestedCount > 0 && nestedItems.length > 0) { + totalCount += nestedItems.length; + queue.push(...nestedItems); + } + } + } + if (Math.abs(count) === totalCount) { + hidden = true; + } + } + super._addToggleButton(div, hidden); + } + _toggleAllTreeItems() { + if (!this._outline) { + return; + } + super._toggleAllTreeItems(); + } + render(_ref4) { + let { + outline, + pdfDocument + } = _ref4; + if (this._outline) { + this.reset(); + } + this._outline = outline || null; + this._pdfDocument = pdfDocument || null; + if (!outline) { + this._dispatchEvent(0); + return; + } + const fragment = document.createDocumentFragment(); + const queue = [{ + parent: fragment, + items: outline + }]; + let outlineCount = 0, + hasAnyNesting = false; + while (queue.length > 0) { + const levelData = queue.shift(); + for (const item of levelData.items) { + const div = document.createElement("div"); + div.className = "treeItem"; + const element = document.createElement("a"); + this._bindLink(element, item); + this._setStyles(element, item); + element.textContent = this._normalizeTextContent(item.title); + div.append(element); + if (item.items.length > 0) { + hasAnyNesting = true; + this._addToggleButton(div, item); + const itemsDiv = document.createElement("div"); + itemsDiv.className = "treeItems"; + div.append(itemsDiv); + queue.push({ + parent: itemsDiv, + items: item.items + }); + } + levelData.parent.append(div); + outlineCount++; + } + } + this._finishRendering(fragment, outlineCount, hasAnyNesting); + } + async _currentOutlineItem() { + if (!this._isPagesLoaded) { + throw new Error("_currentOutlineItem: All pages have not been loaded."); + } + if (!this._outline || !this._pdfDocument) { + return; + } + const pageNumberToDestHash = await this._getPageNumberToDestHash(this._pdfDocument); + if (!pageNumberToDestHash) { + return; + } + this._updateCurrentTreeItem(null); + if (this._sidebarView !== _ui_utils.SidebarView.OUTLINE) { + return; + } + for (let i = this._currentPageNumber; i > 0; i--) { + const destHash = pageNumberToDestHash.get(i); + if (!destHash) { + continue; + } + const linkElement = this.container.querySelector(`a[href="${destHash}"]`); + if (!linkElement) { + continue; + } + this._scrollToCurrentTreeItem(linkElement.parentNode); + break; + } + } + async _getPageNumberToDestHash(pdfDocument) { + if (this._pageNumberToDestHashCapability) { + return this._pageNumberToDestHashCapability.promise; + } + this._pageNumberToDestHashCapability = new _pdfjsLib.PromiseCapability(); + const pageNumberToDestHash = new Map(), + pageNumberNesting = new Map(); + const queue = [{ + nesting: 0, + items: this._outline + }]; + while (queue.length > 0) { + const levelData = queue.shift(), + currentNesting = levelData.nesting; + for (const { + dest, + items + } of levelData.items) { + let explicitDest, pageNumber; + if (typeof dest === "string") { + explicitDest = await pdfDocument.getDestination(dest); + if (pdfDocument !== this._pdfDocument) { + return null; + } + } else { + explicitDest = dest; + } + if (Array.isArray(explicitDest)) { + const [destRef] = explicitDest; + if (typeof destRef === "object" && destRef !== null) { + pageNumber = this.linkService._cachedPageNumber(destRef); + if (!pageNumber) { + try { + pageNumber = (await pdfDocument.getPageIndex(destRef)) + 1; + if (pdfDocument !== this._pdfDocument) { + return null; + } + this.linkService.cachePageRef(pageNumber, destRef); + } catch {} + } + } else if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } + if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) { + const destHash = this.linkService.getDestinationHash(dest); + pageNumberToDestHash.set(pageNumber, destHash); + pageNumberNesting.set(pageNumber, currentNesting); + } + } + if (items.length > 0) { + queue.push({ + nesting: currentNesting + 1, + items + }); + } + } + } + this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null); + return this._pageNumberToDestHashCapability.promise; + } +} +exports.PDFOutlineViewer = PDFOutlineViewer; + +/***/ }), +/* 141 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPresentationMode = void 0; +var _ui_utils = __webpack_require__(97); +var _pdfjsLib = __webpack_require__(122); +const DELAY_BEFORE_HIDING_CONTROLS = 3000; +const ACTIVE_SELECTOR = "pdfPresentationMode"; +const CONTROLS_SELECTOR = "pdfPresentationModeControls"; +const MOUSE_SCROLL_COOLDOWN_TIME = 50; +const PAGE_SWITCH_THRESHOLD = 0.1; +const SWIPE_MIN_DISTANCE_THRESHOLD = 50; +const SWIPE_ANGLE_THRESHOLD = Math.PI / 6; +class PDFPresentationMode { + #state = _ui_utils.PresentationModeState.UNKNOWN; + #args = null; + constructor(_ref) { + let { + container, + pdfViewer, + eventBus + } = _ref; + this.container = container; + this.pdfViewer = pdfViewer; + this.eventBus = eventBus; + this.contextMenuOpen = false; + this.mouseScrollTimeStamp = 0; + this.mouseScrollDelta = 0; + this.touchSwipeState = null; + } + async request() { + const { + container, + pdfViewer + } = this; + if (this.active || !pdfViewer.pagesCount || !container.requestFullscreen) { + return false; + } + this.#addFullscreenChangeListeners(); + this.#notifyStateChange(_ui_utils.PresentationModeState.CHANGING); + const promise = container.requestFullscreen(); + this.#args = { + pageNumber: pdfViewer.currentPageNumber, + scaleValue: pdfViewer.currentScaleValue, + scrollMode: pdfViewer.scrollMode, + spreadMode: null, + annotationEditorMode: null + }; + if (pdfViewer.spreadMode !== _ui_utils.SpreadMode.NONE && !(pdfViewer.pageViewsReady && pdfViewer.hasEqualPageSizes)) { + console.warn("Ignoring Spread modes when entering PresentationMode, " + "since the document may contain varying page sizes."); + this.#args.spreadMode = pdfViewer.spreadMode; + } + if (pdfViewer.annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) { + this.#args.annotationEditorMode = pdfViewer.annotationEditorMode; + } + try { + await promise; + pdfViewer.focus(); + return true; + } catch { + this.#removeFullscreenChangeListeners(); + this.#notifyStateChange(_ui_utils.PresentationModeState.NORMAL); + } + return false; + } + get active() { + return this.#state === _ui_utils.PresentationModeState.CHANGING || this.#state === _ui_utils.PresentationModeState.FULLSCREEN; + } + #mouseWheel(evt) { + if (!this.active) { + return; + } + evt.preventDefault(); + const delta = (0, _ui_utils.normalizeWheelEventDelta)(evt); + const currentTime = Date.now(); + const storedTime = this.mouseScrollTimeStamp; + if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) { + return; + } + if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) { + this.#resetMouseScrollState(); + } + this.mouseScrollDelta += delta; + if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) { + const totalDelta = this.mouseScrollDelta; + this.#resetMouseScrollState(); + const success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage(); + if (success) { + this.mouseScrollTimeStamp = currentTime; + } + } + } + #notifyStateChange(state) { + this.#state = state; + this.eventBus.dispatch("presentationmodechanged", { + source: this, + state + }); + } + #enter() { + this.#notifyStateChange(_ui_utils.PresentationModeState.FULLSCREEN); + this.container.classList.add(ACTIVE_SELECTOR); + setTimeout(() => { + this.pdfViewer.scrollMode = _ui_utils.ScrollMode.PAGE; + if (this.#args.spreadMode !== null) { + this.pdfViewer.spreadMode = _ui_utils.SpreadMode.NONE; + } + this.pdfViewer.currentPageNumber = this.#args.pageNumber; + this.pdfViewer.currentScaleValue = "page-fit"; + if (this.#args.annotationEditorMode !== null) { + this.pdfViewer.annotationEditorMode = { + mode: _pdfjsLib.AnnotationEditorType.NONE + }; + } + }, 0); + this.#addWindowListeners(); + this.#showControls(); + this.contextMenuOpen = false; + window.getSelection().removeAllRanges(); + } + #exit() { + const pageNumber = this.pdfViewer.currentPageNumber; + this.container.classList.remove(ACTIVE_SELECTOR); + setTimeout(() => { + this.#removeFullscreenChangeListeners(); + this.#notifyStateChange(_ui_utils.PresentationModeState.NORMAL); + this.pdfViewer.scrollMode = this.#args.scrollMode; + if (this.#args.spreadMode !== null) { + this.pdfViewer.spreadMode = this.#args.spreadMode; + } + this.pdfViewer.currentScaleValue = this.#args.scaleValue; + this.pdfViewer.currentPageNumber = pageNumber; + if (this.#args.annotationEditorMode !== null) { + this.pdfViewer.annotationEditorMode = { + mode: this.#args.annotationEditorMode + }; + } + this.#args = null; + }, 0); + this.#removeWindowListeners(); + this.#hideControls(); + this.#resetMouseScrollState(); + this.contextMenuOpen = false; + } + #mouseDown(evt) { + if (this.contextMenuOpen) { + this.contextMenuOpen = false; + evt.preventDefault(); + return; + } + if (evt.button !== 0) { + return; + } + if (evt.target.href && evt.target.parentNode?.hasAttribute("data-internal-link")) { + return; + } + evt.preventDefault(); + if (evt.shiftKey) { + this.pdfViewer.previousPage(); + } else { + this.pdfViewer.nextPage(); + } + } + #contextMenu() { + this.contextMenuOpen = true; + } + #showControls() { + if (this.controlsTimeout) { + clearTimeout(this.controlsTimeout); + } else { + this.container.classList.add(CONTROLS_SELECTOR); + } + this.controlsTimeout = setTimeout(() => { + this.container.classList.remove(CONTROLS_SELECTOR); + delete this.controlsTimeout; + }, DELAY_BEFORE_HIDING_CONTROLS); + } + #hideControls() { + if (!this.controlsTimeout) { + return; + } + clearTimeout(this.controlsTimeout); + this.container.classList.remove(CONTROLS_SELECTOR); + delete this.controlsTimeout; + } + #resetMouseScrollState() { + this.mouseScrollTimeStamp = 0; + this.mouseScrollDelta = 0; + } + #touchSwipe(evt) { + if (!this.active) { + return; + } + if (evt.touches.length > 1) { + this.touchSwipeState = null; + return; + } + switch (evt.type) { + case "touchstart": + this.touchSwipeState = { + startX: evt.touches[0].pageX, + startY: evt.touches[0].pageY, + endX: evt.touches[0].pageX, + endY: evt.touches[0].pageY + }; + break; + case "touchmove": + if (this.touchSwipeState === null) { + return; + } + this.touchSwipeState.endX = evt.touches[0].pageX; + this.touchSwipeState.endY = evt.touches[0].pageY; + evt.preventDefault(); + break; + case "touchend": + if (this.touchSwipeState === null) { + return; + } + let delta = 0; + const dx = this.touchSwipeState.endX - this.touchSwipeState.startX; + const dy = this.touchSwipeState.endY - this.touchSwipeState.startY; + const absAngle = Math.abs(Math.atan2(dy, dx)); + if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) { + delta = dx; + } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) { + delta = dy; + } + if (delta > 0) { + this.pdfViewer.previousPage(); + } else if (delta < 0) { + this.pdfViewer.nextPage(); + } + break; + } + } + #addWindowListeners() { + this.showControlsBind = this.#showControls.bind(this); + this.mouseDownBind = this.#mouseDown.bind(this); + this.mouseWheelBind = this.#mouseWheel.bind(this); + this.resetMouseScrollStateBind = this.#resetMouseScrollState.bind(this); + this.contextMenuBind = this.#contextMenu.bind(this); + this.touchSwipeBind = this.#touchSwipe.bind(this); + window.addEventListener("mousemove", this.showControlsBind); + window.addEventListener("mousedown", this.mouseDownBind); + window.addEventListener("wheel", this.mouseWheelBind, { + passive: false + }); + window.addEventListener("keydown", this.resetMouseScrollStateBind); + window.addEventListener("contextmenu", this.contextMenuBind); + window.addEventListener("touchstart", this.touchSwipeBind); + window.addEventListener("touchmove", this.touchSwipeBind); + window.addEventListener("touchend", this.touchSwipeBind); + } + #removeWindowListeners() { + window.removeEventListener("mousemove", this.showControlsBind); + window.removeEventListener("mousedown", this.mouseDownBind); + window.removeEventListener("wheel", this.mouseWheelBind, { + passive: false + }); + window.removeEventListener("keydown", this.resetMouseScrollStateBind); + window.removeEventListener("contextmenu", this.contextMenuBind); + window.removeEventListener("touchstart", this.touchSwipeBind); + window.removeEventListener("touchmove", this.touchSwipeBind); + window.removeEventListener("touchend", this.touchSwipeBind); + delete this.showControlsBind; + delete this.mouseDownBind; + delete this.mouseWheelBind; + delete this.resetMouseScrollStateBind; + delete this.contextMenuBind; + delete this.touchSwipeBind; + } + #fullscreenChange() { + if (document.fullscreenElement) { + this.#enter(); + } else { + this.#exit(); + } + } + #addFullscreenChangeListeners() { + this.fullscreenChangeBind = this.#fullscreenChange.bind(this); + window.addEventListener("fullscreenchange", this.fullscreenChangeBind); + } + #removeFullscreenChangeListeners() { + window.removeEventListener("fullscreenchange", this.fullscreenChangeBind); + delete this.fullscreenChangeBind; + } +} +exports.PDFPresentationMode = PDFPresentationMode; + +/***/ }), +/* 142 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFRenderingQueue = void 0; +var _pdfjsLib = __webpack_require__(122); +var _ui_utils = __webpack_require__(97); +const CLEANUP_TIMEOUT = 30000; +class PDFRenderingQueue { + constructor() { + this.pdfViewer = null; + this.pdfThumbnailViewer = null; + this.onIdle = null; + this.highestPriorityPage = null; + this.idleTimeout = null; + this.printing = false; + this.isThumbnailViewEnabled = false; + Object.defineProperty(this, "hasViewer", { + value: () => !!this.pdfViewer + }); + } + setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + setThumbnailViewer(pdfThumbnailViewer) { + this.pdfThumbnailViewer = pdfThumbnailViewer; + } + isHighestPriority(view) { + return this.highestPriorityPage === view.renderingId; + } + renderHighestPriority(currentlyVisiblePages) { + if (this.idleTimeout) { + clearTimeout(this.idleTimeout); + this.idleTimeout = null; + } + if (this.pdfViewer.forceRendering(currentlyVisiblePages)) { + return; + } + if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) { + return; + } + if (this.printing) { + return; + } + if (this.onIdle) { + this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT); + } + } + getHighestPriority(visible, views, scrolledDown) { + let preRenderExtra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + const visibleViews = visible.views, + numVisible = visibleViews.length; + if (numVisible === 0) { + return null; + } + for (let i = 0; i < numVisible; i++) { + const view = visibleViews[i].view; + if (!this.isViewFinished(view)) { + return view; + } + } + const firstId = visible.first.id, + lastId = visible.last.id; + if (lastId - firstId + 1 > numVisible) { + const visibleIds = visible.ids; + for (let i = 1, ii = lastId - firstId; i < ii; i++) { + const holeId = scrolledDown ? firstId + i : lastId - i; + if (visibleIds.has(holeId)) { + continue; + } + const holeView = views[holeId - 1]; + if (!this.isViewFinished(holeView)) { + return holeView; + } + } + } + let preRenderIndex = scrolledDown ? lastId : firstId - 2; + let preRenderView = views[preRenderIndex]; + if (preRenderView && !this.isViewFinished(preRenderView)) { + return preRenderView; + } + if (preRenderExtra) { + preRenderIndex += scrolledDown ? 1 : -1; + preRenderView = views[preRenderIndex]; + if (preRenderView && !this.isViewFinished(preRenderView)) { + return preRenderView; + } + } + return null; + } + isViewFinished(view) { + return view.renderingState === _ui_utils.RenderingStates.FINISHED; + } + renderView(view) { + switch (view.renderingState) { + case _ui_utils.RenderingStates.FINISHED: + return false; + case _ui_utils.RenderingStates.PAUSED: + this.highestPriorityPage = view.renderingId; + view.resume(); + break; + case _ui_utils.RenderingStates.RUNNING: + this.highestPriorityPage = view.renderingId; + break; + case _ui_utils.RenderingStates.INITIAL: + this.highestPriorityPage = view.renderingId; + view.draw().finally(() => { + this.renderHighestPriority(); + }).catch(reason => { + if (reason instanceof _pdfjsLib.RenderingCancelledException) { + return; + } + console.error(`renderView: "${reason}"`); + }); + break; + } + return true; + } +} +exports.PDFRenderingQueue = PDFRenderingQueue; + +/***/ }), +/* 143 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFScriptingManager = void 0; +__webpack_require__(98); +__webpack_require__(109); +__webpack_require__(111); +__webpack_require__(114); +__webpack_require__(116); +__webpack_require__(118); +__webpack_require__(120); +__webpack_require__(76); +var _ui_utils = __webpack_require__(97); +var _pdfjsLib = __webpack_require__(122); +class PDFScriptingManager { + #closeCapability = null; + #destroyCapability = null; + #docProperties = null; + #eventBus = null; + #externalServices = null; + #pdfDocument = null; + #pdfViewer = null; + #ready = false; + #sandboxBundleSrc = null; + #scripting = null; + #willPrintCapability = null; + constructor(_ref) { + let { + eventBus, + sandboxBundleSrc = null, + externalServices = null, + docProperties = null + } = _ref; + this.#eventBus = eventBus; + this.#sandboxBundleSrc = sandboxBundleSrc; + this.#externalServices = externalServices; + this.#docProperties = docProperties; + } + setViewer(pdfViewer) { + this.#pdfViewer = pdfViewer; + } + async setDocument(pdfDocument) { + if (this.#pdfDocument) { + await this.#destroyScripting(); + } + this.#pdfDocument = pdfDocument; + if (!pdfDocument) { + return; + } + const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]); + if (!objects && !docActions) { + await this.#destroyScripting(); + return; + } + if (pdfDocument !== this.#pdfDocument) { + return; + } + try { + this.#scripting = this.#initScripting(); + } catch (error) { + console.error(`setDocument: "${error.message}".`); + await this.#destroyScripting(); + return; + } + this._internalEvents.set("updatefromsandbox", event => { + if (event?.source === window) { + this.#updateFromSandbox(event.detail); + } + }); + this._internalEvents.set("dispatcheventinsandbox", event => { + this.#scripting?.dispatchEventInSandbox(event.detail); + }); + this._internalEvents.set("pagechanging", _ref2 => { + let { + pageNumber, + previous + } = _ref2; + if (pageNumber === previous) { + return; + } + this.#dispatchPageClose(previous); + this.#dispatchPageOpen(pageNumber); + }); + this._internalEvents.set("pagerendered", _ref3 => { + let { + pageNumber + } = _ref3; + if (!this._pageOpenPending.has(pageNumber)) { + return; + } + if (pageNumber !== this.#pdfViewer.currentPageNumber) { + return; + } + this.#dispatchPageOpen(pageNumber); + }); + this._internalEvents.set("pagesdestroy", async () => { + await this.#dispatchPageClose(this.#pdfViewer.currentPageNumber); + await this.#scripting?.dispatchEventInSandbox({ + id: "doc", + name: "WillClose" + }); + this.#closeCapability?.resolve(); + }); + for (const [name, listener] of this._internalEvents) { + this.#eventBus._on(name, listener); + } + try { + const docProperties = await this.#docProperties(pdfDocument); + if (pdfDocument !== this.#pdfDocument) { + return; + } + await this.#scripting.createSandbox({ + objects, + calculationOrder, + appInfo: { + platform: navigator.platform, + language: navigator.language + }, + docInfo: { + ...docProperties, + actions: docActions + } + }); + this.#eventBus.dispatch("sandboxcreated", { + source: this + }); + } catch (error) { + console.error(`setDocument: "${error.message}".`); + await this.#destroyScripting(); + return; + } + await this.#scripting?.dispatchEventInSandbox({ + id: "doc", + name: "Open" + }); + await this.#dispatchPageOpen(this.#pdfViewer.currentPageNumber, true); + Promise.resolve().then(() => { + if (pdfDocument === this.#pdfDocument) { + this.#ready = true; + } + }); + } + async dispatchWillSave() { + return this.#scripting?.dispatchEventInSandbox({ + id: "doc", + name: "WillSave" + }); + } + async dispatchDidSave() { + return this.#scripting?.dispatchEventInSandbox({ + id: "doc", + name: "DidSave" + }); + } + async dispatchWillPrint() { + if (!this.#scripting) { + return; + } + await this.#willPrintCapability?.promise; + this.#willPrintCapability = new _pdfjsLib.PromiseCapability(); + try { + await this.#scripting.dispatchEventInSandbox({ + id: "doc", + name: "WillPrint" + }); + } catch (ex) { + this.#willPrintCapability.resolve(); + this.#willPrintCapability = null; + throw ex; + } + await this.#willPrintCapability.promise; + } + async dispatchDidPrint() { + return this.#scripting?.dispatchEventInSandbox({ + id: "doc", + name: "DidPrint" + }); + } + get destroyPromise() { + return this.#destroyCapability?.promise || null; + } + get ready() { + return this.#ready; + } + get _internalEvents() { + return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map()); + } + get _pageOpenPending() { + return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set()); + } + get _visitedPages() { + return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map()); + } + async #updateFromSandbox(detail) { + const pdfViewer = this.#pdfViewer; + const isInPresentationMode = pdfViewer.isInPresentationMode || pdfViewer.isChangingPresentationMode; + const { + id, + siblings, + command, + value + } = detail; + if (!id) { + switch (command) { + case "clear": + console.clear(); + break; + case "error": + console.error(value); + break; + case "layout": + if (!isInPresentationMode) { + const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value); + pdfViewer.spreadMode = modes.spreadMode; + } + break; + case "page-num": + pdfViewer.currentPageNumber = value + 1; + break; + case "print": + await pdfViewer.pagesPromise; + this.#eventBus.dispatch("print", { + source: this + }); + break; + case "println": + console.log(value); + break; + case "zoom": + if (!isInPresentationMode) { + pdfViewer.currentScaleValue = value; + } + break; + case "SaveAs": + this.#eventBus.dispatch("download", { + source: this + }); + break; + case "FirstPage": + pdfViewer.currentPageNumber = 1; + break; + case "LastPage": + pdfViewer.currentPageNumber = pdfViewer.pagesCount; + break; + case "NextPage": + pdfViewer.nextPage(); + break; + case "PrevPage": + pdfViewer.previousPage(); + break; + case "ZoomViewIn": + if (!isInPresentationMode) { + pdfViewer.increaseScale(); + } + break; + case "ZoomViewOut": + if (!isInPresentationMode) { + pdfViewer.decreaseScale(); + } + break; + case "WillPrintFinished": + this.#willPrintCapability?.resolve(); + this.#willPrintCapability = null; + break; + } + return; + } + if (isInPresentationMode && detail.focus) { + return; + } + delete detail.id; + delete detail.siblings; + const ids = siblings ? [id, ...siblings] : [id]; + for (const elementId of ids) { + const element = document.querySelector(`[data-element-id="${elementId}"]`); + if (element) { + element.dispatchEvent(new CustomEvent("updatefromsandbox", { + detail + })); + } else { + this.#pdfDocument?.annotationStorage.setValue(elementId, detail); + } + } + } + async #dispatchPageOpen(pageNumber) { + let initialize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + const pdfDocument = this.#pdfDocument, + visitedPages = this._visitedPages; + if (initialize) { + this.#closeCapability = new _pdfjsLib.PromiseCapability(); + } + if (!this.#closeCapability) { + return; + } + const pageView = this.#pdfViewer.getPageView(pageNumber - 1); + if (pageView?.renderingState !== _ui_utils.RenderingStates.FINISHED) { + this._pageOpenPending.add(pageNumber); + return; + } + this._pageOpenPending.delete(pageNumber); + const actionsPromise = (async () => { + const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null); + if (pdfDocument !== this.#pdfDocument) { + return; + } + await this.#scripting?.dispatchEventInSandbox({ + id: "page", + name: "PageOpen", + pageNumber, + actions + }); + })(); + visitedPages.set(pageNumber, actionsPromise); + } + async #dispatchPageClose(pageNumber) { + const pdfDocument = this.#pdfDocument, + visitedPages = this._visitedPages; + if (!this.#closeCapability) { + return; + } + if (this._pageOpenPending.has(pageNumber)) { + return; + } + const actionsPromise = visitedPages.get(pageNumber); + if (!actionsPromise) { + return; + } + visitedPages.set(pageNumber, null); + await actionsPromise; + if (pdfDocument !== this.#pdfDocument) { + return; + } + await this.#scripting?.dispatchEventInSandbox({ + id: "page", + name: "PageClose", + pageNumber + }); + } + #initScripting() { + this.#destroyCapability = new _pdfjsLib.PromiseCapability(); + if (this.#scripting) { + throw new Error("#initScripting: Scripting already exists."); + } + return this.#externalServices.createScripting({ + sandboxBundleSrc: this.#sandboxBundleSrc + }); + } + async #destroyScripting() { + if (!this.#scripting) { + this.#pdfDocument = null; + this.#destroyCapability?.resolve(); + return; + } + if (this.#closeCapability) { + await Promise.race([this.#closeCapability.promise, new Promise(resolve => { + setTimeout(resolve, 1000); + })]).catch(() => {}); + this.#closeCapability = null; + } + this.#pdfDocument = null; + try { + await this.#scripting.destroySandbox(); + } catch {} + this.#willPrintCapability?.reject(new Error("Scripting destroyed.")); + this.#willPrintCapability = null; + for (const [name, listener] of this._internalEvents) { + this.#eventBus._off(name, listener); + } + this._internalEvents.clear(); + this._pageOpenPending.clear(); + this._visitedPages.clear(); + this.#scripting = null; + this.#ready = false; + this.#destroyCapability?.resolve(); + } +} +exports.PDFScriptingManager = PDFScriptingManager; + +/***/ }), +/* 144 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFSidebar = void 0; +var _ui_utils = __webpack_require__(97); +const SIDEBAR_WIDTH_VAR = "--sidebar-width"; +const SIDEBAR_MIN_WIDTH = 200; +const SIDEBAR_RESIZING_CLASS = "sidebarResizing"; +const UI_NOTIFICATION_CLASS = "pdfSidebarNotification"; +class PDFSidebar { + #isRTL = false; + #mouseMoveBound = this.#mouseMove.bind(this); + #mouseUpBound = this.#mouseUp.bind(this); + #outerContainerWidth = null; + #width = null; + constructor(_ref) { + let { + elements, + eventBus, + l10n + } = _ref; + this.isOpen = false; + this.active = _ui_utils.SidebarView.THUMBS; + this.isInitialViewSet = false; + this.isInitialEventDispatched = false; + this.onToggled = null; + this.onUpdateThumbnails = null; + this.outerContainer = elements.outerContainer; + this.sidebarContainer = elements.sidebarContainer; + this.toggleButton = elements.toggleButton; + this.resizer = elements.resizer; + this.thumbnailButton = elements.thumbnailButton; + this.outlineButton = elements.outlineButton; + this.attachmentsButton = elements.attachmentsButton; + this.layersButton = elements.layersButton; + this.thumbnailView = elements.thumbnailView; + this.outlineView = elements.outlineView; + this.attachmentsView = elements.attachmentsView; + this.layersView = elements.layersView; + this._outlineOptionsContainer = elements.outlineOptionsContainer; + this._currentOutlineItemButton = elements.currentOutlineItemButton; + this.eventBus = eventBus; + this.l10n = l10n; + l10n.getDirection().then(dir => { + this.#isRTL = dir === "rtl"; + }); + this.#addEventListeners(); + } + reset() { + this.isInitialViewSet = false; + this.isInitialEventDispatched = false; + this.#hideUINotification(true); + this.switchView(_ui_utils.SidebarView.THUMBS); + this.outlineButton.disabled = false; + this.attachmentsButton.disabled = false; + this.layersButton.disabled = false; + this._currentOutlineItemButton.disabled = true; + } + get visibleView() { + return this.isOpen ? this.active : _ui_utils.SidebarView.NONE; + } + setInitialView() { + let view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ui_utils.SidebarView.NONE; + if (this.isInitialViewSet) { + return; + } + this.isInitialViewSet = true; + if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) { + this.#dispatchEvent(); + return; + } + this.switchView(view, true); + if (!this.isInitialEventDispatched) { + this.#dispatchEvent(); + } + } + switchView(view) { + let forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + const isViewChanged = view !== this.active; + let forceRendering = false; + switch (view) { + case _ui_utils.SidebarView.NONE: + if (this.isOpen) { + this.close(); + } + return; + case _ui_utils.SidebarView.THUMBS: + if (this.isOpen && isViewChanged) { + forceRendering = true; + } + break; + case _ui_utils.SidebarView.OUTLINE: + if (this.outlineButton.disabled) { + return; + } + break; + case _ui_utils.SidebarView.ATTACHMENTS: + if (this.attachmentsButton.disabled) { + return; + } + break; + case _ui_utils.SidebarView.LAYERS: + if (this.layersButton.disabled) { + return; + } + break; + default: + console.error(`PDFSidebar.switchView: "${view}" is not a valid view.`); + return; + } + this.active = view; + (0, _ui_utils.toggleCheckedBtn)(this.thumbnailButton, view === _ui_utils.SidebarView.THUMBS, this.thumbnailView); + (0, _ui_utils.toggleCheckedBtn)(this.outlineButton, view === _ui_utils.SidebarView.OUTLINE, this.outlineView); + (0, _ui_utils.toggleCheckedBtn)(this.attachmentsButton, view === _ui_utils.SidebarView.ATTACHMENTS, this.attachmentsView); + (0, _ui_utils.toggleCheckedBtn)(this.layersButton, view === _ui_utils.SidebarView.LAYERS, this.layersView); + this._outlineOptionsContainer.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE); + if (forceOpen && !this.isOpen) { + this.open(); + return; + } + if (forceRendering) { + this.onUpdateThumbnails(); + this.onToggled(); + } + if (isViewChanged) { + this.#dispatchEvent(); + } + } + open() { + if (this.isOpen) { + return; + } + this.isOpen = true; + (0, _ui_utils.toggleExpandedBtn)(this.toggleButton, true); + this.outerContainer.classList.add("sidebarMoving", "sidebarOpen"); + if (this.active === _ui_utils.SidebarView.THUMBS) { + this.onUpdateThumbnails(); + } + this.onToggled(); + this.#dispatchEvent(); + this.#hideUINotification(); + } + close() { + if (!this.isOpen) { + return; + } + this.isOpen = false; + (0, _ui_utils.toggleExpandedBtn)(this.toggleButton, false); + this.outerContainer.classList.add("sidebarMoving"); + this.outerContainer.classList.remove("sidebarOpen"); + this.onToggled(); + this.#dispatchEvent(); + } + toggle() { + if (this.isOpen) { + this.close(); + } else { + this.open(); + } + } + #dispatchEvent() { + if (this.isInitialViewSet) { + this.isInitialEventDispatched ||= true; + } + this.eventBus.dispatch("sidebarviewchanged", { + source: this, + view: this.visibleView + }); + } + #showUINotification() { + this.toggleButton.setAttribute("data-l10n-id", "toggle_sidebar_notification2"); + this.l10n.translate(this.toggleButton); + if (!this.isOpen) { + this.toggleButton.classList.add(UI_NOTIFICATION_CLASS); + } + } + #hideUINotification() { + let reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.isOpen || reset) { + this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS); + } + if (reset) { + this.toggleButton.setAttribute("data-l10n-id", "toggle_sidebar"); + this.l10n.translate(this.toggleButton); + } + } + #addEventListeners() { + this.sidebarContainer.addEventListener("transitionend", evt => { + if (evt.target === this.sidebarContainer) { + this.outerContainer.classList.remove("sidebarMoving"); + } + }); + this.toggleButton.addEventListener("click", () => { + this.toggle(); + }); + this.thumbnailButton.addEventListener("click", () => { + this.switchView(_ui_utils.SidebarView.THUMBS); + }); + this.outlineButton.addEventListener("click", () => { + this.switchView(_ui_utils.SidebarView.OUTLINE); + }); + this.outlineButton.addEventListener("dblclick", () => { + this.eventBus.dispatch("toggleoutlinetree", { + source: this + }); + }); + this.attachmentsButton.addEventListener("click", () => { + this.switchView(_ui_utils.SidebarView.ATTACHMENTS); + }); + this.layersButton.addEventListener("click", () => { + this.switchView(_ui_utils.SidebarView.LAYERS); + }); + this.layersButton.addEventListener("dblclick", () => { + this.eventBus.dispatch("resetlayers", { + source: this + }); + }); + this._currentOutlineItemButton.addEventListener("click", () => { + this.eventBus.dispatch("currentoutlineitem", { + source: this + }); + }); + const onTreeLoaded = (count, button, view) => { + button.disabled = !count; + if (count) { + this.#showUINotification(); + } else if (this.active === view) { + this.switchView(_ui_utils.SidebarView.THUMBS); + } + }; + this.eventBus._on("outlineloaded", evt => { + onTreeLoaded(evt.outlineCount, this.outlineButton, _ui_utils.SidebarView.OUTLINE); + evt.currentOutlineItemPromise.then(enabled => { + if (!this.isInitialViewSet) { + return; + } + this._currentOutlineItemButton.disabled = !enabled; + }); + }); + this.eventBus._on("attachmentsloaded", evt => { + onTreeLoaded(evt.attachmentsCount, this.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS); + }); + this.eventBus._on("layersloaded", evt => { + onTreeLoaded(evt.layersCount, this.layersButton, _ui_utils.SidebarView.LAYERS); + }); + this.eventBus._on("presentationmodechanged", evt => { + if (evt.state === _ui_utils.PresentationModeState.NORMAL && this.visibleView === _ui_utils.SidebarView.THUMBS) { + this.onUpdateThumbnails(); + } + }); + this.resizer.addEventListener("mousedown", evt => { + if (evt.button !== 0) { + return; + } + this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); + window.addEventListener("mousemove", this.#mouseMoveBound); + window.addEventListener("mouseup", this.#mouseUpBound); + }); + this.eventBus._on("resize", evt => { + if (evt.source !== window) { + return; + } + this.#outerContainerWidth = null; + if (!this.#width) { + return; + } + if (!this.isOpen) { + this.#updateWidth(this.#width); + return; + } + this.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); + const updated = this.#updateWidth(this.#width); + Promise.resolve().then(() => { + this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); + if (updated) { + this.eventBus.dispatch("resize", { + source: this + }); + } + }); + }); + } + get outerContainerWidth() { + return this.#outerContainerWidth ||= this.outerContainer.clientWidth; + } + #updateWidth() { + let width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + const maxWidth = Math.floor(this.outerContainerWidth / 2); + if (width > maxWidth) { + width = maxWidth; + } + if (width < SIDEBAR_MIN_WIDTH) { + width = SIDEBAR_MIN_WIDTH; + } + if (width === this.#width) { + return false; + } + this.#width = width; + _ui_utils.docStyle.setProperty(SIDEBAR_WIDTH_VAR, `${width}px`); + return true; + } + #mouseMove(evt) { + let width = evt.clientX; + if (this.#isRTL) { + width = this.outerContainerWidth - width; + } + this.#updateWidth(width); + } + #mouseUp(evt) { + this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); + this.eventBus.dispatch("resize", { + source: this + }); + window.removeEventListener("mousemove", this.#mouseMoveBound); + window.removeEventListener("mouseup", this.#mouseUpBound); + } +} +exports.PDFSidebar = PDFSidebar; + +/***/ }), +/* 145 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFThumbnailViewer = void 0; +__webpack_require__(76); +__webpack_require__(89); +var _ui_utils = __webpack_require__(97); +var _pdf_thumbnail_view = __webpack_require__(146); +const THUMBNAIL_SCROLL_MARGIN = -19; +const THUMBNAIL_SELECTED_CLASS = "selected"; +class PDFThumbnailViewer { + constructor(_ref) { + let { + container, + eventBus, + linkService, + renderingQueue, + l10n, + pageColors + } = _ref; + this.container = container; + this.eventBus = eventBus; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.l10n = l10n; + this.pageColors = pageColors || null; + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this)); + this._resetView(); + } + _scrollUpdated() { + this.renderingQueue.renderHighestPriority(); + } + getThumbnail(index) { + return this._thumbnails[index]; + } + _getVisibleThumbs() { + return (0, _ui_utils.getVisibleElements)({ + scrollEl: this.container, + views: this._thumbnails + }); + } + scrollThumbnailIntoView(pageNumber) { + if (!this.pdfDocument) { + return; + } + const thumbnailView = this._thumbnails[pageNumber - 1]; + if (!thumbnailView) { + console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.'); + return; + } + if (pageNumber !== this._currentPageNumber) { + const prevThumbnailView = this._thumbnails[this._currentPageNumber - 1]; + prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS); + thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); + } + const { + first, + last, + views + } = this._getVisibleThumbs(); + if (views.length > 0) { + let shouldScroll = false; + if (pageNumber <= first.id || pageNumber >= last.id) { + shouldScroll = true; + } else { + for (const { + id, + percent + } of views) { + if (id !== pageNumber) { + continue; + } + shouldScroll = percent < 100; + break; + } + } + if (shouldScroll) { + (0, _ui_utils.scrollIntoView)(thumbnailView.div, { + top: THUMBNAIL_SCROLL_MARGIN + }); + } + } + this._currentPageNumber = pageNumber; + } + get pagesRotation() { + return this._pagesRotation; + } + set pagesRotation(rotation) { + if (!(0, _ui_utils.isValidRotation)(rotation)) { + throw new Error("Invalid thumbnails rotation angle."); + } + if (!this.pdfDocument) { + return; + } + if (this._pagesRotation === rotation) { + return; + } + this._pagesRotation = rotation; + const updateArgs = { + rotation + }; + for (const thumbnail of this._thumbnails) { + thumbnail.update(updateArgs); + } + } + cleanup() { + for (const thumbnail of this._thumbnails) { + if (thumbnail.renderingState !== _ui_utils.RenderingStates.FINISHED) { + thumbnail.reset(); + } + } + _pdf_thumbnail_view.TempImageFactory.destroyCanvas(); + } + _resetView() { + this._thumbnails = []; + this._currentPageNumber = 1; + this._pageLabels = null; + this._pagesRotation = 0; + this.container.textContent = ""; + } + setDocument(pdfDocument) { + if (this.pdfDocument) { + this._cancelRendering(); + this._resetView(); + } + this.pdfDocument = pdfDocument; + if (!pdfDocument) { + return; + } + const firstPagePromise = pdfDocument.getPage(1); + const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); + firstPagePromise.then(firstPdfPage => { + const pagesCount = pdfDocument.numPages; + const viewport = firstPdfPage.getViewport({ + scale: 1 + }); + for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) { + const thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({ + container: this.container, + eventBus: this.eventBus, + id: pageNum, + defaultViewport: viewport.clone(), + optionalContentConfigPromise, + linkService: this.linkService, + renderingQueue: this.renderingQueue, + l10n: this.l10n, + pageColors: this.pageColors + }); + this._thumbnails.push(thumbnail); + } + this._thumbnails[0]?.setPdfPage(firstPdfPage); + const thumbnailView = this._thumbnails[this._currentPageNumber - 1]; + thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); + }).catch(reason => { + console.error("Unable to initialize thumbnail viewer", reason); + }); + } + _cancelRendering() { + for (const thumbnail of this._thumbnails) { + thumbnail.cancelRendering(); + } + } + setPageLabels(labels) { + if (!this.pdfDocument) { + return; + } + if (!labels) { + this._pageLabels = null; + } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { + this._pageLabels = null; + console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels."); + } else { + this._pageLabels = labels; + } + for (let i = 0, ii = this._thumbnails.length; i < ii; i++) { + this._thumbnails[i].setPageLabel(this._pageLabels?.[i] ?? null); + } + } + async #ensurePdfPageLoaded(thumbView) { + if (thumbView.pdfPage) { + return thumbView.pdfPage; + } + try { + const pdfPage = await this.pdfDocument.getPage(thumbView.id); + if (!thumbView.pdfPage) { + thumbView.setPdfPage(pdfPage); + } + return pdfPage; + } catch (reason) { + console.error("Unable to get page for thumb view", reason); + return null; + } + } + #getScrollAhead(visible) { + if (visible.first?.id === 1) { + return true; + } else if (visible.last?.id === this._thumbnails.length) { + return false; + } + return this.scroll.down; + } + forceRendering() { + const visibleThumbs = this._getVisibleThumbs(); + const scrollAhead = this.#getScrollAhead(visibleThumbs); + const thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, scrollAhead); + if (thumbView) { + this.#ensurePdfPageLoaded(thumbView).then(() => { + this.renderingQueue.renderView(thumbView); + }); + return true; + } + return false; + } +} +exports.PDFThumbnailViewer = PDFThumbnailViewer; + +/***/ }), +/* 146 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TempImageFactory = exports.PDFThumbnailView = void 0; +__webpack_require__(76); +var _ui_utils = __webpack_require__(97); +var _pdfjsLib = __webpack_require__(122); +const DRAW_UPSCALE_FACTOR = 2; +const MAX_NUM_SCALING_STEPS = 3; +const THUMBNAIL_WIDTH = 98; +class TempImageFactory { + static #tempCanvas = null; + static getCanvas(width, height) { + const tempCanvas = this.#tempCanvas ||= document.createElement("canvas"); + tempCanvas.width = width; + tempCanvas.height = height; + const ctx = tempCanvas.getContext("2d", { + alpha: false + }); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, width, height); + ctx.restore(); + return [tempCanvas, tempCanvas.getContext("2d")]; + } + static destroyCanvas() { + const tempCanvas = this.#tempCanvas; + if (tempCanvas) { + tempCanvas.width = 0; + tempCanvas.height = 0; + } + this.#tempCanvas = null; + } +} +exports.TempImageFactory = TempImageFactory; +class PDFThumbnailView { + constructor(_ref) { + let { + container, + eventBus, + id, + defaultViewport, + optionalContentConfigPromise, + linkService, + renderingQueue, + l10n, + pageColors + } = _ref; + this.id = id; + this.renderingId = "thumbnail" + id; + this.pageLabel = null; + this.pdfPage = null; + this.rotation = 0; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = optionalContentConfigPromise || null; + this.pageColors = pageColors || null; + this.eventBus = eventBus; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.renderTask = null; + this.renderingState = _ui_utils.RenderingStates.INITIAL; + this.resume = null; + this.l10n = l10n; + const anchor = document.createElement("a"); + anchor.href = linkService.getAnchorUrl("#page=" + id); + this._thumbPageTitle.then(msg => { + anchor.title = msg; + }); + anchor.onclick = function () { + linkService.goToPage(id); + return false; + }; + this.anchor = anchor; + const div = document.createElement("div"); + div.className = "thumbnail"; + div.setAttribute("data-page-number", this.id); + this.div = div; + this.#updateDims(); + const img = document.createElement("div"); + img.className = "thumbnailImage"; + this._placeholderImg = img; + div.append(img); + anchor.append(div); + container.append(anchor); + } + #updateDims() { + const { + width, + height + } = this.viewport; + const ratio = width / height; + this.canvasWidth = THUMBNAIL_WIDTH; + this.canvasHeight = this.canvasWidth / ratio | 0; + this.scale = this.canvasWidth / width; + const { + style + } = this.div; + style.setProperty("--thumbnail-width", `${this.canvasWidth}px`); + style.setProperty("--thumbnail-height", `${this.canvasHeight}px`); + } + setPdfPage(pdfPage) { + this.pdfPage = pdfPage; + this.pdfPageRotate = pdfPage.rotate; + const totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = pdfPage.getViewport({ + scale: 1, + rotation: totalRotation + }); + this.reset(); + } + reset() { + this.cancelRendering(); + this.renderingState = _ui_utils.RenderingStates.INITIAL; + this.div.removeAttribute("data-loaded"); + this.image?.replaceWith(this._placeholderImg); + this.#updateDims(); + if (this.image) { + this.image.removeAttribute("src"); + delete this.image; + } + } + update(_ref2) { + let { + rotation = null + } = _ref2; + if (typeof rotation === "number") { + this.rotation = rotation; + } + const totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = this.viewport.clone({ + scale: 1, + rotation: totalRotation + }); + this.reset(); + } + cancelRendering() { + if (this.renderTask) { + this.renderTask.cancel(); + this.renderTask = null; + } + this.resume = null; + } + _getPageDrawContext() { + let upscaleFactor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + const canvas = document.createElement("canvas"); + const ctx = canvas.getContext("2d", { + alpha: false + }); + const outputScale = new _ui_utils.OutputScale(); + canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0; + canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0; + const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null; + return { + ctx, + canvas, + transform + }; + } + _convertCanvasToImage(canvas) { + if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) { + throw new Error("_convertCanvasToImage: Rendering has not finished."); + } + const reducedCanvas = this._reduceImage(canvas); + const image = document.createElement("img"); + image.className = "thumbnailImage"; + this._thumbPageCanvas.then(msg => { + image.setAttribute("aria-label", msg); + }); + image.src = reducedCanvas.toDataURL(); + this.image = image; + this.div.setAttribute("data-loaded", true); + this._placeholderImg.replaceWith(image); + reducedCanvas.width = 0; + reducedCanvas.height = 0; + } + async #finishRenderTask(renderTask, canvas) { + let error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + if (renderTask === this.renderTask) { + this.renderTask = null; + } + if (error instanceof _pdfjsLib.RenderingCancelledException) { + return; + } + this.renderingState = _ui_utils.RenderingStates.FINISHED; + this._convertCanvasToImage(canvas); + if (error) { + throw error; + } + } + async draw() { + if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + return undefined; + } + const { + pdfPage + } = this; + if (!pdfPage) { + this.renderingState = _ui_utils.RenderingStates.FINISHED; + throw new Error("pdfPage is not loaded"); + } + this.renderingState = _ui_utils.RenderingStates.RUNNING; + const { + ctx, + canvas, + transform + } = this._getPageDrawContext(DRAW_UPSCALE_FACTOR); + const drawViewport = this.viewport.clone({ + scale: DRAW_UPSCALE_FACTOR * this.scale + }); + const renderContinueCallback = cont => { + if (!this.renderingQueue.isHighestPriority(this)) { + this.renderingState = _ui_utils.RenderingStates.PAUSED; + this.resume = () => { + this.renderingState = _ui_utils.RenderingStates.RUNNING; + cont(); + }; + return; + } + cont(); + }; + const renderContext = { + canvasContext: ctx, + transform, + viewport: drawViewport, + optionalContentConfigPromise: this._optionalContentConfigPromise, + pageColors: this.pageColors + }; + const renderTask = this.renderTask = pdfPage.render(renderContext); + renderTask.onContinue = renderContinueCallback; + const resultPromise = renderTask.promise.then(() => this.#finishRenderTask(renderTask, canvas), error => this.#finishRenderTask(renderTask, canvas, error)); + resultPromise.finally(() => { + canvas.width = 0; + canvas.height = 0; + this.eventBus.dispatch("thumbnailrendered", { + source: this, + pageNumber: this.id, + pdfPage: this.pdfPage + }); + }); + return resultPromise; + } + setImage(pageView) { + if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) { + return; + } + const { + thumbnailCanvas: canvas, + pdfPage, + scale + } = pageView; + if (!canvas) { + return; + } + if (!this.pdfPage) { + this.setPdfPage(pdfPage); + } + if (scale < this.scale) { + return; + } + this.renderingState = _ui_utils.RenderingStates.FINISHED; + this._convertCanvasToImage(canvas); + } + _reduceImage(img) { + const { + ctx, + canvas + } = this._getPageDrawContext(); + if (img.width <= 2 * canvas.width) { + ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height); + return canvas; + } + let reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; + let reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; + const [reducedImage, reducedImageCtx] = TempImageFactory.getCanvas(reducedWidth, reducedHeight); + while (reducedWidth > img.width || reducedHeight > img.height) { + reducedWidth >>= 1; + reducedHeight >>= 1; + } + reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight); + while (reducedWidth > 2 * canvas.width) { + reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1); + reducedWidth >>= 1; + reducedHeight >>= 1; + } + ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height); + return canvas; + } + get _thumbPageTitle() { + return this.l10n.get("thumb_page_title", { + page: this.pageLabel ?? this.id + }); + } + get _thumbPageCanvas() { + return this.l10n.get("thumb_page_canvas", { + page: this.pageLabel ?? this.id + }); + } + setPageLabel(label) { + this.pageLabel = typeof label === "string" ? label : null; + this._thumbPageTitle.then(msg => { + this.anchor.title = msg; + }); + if (this.renderingState !== _ui_utils.RenderingStates.FINISHED) { + return; + } + this._thumbPageCanvas.then(msg => { + this.image?.setAttribute("aria-label", msg); + }); + } +} +exports.PDFThumbnailView = PDFThumbnailView; + +/***/ }), +/* 147 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PagesCountLimit = exports.PDFViewer = exports.PDFPageViewBuffer = void 0; +__webpack_require__(98); +__webpack_require__(109); +__webpack_require__(111); +__webpack_require__(114); +__webpack_require__(116); +__webpack_require__(118); +__webpack_require__(120); +__webpack_require__(76); +__webpack_require__(89); +var _pdfjsLib = __webpack_require__(122); +var _ui_utils = __webpack_require__(97); +var _l10n_utils = __webpack_require__(148); +var _pdf_page_view = __webpack_require__(149); +var _pdf_rendering_queue = __webpack_require__(142); +var _pdf_link_service = __webpack_require__(125); +const DEFAULT_CACHE_SIZE = 10; +const PagesCountLimit = { + FORCE_SCROLL_MODE_PAGE: 15000, + FORCE_LAZY_PAGE_INIT: 7500, + PAUSE_EAGER_PAGE_INIT: 250 +}; +exports.PagesCountLimit = PagesCountLimit; +function isValidAnnotationEditorMode(mode) { + return Object.values(_pdfjsLib.AnnotationEditorType).includes(mode) && mode !== _pdfjsLib.AnnotationEditorType.DISABLE; +} +class PDFPageViewBuffer { + #buf = new Set(); + #size = 0; + constructor(size) { + this.#size = size; + } + push(view) { + const buf = this.#buf; + if (buf.has(view)) { + buf.delete(view); + } + buf.add(view); + if (buf.size > this.#size) { + this.#destroyFirstView(); + } + } + resize(newSize) { + let idsToKeep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this.#size = newSize; + const buf = this.#buf; + if (idsToKeep) { + const ii = buf.size; + let i = 1; + for (const view of buf) { + if (idsToKeep.has(view.id)) { + buf.delete(view); + buf.add(view); + } + if (++i > ii) { + break; + } + } + } + while (buf.size > this.#size) { + this.#destroyFirstView(); + } + } + has(view) { + return this.#buf.has(view); + } + [Symbol.iterator]() { + return this.#buf.keys(); + } + #destroyFirstView() { + const firstView = this.#buf.keys().next().value; + firstView?.destroy(); + this.#buf.delete(firstView); + } +} +exports.PDFPageViewBuffer = PDFPageViewBuffer; +class PDFViewer { + #buffer = null; + #altTextManager = null; + #annotationEditorMode = _pdfjsLib.AnnotationEditorType.NONE; + #annotationEditorUIManager = null; + #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS; + #containerTopLeft = null; + #copyCallbackBound = null; + #enablePermissions = false; + #getAllTextInProgress = false; + #hiddenCopyElement = null; + #interruptCopyCondition = false; + #previousContainerHeight = 0; + #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this)); + #scrollModePageState = null; + #onVisibilityChange = null; + #scaleTimeoutId = null; + #textLayerMode = _ui_utils.TextLayerMode.ENABLE; + constructor(options) { + const viewerVersion = '3.11.174'; + if (_pdfjsLib.version !== viewerVersion) { + throw new Error(`The API version "${_pdfjsLib.version}" does not match the Viewer version "${viewerVersion}".`); + } + this.container = options.container; + this.viewer = options.viewer || options.container.firstElementChild; + if (this.container?.tagName !== "DIV" || this.viewer?.tagName !== "DIV") { + throw new Error("Invalid `container` and/or `viewer` option."); + } + if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") { + throw new Error("The `container` must be absolutely positioned."); + } + this.#resizeObserver.observe(this.container); + this.eventBus = options.eventBus; + this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService(); + this.downloadManager = options.downloadManager || null; + this.findController = options.findController || null; + this.#altTextManager = options.altTextManager || null; + if (this.findController) { + this.findController.onIsPageVisible = pageNumber => this._getVisiblePages().ids.has(pageNumber); + } + this._scriptingManager = options.scriptingManager || null; + this.#textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE; + this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS; + this.#annotationEditorMode = options.annotationEditorMode ?? _pdfjsLib.AnnotationEditorType.NONE; + this.imageResourcesPath = options.imageResourcesPath || ""; + this.enablePrintAutoRotate = options.enablePrintAutoRotate || false; + this.removePageBorders = options.removePageBorders || false; + if (options.useOnlyCssZoom) { + console.error("useOnlyCssZoom was removed, please use `maxCanvasPixels = 0` instead."); + options.maxCanvasPixels = 0; + } + this.isOffscreenCanvasSupported = options.isOffscreenCanvasSupported ?? true; + this.maxCanvasPixels = options.maxCanvasPixels; + this.l10n = options.l10n || _l10n_utils.NullL10n; + this.#enablePermissions = options.enablePermissions || false; + this.pageColors = options.pageColors || null; + this.defaultRenderingQueue = !options.renderingQueue; + if (this.defaultRenderingQueue) { + this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); + this.renderingQueue.setViewer(this); + } else { + this.renderingQueue = options.renderingQueue; + } + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this)); + this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN; + this._onBeforeDraw = this._onAfterDraw = null; + this._resetView(); + if (this.removePageBorders) { + this.viewer.classList.add("removePageBorders"); + } + this.#updateContainerHeightCss(); + this.eventBus._on("thumbnailrendered", _ref => { + let { + pageNumber, + pdfPage + } = _ref; + const pageView = this._pages[pageNumber - 1]; + if (!this.#buffer.has(pageView)) { + pdfPage?.cleanup(); + } + }); + } + get pagesCount() { + return this._pages.length; + } + getPageView(index) { + return this._pages[index]; + } + getCachedPageViews() { + return new Set(this.#buffer); + } + get pageViewsReady() { + return this._pagesCapability.settled && this._pages.every(pageView => pageView?.pdfPage); + } + get renderForms() { + return this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS; + } + get enableScripting() { + return !!this._scriptingManager; + } + get currentPageNumber() { + return this._currentPageNumber; + } + set currentPageNumber(val) { + if (!Number.isInteger(val)) { + throw new Error("Invalid page number."); + } + if (!this.pdfDocument) { + return; + } + if (!this._setCurrentPageNumber(val, true)) { + console.error(`currentPageNumber: "${val}" is not a valid page.`); + } + } + _setCurrentPageNumber(val) { + let resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (this._currentPageNumber === val) { + if (resetCurrentPageView) { + this.#resetCurrentPageView(); + } + return true; + } + if (!(0 < val && val <= this.pagesCount)) { + return false; + } + const previous = this._currentPageNumber; + this._currentPageNumber = val; + this.eventBus.dispatch("pagechanging", { + source: this, + pageNumber: val, + pageLabel: this._pageLabels?.[val - 1] ?? null, + previous + }); + if (resetCurrentPageView) { + this.#resetCurrentPageView(); + } + return true; + } + get currentPageLabel() { + return this._pageLabels?.[this._currentPageNumber - 1] ?? null; + } + set currentPageLabel(val) { + if (!this.pdfDocument) { + return; + } + let page = val | 0; + if (this._pageLabels) { + const i = this._pageLabels.indexOf(val); + if (i >= 0) { + page = i + 1; + } + } + if (!this._setCurrentPageNumber(page, true)) { + console.error(`currentPageLabel: "${val}" is not a valid page.`); + } + } + get currentScale() { + return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE; + } + set currentScale(val) { + if (isNaN(val)) { + throw new Error("Invalid numeric scale."); + } + if (!this.pdfDocument) { + return; + } + this.#setScale(val, { + noScroll: false + }); + } + get currentScaleValue() { + return this._currentScaleValue; + } + set currentScaleValue(val) { + if (!this.pdfDocument) { + return; + } + this.#setScale(val, { + noScroll: false + }); + } + get pagesRotation() { + return this._pagesRotation; + } + set pagesRotation(rotation) { + if (!(0, _ui_utils.isValidRotation)(rotation)) { + throw new Error("Invalid pages rotation angle."); + } + if (!this.pdfDocument) { + return; + } + rotation %= 360; + if (rotation < 0) { + rotation += 360; + } + if (this._pagesRotation === rotation) { + return; + } + this._pagesRotation = rotation; + const pageNumber = this._currentPageNumber; + this.refresh(true, { + rotation + }); + if (this._currentScaleValue) { + this.#setScale(this._currentScaleValue, { + noScroll: true + }); + } + this.eventBus.dispatch("rotationchanging", { + source: this, + pagesRotation: rotation, + pageNumber + }); + if (this.defaultRenderingQueue) { + this.update(); + } + } + get firstPagePromise() { + return this.pdfDocument ? this._firstPageCapability.promise : null; + } + get onePageRendered() { + return this.pdfDocument ? this._onePageRenderedCapability.promise : null; + } + get pagesPromise() { + return this.pdfDocument ? this._pagesCapability.promise : null; + } + #layerProperties() { + const self = this; + return { + get annotationEditorUIManager() { + return self.#annotationEditorUIManager; + }, + get annotationStorage() { + return self.pdfDocument?.annotationStorage; + }, + get downloadManager() { + return self.downloadManager; + }, + get enableScripting() { + return !!self._scriptingManager; + }, + get fieldObjectsPromise() { + return self.pdfDocument?.getFieldObjects(); + }, + get findController() { + return self.findController; + }, + get hasJSActionsPromise() { + return self.pdfDocument?.hasJSActions(); + }, + get linkService() { + return self.linkService; + } + }; + } + #initializePermissions(permissions) { + const params = { + annotationEditorMode: this.#annotationEditorMode, + annotationMode: this.#annotationMode, + textLayerMode: this.#textLayerMode + }; + if (!permissions) { + return params; + } + if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY) && this.#textLayerMode === _ui_utils.TextLayerMode.ENABLE) { + params.textLayerMode = _ui_utils.TextLayerMode.ENABLE_PERMISSIONS; + } + if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_CONTENTS)) { + params.annotationEditorMode = _pdfjsLib.AnnotationEditorType.DISABLE; + } + if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS) { + params.annotationMode = _pdfjsLib.AnnotationMode.ENABLE; + } + return params; + } + #onePageRenderedOrForceFetch() { + if (document.visibilityState === "hidden" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) { + return Promise.resolve(); + } + const visibilityChangePromise = new Promise(resolve => { + this.#onVisibilityChange = () => { + if (document.visibilityState !== "hidden") { + return; + } + resolve(); + document.removeEventListener("visibilitychange", this.#onVisibilityChange); + this.#onVisibilityChange = null; + }; + document.addEventListener("visibilitychange", this.#onVisibilityChange); + }); + return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]); + } + async getAllText() { + const texts = []; + const buffer = []; + for (let pageNum = 1, pagesCount = this.pdfDocument.numPages; pageNum <= pagesCount; ++pageNum) { + if (this.#interruptCopyCondition) { + return null; + } + buffer.length = 0; + const page = await this.pdfDocument.getPage(pageNum); + const { + items + } = await page.getTextContent(); + for (const item of items) { + if (item.str) { + buffer.push(item.str); + } + if (item.hasEOL) { + buffer.push("\n"); + } + } + texts.push((0, _ui_utils.removeNullCharacters)(buffer.join(""))); + } + return texts.join("\n"); + } + #copyCallback(textLayerMode, event) { + const selection = document.getSelection(); + const { + focusNode, + anchorNode + } = selection; + if (anchorNode && focusNode && selection.containsNode(this.#hiddenCopyElement)) { + if (this.#getAllTextInProgress || textLayerMode === _ui_utils.TextLayerMode.ENABLE_PERMISSIONS) { + event.preventDefault(); + event.stopPropagation(); + return; + } + this.#getAllTextInProgress = true; + const savedCursor = this.container.style.cursor; + this.container.style.cursor = "wait"; + const interruptCopy = ev => this.#interruptCopyCondition = ev.key === "Escape"; + window.addEventListener("keydown", interruptCopy); + this.getAllText().then(async text => { + if (text !== null) { + await navigator.clipboard.writeText(text); + } + }).catch(reason => { + console.warn(`Something goes wrong when extracting the text: ${reason.message}`); + }).finally(() => { + this.#getAllTextInProgress = false; + this.#interruptCopyCondition = false; + window.removeEventListener("keydown", interruptCopy); + this.container.style.cursor = savedCursor; + }); + event.preventDefault(); + event.stopPropagation(); + } + } + setDocument(pdfDocument) { + if (this.pdfDocument) { + this.eventBus.dispatch("pagesdestroy", { + source: this + }); + this._cancelRendering(); + this._resetView(); + this.findController?.setDocument(null); + this._scriptingManager?.setDocument(null); + if (this.#annotationEditorUIManager) { + this.#annotationEditorUIManager.destroy(); + this.#annotationEditorUIManager = null; + } + } + this.pdfDocument = pdfDocument; + if (!pdfDocument) { + return; + } + const pagesCount = pdfDocument.numPages; + const firstPagePromise = pdfDocument.getPage(1); + const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); + const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve(); + if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) { + console.warn("Forcing PAGE-scrolling for performance reasons, given the length of the document."); + const mode = this._scrollMode = _ui_utils.ScrollMode.PAGE; + this.eventBus.dispatch("scrollmodechanged", { + source: this, + mode + }); + } + this._pagesCapability.promise.then(() => { + this.eventBus.dispatch("pagesloaded", { + source: this, + pagesCount + }); + }, () => {}); + this._onBeforeDraw = evt => { + const pageView = this._pages[evt.pageNumber - 1]; + if (!pageView) { + return; + } + this.#buffer.push(pageView); + }; + this.eventBus._on("pagerender", this._onBeforeDraw); + this._onAfterDraw = evt => { + if (evt.cssTransform || this._onePageRenderedCapability.settled) { + return; + } + this._onePageRenderedCapability.resolve({ + timestamp: evt.timestamp + }); + this.eventBus._off("pagerendered", this._onAfterDraw); + this._onAfterDraw = null; + if (this.#onVisibilityChange) { + document.removeEventListener("visibilitychange", this.#onVisibilityChange); + this.#onVisibilityChange = null; + } + }; + this.eventBus._on("pagerendered", this._onAfterDraw); + Promise.all([firstPagePromise, permissionsPromise]).then(_ref2 => { + let [firstPdfPage, permissions] = _ref2; + if (pdfDocument !== this.pdfDocument) { + return; + } + this._firstPageCapability.resolve(firstPdfPage); + this._optionalContentConfigPromise = optionalContentConfigPromise; + const { + annotationEditorMode, + annotationMode, + textLayerMode + } = this.#initializePermissions(permissions); + if (textLayerMode !== _ui_utils.TextLayerMode.DISABLE) { + const element = this.#hiddenCopyElement = document.createElement("div"); + element.id = "hiddenCopyElement"; + this.viewer.before(element); + } + if (annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) { + const mode = annotationEditorMode; + if (pdfDocument.isPureXfa) { + console.warn("Warning: XFA-editing is not implemented."); + } else if (isValidAnnotationEditorMode(mode)) { + this.#annotationEditorUIManager = new _pdfjsLib.AnnotationEditorUIManager(this.container, this.viewer, this.#altTextManager, this.eventBus, pdfDocument, this.pageColors); + if (mode !== _pdfjsLib.AnnotationEditorType.NONE) { + this.#annotationEditorUIManager.updateMode(mode); + } + } else { + console.error(`Invalid AnnotationEditor mode: ${mode}`); + } + } + const layerProperties = this.#layerProperties.bind(this); + const viewerElement = this._scrollMode === _ui_utils.ScrollMode.PAGE ? null : this.viewer; + const scale = this.currentScale; + const viewport = firstPdfPage.getViewport({ + scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS + }); + this.viewer.style.setProperty("--scale-factor", viewport.scale); + if (this.pageColors?.foreground === "CanvasText" || this.pageColors?.background === "Canvas") { + this.viewer.style.setProperty("--hcm-highligh-filter", pdfDocument.filterFactory.addHighlightHCMFilter("CanvasText", "Canvas", "HighlightText", "Highlight")); + } + for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) { + const pageView = new _pdf_page_view.PDFPageView({ + container: viewerElement, + eventBus: this.eventBus, + id: pageNum, + scale, + defaultViewport: viewport.clone(), + optionalContentConfigPromise, + renderingQueue: this.renderingQueue, + textLayerMode, + annotationMode, + imageResourcesPath: this.imageResourcesPath, + isOffscreenCanvasSupported: this.isOffscreenCanvasSupported, + maxCanvasPixels: this.maxCanvasPixels, + pageColors: this.pageColors, + l10n: this.l10n, + layerProperties + }); + this._pages.push(pageView); + } + const firstPageView = this._pages[0]; + if (firstPageView) { + firstPageView.setPdfPage(firstPdfPage); + this.linkService.cachePageRef(1, firstPdfPage.ref); + } + if (this._scrollMode === _ui_utils.ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + } else if (this._spreadMode !== _ui_utils.SpreadMode.NONE) { + this._updateSpreadMode(); + } + this.#onePageRenderedOrForceFetch().then(async () => { + this.findController?.setDocument(pdfDocument); + this._scriptingManager?.setDocument(pdfDocument); + if (this.#hiddenCopyElement) { + this.#copyCallbackBound = this.#copyCallback.bind(this, textLayerMode); + document.addEventListener("copy", this.#copyCallbackBound); + } + if (this.#annotationEditorUIManager) { + this.eventBus.dispatch("annotationeditormodechanged", { + source: this, + mode: this.#annotationEditorMode + }); + } + if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) { + this._pagesCapability.resolve(); + return; + } + let getPagesLeft = pagesCount - 1; + if (getPagesLeft <= 0) { + this._pagesCapability.resolve(); + return; + } + for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) { + const promise = pdfDocument.getPage(pageNum).then(pdfPage => { + const pageView = this._pages[pageNum - 1]; + if (!pageView.pdfPage) { + pageView.setPdfPage(pdfPage); + } + this.linkService.cachePageRef(pageNum, pdfPage.ref); + if (--getPagesLeft === 0) { + this._pagesCapability.resolve(); + } + }, reason => { + console.error(`Unable to get page ${pageNum} to initialize viewer`, reason); + if (--getPagesLeft === 0) { + this._pagesCapability.resolve(); + } + }); + if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) { + await promise; + } + } + }); + this.eventBus.dispatch("pagesinit", { + source: this + }); + pdfDocument.getMetadata().then(_ref3 => { + let { + info + } = _ref3; + if (pdfDocument !== this.pdfDocument) { + return; + } + if (info.Language) { + this.viewer.lang = info.Language; + } + }); + if (this.defaultRenderingQueue) { + this.update(); + } + }).catch(reason => { + console.error("Unable to initialize viewer", reason); + this._pagesCapability.reject(reason); + }); + } + setPageLabels(labels) { + if (!this.pdfDocument) { + return; + } + if (!labels) { + this._pageLabels = null; + } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { + this._pageLabels = null; + console.error(`setPageLabels: Invalid page labels.`); + } else { + this._pageLabels = labels; + } + for (let i = 0, ii = this._pages.length; i < ii; i++) { + this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null); + } + } + _resetView() { + this._pages = []; + this._currentPageNumber = 1; + this._currentScale = _ui_utils.UNKNOWN_SCALE; + this._currentScaleValue = null; + this._pageLabels = null; + this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE); + this._location = null; + this._pagesRotation = 0; + this._optionalContentConfigPromise = null; + this._firstPageCapability = new _pdfjsLib.PromiseCapability(); + this._onePageRenderedCapability = new _pdfjsLib.PromiseCapability(); + this._pagesCapability = new _pdfjsLib.PromiseCapability(); + this._scrollMode = _ui_utils.ScrollMode.VERTICAL; + this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN; + this._spreadMode = _ui_utils.SpreadMode.NONE; + this.#scrollModePageState = { + previousPageNumber: 1, + scrollDown: true, + pages: [] + }; + if (this._onBeforeDraw) { + this.eventBus._off("pagerender", this._onBeforeDraw); + this._onBeforeDraw = null; + } + if (this._onAfterDraw) { + this.eventBus._off("pagerendered", this._onAfterDraw); + this._onAfterDraw = null; + } + if (this.#onVisibilityChange) { + document.removeEventListener("visibilitychange", this.#onVisibilityChange); + this.#onVisibilityChange = null; + } + this.viewer.textContent = ""; + this._updateScrollMode(); + this.viewer.removeAttribute("lang"); + if (this.#hiddenCopyElement) { + document.removeEventListener("copy", this.#copyCallbackBound); + this.#copyCallbackBound = null; + this.#hiddenCopyElement.remove(); + this.#hiddenCopyElement = null; + } + } + #ensurePageViewVisible() { + if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) { + throw new Error("#ensurePageViewVisible: Invalid scrollMode value."); + } + const pageNumber = this._currentPageNumber, + state = this.#scrollModePageState, + viewer = this.viewer; + viewer.textContent = ""; + state.pages.length = 0; + if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) { + const pageView = this._pages[pageNumber - 1]; + viewer.append(pageView.div); + state.pages.push(pageView); + } else { + const pageIndexSet = new Set(), + parity = this._spreadMode - 1; + if (parity === -1) { + pageIndexSet.add(pageNumber - 1); + } else if (pageNumber % 2 !== parity) { + pageIndexSet.add(pageNumber - 1); + pageIndexSet.add(pageNumber); + } else { + pageIndexSet.add(pageNumber - 2); + pageIndexSet.add(pageNumber - 1); + } + const spread = document.createElement("div"); + spread.className = "spread"; + if (this.isInPresentationMode) { + const dummyPage = document.createElement("div"); + dummyPage.className = "dummyPage"; + spread.append(dummyPage); + } + for (const i of pageIndexSet) { + const pageView = this._pages[i]; + if (!pageView) { + continue; + } + spread.append(pageView.div); + state.pages.push(pageView); + } + viewer.append(spread); + } + state.scrollDown = pageNumber >= state.previousPageNumber; + state.previousPageNumber = pageNumber; + } + _scrollUpdate() { + if (this.pagesCount === 0) { + return; + } + this.update(); + } + #scrollIntoView(pageView) { + let pageSpot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + const { + div, + id + } = pageView; + if (this._currentPageNumber !== id) { + this._setCurrentPageNumber(id); + } + if (this._scrollMode === _ui_utils.ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + this.update(); + } + if (!pageSpot && !this.isInPresentationMode) { + const left = div.offsetLeft + div.clientLeft, + right = left + div.clientWidth; + const { + scrollLeft, + clientWidth + } = this.container; + if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) { + pageSpot = { + left: 0, + top: 0 + }; + } + } + (0, _ui_utils.scrollIntoView)(div, pageSpot); + if (!this._currentScaleValue && this._location) { + this._location = null; + } + } + #isSameScale(newScale) { + return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15; + } + #setScaleUpdatePages(newScale, newValue, _ref4) { + let { + noScroll = false, + preset = false, + drawingDelay = -1 + } = _ref4; + this._currentScaleValue = newValue.toString(); + if (this.#isSameScale(newScale)) { + if (preset) { + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: newValue + }); + } + return; + } + this.viewer.style.setProperty("--scale-factor", newScale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS); + const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000; + this.refresh(true, { + scale: newScale, + drawingDelay: postponeDrawing ? drawingDelay : -1 + }); + if (postponeDrawing) { + this.#scaleTimeoutId = setTimeout(() => { + this.#scaleTimeoutId = null; + this.refresh(); + }, drawingDelay); + } + this._currentScale = newScale; + if (!noScroll) { + let page = this._currentPageNumber, + dest; + if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) { + page = this._location.pageNumber; + dest = [null, { + name: "XYZ" + }, this._location.left, this._location.top, null]; + } + this.scrollPageIntoView({ + pageNumber: page, + destArray: dest, + allowNegativeOffset: true + }); + } + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: preset ? newValue : undefined + }); + if (this.defaultRenderingQueue) { + this.update(); + } + } + get #pageWidthScaleFactor() { + if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) { + return 2; + } + return 1; + } + #setScale(value, options) { + let scale = parseFloat(value); + if (scale > 0) { + options.preset = false; + this.#setScaleUpdatePages(scale, value, options); + } else { + const currentPage = this._pages[this._currentPageNumber - 1]; + if (!currentPage) { + return; + } + let hPadding = _ui_utils.SCROLLBAR_PADDING, + vPadding = _ui_utils.VERTICAL_PADDING; + if (this.isInPresentationMode) { + hPadding = vPadding = 4; + if (this._spreadMode !== _ui_utils.SpreadMode.NONE) { + hPadding *= 2; + } + } else if (this.removePageBorders) { + hPadding = vPadding = 0; + } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) { + [hPadding, vPadding] = [vPadding, hPadding]; + } + const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this.#pageWidthScaleFactor; + const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale; + switch (value) { + case "page-actual": + scale = 1; + break; + case "page-width": + scale = pageWidthScale; + break; + case "page-height": + scale = pageHeightScale; + break; + case "page-fit": + scale = Math.min(pageWidthScale, pageHeightScale); + break; + case "auto": + const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale); + scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale); + break; + default: + console.error(`#setScale: "${value}" is an unknown zoom value.`); + return; + } + options.preset = true; + this.#setScaleUpdatePages(scale, value, options); + } + } + #resetCurrentPageView() { + const pageView = this._pages[this._currentPageNumber - 1]; + if (this.isInPresentationMode) { + this.#setScale(this._currentScaleValue, { + noScroll: true + }); + } + this.#scrollIntoView(pageView); + } + pageLabelToPageNumber(label) { + if (!this._pageLabels) { + return null; + } + const i = this._pageLabels.indexOf(label); + if (i < 0) { + return null; + } + return i + 1; + } + scrollPageIntoView(_ref5) { + let { + pageNumber, + destArray = null, + allowNegativeOffset = false, + ignoreDestinationZoom = false + } = _ref5; + if (!this.pdfDocument) { + return; + } + const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1]; + if (!pageView) { + console.error(`scrollPageIntoView: "${pageNumber}" is not a valid pageNumber parameter.`); + return; + } + if (this.isInPresentationMode || !destArray) { + this._setCurrentPageNumber(pageNumber, true); + return; + } + let x = 0, + y = 0; + let width = 0, + height = 0, + widthScale, + heightScale; + const changeOrientation = pageView.rotation % 180 !== 0; + const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + let scale = 0; + switch (destArray[1].name) { + case "XYZ": + x = destArray[2]; + y = destArray[3]; + scale = destArray[4]; + x = x !== null ? x : 0; + y = y !== null ? y : pageHeight; + break; + case "Fit": + case "FitB": + scale = "page-fit"; + break; + case "FitH": + case "FitBH": + y = destArray[2]; + scale = "page-width"; + if (y === null && this._location) { + x = this._location.left; + y = this._location.top; + } else if (typeof y !== "number" || y < 0) { + y = pageHeight; + } + break; + case "FitV": + case "FitBV": + x = destArray[2]; + width = pageWidth; + height = pageHeight; + scale = "page-height"; + break; + case "FitR": + x = destArray[2]; + y = destArray[3]; + width = destArray[4] - x; + height = destArray[5] - y; + let hPadding = _ui_utils.SCROLLBAR_PADDING, + vPadding = _ui_utils.VERTICAL_PADDING; + if (this.removePageBorders) { + hPadding = vPadding = 0; + } + widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS; + scale = Math.min(Math.abs(widthScale), Math.abs(heightScale)); + break; + default: + console.error(`scrollPageIntoView: "${destArray[1].name}" is not a valid destination type.`); + return; + } + if (!ignoreDestinationZoom) { + if (scale && scale !== this._currentScale) { + this.currentScaleValue = scale; + } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) { + this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + } + } + if (scale === "page-fit" && !destArray[4]) { + this.#scrollIntoView(pageView); + return; + } + const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)]; + let left = Math.min(boundingRect[0][0], boundingRect[1][0]); + let top = Math.min(boundingRect[0][1], boundingRect[1][1]); + if (!allowNegativeOffset) { + left = Math.max(left, 0); + top = Math.max(top, 0); + } + this.#scrollIntoView(pageView, { + left, + top + }); + } + _updateLocation(firstPage) { + const currentScale = this._currentScale; + const currentScaleValue = this._currentScaleValue; + const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue; + const pageNumber = firstPage.id; + const currentPageView = this._pages[pageNumber - 1]; + const container = this.container; + const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y); + const intLeft = Math.round(topLeft[0]); + const intTop = Math.round(topLeft[1]); + let pdfOpenParams = `#page=${pageNumber}`; + if (!this.isInPresentationMode) { + pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`; + } + this._location = { + pageNumber, + scale: normalizedScaleValue, + top: intTop, + left: intLeft, + rotation: this._pagesRotation, + pdfOpenParams + }; + } + update() { + const visible = this._getVisiblePages(); + const visiblePages = visible.views, + numVisiblePages = visiblePages.length; + if (numVisiblePages === 0) { + return; + } + const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1); + this.#buffer.resize(newCacheSize, visible.ids); + this.renderingQueue.renderHighestPriority(visible); + const isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL); + const currentId = this._currentPageNumber; + let stillFullyVisible = false; + for (const page of visiblePages) { + if (page.percent < 100) { + break; + } + if (page.id === currentId && isSimpleLayout) { + stillFullyVisible = true; + break; + } + } + this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id); + this._updateLocation(visible.first); + this.eventBus.dispatch("updateviewarea", { + source: this, + location: this._location + }); + } + containsElement(element) { + return this.container.contains(element); + } + focus() { + this.container.focus(); + } + get _isContainerRtl() { + return getComputedStyle(this.container).direction === "rtl"; + } + get isInPresentationMode() { + return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN; + } + get isChangingPresentationMode() { + return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING; + } + get isHorizontalScrollbarEnabled() { + return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth; + } + get isVerticalScrollbarEnabled() { + return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight; + } + _getVisiblePages() { + const views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages, + horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL, + rtl = horizontal && this._isContainerRtl; + return (0, _ui_utils.getVisibleElements)({ + scrollEl: this.container, + views, + sortByVisibility: true, + horizontal, + rtl + }); + } + cleanup() { + for (const pageView of this._pages) { + if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) { + pageView.reset(); + } + } + } + _cancelRendering() { + for (const pageView of this._pages) { + pageView.cancelRendering(); + } + } + async #ensurePdfPageLoaded(pageView) { + if (pageView.pdfPage) { + return pageView.pdfPage; + } + try { + const pdfPage = await this.pdfDocument.getPage(pageView.id); + if (!pageView.pdfPage) { + pageView.setPdfPage(pdfPage); + } + if (!this.linkService._cachedPageNumber?.(pdfPage.ref)) { + this.linkService.cachePageRef(pageView.id, pdfPage.ref); + } + return pdfPage; + } catch (reason) { + console.error("Unable to get page for page view", reason); + return null; + } + } + #getScrollAhead(visible) { + if (visible.first?.id === 1) { + return true; + } else if (visible.last?.id === this.pagesCount) { + return false; + } + switch (this._scrollMode) { + case _ui_utils.ScrollMode.PAGE: + return this.#scrollModePageState.scrollDown; + case _ui_utils.ScrollMode.HORIZONTAL: + return this.scroll.right; + } + return this.scroll.down; + } + forceRendering(currentlyVisiblePages) { + const visiblePages = currentlyVisiblePages || this._getVisiblePages(); + const scrollAhead = this.#getScrollAhead(visiblePages); + const preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL; + const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra); + if (pageView) { + this.#ensurePdfPageLoaded(pageView).then(() => { + this.renderingQueue.renderView(pageView); + }); + return true; + } + return false; + } + get hasEqualPageSizes() { + const firstPageView = this._pages[0]; + for (let i = 1, ii = this._pages.length; i < ii; ++i) { + const pageView = this._pages[i]; + if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) { + return false; + } + } + return true; + } + getPagesOverview() { + let initialOrientation; + return this._pages.map(pageView => { + const viewport = pageView.pdfPage.getViewport({ + scale: 1 + }); + const orientation = (0, _ui_utils.isPortraitOrientation)(viewport); + if (initialOrientation === undefined) { + initialOrientation = orientation; + } else if (this.enablePrintAutoRotate && orientation !== initialOrientation) { + return { + width: viewport.height, + height: viewport.width, + rotation: (viewport.rotation - 90) % 360 + }; + } + return { + width: viewport.width, + height: viewport.height, + rotation: viewport.rotation + }; + }); + } + get optionalContentConfigPromise() { + if (!this.pdfDocument) { + return Promise.resolve(null); + } + if (!this._optionalContentConfigPromise) { + console.error("optionalContentConfigPromise: Not initialized yet."); + return this.pdfDocument.getOptionalContentConfig(); + } + return this._optionalContentConfigPromise; + } + set optionalContentConfigPromise(promise) { + if (!(promise instanceof Promise)) { + throw new Error(`Invalid optionalContentConfigPromise: ${promise}`); + } + if (!this.pdfDocument) { + return; + } + if (!this._optionalContentConfigPromise) { + return; + } + this._optionalContentConfigPromise = promise; + this.refresh(false, { + optionalContentConfigPromise: promise + }); + this.eventBus.dispatch("optionalcontentconfigchanged", { + source: this, + promise + }); + } + get scrollMode() { + return this._scrollMode; + } + set scrollMode(mode) { + if (this._scrollMode === mode) { + return; + } + if (!(0, _ui_utils.isValidScrollMode)(mode)) { + throw new Error(`Invalid scroll mode: ${mode}`); + } + if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) { + return; + } + this._previousScrollMode = this._scrollMode; + this._scrollMode = mode; + this.eventBus.dispatch("scrollmodechanged", { + source: this, + mode + }); + this._updateScrollMode(this._currentPageNumber); + } + _updateScrollMode() { + let pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + const scrollMode = this._scrollMode, + viewer = this.viewer; + viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL); + viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED); + if (!this.pdfDocument || !pageNumber) { + return; + } + if (scrollMode === _ui_utils.ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) { + this._updateSpreadMode(); + } + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { + this.#setScale(this._currentScaleValue, { + noScroll: true + }); + } + this._setCurrentPageNumber(pageNumber, true); + this.update(); + } + get spreadMode() { + return this._spreadMode; + } + set spreadMode(mode) { + if (this._spreadMode === mode) { + return; + } + if (!(0, _ui_utils.isValidSpreadMode)(mode)) { + throw new Error(`Invalid spread mode: ${mode}`); + } + this._spreadMode = mode; + this.eventBus.dispatch("spreadmodechanged", { + source: this, + mode + }); + this._updateSpreadMode(this._currentPageNumber); + } + _updateSpreadMode() { + let pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + if (!this.pdfDocument) { + return; + } + const viewer = this.viewer, + pages = this._pages; + if (this._scrollMode === _ui_utils.ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + } else { + viewer.textContent = ""; + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { + for (const pageView of this._pages) { + viewer.append(pageView.div); + } + } else { + const parity = this._spreadMode - 1; + let spread = null; + for (let i = 0, ii = pages.length; i < ii; ++i) { + if (spread === null) { + spread = document.createElement("div"); + spread.className = "spread"; + viewer.append(spread); + } else if (i % 2 === parity) { + spread = spread.cloneNode(false); + viewer.append(spread); + } + spread.append(pages[i].div); + } + } + } + if (!pageNumber) { + return; + } + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { + this.#setScale(this._currentScaleValue, { + noScroll: true + }); + } + this._setCurrentPageNumber(pageNumber, true); + this.update(); + } + _getPageAdvance(currentPageNumber) { + let previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + switch (this._scrollMode) { + case _ui_utils.ScrollMode.WRAPPED: + { + const { + views + } = this._getVisiblePages(), + pageLayout = new Map(); + for (const { + id, + y, + percent, + widthPercent + } of views) { + if (percent === 0 || widthPercent < 100) { + continue; + } + let yArray = pageLayout.get(y); + if (!yArray) { + pageLayout.set(y, yArray ||= []); + } + yArray.push(id); + } + for (const yArray of pageLayout.values()) { + const currentIndex = yArray.indexOf(currentPageNumber); + if (currentIndex === -1) { + continue; + } + const numPages = yArray.length; + if (numPages === 1) { + break; + } + if (previous) { + for (let i = currentIndex - 1, ii = 0; i >= ii; i--) { + const currentId = yArray[i], + expectedId = yArray[i + 1] - 1; + if (currentId < expectedId) { + return currentPageNumber - expectedId; + } + } + } else { + for (let i = currentIndex + 1, ii = numPages; i < ii; i++) { + const currentId = yArray[i], + expectedId = yArray[i - 1] + 1; + if (currentId > expectedId) { + return expectedId - currentPageNumber; + } + } + } + if (previous) { + const firstId = yArray[0]; + if (firstId < currentPageNumber) { + return currentPageNumber - firstId + 1; + } + } else { + const lastId = yArray[numPages - 1]; + if (lastId > currentPageNumber) { + return lastId - currentPageNumber + 1; + } + } + break; + } + break; + } + case _ui_utils.ScrollMode.HORIZONTAL: + { + break; + } + case _ui_utils.ScrollMode.PAGE: + case _ui_utils.ScrollMode.VERTICAL: + { + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { + break; + } + const parity = this._spreadMode - 1; + if (previous && currentPageNumber % 2 !== parity) { + break; + } else if (!previous && currentPageNumber % 2 === parity) { + break; + } + const { + views + } = this._getVisiblePages(), + expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1; + for (const { + id, + percent, + widthPercent + } of views) { + if (id !== expectedId) { + continue; + } + if (percent > 0 && widthPercent === 100) { + return 2; + } + break; + } + break; + } + } + return 1; + } + nextPage() { + const currentPageNumber = this._currentPageNumber, + pagesCount = this.pagesCount; + if (currentPageNumber >= pagesCount) { + return false; + } + const advance = this._getPageAdvance(currentPageNumber, false) || 1; + this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount); + return true; + } + previousPage() { + const currentPageNumber = this._currentPageNumber; + if (currentPageNumber <= 1) { + return false; + } + const advance = this._getPageAdvance(currentPageNumber, true) || 1; + this.currentPageNumber = Math.max(currentPageNumber - advance, 1); + return true; + } + increaseScale() { + let { + drawingDelay, + scaleFactor, + steps + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!this.pdfDocument) { + return; + } + let newScale = this._currentScale; + if (scaleFactor > 1) { + newScale = Math.round(newScale * scaleFactor * 100) / 100; + } else { + steps ??= 1; + do { + newScale = Math.ceil((newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2) * 10) / 10; + } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE); + } + this.#setScale(Math.min(_ui_utils.MAX_SCALE, newScale), { + noScroll: false, + drawingDelay + }); + } + decreaseScale() { + let { + drawingDelay, + scaleFactor, + steps + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (!this.pdfDocument) { + return; + } + let newScale = this._currentScale; + if (scaleFactor > 0 && scaleFactor < 1) { + newScale = Math.round(newScale * scaleFactor * 100) / 100; + } else { + steps ??= 1; + do { + newScale = Math.floor((newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2) * 10) / 10; + } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE); + } + this.#setScale(Math.max(_ui_utils.MIN_SCALE, newScale), { + noScroll: false, + drawingDelay + }); + } + #updateContainerHeightCss() { + let height = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.container.clientHeight; + if (height !== this.#previousContainerHeight) { + this.#previousContainerHeight = height; + _ui_utils.docStyle.setProperty("--viewer-container-height", `${height}px`); + } + } + #resizeObserverCallback(entries) { + for (const entry of entries) { + if (entry.target === this.container) { + this.#updateContainerHeightCss(Math.floor(entry.borderBoxSize[0].blockSize)); + this.#containerTopLeft = null; + break; + } + } + } + get containerTopLeft() { + return this.#containerTopLeft ||= [this.container.offsetTop, this.container.offsetLeft]; + } + get annotationEditorMode() { + return this.#annotationEditorUIManager ? this.#annotationEditorMode : _pdfjsLib.AnnotationEditorType.DISABLE; + } + set annotationEditorMode(_ref6) { + let { + mode, + editId = null + } = _ref6; + if (!this.#annotationEditorUIManager) { + throw new Error(`The AnnotationEditor is not enabled.`); + } + if (this.#annotationEditorMode === mode) { + return; + } + if (!isValidAnnotationEditorMode(mode)) { + throw new Error(`Invalid AnnotationEditor mode: ${mode}`); + } + if (!this.pdfDocument) { + return; + } + this.#annotationEditorMode = mode; + this.eventBus.dispatch("annotationeditormodechanged", { + source: this, + mode + }); + this.#annotationEditorUIManager.updateMode(mode, editId); + } + set annotationEditorParams(_ref7) { + let { + type, + value + } = _ref7; + if (!this.#annotationEditorUIManager) { + throw new Error(`The AnnotationEditor is not enabled.`); + } + this.#annotationEditorUIManager.updateParams(type, value); + } + refresh() { + let noUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + let updateArgs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Object.create(null); + if (!this.pdfDocument) { + return; + } + for (const pageView of this._pages) { + pageView.update(updateArgs); + } + if (this.#scaleTimeoutId !== null) { + clearTimeout(this.#scaleTimeoutId); + this.#scaleTimeoutId = null; + } + if (!noUpdate) { + this.update(); + } + } +} +exports.PDFViewer = PDFViewer; + +/***/ }), +/* 148 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NullL10n = void 0; +exports.getL10nFallback = getL10nFallback; +const DEFAULT_L10N_STRINGS = { + of_pages: "of {{pagesCount}}", + page_of_pages: "({{pageNumber}} of {{pagesCount}})", + document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)", + document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)", + document_properties_date_string: "{{date}}, {{time}}", + document_properties_page_size_unit_inches: "in", + document_properties_page_size_unit_millimeters: "mm", + document_properties_page_size_orientation_portrait: "portrait", + document_properties_page_size_orientation_landscape: "landscape", + document_properties_page_size_name_a3: "A3", + document_properties_page_size_name_a4: "A4", + document_properties_page_size_name_letter: "Letter", + document_properties_page_size_name_legal: "Legal", + document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})", + document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})", + document_properties_linearized_yes: "Yes", + document_properties_linearized_no: "No", + additional_layers: "Additional Layers", + page_landmark: "Page {{page}}", + thumb_page_title: "Page {{page}}", + thumb_page_canvas: "Thumbnail of Page {{page}}", + find_reached_top: "Reached top of document, continued from bottom", + find_reached_bottom: "Reached end of document, continued from top", + "find_match_count[one]": "{{current}} of {{total}} match", + "find_match_count[other]": "{{current}} of {{total}} matches", + "find_match_count_limit[one]": "More than {{limit}} match", + "find_match_count_limit[other]": "More than {{limit}} matches", + find_not_found: "Phrase not found", + page_scale_width: "Page Width", + page_scale_fit: "Page Fit", + page_scale_auto: "Automatic Zoom", + page_scale_actual: "Actual Size", + page_scale_percent: "{{scale}}%", + loading_error: "An error occurred while loading the PDF.", + invalid_file_error: "Invalid or corrupted PDF file.", + missing_file_error: "Missing PDF file.", + unexpected_response_error: "Unexpected server response.", + rendering_error: "An error occurred while rendering the page.", + annotation_date_string: "{{date}}, {{time}}", + printing_not_supported: "Warning: Printing is not fully supported by this browser.", + printing_not_ready: "Warning: The PDF is not fully loaded for printing.", + web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts.", + free_text2_default_content: "Start typing…", + editor_free_text2_aria_label: "Text Editor", + editor_ink2_aria_label: "Draw Editor", + editor_ink_canvas_aria_label: "User-created image", + editor_alt_text_button_label: "Alt text", + editor_alt_text_edit_button_label: "Edit alt text", + editor_alt_text_decorative_tooltip: "Marked as decorative" +}; +{ + DEFAULT_L10N_STRINGS.print_progress_percent = "{{progress}}%"; +} +function getL10nFallback(key, args) { + switch (key) { + case "find_match_count": + key = `find_match_count[${args.total === 1 ? "one" : "other"}]`; + break; + case "find_match_count_limit": + key = `find_match_count_limit[${args.limit === 1 ? "one" : "other"}]`; + break; + } + return DEFAULT_L10N_STRINGS[key] || ""; +} +function formatL10nValue(text, args) { + if (!args) { + return text; + } + return text.replaceAll(/\{\{\s*(\w+)\s*\}\}/g, (all, name) => { + return name in args ? args[name] : "{{" + name + "}}"; + }); +} +const NullL10n = { + async getLanguage() { + return "en-us"; + }, + async getDirection() { + return "ltr"; + }, + async get(key) { + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getL10nFallback(key, args); + return formatL10nValue(fallback, args); + }, + async translate(element) {} +}; +exports.NullL10n = NullL10n; + +/***/ }), +/* 149 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPageView = void 0; +__webpack_require__(89); +__webpack_require__(76); +var _pdfjsLib = __webpack_require__(122); +var _ui_utils = __webpack_require__(97); +var _annotation_editor_layer_builder = __webpack_require__(150); +var _annotation_layer_builder = __webpack_require__(151); +var _app_options = __webpack_require__(123); +var _l10n_utils = __webpack_require__(148); +var _pdf_link_service = __webpack_require__(125); +var _struct_tree_layer_builder = __webpack_require__(152); +var _text_accessibility = __webpack_require__(153); +var _text_highlighter = __webpack_require__(154); +var _text_layer_builder = __webpack_require__(155); +var _xfa_layer_builder = __webpack_require__(156); +const MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216; +const DEFAULT_LAYER_PROPERTIES = () => { + return null; +}; +class PDFPageView { + #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS; + #hasRestrictedScaling = false; + #layerProperties = null; + #loadingId = null; + #previousRotation = null; + #renderError = null; + #renderingState = _ui_utils.RenderingStates.INITIAL; + #textLayerMode = _ui_utils.TextLayerMode.ENABLE; + #useThumbnailCanvas = { + directDrawing: true, + initialOptionalContent: true, + regularAnnotations: true + }; + #viewportMap = new WeakMap(); + constructor(options) { + const container = options.container; + const defaultViewport = options.defaultViewport; + this.id = options.id; + this.renderingId = "page" + this.id; + this.#layerProperties = options.layerProperties || DEFAULT_LAYER_PROPERTIES; + this.pdfPage = null; + this.pageLabel = null; + this.rotation = 0; + this.scale = options.scale || _ui_utils.DEFAULT_SCALE; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = options.optionalContentConfigPromise || null; + this.#textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE; + this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS; + this.imageResourcesPath = options.imageResourcesPath || ""; + this.isOffscreenCanvasSupported = options.isOffscreenCanvasSupported ?? true; + this.maxCanvasPixels = options.maxCanvasPixels ?? MAX_CANVAS_PIXELS; + this.pageColors = options.pageColors || null; + this.eventBus = options.eventBus; + this.renderingQueue = options.renderingQueue; + this.l10n = options.l10n || _l10n_utils.NullL10n; + this.renderTask = null; + this.resume = null; + this._isStandalone = !this.renderingQueue?.hasViewer(); + this._container = container; + if (options.useOnlyCssZoom) { + console.error("useOnlyCssZoom was removed, please use `maxCanvasPixels = 0` instead."); + this.maxCanvasPixels = 0; + } + this._annotationCanvasMap = null; + this.annotationLayer = null; + this.annotationEditorLayer = null; + this.textLayer = null; + this.zoomLayer = null; + this.xfaLayer = null; + this.structTreeLayer = null; + const div = document.createElement("div"); + div.className = "page"; + div.setAttribute("data-page-number", this.id); + div.setAttribute("role", "region"); + this.l10n.get("page_landmark", { + page: this.id + }).then(msg => { + div.setAttribute("aria-label", msg); + }); + this.div = div; + this.#setDimensions(); + container?.append(div); + if (this._isStandalone) { + container?.style.setProperty("--scale-factor", this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS); + const { + optionalContentConfigPromise + } = options; + if (optionalContentConfigPromise) { + optionalContentConfigPromise.then(optionalContentConfig => { + if (optionalContentConfigPromise !== this._optionalContentConfigPromise) { + return; + } + this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility; + }); + } + } + } + get renderingState() { + return this.#renderingState; + } + set renderingState(state) { + if (state === this.#renderingState) { + return; + } + this.#renderingState = state; + if (this.#loadingId) { + clearTimeout(this.#loadingId); + this.#loadingId = null; + } + switch (state) { + case _ui_utils.RenderingStates.PAUSED: + this.div.classList.remove("loading"); + break; + case _ui_utils.RenderingStates.RUNNING: + this.div.classList.add("loadingIcon"); + this.#loadingId = setTimeout(() => { + this.div.classList.add("loading"); + this.#loadingId = null; + }, 0); + break; + case _ui_utils.RenderingStates.INITIAL: + case _ui_utils.RenderingStates.FINISHED: + this.div.classList.remove("loadingIcon", "loading"); + break; + } + } + #setDimensions() { + const { + viewport + } = this; + if (this.pdfPage) { + if (this.#previousRotation === viewport.rotation) { + return; + } + this.#previousRotation = viewport.rotation; + } + (0, _pdfjsLib.setLayerDimensions)(this.div, viewport, true, false); + } + setPdfPage(pdfPage) { + if (this._isStandalone && (this.pageColors?.foreground === "CanvasText" || this.pageColors?.background === "Canvas")) { + this._container?.style.setProperty("--hcm-highligh-filter", pdfPage.filterFactory.addHighlightHCMFilter("CanvasText", "Canvas", "HighlightText", "Highlight")); + } + this.pdfPage = pdfPage; + this.pdfPageRotate = pdfPage.rotate; + const totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = pdfPage.getViewport({ + scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: totalRotation + }); + this.#setDimensions(); + this.reset(); + } + destroy() { + this.reset(); + this.pdfPage?.cleanup(); + } + get _textHighlighter() { + return (0, _pdfjsLib.shadow)(this, "_textHighlighter", new _text_highlighter.TextHighlighter({ + pageIndex: this.id - 1, + eventBus: this.eventBus, + findController: this.#layerProperties().findController + })); + } + async #renderAnnotationLayer() { + let error = null; + try { + await this.annotationLayer.render(this.viewport, "display"); + } catch (ex) { + console.error(`#renderAnnotationLayer: "${ex}".`); + error = ex; + } finally { + this.eventBus.dispatch("annotationlayerrendered", { + source: this, + pageNumber: this.id, + error + }); + } + } + async #renderAnnotationEditorLayer() { + let error = null; + try { + await this.annotationEditorLayer.render(this.viewport, "display"); + } catch (ex) { + console.error(`#renderAnnotationEditorLayer: "${ex}".`); + error = ex; + } finally { + this.eventBus.dispatch("annotationeditorlayerrendered", { + source: this, + pageNumber: this.id, + error + }); + } + } + async #renderXfaLayer() { + let error = null; + try { + const result = await this.xfaLayer.render(this.viewport, "display"); + if (result?.textDivs && this._textHighlighter) { + this.#buildXfaTextContentItems(result.textDivs); + } + } catch (ex) { + console.error(`#renderXfaLayer: "${ex}".`); + error = ex; + } finally { + this.eventBus.dispatch("xfalayerrendered", { + source: this, + pageNumber: this.id, + error + }); + } + } + async #renderTextLayer() { + const { + pdfPage, + textLayer, + viewport + } = this; + if (!textLayer) { + return; + } + let error = null; + try { + if (!textLayer.renderingDone) { + const readableStream = pdfPage.streamTextContent({ + includeMarkedContent: true, + disableNormalization: true + }); + textLayer.setTextContentSource(readableStream); + } + await textLayer.render(viewport); + } catch (ex) { + if (ex instanceof _pdfjsLib.AbortException) { + return; + } + console.error(`#renderTextLayer: "${ex}".`); + error = ex; + } + this.eventBus.dispatch("textlayerrendered", { + source: this, + pageNumber: this.id, + numTextDivs: textLayer.numTextDivs, + error + }); + this.#renderStructTreeLayer(); + } + async #renderStructTreeLayer() { + if (!this.textLayer) { + return; + } + this.structTreeLayer ||= new _struct_tree_layer_builder.StructTreeLayerBuilder(); + const tree = await (!this.structTreeLayer.renderingDone ? this.pdfPage.getStructTree() : null); + const treeDom = this.structTreeLayer?.render(tree); + if (treeDom) { + this.canvas?.append(treeDom); + } + this.structTreeLayer?.show(); + } + async #buildXfaTextContentItems(textDivs) { + const text = await this.pdfPage.getTextContent(); + const items = []; + for (const item of text.items) { + items.push(item.str); + } + this._textHighlighter.setTextMapping(textDivs, items); + this._textHighlighter.enable(); + } + _resetZoomLayer() { + let removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (!this.zoomLayer) { + return; + } + const zoomLayerCanvas = this.zoomLayer.firstChild; + this.#viewportMap.delete(zoomLayerCanvas); + zoomLayerCanvas.width = 0; + zoomLayerCanvas.height = 0; + if (removeFromDOM) { + this.zoomLayer.remove(); + } + this.zoomLayer = null; + } + reset() { + let { + keepZoomLayer = false, + keepAnnotationLayer = false, + keepAnnotationEditorLayer = false, + keepXfaLayer = false, + keepTextLayer = false + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + this.cancelRendering({ + keepAnnotationLayer, + keepAnnotationEditorLayer, + keepXfaLayer, + keepTextLayer + }); + this.renderingState = _ui_utils.RenderingStates.INITIAL; + const div = this.div; + const childNodes = div.childNodes, + zoomLayerNode = keepZoomLayer && this.zoomLayer || null, + annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null, + annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null, + xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null, + textLayerNode = keepTextLayer && this.textLayer?.div || null; + for (let i = childNodes.length - 1; i >= 0; i--) { + const node = childNodes[i]; + switch (node) { + case zoomLayerNode: + case annotationLayerNode: + case annotationEditorLayerNode: + case xfaLayerNode: + case textLayerNode: + continue; + } + node.remove(); + } + div.removeAttribute("data-loaded"); + if (annotationLayerNode) { + this.annotationLayer.hide(); + } + if (annotationEditorLayerNode) { + this.annotationEditorLayer.hide(); + } + if (xfaLayerNode) { + this.xfaLayer.hide(); + } + if (textLayerNode) { + this.textLayer.hide(); + } + this.structTreeLayer?.hide(); + if (!zoomLayerNode) { + if (this.canvas) { + this.#viewportMap.delete(this.canvas); + this.canvas.width = 0; + this.canvas.height = 0; + delete this.canvas; + } + this._resetZoomLayer(); + } + } + update(_ref) { + let { + scale = 0, + rotation = null, + optionalContentConfigPromise = null, + drawingDelay = -1 + } = _ref; + this.scale = scale || this.scale; + if (typeof rotation === "number") { + this.rotation = rotation; + } + if (optionalContentConfigPromise instanceof Promise) { + this._optionalContentConfigPromise = optionalContentConfigPromise; + optionalContentConfigPromise.then(optionalContentConfig => { + if (optionalContentConfigPromise !== this._optionalContentConfigPromise) { + return; + } + this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility; + }); + } + this.#useThumbnailCanvas.directDrawing = true; + const totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = this.viewport.clone({ + scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: totalRotation + }); + this.#setDimensions(); + if (this._isStandalone) { + this._container?.style.setProperty("--scale-factor", this.viewport.scale); + } + if (this.canvas) { + let onlyCssZoom = false; + if (this.#hasRestrictedScaling) { + if (this.maxCanvasPixels === 0) { + onlyCssZoom = true; + } else if (this.maxCanvasPixels > 0) { + const { + width, + height + } = this.viewport; + const { + sx, + sy + } = this.outputScale; + onlyCssZoom = (Math.floor(width) * sx | 0) * (Math.floor(height) * sy | 0) > this.maxCanvasPixels; + } + } + const postponeDrawing = !onlyCssZoom && drawingDelay >= 0 && drawingDelay < 1000; + if (postponeDrawing || onlyCssZoom) { + if (postponeDrawing && this.renderingState !== _ui_utils.RenderingStates.FINISHED) { + this.cancelRendering({ + keepZoomLayer: true, + keepAnnotationLayer: true, + keepAnnotationEditorLayer: true, + keepXfaLayer: true, + keepTextLayer: true, + cancelExtraDelay: drawingDelay + }); + this.renderingState = _ui_utils.RenderingStates.FINISHED; + this.#useThumbnailCanvas.directDrawing = false; + } + this.cssTransform({ + target: this.canvas, + redrawAnnotationLayer: true, + redrawAnnotationEditorLayer: true, + redrawXfaLayer: true, + redrawTextLayer: !postponeDrawing, + hideTextLayer: postponeDrawing + }); + if (postponeDrawing) { + return; + } + this.eventBus.dispatch("pagerendered", { + source: this, + pageNumber: this.id, + cssTransform: true, + timestamp: performance.now(), + error: this.#renderError + }); + return; + } + if (!this.zoomLayer && !this.canvas.hidden) { + this.zoomLayer = this.canvas.parentNode; + this.zoomLayer.style.position = "absolute"; + } + } + if (this.zoomLayer) { + this.cssTransform({ + target: this.zoomLayer.firstChild + }); + } + this.reset({ + keepZoomLayer: true, + keepAnnotationLayer: true, + keepAnnotationEditorLayer: true, + keepXfaLayer: true, + keepTextLayer: true + }); + } + cancelRendering() { + let { + keepAnnotationLayer = false, + keepAnnotationEditorLayer = false, + keepXfaLayer = false, + keepTextLayer = false, + cancelExtraDelay = 0 + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + if (this.renderTask) { + this.renderTask.cancel(cancelExtraDelay); + this.renderTask = null; + } + this.resume = null; + if (this.textLayer && (!keepTextLayer || !this.textLayer.div)) { + this.textLayer.cancel(); + this.textLayer = null; + } + if (this.structTreeLayer && !this.textLayer) { + this.structTreeLayer = null; + } + if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) { + this.annotationLayer.cancel(); + this.annotationLayer = null; + this._annotationCanvasMap = null; + } + if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) { + this.annotationEditorLayer.cancel(); + this.annotationEditorLayer = null; + } + if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) { + this.xfaLayer.cancel(); + this.xfaLayer = null; + this._textHighlighter?.disable(); + } + } + cssTransform(_ref2) { + let { + target, + redrawAnnotationLayer = false, + redrawAnnotationEditorLayer = false, + redrawXfaLayer = false, + redrawTextLayer = false, + hideTextLayer = false + } = _ref2; + if (!target.hasAttribute("zooming")) { + target.setAttribute("zooming", true); + const { + style + } = target; + style.width = style.height = ""; + } + const originalViewport = this.#viewportMap.get(target); + if (this.viewport !== originalViewport) { + const relativeRotation = this.viewport.rotation - originalViewport.rotation; + const absRotation = Math.abs(relativeRotation); + let scaleX = 1, + scaleY = 1; + if (absRotation === 90 || absRotation === 270) { + const { + width, + height + } = this.viewport; + scaleX = height / width; + scaleY = width / height; + } + target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`; + } + if (redrawAnnotationLayer && this.annotationLayer) { + this.#renderAnnotationLayer(); + } + if (redrawAnnotationEditorLayer && this.annotationEditorLayer) { + this.#renderAnnotationEditorLayer(); + } + if (redrawXfaLayer && this.xfaLayer) { + this.#renderXfaLayer(); + } + if (this.textLayer) { + if (hideTextLayer) { + this.textLayer.hide(); + this.structTreeLayer?.hide(); + } else if (redrawTextLayer) { + this.#renderTextLayer(); + } + } + } + get width() { + return this.viewport.width; + } + get height() { + return this.viewport.height; + } + getPagePoint(x, y) { + return this.viewport.convertToPdfPoint(x, y); + } + async #finishRenderTask(renderTask) { + let error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (renderTask === this.renderTask) { + this.renderTask = null; + } + if (error instanceof _pdfjsLib.RenderingCancelledException) { + this.#renderError = null; + return; + } + this.#renderError = error; + this.renderingState = _ui_utils.RenderingStates.FINISHED; + this._resetZoomLayer(true); + this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots; + this.eventBus.dispatch("pagerendered", { + source: this, + pageNumber: this.id, + cssTransform: false, + timestamp: performance.now(), + error: this.#renderError + }); + if (error) { + throw error; + } + } + async draw() { + if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + this.reset(); + } + const { + div, + l10n, + pageColors, + pdfPage, + viewport + } = this; + if (!pdfPage) { + this.renderingState = _ui_utils.RenderingStates.FINISHED; + throw new Error("pdfPage is not loaded"); + } + this.renderingState = _ui_utils.RenderingStates.RUNNING; + const canvasWrapper = document.createElement("div"); + canvasWrapper.classList.add("canvasWrapper"); + div.append(canvasWrapper); + if (!this.textLayer && this.#textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !pdfPage.isPureXfa) { + this._accessibilityManager ||= new _text_accessibility.TextAccessibilityManager(); + this.textLayer = new _text_layer_builder.TextLayerBuilder({ + highlighter: this._textHighlighter, + accessibilityManager: this._accessibilityManager, + isOffscreenCanvasSupported: this.isOffscreenCanvasSupported, + enablePermissions: this.#textLayerMode === _ui_utils.TextLayerMode.ENABLE_PERMISSIONS + }); + div.append(this.textLayer.div); + } + if (!this.annotationLayer && this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE) { + const { + annotationStorage, + downloadManager, + enableScripting, + fieldObjectsPromise, + hasJSActionsPromise, + linkService + } = this.#layerProperties(); + this._annotationCanvasMap ||= new Map(); + this.annotationLayer = new _annotation_layer_builder.AnnotationLayerBuilder({ + pageDiv: div, + pdfPage, + annotationStorage, + imageResourcesPath: this.imageResourcesPath, + renderForms: this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS, + linkService, + downloadManager, + l10n, + enableScripting, + hasJSActionsPromise, + fieldObjectsPromise, + annotationCanvasMap: this._annotationCanvasMap, + accessibilityManager: this._accessibilityManager + }); + } + const renderContinueCallback = cont => { + showCanvas?.(false); + if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) { + this.renderingState = _ui_utils.RenderingStates.PAUSED; + this.resume = () => { + this.renderingState = _ui_utils.RenderingStates.RUNNING; + cont(); + }; + return; + } + cont(); + }; + const { + width, + height + } = viewport; + const canvas = document.createElement("canvas"); + canvas.setAttribute("role", "presentation"); + canvas.hidden = true; + const hasHCM = !!(pageColors?.background && pageColors?.foreground); + let showCanvas = isLastShow => { + if (!hasHCM || isLastShow) { + canvas.hidden = false; + showCanvas = null; + } + }; + canvasWrapper.append(canvas); + this.canvas = canvas; + const ctx = canvas.getContext("2d", { + alpha: false + }); + const outputScale = this.outputScale = new _ui_utils.OutputScale(); + if (this.maxCanvasPixels === 0) { + const invScale = 1 / this.scale; + outputScale.sx *= invScale; + outputScale.sy *= invScale; + this.#hasRestrictedScaling = true; + } else if (this.maxCanvasPixels > 0) { + const pixelsInViewport = width * height; + const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport); + if (outputScale.sx > maxScale || outputScale.sy > maxScale) { + outputScale.sx = maxScale; + outputScale.sy = maxScale; + this.#hasRestrictedScaling = true; + } else { + this.#hasRestrictedScaling = false; + } + } + const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx); + const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy); + canvas.width = (0, _ui_utils.roundToDivide)(width * outputScale.sx, sfx[0]); + canvas.height = (0, _ui_utils.roundToDivide)(height * outputScale.sy, sfy[0]); + const { + style + } = canvas; + style.width = (0, _ui_utils.roundToDivide)(width, sfx[1]) + "px"; + style.height = (0, _ui_utils.roundToDivide)(height, sfy[1]) + "px"; + this.#viewportMap.set(canvas, viewport); + const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null; + const renderContext = { + canvasContext: ctx, + transform, + viewport, + annotationMode: this.#annotationMode, + optionalContentConfigPromise: this._optionalContentConfigPromise, + annotationCanvasMap: this._annotationCanvasMap, + pageColors + }; + const renderTask = this.renderTask = this.pdfPage.render(renderContext); + renderTask.onContinue = renderContinueCallback; + const resultPromise = renderTask.promise.then(async () => { + showCanvas?.(true); + await this.#finishRenderTask(renderTask); + this.#renderTextLayer(); + if (this.annotationLayer) { + await this.#renderAnnotationLayer(); + } + if (!this.annotationEditorLayer) { + const { + annotationEditorUIManager + } = this.#layerProperties(); + if (!annotationEditorUIManager) { + return; + } + this.annotationEditorLayer = new _annotation_editor_layer_builder.AnnotationEditorLayerBuilder({ + uiManager: annotationEditorUIManager, + pageDiv: div, + pdfPage, + l10n, + accessibilityManager: this._accessibilityManager, + annotationLayer: this.annotationLayer?.annotationLayer + }); + } + this.#renderAnnotationEditorLayer(); + }, error => { + if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { + showCanvas?.(true); + } + return this.#finishRenderTask(renderTask, error); + }); + if (pdfPage.isPureXfa) { + if (!this.xfaLayer) { + const { + annotationStorage, + linkService + } = this.#layerProperties(); + this.xfaLayer = new _xfa_layer_builder.XfaLayerBuilder({ + pageDiv: div, + pdfPage, + annotationStorage, + linkService + }); + } else if (this.xfaLayer.div) { + div.append(this.xfaLayer.div); + } + this.#renderXfaLayer(); + } + div.setAttribute("data-loaded", true); + this.eventBus.dispatch("pagerender", { + source: this, + pageNumber: this.id + }); + return resultPromise; + } + setPageLabel(label) { + this.pageLabel = typeof label === "string" ? label : null; + if (this.pageLabel !== null) { + this.div.setAttribute("data-page-label", this.pageLabel); + } else { + this.div.removeAttribute("data-page-label"); + } + } + get thumbnailCanvas() { + const { + directDrawing, + initialOptionalContent, + regularAnnotations + } = this.#useThumbnailCanvas; + return directDrawing && initialOptionalContent && regularAnnotations ? this.canvas : null; + } +} +exports.PDFPageView = PDFPageView; + +/***/ }), +/* 150 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationEditorLayerBuilder = void 0; +var _pdfjsLib = __webpack_require__(122); +var _l10n_utils = __webpack_require__(148); +class AnnotationEditorLayerBuilder { + #annotationLayer = null; + #uiManager; + constructor(options) { + this.pageDiv = options.pageDiv; + this.pdfPage = options.pdfPage; + this.accessibilityManager = options.accessibilityManager; + this.l10n = options.l10n || _l10n_utils.NullL10n; + this.annotationEditorLayer = null; + this.div = null; + this._cancelled = false; + this.#uiManager = options.uiManager; + this.#annotationLayer = options.annotationLayer || null; + } + async render(viewport) { + let intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; + if (intent !== "display") { + return; + } + if (this._cancelled) { + return; + } + const clonedViewport = viewport.clone({ + dontFlip: true + }); + if (this.div) { + this.annotationEditorLayer.update({ + viewport: clonedViewport + }); + this.show(); + return; + } + const div = this.div = document.createElement("div"); + div.className = "annotationEditorLayer"; + div.tabIndex = 0; + div.hidden = true; + div.dir = this.#uiManager.direction; + this.pageDiv.append(div); + this.annotationEditorLayer = new _pdfjsLib.AnnotationEditorLayer({ + uiManager: this.#uiManager, + div, + accessibilityManager: this.accessibilityManager, + pageIndex: this.pdfPage.pageNumber - 1, + l10n: this.l10n, + viewport: clonedViewport, + annotationLayer: this.#annotationLayer + }); + const parameters = { + viewport: clonedViewport, + div, + annotations: null, + intent + }; + this.annotationEditorLayer.render(parameters); + this.show(); + } + cancel() { + this._cancelled = true; + if (!this.div) { + return; + } + this.pageDiv = null; + this.annotationEditorLayer.destroy(); + this.div.remove(); + } + hide() { + if (!this.div) { + return; + } + this.div.hidden = true; + } + show() { + if (!this.div || this.annotationEditorLayer.isEmpty) { + return; + } + this.div.hidden = false; + } +} +exports.AnnotationEditorLayerBuilder = AnnotationEditorLayerBuilder; + +/***/ }), +/* 151 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationLayerBuilder = void 0; +var _pdfjsLib = __webpack_require__(122); +var _l10n_utils = __webpack_require__(148); +var _ui_utils = __webpack_require__(97); +class AnnotationLayerBuilder { + #onPresentationModeChanged = null; + constructor(_ref) { + let { + pageDiv, + pdfPage, + linkService, + downloadManager, + annotationStorage = null, + imageResourcesPath = "", + renderForms = true, + l10n = _l10n_utils.NullL10n, + enableScripting = false, + hasJSActionsPromise = null, + fieldObjectsPromise = null, + annotationCanvasMap = null, + accessibilityManager = null + } = _ref; + this.pageDiv = pageDiv; + this.pdfPage = pdfPage; + this.linkService = linkService; + this.downloadManager = downloadManager; + this.imageResourcesPath = imageResourcesPath; + this.renderForms = renderForms; + this.l10n = l10n; + this.annotationStorage = annotationStorage; + this.enableScripting = enableScripting; + this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false); + this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null); + this._annotationCanvasMap = annotationCanvasMap; + this._accessibilityManager = accessibilityManager; + this.annotationLayer = null; + this.div = null; + this._cancelled = false; + this._eventBus = linkService.eventBus; + } + async render(viewport) { + let intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; + if (this.div) { + if (this._cancelled || !this.annotationLayer) { + return; + } + this.annotationLayer.update({ + viewport: viewport.clone({ + dontFlip: true + }) + }); + return; + } + const [annotations, hasJSActions, fieldObjects] = await Promise.all([this.pdfPage.getAnnotations({ + intent + }), this._hasJSActionsPromise, this._fieldObjectsPromise]); + if (this._cancelled) { + return; + } + const div = this.div = document.createElement("div"); + div.className = "annotationLayer"; + this.pageDiv.append(div); + if (annotations.length === 0) { + this.hide(); + return; + } + this.annotationLayer = new _pdfjsLib.AnnotationLayer({ + div, + accessibilityManager: this._accessibilityManager, + annotationCanvasMap: this._annotationCanvasMap, + l10n: this.l10n, + page: this.pdfPage, + viewport: viewport.clone({ + dontFlip: true + }) + }); + await this.annotationLayer.render({ + annotations, + imageResourcesPath: this.imageResourcesPath, + renderForms: this.renderForms, + linkService: this.linkService, + downloadManager: this.downloadManager, + annotationStorage: this.annotationStorage, + enableScripting: this.enableScripting, + hasJSActions, + fieldObjects + }); + if (this.linkService.isInPresentationMode) { + this.#updatePresentationModeState(_ui_utils.PresentationModeState.FULLSCREEN); + } + if (!this.#onPresentationModeChanged) { + this.#onPresentationModeChanged = evt => { + this.#updatePresentationModeState(evt.state); + }; + this._eventBus?._on("presentationmodechanged", this.#onPresentationModeChanged); + } + } + cancel() { + this._cancelled = true; + if (this.#onPresentationModeChanged) { + this._eventBus?._off("presentationmodechanged", this.#onPresentationModeChanged); + this.#onPresentationModeChanged = null; + } + } + hide() { + if (!this.div) { + return; + } + this.div.hidden = true; + } + #updatePresentationModeState(state) { + if (!this.div) { + return; + } + let disableFormElements = false; + switch (state) { + case _ui_utils.PresentationModeState.FULLSCREEN: + disableFormElements = true; + break; + case _ui_utils.PresentationModeState.NORMAL: + break; + default: + return; + } + for (const section of this.div.childNodes) { + if (section.hasAttribute("data-internal-link")) { + continue; + } + section.inert = disableFormElements; + } + } +} +exports.AnnotationLayerBuilder = AnnotationLayerBuilder; + +/***/ }), +/* 152 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StructTreeLayerBuilder = void 0; +var _ui_utils = __webpack_require__(97); +const PDF_ROLE_TO_HTML_ROLE = { + Document: null, + DocumentFragment: null, + Part: "group", + Sect: "group", + Div: "group", + Aside: "note", + NonStruct: "none", + P: null, + H: "heading", + Title: null, + FENote: "note", + Sub: "group", + Lbl: null, + Span: null, + Em: null, + Strong: null, + Link: "link", + Annot: "note", + Form: "form", + Ruby: null, + RB: null, + RT: null, + RP: null, + Warichu: null, + WT: null, + WP: null, + L: "list", + LI: "listitem", + LBody: null, + Table: "table", + TR: "row", + TH: "columnheader", + TD: "cell", + THead: "columnheader", + TBody: null, + TFoot: null, + Caption: null, + Figure: "figure", + Formula: null, + Artifact: null +}; +const HEADING_PATTERN = /^H(\d+)$/; +class StructTreeLayerBuilder { + #treeDom = undefined; + get renderingDone() { + return this.#treeDom !== undefined; + } + render(structTree) { + if (this.#treeDom !== undefined) { + return this.#treeDom; + } + const treeDom = this.#walk(structTree); + treeDom?.classList.add("structTree"); + return this.#treeDom = treeDom; + } + hide() { + if (this.#treeDom && !this.#treeDom.hidden) { + this.#treeDom.hidden = true; + } + } + show() { + if (this.#treeDom?.hidden) { + this.#treeDom.hidden = false; + } + } + #setAttributes(structElement, htmlElement) { + const { + alt, + id, + lang + } = structElement; + if (alt !== undefined) { + htmlElement.setAttribute("aria-label", (0, _ui_utils.removeNullCharacters)(alt)); + } + if (id !== undefined) { + htmlElement.setAttribute("aria-owns", id); + } + if (lang !== undefined) { + htmlElement.setAttribute("lang", (0, _ui_utils.removeNullCharacters)(lang, true)); + } + } + #walk(node) { + if (!node) { + return null; + } + const element = document.createElement("span"); + if ("role" in node) { + const { + role + } = node; + const match = role.match(HEADING_PATTERN); + if (match) { + element.setAttribute("role", "heading"); + element.setAttribute("aria-level", match[1]); + } else if (PDF_ROLE_TO_HTML_ROLE[role]) { + element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]); + } + } + this.#setAttributes(node, element); + if (node.children) { + if (node.children.length === 1 && "id" in node.children[0]) { + this.#setAttributes(node.children[0], element); + } else { + for (const kid of node.children) { + element.append(this.#walk(kid)); + } + } + } + return element; + } +} +exports.StructTreeLayerBuilder = StructTreeLayerBuilder; + +/***/ }), +/* 153 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextAccessibilityManager = void 0; +__webpack_require__(76); +var _ui_utils = __webpack_require__(97); +class TextAccessibilityManager { + #enabled = false; + #textChildren = null; + #textNodes = new Map(); + #waitingElements = new Map(); + setTextMapping(textDivs) { + this.#textChildren = textDivs; + } + static #compareElementPositions(e1, e2) { + const rect1 = e1.getBoundingClientRect(); + const rect2 = e2.getBoundingClientRect(); + if (rect1.width === 0 && rect1.height === 0) { + return +1; + } + if (rect2.width === 0 && rect2.height === 0) { + return -1; + } + const top1 = rect1.y; + const bot1 = rect1.y + rect1.height; + const mid1 = rect1.y + rect1.height / 2; + const top2 = rect2.y; + const bot2 = rect2.y + rect2.height; + const mid2 = rect2.y + rect2.height / 2; + if (mid1 <= top2 && mid2 >= bot1) { + return -1; + } + if (mid2 <= top1 && mid1 >= bot2) { + return +1; + } + const centerX1 = rect1.x + rect1.width / 2; + const centerX2 = rect2.x + rect2.width / 2; + return centerX1 - centerX2; + } + enable() { + if (this.#enabled) { + throw new Error("TextAccessibilityManager is already enabled."); + } + if (!this.#textChildren) { + throw new Error("Text divs and strings have not been set."); + } + this.#enabled = true; + this.#textChildren = this.#textChildren.slice(); + this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions); + if (this.#textNodes.size > 0) { + const textChildren = this.#textChildren; + for (const [id, nodeIndex] of this.#textNodes) { + const element = document.getElementById(id); + if (!element) { + this.#textNodes.delete(id); + continue; + } + this.#addIdToAriaOwns(id, textChildren[nodeIndex]); + } + } + for (const [element, isRemovable] of this.#waitingElements) { + this.addPointerInTextLayer(element, isRemovable); + } + this.#waitingElements.clear(); + } + disable() { + if (!this.#enabled) { + return; + } + this.#waitingElements.clear(); + this.#textChildren = null; + this.#enabled = false; + } + removePointerInTextLayer(element) { + if (!this.#enabled) { + this.#waitingElements.delete(element); + return; + } + const children = this.#textChildren; + if (!children || children.length === 0) { + return; + } + const { + id + } = element; + const nodeIndex = this.#textNodes.get(id); + if (nodeIndex === undefined) { + return; + } + const node = children[nodeIndex]; + this.#textNodes.delete(id); + let owns = node.getAttribute("aria-owns"); + if (owns?.includes(id)) { + owns = owns.split(" ").filter(x => x !== id).join(" "); + if (owns) { + node.setAttribute("aria-owns", owns); + } else { + node.removeAttribute("aria-owns"); + node.setAttribute("role", "presentation"); + } + } + } + #addIdToAriaOwns(id, node) { + const owns = node.getAttribute("aria-owns"); + if (!owns?.includes(id)) { + node.setAttribute("aria-owns", owns ? `${owns} ${id}` : id); + } + node.removeAttribute("role"); + } + addPointerInTextLayer(element, isRemovable) { + const { + id + } = element; + if (!id) { + return null; + } + if (!this.#enabled) { + this.#waitingElements.set(element, isRemovable); + return null; + } + if (isRemovable) { + this.removePointerInTextLayer(element); + } + const children = this.#textChildren; + if (!children || children.length === 0) { + return null; + } + const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0); + const nodeIndex = Math.max(0, index - 1); + const child = children[nodeIndex]; + this.#addIdToAriaOwns(id, child); + this.#textNodes.set(id, nodeIndex); + const parent = child.parentNode; + return parent?.classList.contains("markedContent") ? parent.id : null; + } + moveElementInDOM(container, element, contentElement, isRemovable) { + const id = this.addPointerInTextLayer(contentElement, isRemovable); + if (!container.hasChildNodes()) { + container.append(element); + return id; + } + const children = Array.from(container.childNodes).filter(node => node !== element); + if (children.length === 0) { + return id; + } + const elementToCompare = contentElement || element; + const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0); + if (index === 0) { + children[0].before(element); + } else { + children[index - 1].after(element); + } + return id; + } +} +exports.TextAccessibilityManager = TextAccessibilityManager; + +/***/ }), +/* 154 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextHighlighter = void 0; +__webpack_require__(76); +__webpack_require__(89); +class TextHighlighter { + constructor(_ref) { + let { + findController, + eventBus, + pageIndex + } = _ref; + this.findController = findController; + this.matches = []; + this.eventBus = eventBus; + this.pageIdx = pageIndex; + this._onUpdateTextLayerMatches = null; + this.textDivs = null; + this.textContentItemsStr = null; + this.enabled = false; + } + setTextMapping(divs, texts) { + this.textDivs = divs; + this.textContentItemsStr = texts; + } + enable() { + if (!this.textDivs || !this.textContentItemsStr) { + throw new Error("Text divs and strings have not been set."); + } + if (this.enabled) { + throw new Error("TextHighlighter is already enabled."); + } + this.enabled = true; + if (!this._onUpdateTextLayerMatches) { + this._onUpdateTextLayerMatches = evt => { + if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) { + this._updateMatches(); + } + }; + this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches); + } + this._updateMatches(); + } + disable() { + if (!this.enabled) { + return; + } + this.enabled = false; + if (this._onUpdateTextLayerMatches) { + this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches); + this._onUpdateTextLayerMatches = null; + } + this._updateMatches(true); + } + _convertMatches(matches, matchesLength) { + if (!matches) { + return []; + } + const { + textContentItemsStr + } = this; + let i = 0, + iIndex = 0; + const end = textContentItemsStr.length - 1; + const result = []; + for (let m = 0, mm = matches.length; m < mm; m++) { + let matchIdx = matches[m]; + while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) { + iIndex += textContentItemsStr[i].length; + i++; + } + if (i === textContentItemsStr.length) { + console.error("Could not find a matching mapping"); + } + const match = { + begin: { + divIdx: i, + offset: matchIdx - iIndex + } + }; + matchIdx += matchesLength[m]; + while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) { + iIndex += textContentItemsStr[i].length; + i++; + } + match.end = { + divIdx: i, + offset: matchIdx - iIndex + }; + result.push(match); + } + return result; + } + _renderMatches(matches) { + if (matches.length === 0) { + return; + } + const { + findController, + pageIdx + } = this; + const { + textContentItemsStr, + textDivs + } = this; + const isSelectedPage = pageIdx === findController.selected.pageIdx; + const selectedMatchIdx = findController.selected.matchIdx; + const highlightAll = findController.state.highlightAll; + let prevEnd = null; + const infinity = { + divIdx: -1, + offset: undefined + }; + function beginText(begin, className) { + const divIdx = begin.divIdx; + textDivs[divIdx].textContent = ""; + return appendTextToDiv(divIdx, 0, begin.offset, className); + } + function appendTextToDiv(divIdx, fromOffset, toOffset, className) { + let div = textDivs[divIdx]; + if (div.nodeType === Node.TEXT_NODE) { + const span = document.createElement("span"); + div.before(span); + span.append(div); + textDivs[divIdx] = span; + div = span; + } + const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset); + const node = document.createTextNode(content); + if (className) { + const span = document.createElement("span"); + span.className = `${className} appended`; + span.append(node); + div.append(span); + return className.includes("selected") ? span.offsetLeft : 0; + } + div.append(node); + return 0; + } + let i0 = selectedMatchIdx, + i1 = i0 + 1; + if (highlightAll) { + i0 = 0; + i1 = matches.length; + } else if (!isSelectedPage) { + return; + } + let lastDivIdx = -1; + let lastOffset = -1; + for (let i = i0; i < i1; i++) { + const match = matches[i]; + const begin = match.begin; + if (begin.divIdx === lastDivIdx && begin.offset === lastOffset) { + continue; + } + lastDivIdx = begin.divIdx; + lastOffset = begin.offset; + const end = match.end; + const isSelected = isSelectedPage && i === selectedMatchIdx; + const highlightSuffix = isSelected ? " selected" : ""; + let selectedLeft = 0; + if (!prevEnd || begin.divIdx !== prevEnd.divIdx) { + if (prevEnd !== null) { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); + } + beginText(begin); + } else { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset); + } + if (begin.divIdx === end.divIdx) { + selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix); + } else { + selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix); + for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) { + textDivs[n0].className = "highlight middle" + highlightSuffix; + } + beginText(end, "highlight end" + highlightSuffix); + } + prevEnd = end; + if (isSelected) { + findController.scrollMatchIntoView({ + element: textDivs[begin.divIdx], + selectedLeft, + pageIndex: pageIdx, + matchIndex: selectedMatchIdx + }); + } + } + if (prevEnd) { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); + } + } + _updateMatches() { + let reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (!this.enabled && !reset) { + return; + } + const { + findController, + matches, + pageIdx + } = this; + const { + textContentItemsStr, + textDivs + } = this; + let clearedUntilDivIdx = -1; + for (const match of matches) { + const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx); + for (let n = begin, end = match.end.divIdx; n <= end; n++) { + const div = textDivs[n]; + div.textContent = textContentItemsStr[n]; + div.className = ""; + } + clearedUntilDivIdx = match.end.divIdx + 1; + } + if (!findController?.highlightMatches || reset) { + return; + } + const pageMatches = findController.pageMatches[pageIdx] || null; + const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null; + this.matches = this._convertMatches(pageMatches, pageMatchesLength); + this._renderMatches(this.matches); + } +} +exports.TextHighlighter = TextHighlighter; + +/***/ }), +/* 155 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextLayerBuilder = void 0; +__webpack_require__(76); +var _pdfjsLib = __webpack_require__(122); +var _ui_utils = __webpack_require__(97); +class TextLayerBuilder { + #enablePermissions = false; + #rotation = 0; + #scale = 0; + #textContentSource = null; + constructor(_ref) { + let { + highlighter = null, + accessibilityManager = null, + isOffscreenCanvasSupported = true, + enablePermissions = false + } = _ref; + this.textContentItemsStr = []; + this.renderingDone = false; + this.textDivs = []; + this.textDivProperties = new WeakMap(); + this.textLayerRenderTask = null; + this.highlighter = highlighter; + this.accessibilityManager = accessibilityManager; + this.isOffscreenCanvasSupported = isOffscreenCanvasSupported; + this.#enablePermissions = enablePermissions === true; + this.div = document.createElement("div"); + this.div.className = "textLayer"; + this.hide(); + } + #finishRendering() { + this.renderingDone = true; + const endOfContent = document.createElement("div"); + endOfContent.className = "endOfContent"; + this.div.append(endOfContent); + this.#bindMouse(); + } + get numTextDivs() { + return this.textDivs.length; + } + async render(viewport) { + if (!this.#textContentSource) { + throw new Error('No "textContentSource" parameter specified.'); + } + const scale = viewport.scale * (globalThis.devicePixelRatio || 1); + const { + rotation + } = viewport; + if (this.renderingDone) { + const mustRotate = rotation !== this.#rotation; + const mustRescale = scale !== this.#scale; + if (mustRotate || mustRescale) { + this.hide(); + (0, _pdfjsLib.updateTextLayer)({ + container: this.div, + viewport, + textDivs: this.textDivs, + textDivProperties: this.textDivProperties, + isOffscreenCanvasSupported: this.isOffscreenCanvasSupported, + mustRescale, + mustRotate + }); + this.#scale = scale; + this.#rotation = rotation; + } + this.show(); + return; + } + this.cancel(); + this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr); + this.accessibilityManager?.setTextMapping(this.textDivs); + this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({ + textContentSource: this.#textContentSource, + container: this.div, + viewport, + textDivs: this.textDivs, + textDivProperties: this.textDivProperties, + textContentItemsStr: this.textContentItemsStr, + isOffscreenCanvasSupported: this.isOffscreenCanvasSupported + }); + await this.textLayerRenderTask.promise; + this.#finishRendering(); + this.#scale = scale; + this.#rotation = rotation; + this.show(); + this.accessibilityManager?.enable(); + } + hide() { + if (!this.div.hidden) { + this.highlighter?.disable(); + this.div.hidden = true; + } + } + show() { + if (this.div.hidden && this.renderingDone) { + this.div.hidden = false; + this.highlighter?.enable(); + } + } + cancel() { + if (this.textLayerRenderTask) { + this.textLayerRenderTask.cancel(); + this.textLayerRenderTask = null; + } + this.highlighter?.disable(); + this.accessibilityManager?.disable(); + this.textContentItemsStr.length = 0; + this.textDivs.length = 0; + this.textDivProperties = new WeakMap(); + } + setTextContentSource(source) { + this.cancel(); + this.#textContentSource = source; + } + #bindMouse() { + const { + div + } = this; + div.addEventListener("mousedown", evt => { + const end = div.querySelector(".endOfContent"); + if (!end) { + return; + } + let adjustTop = evt.target !== div; + adjustTop &&= getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none"; + if (adjustTop) { + const divBounds = div.getBoundingClientRect(); + const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height); + end.style.top = (r * 100).toFixed(2) + "%"; + } + end.classList.add("active"); + }); + div.addEventListener("mouseup", () => { + const end = div.querySelector(".endOfContent"); + if (!end) { + return; + } + end.style.top = ""; + end.classList.remove("active"); + }); + div.addEventListener("copy", event => { + if (!this.#enablePermissions) { + const selection = document.getSelection(); + event.clipboardData.setData("text/plain", (0, _ui_utils.removeNullCharacters)((0, _pdfjsLib.normalizeUnicode)(selection.toString()))); + } + event.preventDefault(); + event.stopPropagation(); + }); + } +} +exports.TextLayerBuilder = TextLayerBuilder; + +/***/ }), +/* 156 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayerBuilder = void 0; +var _pdfjsLib = __webpack_require__(122); +class XfaLayerBuilder { + constructor(_ref) { + let { + pageDiv, + pdfPage, + annotationStorage = null, + linkService, + xfaHtml = null + } = _ref; + this.pageDiv = pageDiv; + this.pdfPage = pdfPage; + this.annotationStorage = annotationStorage; + this.linkService = linkService; + this.xfaHtml = xfaHtml; + this.div = null; + this._cancelled = false; + } + async render(viewport) { + let intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; + if (intent === "print") { + const parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: this.div, + xfaHtml: this.xfaHtml, + annotationStorage: this.annotationStorage, + linkService: this.linkService, + intent + }; + const div = document.createElement("div"); + this.pageDiv.append(div); + parameters.div = div; + return _pdfjsLib.XfaLayer.render(parameters); + } + const xfaHtml = await this.pdfPage.getXfa(); + if (this._cancelled || !xfaHtml) { + return { + textDivs: [] + }; + } + const parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: this.div, + xfaHtml, + annotationStorage: this.annotationStorage, + linkService: this.linkService, + intent + }; + if (this.div) { + return _pdfjsLib.XfaLayer.update(parameters); + } + this.div = document.createElement("div"); + this.pageDiv.append(this.div); + parameters.div = this.div; + return _pdfjsLib.XfaLayer.render(parameters); + } + cancel() { + this._cancelled = true; + } + hide() { + if (!this.div) { + return; + } + this.div.hidden = true; + } +} +exports.XfaLayerBuilder = XfaLayerBuilder; + +/***/ }), +/* 157 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SecondaryToolbar = void 0; +__webpack_require__(89); +var _ui_utils = __webpack_require__(97); +var _pdf_viewer = __webpack_require__(147); +class SecondaryToolbar { + constructor(options, eventBus) { + this.toolbar = options.toolbar; + this.toggleButton = options.toggleButton; + this.buttons = [{ + element: options.presentationModeButton, + eventName: "presentationmode", + close: true + }, { + element: options.printButton, + eventName: "print", + close: true + }, { + element: options.downloadButton, + eventName: "download", + close: true + }, { + element: options.viewBookmarkButton, + eventName: null, + close: true + }, { + element: options.firstPageButton, + eventName: "firstpage", + close: true + }, { + element: options.lastPageButton, + eventName: "lastpage", + close: true + }, { + element: options.pageRotateCwButton, + eventName: "rotatecw", + close: false + }, { + element: options.pageRotateCcwButton, + eventName: "rotateccw", + close: false + }, { + element: options.cursorSelectToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: _ui_utils.CursorTool.SELECT + }, + close: true + }, { + element: options.cursorHandToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: _ui_utils.CursorTool.HAND + }, + close: true + }, { + element: options.scrollPageButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.PAGE + }, + close: true + }, { + element: options.scrollVerticalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.VERTICAL + }, + close: true + }, { + element: options.scrollHorizontalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.HORIZONTAL + }, + close: true + }, { + element: options.scrollWrappedButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.WRAPPED + }, + close: true + }, { + element: options.spreadNoneButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.NONE + }, + close: true + }, { + element: options.spreadOddButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.ODD + }, + close: true + }, { + element: options.spreadEvenButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.EVEN + }, + close: true + }, { + element: options.documentPropertiesButton, + eventName: "documentproperties", + close: true + }]; + this.buttons.push({ + element: options.openFileButton, + eventName: "openfile", + close: true + }); + this.items = { + firstPage: options.firstPageButton, + lastPage: options.lastPageButton, + pageRotateCw: options.pageRotateCwButton, + pageRotateCcw: options.pageRotateCcwButton + }; + this.eventBus = eventBus; + this.opened = false; + this.#bindClickListeners(); + this.#bindCursorToolsListener(options); + this.#bindScrollModeListener(options); + this.#bindSpreadModeListener(options); + this.reset(); + } + get isOpen() { + return this.opened; + } + setPageNumber(pageNumber) { + this.pageNumber = pageNumber; + this.#updateUIState(); + } + setPagesCount(pagesCount) { + this.pagesCount = pagesCount; + this.#updateUIState(); + } + reset() { + this.pageNumber = 0; + this.pagesCount = 0; + this.#updateUIState(); + this.eventBus.dispatch("secondarytoolbarreset", { + source: this + }); + } + #updateUIState() { + this.items.firstPage.disabled = this.pageNumber <= 1; + this.items.lastPage.disabled = this.pageNumber >= this.pagesCount; + this.items.pageRotateCw.disabled = this.pagesCount === 0; + this.items.pageRotateCcw.disabled = this.pagesCount === 0; + } + #bindClickListeners() { + this.toggleButton.addEventListener("click", this.toggle.bind(this)); + for (const { + element, + eventName, + close, + eventDetails + } of this.buttons) { + element.addEventListener("click", evt => { + if (eventName !== null) { + this.eventBus.dispatch(eventName, { + source: this, + ...eventDetails + }); + } + if (close) { + this.close(); + } + this.eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "buttons", + data: { + id: element.id + } + } + }); + }); + } + } + #bindCursorToolsListener(_ref) { + let { + cursorSelectToolButton, + cursorHandToolButton + } = _ref; + this.eventBus._on("cursortoolchanged", _ref2 => { + let { + tool + } = _ref2; + (0, _ui_utils.toggleCheckedBtn)(cursorSelectToolButton, tool === _ui_utils.CursorTool.SELECT); + (0, _ui_utils.toggleCheckedBtn)(cursorHandToolButton, tool === _ui_utils.CursorTool.HAND); + }); + } + #bindScrollModeListener(_ref3) { + let { + scrollPageButton, + scrollVerticalButton, + scrollHorizontalButton, + scrollWrappedButton, + spreadNoneButton, + spreadOddButton, + spreadEvenButton + } = _ref3; + const scrollModeChanged = _ref4 => { + let { + mode + } = _ref4; + (0, _ui_utils.toggleCheckedBtn)(scrollPageButton, mode === _ui_utils.ScrollMode.PAGE); + (0, _ui_utils.toggleCheckedBtn)(scrollVerticalButton, mode === _ui_utils.ScrollMode.VERTICAL); + (0, _ui_utils.toggleCheckedBtn)(scrollHorizontalButton, mode === _ui_utils.ScrollMode.HORIZONTAL); + (0, _ui_utils.toggleCheckedBtn)(scrollWrappedButton, mode === _ui_utils.ScrollMode.WRAPPED); + const forceScrollModePage = this.pagesCount > _pdf_viewer.PagesCountLimit.FORCE_SCROLL_MODE_PAGE; + scrollPageButton.disabled = forceScrollModePage; + scrollVerticalButton.disabled = forceScrollModePage; + scrollHorizontalButton.disabled = forceScrollModePage; + scrollWrappedButton.disabled = forceScrollModePage; + const isHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL; + spreadNoneButton.disabled = isHorizontal; + spreadOddButton.disabled = isHorizontal; + spreadEvenButton.disabled = isHorizontal; + }; + this.eventBus._on("scrollmodechanged", scrollModeChanged); + this.eventBus._on("secondarytoolbarreset", evt => { + if (evt.source === this) { + scrollModeChanged({ + mode: _ui_utils.ScrollMode.VERTICAL + }); + } + }); + } + #bindSpreadModeListener(_ref5) { + let { + spreadNoneButton, + spreadOddButton, + spreadEvenButton + } = _ref5; + const spreadModeChanged = _ref6 => { + let { + mode + } = _ref6; + (0, _ui_utils.toggleCheckedBtn)(spreadNoneButton, mode === _ui_utils.SpreadMode.NONE); + (0, _ui_utils.toggleCheckedBtn)(spreadOddButton, mode === _ui_utils.SpreadMode.ODD); + (0, _ui_utils.toggleCheckedBtn)(spreadEvenButton, mode === _ui_utils.SpreadMode.EVEN); + }; + this.eventBus._on("spreadmodechanged", spreadModeChanged); + this.eventBus._on("secondarytoolbarreset", evt => { + if (evt.source === this) { + spreadModeChanged({ + mode: _ui_utils.SpreadMode.NONE + }); + } + }); + } + open() { + if (this.opened) { + return; + } + this.opened = true; + (0, _ui_utils.toggleExpandedBtn)(this.toggleButton, true, this.toolbar); + } + close() { + if (!this.opened) { + return; + } + this.opened = false; + (0, _ui_utils.toggleExpandedBtn)(this.toggleButton, false, this.toolbar); + } + toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } +} +exports.SecondaryToolbar = SecondaryToolbar; + +/***/ }), +/* 158 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Toolbar = void 0; +__webpack_require__(89); +var _ui_utils = __webpack_require__(97); +var _pdfjsLib = __webpack_require__(122); +const PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading"; +class Toolbar { + #wasLocalized = false; + constructor(options, eventBus, l10n) { + this.toolbar = options.container; + this.eventBus = eventBus; + this.l10n = l10n; + this.buttons = [{ + element: options.previous, + eventName: "previouspage" + }, { + element: options.next, + eventName: "nextpage" + }, { + element: options.zoomIn, + eventName: "zoomin" + }, { + element: options.zoomOut, + eventName: "zoomout" + }, { + element: options.print, + eventName: "print" + }, { + element: options.download, + eventName: "download" + }, { + element: options.editorFreeTextButton, + eventName: "switchannotationeditormode", + eventDetails: { + get mode() { + const { + classList + } = options.editorFreeTextButton; + return classList.contains("toggled") ? _pdfjsLib.AnnotationEditorType.NONE : _pdfjsLib.AnnotationEditorType.FREETEXT; + } + } + }, { + element: options.editorInkButton, + eventName: "switchannotationeditormode", + eventDetails: { + get mode() { + const { + classList + } = options.editorInkButton; + return classList.contains("toggled") ? _pdfjsLib.AnnotationEditorType.NONE : _pdfjsLib.AnnotationEditorType.INK; + } + } + }, { + element: options.editorStampButton, + eventName: "switchannotationeditormode", + eventDetails: { + get mode() { + const { + classList + } = options.editorStampButton; + return classList.contains("toggled") ? _pdfjsLib.AnnotationEditorType.NONE : _pdfjsLib.AnnotationEditorType.STAMP; + } + } + }]; + this.buttons.push({ + element: options.openFile, + eventName: "openfile" + }); + this.items = { + numPages: options.numPages, + pageNumber: options.pageNumber, + scaleSelect: options.scaleSelect, + customScaleOption: options.customScaleOption, + previous: options.previous, + next: options.next, + zoomIn: options.zoomIn, + zoomOut: options.zoomOut + }; + this.#bindListeners(options); + this.reset(); + } + setPageNumber(pageNumber, pageLabel) { + this.pageNumber = pageNumber; + this.pageLabel = pageLabel; + this.#updateUIState(false); + } + setPagesCount(pagesCount, hasPageLabels) { + this.pagesCount = pagesCount; + this.hasPageLabels = hasPageLabels; + this.#updateUIState(true); + } + setPageScale(pageScaleValue, pageScale) { + this.pageScaleValue = (pageScaleValue || pageScale).toString(); + this.pageScale = pageScale; + this.#updateUIState(false); + } + reset() { + this.pageNumber = 0; + this.pageLabel = null; + this.hasPageLabels = false; + this.pagesCount = 0; + this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + this.pageScale = _ui_utils.DEFAULT_SCALE; + this.#updateUIState(true); + this.updateLoadingIndicatorState(); + this.eventBus.dispatch("toolbarreset", { + source: this + }); + } + #bindListeners(options) { + const { + pageNumber, + scaleSelect + } = this.items; + const self = this; + for (const { + element, + eventName, + eventDetails + } of this.buttons) { + element.addEventListener("click", evt => { + if (eventName !== null) { + this.eventBus.dispatch(eventName, { + source: this, + ...eventDetails + }); + } + }); + } + pageNumber.addEventListener("click", function () { + this.select(); + }); + pageNumber.addEventListener("change", function () { + self.eventBus.dispatch("pagenumberchanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("change", function () { + if (this.value === "custom") { + return; + } + self.eventBus.dispatch("scalechanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("click", function (evt) { + const target = evt.target; + if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") { + this.blur(); + } + }); + scaleSelect.oncontextmenu = _pdfjsLib.noContextMenu; + this.eventBus._on("localized", () => { + this.#wasLocalized = true; + this.#adjustScaleWidth(); + this.#updateUIState(true); + }); + this.#bindEditorToolsListener(options); + } + #bindEditorToolsListener(_ref) { + let { + editorFreeTextButton, + editorFreeTextParamsToolbar, + editorInkButton, + editorInkParamsToolbar, + editorStampButton, + editorStampParamsToolbar + } = _ref; + const editorModeChanged = _ref2 => { + let { + mode + } = _ref2; + (0, _ui_utils.toggleCheckedBtn)(editorFreeTextButton, mode === _pdfjsLib.AnnotationEditorType.FREETEXT, editorFreeTextParamsToolbar); + (0, _ui_utils.toggleCheckedBtn)(editorInkButton, mode === _pdfjsLib.AnnotationEditorType.INK, editorInkParamsToolbar); + (0, _ui_utils.toggleCheckedBtn)(editorStampButton, mode === _pdfjsLib.AnnotationEditorType.STAMP, editorStampParamsToolbar); + const isDisable = mode === _pdfjsLib.AnnotationEditorType.DISABLE; + editorFreeTextButton.disabled = isDisable; + editorInkButton.disabled = isDisable; + editorStampButton.disabled = isDisable; + }; + this.eventBus._on("annotationeditormodechanged", editorModeChanged); + this.eventBus._on("toolbarreset", evt => { + if (evt.source === this) { + editorModeChanged({ + mode: _pdfjsLib.AnnotationEditorType.DISABLE + }); + } + }); + } + #updateUIState() { + let resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (!this.#wasLocalized) { + return; + } + const { + pageNumber, + pagesCount, + pageScaleValue, + pageScale, + items + } = this; + if (resetNumPages) { + if (this.hasPageLabels) { + items.pageNumber.type = "text"; + } else { + items.pageNumber.type = "number"; + this.l10n.get("of_pages", { + pagesCount + }).then(msg => { + items.numPages.textContent = msg; + }); + } + items.pageNumber.max = pagesCount; + } + if (this.hasPageLabels) { + items.pageNumber.value = this.pageLabel; + this.l10n.get("page_of_pages", { + pageNumber, + pagesCount + }).then(msg => { + items.numPages.textContent = msg; + }); + } else { + items.pageNumber.value = pageNumber; + } + items.previous.disabled = pageNumber <= 1; + items.next.disabled = pageNumber >= pagesCount; + items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE; + items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE; + this.l10n.get("page_scale_percent", { + scale: Math.round(pageScale * 10000) / 100 + }).then(msg => { + let predefinedValueFound = false; + for (const option of items.scaleSelect.options) { + if (option.value !== pageScaleValue) { + option.selected = false; + continue; + } + option.selected = true; + predefinedValueFound = true; + } + if (!predefinedValueFound) { + items.customScaleOption.textContent = msg; + items.customScaleOption.selected = true; + } + }); + } + updateLoadingIndicatorState() { + let loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + const { + pageNumber + } = this.items; + pageNumber.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading); + } + async #adjustScaleWidth() { + const { + items, + l10n + } = this; + const predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]); + await _ui_utils.animationStarted; + const style = getComputedStyle(items.scaleSelect); + const scaleSelectWidth = parseFloat(style.getPropertyValue("--scale-select-width")); + const canvas = document.createElement("canvas"); + const ctx = canvas.getContext("2d", { + alpha: false + }); + ctx.font = `${style.fontSize} ${style.fontFamily}`; + let maxWidth = 0; + for (const predefinedValue of await predefinedValuesPromise) { + const { + width + } = ctx.measureText(predefinedValue); + if (width > maxWidth) { + maxWidth = width; + } + } + maxWidth += 0.3 * scaleSelectWidth; + if (maxWidth > scaleSelectWidth) { + const container = items.scaleSelect.parentNode; + container.style.setProperty("--scale-select-width", `${maxWidth}px`); + } + canvas.width = 0; + canvas.height = 0; + } +} +exports.Toolbar = Toolbar; + +/***/ }), +/* 159 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ViewHistory = void 0; +__webpack_require__(2); +__webpack_require__(89); +const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; +class ViewHistory { + constructor(fingerprint) { + let cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE; + this.fingerprint = fingerprint; + this.cacheSize = cacheSize; + this._initializedPromise = this._readFromStorage().then(databaseStr => { + const database = JSON.parse(databaseStr || "{}"); + let index = -1; + if (!Array.isArray(database.files)) { + database.files = []; + } else { + while (database.files.length >= this.cacheSize) { + database.files.shift(); + } + for (let i = 0, ii = database.files.length; i < ii; i++) { + const branch = database.files[i]; + if (branch.fingerprint === this.fingerprint) { + index = i; + break; + } + } + } + if (index === -1) { + index = database.files.push({ + fingerprint: this.fingerprint + }) - 1; + } + this.file = database.files[index]; + this.database = database; + }); + } + async _writeToStorage() { + const databaseStr = JSON.stringify(this.database); + localStorage.setItem("pdfjs.history", databaseStr); + } + async _readFromStorage() { + return localStorage.getItem("pdfjs.history"); + } + async set(name, val) { + await this._initializedPromise; + this.file[name] = val; + return this._writeToStorage(); + } + async setMultiple(properties) { + await this._initializedPromise; + for (const name in properties) { + this.file[name] = properties[name]; + } + return this._writeToStorage(); + } + async get(name, defaultValue) { + await this._initializedPromise; + const val = this.file[name]; + return val !== undefined ? val : defaultValue; + } + async getMultiple(properties) { + await this._initializedPromise; + const values = Object.create(null); + for (const name in properties) { + const val = this.file[name]; + values[name] = val !== undefined ? val : properties[name]; + } + return values; + } +} +exports.ViewHistory = ViewHistory; + +/***/ }), +/* 160 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BasePreferences = void 0; +__webpack_require__(76); +var _app_options = __webpack_require__(123); +class BasePreferences { + #defaults = Object.freeze({ + "annotationEditorMode": 0, + "annotationMode": 2, + "cursorToolOnLoad": 0, + "defaultZoomDelay": 400, + "defaultZoomValue": "", + "disablePageLabels": false, + "enablePermissions": false, + "enablePrintAutoRotate": true, + "enableScripting": true, + "enableStampEditor": true, + "externalLinkTarget": 0, + "historyUpdateUrl": false, + "ignoreDestinationZoom": false, + "forcePageColors": false, + "pageColorsBackground": "Canvas", + "pageColorsForeground": "CanvasText", + "pdfBugEnabled": false, + "sidebarViewOnLoad": -1, + "scrollModeOnLoad": -1, + "spreadModeOnLoad": -1, + "textLayerMode": 1, + "viewerCssTheme": 0, + "viewOnLoad": 0, + "disableAutoFetch": false, + "disableFontFace": false, + "disableRange": false, + "disableStream": false, + "enableXfa": true + }); + #prefs = Object.create(null); + #initializedPromise = null; + constructor() { + if (this.constructor === BasePreferences) { + throw new Error("Cannot initialize BasePreferences."); + } + this.#initializedPromise = this._readFromStorage(this.#defaults).then(prefs => { + for (const name in this.#defaults) { + const prefValue = prefs?.[name]; + if (typeof prefValue === typeof this.#defaults[name]) { + this.#prefs[name] = prefValue; + } + } + }); + } + async _writeToStorage(prefObj) { + throw new Error("Not implemented: _writeToStorage"); + } + async _readFromStorage(prefObj) { + throw new Error("Not implemented: _readFromStorage"); + } + async reset() { + await this.#initializedPromise; + const prefs = this.#prefs; + this.#prefs = Object.create(null); + return this._writeToStorage(this.#defaults).catch(reason => { + this.#prefs = prefs; + throw reason; + }); + } + async set(name, value) { + await this.#initializedPromise; + const defaultValue = this.#defaults[name], + prefs = this.#prefs; + if (defaultValue === undefined) { + throw new Error(`Set preference: "${name}" is undefined.`); + } else if (value === undefined) { + throw new Error("Set preference: no value is specified."); + } + const valueType = typeof value, + defaultType = typeof defaultValue; + if (valueType !== defaultType) { + if (valueType === "number" && defaultType === "string") { + value = value.toString(); + } else { + throw new Error(`Set preference: "${value}" is a ${valueType}, expected a ${defaultType}.`); + } + } else if (valueType === "number" && !Number.isInteger(value)) { + throw new Error(`Set preference: "${value}" must be an integer.`); + } + this.#prefs[name] = value; + return this._writeToStorage(this.#prefs).catch(reason => { + this.#prefs = prefs; + throw reason; + }); + } + async get(name) { + await this.#initializedPromise; + const defaultValue = this.#defaults[name]; + if (defaultValue === undefined) { + throw new Error(`Get preference: "${name}" is undefined.`); + } + return this.#prefs[name] ?? defaultValue; + } + async getAll() { + await this.#initializedPromise; + const obj = Object.create(null); + for (const name in this.#defaults) { + obj[name] = this.#prefs[name] ?? this.#defaults[name]; + } + return obj; + } +} +exports.BasePreferences = BasePreferences; + +/***/ }), +/* 161 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.DownloadManager = void 0; +__webpack_require__(76); +__webpack_require__(92); +__webpack_require__(94); +__webpack_require__(95); +var _pdfjsLib = __webpack_require__(122); +; +function download(blobUrl, filename) { + const a = document.createElement("a"); + if (!a.click) { + throw new Error('DownloadManager: "a.click()" is not supported.'); + } + a.href = blobUrl; + a.target = "_parent"; + if ("download" in a) { + a.download = filename; + } + (document.body || document.documentElement).append(a); + a.click(); + a.remove(); +} +class DownloadManager { + #openBlobUrls = new WeakMap(); + downloadUrl(url, filename, _options) { + if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) { + console.error(`downloadUrl - not a valid URL: ${url}`); + return; + } + download(url + "#pdfjs.action=download", filename); + } + downloadData(data, filename, contentType) { + const blobUrl = URL.createObjectURL(new Blob([data], { + type: contentType + })); + download(blobUrl, filename); + } + openOrDownloadData(element, data, filename) { + const isPdfData = (0, _pdfjsLib.isPdfFile)(filename); + const contentType = isPdfData ? "application/pdf" : ""; + if (isPdfData) { + let blobUrl = this.#openBlobUrls.get(element); + if (!blobUrl) { + blobUrl = URL.createObjectURL(new Blob([data], { + type: contentType + })); + this.#openBlobUrls.set(element, blobUrl); + } + let viewerUrl; + viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename); + try { + window.open(viewerUrl); + return true; + } catch (ex) { + console.error(`openOrDownloadData: ${ex}`); + URL.revokeObjectURL(blobUrl); + this.#openBlobUrls.delete(element); + } + } + this.downloadData(data, filename, contentType); + return false; + } + download(blob, url, filename, _options) { + const blobUrl = URL.createObjectURL(blob); + download(blobUrl, filename); + } +} +exports.DownloadManager = DownloadManager; + +/***/ }), +/* 162 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericL10n = void 0; +__webpack_require__(163); +var _l10n_utils = __webpack_require__(148); +const PARTIAL_LANG_CODES = { + en: "en-US", + es: "es-ES", + fy: "fy-NL", + ga: "ga-IE", + gu: "gu-IN", + hi: "hi-IN", + hy: "hy-AM", + nb: "nb-NO", + ne: "ne-NP", + nn: "nn-NO", + pa: "pa-IN", + pt: "pt-PT", + sv: "sv-SE", + zh: "zh-CN" +}; +function fixupLangCode(langCode) { + return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode; +} +class GenericL10n { + constructor(lang) { + const { + webL10n + } = document; + this._lang = lang; + this._ready = new Promise((resolve, reject) => { + webL10n.setLanguage(fixupLangCode(lang), () => { + resolve(webL10n); + }); + }); + } + async getLanguage() { + const l10n = await this._ready; + return l10n.getLanguage(); + } + async getDirection() { + const l10n = await this._ready; + return l10n.getDirection(); + } + async get(key) { + let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + let fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (0, _l10n_utils.getL10nFallback)(key, args); + const l10n = await this._ready; + return l10n.get(key, args, fallback); + } + async translate(element) { + const l10n = await this._ready; + return l10n.translate(element); + } +} +exports.GenericL10n = GenericL10n; + +/***/ }), +/* 163 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + + +__webpack_require__(2); +document.webL10n = function (window, document) { + var gL10nData = {}; + var gTextData = ''; + var gTextProp = 'textContent'; + var gLanguage = ''; + var gMacros = {}; + var gReadyState = 'loading'; + var gAsyncResourceLoading = true; + function getL10nResourceLinks() { + return document.querySelectorAll('link[type="application/l10n"]'); + } + function getL10nDictionary() { + var script = document.querySelector('script[type="application/l10n"]'); + return script ? JSON.parse(script.innerHTML) : null; + } + function getTranslatableChildren(element) { + return element ? element.querySelectorAll('*[data-l10n-id]') : []; + } + function getL10nAttributes(element) { + if (!element) return {}; + var l10nId = element.getAttribute('data-l10n-id'); + var l10nArgs = element.getAttribute('data-l10n-args'); + var args = {}; + if (l10nArgs) { + try { + args = JSON.parse(l10nArgs); + } catch (e) { + console.warn('could not parse arguments for #' + l10nId); + } + } + return { + id: l10nId, + args: args + }; + } + function xhrLoadText(url, onSuccess, onFailure) { + onSuccess = onSuccess || function _onSuccess(data) {}; + onFailure = onFailure || function _onFailure() {}; + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, gAsyncResourceLoading); + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=utf-8'); + } + xhr.onreadystatechange = function () { + if (xhr.readyState == 4) { + if (xhr.status == 200 || xhr.status === 0) { + onSuccess(xhr.responseText); + } else { + onFailure(); + } + } + }; + xhr.onerror = onFailure; + xhr.ontimeout = onFailure; + try { + xhr.send(null); + } catch (e) { + onFailure(); + } + } + function parseResource(href, lang, successCallback, failureCallback) { + var baseURL = href.replace(/[^\/]*$/, '') || './'; + function evalString(text) { + if (text.lastIndexOf('\\') < 0) return text; + return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'"); + } + function parseProperties(text, parsedPropertiesCallback) { + var dictionary = {}; + var reBlank = /^\s*|\s*$/; + var reComment = /^\s*#|^\s*$/; + var reSection = /^\s*\[(.*)\]\s*$/; + var reImport = /^\s*@import\s+url\((.*)\)\s*$/i; + var reSplit = /^([^=\s]*)\s*=\s*(.+)$/; + function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) { + var entries = rawText.replace(reBlank, '').split(/[\r\n]+/); + var currentLang = '*'; + var genericLang = lang.split('-', 1)[0]; + var skipLang = false; + var match = ''; + function nextEntry() { + while (true) { + if (!entries.length) { + parsedRawLinesCallback(); + return; + } + var line = entries.shift(); + if (reComment.test(line)) continue; + if (extendedSyntax) { + match = reSection.exec(line); + if (match) { + currentLang = match[1].toLowerCase(); + skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang; + continue; + } else if (skipLang) { + continue; + } + match = reImport.exec(line); + if (match) { + loadImport(baseURL + match[1], nextEntry); + return; + } + } + var tmp = line.match(reSplit); + if (tmp && tmp.length == 3) { + dictionary[tmp[1]] = evalString(tmp[2]); + } + } + } + nextEntry(); + } + function loadImport(url, callback) { + xhrLoadText(url, function (content) { + parseRawLines(content, false, callback); + }, function () { + console.warn(url + ' not found.'); + callback(); + }); + } + parseRawLines(text, true, function () { + parsedPropertiesCallback(dictionary); + }); + } + xhrLoadText(href, function (response) { + gTextData += response; + parseProperties(response, function (data) { + for (var key in data) { + var id, + prop, + index = key.lastIndexOf('.'); + if (index > 0) { + id = key.substring(0, index); + prop = key.substring(index + 1); + } else { + id = key; + prop = gTextProp; + } + if (!gL10nData[id]) { + gL10nData[id] = {}; + } + gL10nData[id][prop] = data[key]; + } + if (successCallback) { + successCallback(); + } + }); + }, failureCallback); + } + function loadLocale(lang, callback) { + if (lang) { + lang = lang.toLowerCase(); + } + callback = callback || function _callback() {}; + clear(); + gLanguage = lang; + var langLinks = getL10nResourceLinks(); + var langCount = langLinks.length; + if (langCount === 0) { + var dict = getL10nDictionary(); + if (dict && dict.locales && dict.default_locale) { + console.log('using the embedded JSON directory, early way out'); + gL10nData = dict.locales[lang]; + if (!gL10nData) { + var defaultLocale = dict.default_locale.toLowerCase(); + for (var anyCaseLang in dict.locales) { + anyCaseLang = anyCaseLang.toLowerCase(); + if (anyCaseLang === lang) { + gL10nData = dict.locales[lang]; + break; + } else if (anyCaseLang === defaultLocale) { + gL10nData = dict.locales[defaultLocale]; + } + } + } + callback(); + } else { + console.log('no resource to load, early way out'); + } + gReadyState = 'complete'; + return; + } + var onResourceLoaded = null; + var gResourceCount = 0; + onResourceLoaded = function () { + gResourceCount++; + if (gResourceCount >= langCount) { + callback(); + gReadyState = 'complete'; + } + }; + function L10nResourceLink(link) { + var href = link.href; + this.load = function (lang, callback) { + parseResource(href, lang, callback, function () { + console.warn(href + ' not found.'); + console.warn('"' + lang + '" resource not found'); + gLanguage = ''; + callback(); + }); + }; + } + for (var i = 0; i < langCount; i++) { + var resource = new L10nResourceLink(langLinks[i]); + resource.load(lang, onResourceLoaded); + } + } + function clear() { + gL10nData = {}; + gTextData = ''; + gLanguage = ''; + } + function getPluralRules(lang) { + var locales2rules = { + 'af': 3, + 'ak': 4, + 'am': 4, + 'ar': 1, + 'asa': 3, + 'az': 0, + 'be': 11, + 'bem': 3, + 'bez': 3, + 'bg': 3, + 'bh': 4, + 'bm': 0, + 'bn': 3, + 'bo': 0, + 'br': 20, + 'brx': 3, + 'bs': 11, + 'ca': 3, + 'cgg': 3, + 'chr': 3, + 'cs': 12, + 'cy': 17, + 'da': 3, + 'de': 3, + 'dv': 3, + 'dz': 0, + 'ee': 3, + 'el': 3, + 'en': 3, + 'eo': 3, + 'es': 3, + 'et': 3, + 'eu': 3, + 'fa': 0, + 'ff': 5, + 'fi': 3, + 'fil': 4, + 'fo': 3, + 'fr': 5, + 'fur': 3, + 'fy': 3, + 'ga': 8, + 'gd': 24, + 'gl': 3, + 'gsw': 3, + 'gu': 3, + 'guw': 4, + 'gv': 23, + 'ha': 3, + 'haw': 3, + 'he': 2, + 'hi': 4, + 'hr': 11, + 'hu': 0, + 'id': 0, + 'ig': 0, + 'ii': 0, + 'is': 3, + 'it': 3, + 'iu': 7, + 'ja': 0, + 'jmc': 3, + 'jv': 0, + 'ka': 0, + 'kab': 5, + 'kaj': 3, + 'kcg': 3, + 'kde': 0, + 'kea': 0, + 'kk': 3, + 'kl': 3, + 'km': 0, + 'kn': 0, + 'ko': 0, + 'ksb': 3, + 'ksh': 21, + 'ku': 3, + 'kw': 7, + 'lag': 18, + 'lb': 3, + 'lg': 3, + 'ln': 4, + 'lo': 0, + 'lt': 10, + 'lv': 6, + 'mas': 3, + 'mg': 4, + 'mk': 16, + 'ml': 3, + 'mn': 3, + 'mo': 9, + 'mr': 3, + 'ms': 0, + 'mt': 15, + 'my': 0, + 'nah': 3, + 'naq': 7, + 'nb': 3, + 'nd': 3, + 'ne': 3, + 'nl': 3, + 'nn': 3, + 'no': 3, + 'nr': 3, + 'nso': 4, + 'ny': 3, + 'nyn': 3, + 'om': 3, + 'or': 3, + 'pa': 3, + 'pap': 3, + 'pl': 13, + 'ps': 3, + 'pt': 3, + 'rm': 3, + 'ro': 9, + 'rof': 3, + 'ru': 11, + 'rwk': 3, + 'sah': 0, + 'saq': 3, + 'se': 7, + 'seh': 3, + 'ses': 0, + 'sg': 0, + 'sh': 11, + 'shi': 19, + 'sk': 12, + 'sl': 14, + 'sma': 7, + 'smi': 7, + 'smj': 7, + 'smn': 7, + 'sms': 7, + 'sn': 3, + 'so': 3, + 'sq': 3, + 'sr': 11, + 'ss': 3, + 'ssy': 3, + 'st': 3, + 'sv': 3, + 'sw': 3, + 'syr': 3, + 'ta': 3, + 'te': 3, + 'teo': 3, + 'th': 0, + 'ti': 4, + 'tig': 3, + 'tk': 3, + 'tl': 4, + 'tn': 3, + 'to': 0, + 'tr': 0, + 'ts': 3, + 'tzm': 22, + 'uk': 11, + 'ur': 3, + 've': 3, + 'vi': 0, + 'vun': 3, + 'wa': 4, + 'wae': 3, + 'wo': 0, + 'xh': 3, + 'xog': 3, + 'yo': 0, + 'zh': 0, + 'zu': 3 + }; + function isIn(n, list) { + return list.indexOf(n) !== -1; + } + function isBetween(n, start, end) { + return start <= n && n <= end; + } + var pluralRules = { + '0': function (n) { + return 'other'; + }, + '1': function (n) { + if (isBetween(n % 100, 3, 10)) return 'few'; + if (n === 0) return 'zero'; + if (isBetween(n % 100, 11, 99)) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '2': function (n) { + if (n !== 0 && n % 10 === 0) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '3': function (n) { + if (n == 1) return 'one'; + return 'other'; + }, + '4': function (n) { + if (isBetween(n, 0, 1)) return 'one'; + return 'other'; + }, + '5': function (n) { + if (isBetween(n, 0, 2) && n != 2) return 'one'; + return 'other'; + }, + '6': function (n) { + if (n === 0) return 'zero'; + if (n % 10 == 1 && n % 100 != 11) return 'one'; + return 'other'; + }, + '7': function (n) { + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '8': function (n) { + if (isBetween(n, 3, 6)) return 'few'; + if (isBetween(n, 7, 10)) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '9': function (n) { + if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few'; + if (n == 1) return 'one'; + return 'other'; + }, + '10': function (n) { + if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few'; + if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one'; + return 'other'; + }, + '11': function (n) { + if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; + if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many'; + if (n % 10 == 1 && n % 100 != 11) return 'one'; + return 'other'; + }, + '12': function (n) { + if (isBetween(n, 2, 4)) return 'few'; + if (n == 1) return 'one'; + return 'other'; + }, + '13': function (n) { + if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; + if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many'; + if (n == 1) return 'one'; + return 'other'; + }, + '14': function (n) { + if (isBetween(n % 100, 3, 4)) return 'few'; + if (n % 100 == 2) return 'two'; + if (n % 100 == 1) return 'one'; + return 'other'; + }, + '15': function (n) { + if (n === 0 || isBetween(n % 100, 2, 10)) return 'few'; + if (isBetween(n % 100, 11, 19)) return 'many'; + if (n == 1) return 'one'; + return 'other'; + }, + '16': function (n) { + if (n % 10 == 1 && n != 11) return 'one'; + return 'other'; + }, + '17': function (n) { + if (n == 3) return 'few'; + if (n === 0) return 'zero'; + if (n == 6) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '18': function (n) { + if (n === 0) return 'zero'; + if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one'; + return 'other'; + }, + '19': function (n) { + if (isBetween(n, 2, 10)) return 'few'; + if (isBetween(n, 0, 1)) return 'one'; + return 'other'; + }, + '20': function (n) { + if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few'; + if (n % 1000000 === 0 && n !== 0) return 'many'; + if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two'; + if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one'; + return 'other'; + }, + '21': function (n) { + if (n === 0) return 'zero'; + if (n == 1) return 'one'; + return 'other'; + }, + '22': function (n) { + if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one'; + return 'other'; + }, + '23': function (n) { + if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one'; + return 'other'; + }, + '24': function (n) { + if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few'; + if (isIn(n, [2, 12])) return 'two'; + if (isIn(n, [1, 11])) return 'one'; + return 'other'; + } + }; + var index = locales2rules[lang.replace(/-.*$/, '')]; + if (!(index in pluralRules)) { + console.warn('plural form unknown for [' + lang + ']'); + return function () { + return 'other'; + }; + } + return pluralRules[index]; + } + gMacros.plural = function (str, param, key, prop) { + var n = parseFloat(param); + if (isNaN(n)) return str; + if (prop != gTextProp) return str; + if (!gMacros._pluralRules) { + gMacros._pluralRules = getPluralRules(gLanguage); + } + var index = '[' + gMacros._pluralRules(n) + ']'; + if (n === 0 && key + '[zero]' in gL10nData) { + str = gL10nData[key + '[zero]'][prop]; + } else if (n == 1 && key + '[one]' in gL10nData) { + str = gL10nData[key + '[one]'][prop]; + } else if (n == 2 && key + '[two]' in gL10nData) { + str = gL10nData[key + '[two]'][prop]; + } else if (key + index in gL10nData) { + str = gL10nData[key + index][prop]; + } else if (key + '[other]' in gL10nData) { + str = gL10nData[key + '[other]'][prop]; + } + return str; + }; + function getL10nData(key, args, fallback) { + var data = gL10nData[key]; + if (!data) { + console.warn('#' + key + ' is undefined.'); + if (!fallback) { + return null; + } + data = fallback; + } + var rv = {}; + for (var prop in data) { + var str = data[prop]; + str = substIndexes(str, args, key, prop); + str = substArguments(str, args, key); + rv[prop] = str; + } + return rv; + } + function substIndexes(str, args, key, prop) { + var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/; + var reMatch = reIndex.exec(str); + if (!reMatch || !reMatch.length) return str; + var macroName = reMatch[1]; + var paramName = reMatch[2]; + var param; + if (args && paramName in args) { + param = args[paramName]; + } else if (paramName in gL10nData) { + param = gL10nData[paramName]; + } + if (macroName in gMacros) { + var macro = gMacros[macroName]; + str = macro(str, param, key, prop); + } + return str; + } + function substArguments(str, args, key) { + var reArgs = /\{\{\s*(.+?)\s*\}\}/g; + return str.replace(reArgs, function (matched_text, arg) { + if (args && arg in args) { + return args[arg]; + } + if (arg in gL10nData) { + return gL10nData[arg]; + } + console.log('argument {{' + arg + '}} for #' + key + ' is undefined.'); + return matched_text; + }); + } + function translateElement(element) { + var l10n = getL10nAttributes(element); + if (!l10n.id) return; + var data = getL10nData(l10n.id, l10n.args); + if (!data) { + console.warn('#' + l10n.id + ' is undefined.'); + return; + } + if (data[gTextProp]) { + if (getChildElementCount(element) === 0) { + element[gTextProp] = data[gTextProp]; + } else { + var children = element.childNodes; + var found = false; + for (var i = 0, l = children.length; i < l; i++) { + if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) { + if (found) { + children[i].nodeValue = ''; + } else { + children[i].nodeValue = data[gTextProp]; + found = true; + } + } + } + if (!found) { + var textNode = document.createTextNode(data[gTextProp]); + element.prepend(textNode); + } + } + delete data[gTextProp]; + } + for (var k in data) { + element[k] = data[k]; + } + } + function getChildElementCount(element) { + if (element.children) { + return element.children.length; + } + if (typeof element.childElementCount !== 'undefined') { + return element.childElementCount; + } + var count = 0; + for (var i = 0; i < element.childNodes.length; i++) { + count += element.nodeType === 1 ? 1 : 0; + } + return count; + } + function translateFragment(element) { + element = element || document.documentElement; + var children = getTranslatableChildren(element); + var elementCount = children.length; + for (var i = 0; i < elementCount; i++) { + translateElement(children[i]); + } + translateElement(element); + } + return { + get: function (key, args, fallbackString) { + var index = key.lastIndexOf('.'); + var prop = gTextProp; + if (index > 0) { + prop = key.substring(index + 1); + key = key.substring(0, index); + } + var fallback; + if (fallbackString) { + fallback = {}; + fallback[prop] = fallbackString; + } + var data = getL10nData(key, args, fallback); + if (data && prop in data) { + return data[prop]; + } + return '{{' + key + '}}'; + }, + getData: function () { + return gL10nData; + }, + getText: function () { + return gTextData; + }, + getLanguage: function () { + return gLanguage; + }, + setLanguage: function (lang, callback) { + loadLocale(lang, function () { + if (callback) callback(); + }); + }, + getDirection: function () { + var rtlList = ['ar', 'he', 'fa', 'ps', 'ur']; + var shortCode = gLanguage.split('-', 1)[0]; + return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr'; + }, + translate: translateFragment, + getReadyState: function () { + return gReadyState; + }, + ready: function (callback) { + if (!callback) { + return; + } else if (gReadyState == 'complete' || gReadyState == 'interactive') { + window.setTimeout(function () { + callback(); + }); + } else if (document.addEventListener) { + document.addEventListener('localized', function once() { + document.removeEventListener('localized', once); + callback(); + }); + } + } + }; +}(window, document); + +/***/ }), +/* 164 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericScripting = void 0; +exports.docProperties = docProperties; +var _pdfjsLib = __webpack_require__(122); +async function docProperties(pdfDocument) { + const url = "", + baseUrl = url.split("#")[0]; + let { + info, + metadata, + contentDispositionFilename, + contentLength + } = await pdfDocument.getMetadata(); + if (!contentLength) { + const { + length + } = await pdfDocument.getDownloadInfo(); + contentLength = length; + } + return { + ...info, + baseURL: baseUrl, + filesize: contentLength, + filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url), + metadata: metadata?.getRaw(), + authors: metadata?.get("dc:creator"), + numPages: pdfDocument.numPages, + URL: url + }; +} +class GenericScripting { + constructor(sandboxBundleSrc) { + this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(() => { + return window.pdfjsSandbox.QuickJSSandbox(); + }); + } + async createSandbox(data) { + const sandbox = await this._ready; + sandbox.create(data); + } + async dispatchEventInSandbox(event) { + const sandbox = await this._ready; + setTimeout(() => sandbox.dispatchEvent(event), 0); + } + async destroySandbox() { + const sandbox = await this._ready; + sandbox.nukeSandbox(); + } +} +exports.GenericScripting = GenericScripting; + +/***/ }), +/* 165 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPrintService = void 0; +__webpack_require__(92); +__webpack_require__(94); +__webpack_require__(95); +__webpack_require__(76); +var _pdfjsLib = __webpack_require__(122); +var _app = __webpack_require__(75); +var _print_utils = __webpack_require__(166); +let activeService = null; +let dialog = null; +let overlayManager = null; +function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise) { + const scratchCanvas = activeService.scratchCanvas; + const PRINT_UNITS = printResolution / _pdfjsLib.PixelsPerInch.PDF; + scratchCanvas.width = Math.floor(size.width * PRINT_UNITS); + scratchCanvas.height = Math.floor(size.height * PRINT_UNITS); + const ctx = scratchCanvas.getContext("2d"); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height); + ctx.restore(); + return Promise.all([pdfDocument.getPage(pageNumber), printAnnotationStoragePromise]).then(function (_ref) { + let [pdfPage, printAnnotationStorage] = _ref; + const renderContext = { + canvasContext: ctx, + transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], + viewport: pdfPage.getViewport({ + scale: 1, + rotation: size.rotation + }), + intent: "print", + annotationMode: _pdfjsLib.AnnotationMode.ENABLE_STORAGE, + optionalContentConfigPromise, + printAnnotationStorage + }; + return pdfPage.render(renderContext).promise; + }); +} +class PDFPrintService { + constructor(pdfDocument, pagesOverview, printContainer, printResolution) { + let optionalContentConfigPromise = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; + let printAnnotationStoragePromise = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null; + let l10n = arguments.length > 6 ? arguments[6] : undefined; + this.pdfDocument = pdfDocument; + this.pagesOverview = pagesOverview; + this.printContainer = printContainer; + this._printResolution = printResolution || 150; + this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig(); + this._printAnnotationStoragePromise = printAnnotationStoragePromise || Promise.resolve(); + this.l10n = l10n; + this.currentPage = -1; + this.scratchCanvas = document.createElement("canvas"); + } + layout() { + this.throwIfInactive(); + const body = document.querySelector("body"); + body.setAttribute("data-pdfjsprinting", true); + const { + width, + height + } = this.pagesOverview[0]; + const hasEqualPageSizes = this.pagesOverview.every(size => size.width === width && size.height === height); + if (!hasEqualPageSizes) { + console.warn("Not all pages have the same size. The printed result may be incorrect!"); + } + this.pageStyleSheet = document.createElement("style"); + this.pageStyleSheet.textContent = `@page { size: ${width}pt ${height}pt;}`; + body.append(this.pageStyleSheet); + } + destroy() { + if (activeService !== this) { + return; + } + this.printContainer.textContent = ""; + const body = document.querySelector("body"); + body.removeAttribute("data-pdfjsprinting"); + if (this.pageStyleSheet) { + this.pageStyleSheet.remove(); + this.pageStyleSheet = null; + } + this.scratchCanvas.width = this.scratchCanvas.height = 0; + this.scratchCanvas = null; + activeService = null; + ensureOverlay().then(function () { + if (overlayManager.active === dialog) { + overlayManager.close(dialog); + } + }); + } + renderPages() { + if (this.pdfDocument.isPureXfa) { + (0, _print_utils.getXfaHtmlForPrinting)(this.printContainer, this.pdfDocument); + return Promise.resolve(); + } + const pageCount = this.pagesOverview.length; + const renderNextPage = (resolve, reject) => { + this.throwIfInactive(); + if (++this.currentPage >= pageCount) { + renderProgress(pageCount, pageCount, this.l10n); + resolve(); + return; + } + const index = this.currentPage; + renderProgress(index, pageCount, this.l10n); + renderPage(this, this.pdfDocument, index + 1, this.pagesOverview[index], this._printResolution, this._optionalContentConfigPromise, this._printAnnotationStoragePromise).then(this.useRenderedPage.bind(this)).then(function () { + renderNextPage(resolve, reject); + }, reject); + }; + return new Promise(renderNextPage); + } + useRenderedPage() { + this.throwIfInactive(); + const img = document.createElement("img"); + const scratchCanvas = this.scratchCanvas; + if ("toBlob" in scratchCanvas) { + scratchCanvas.toBlob(function (blob) { + img.src = URL.createObjectURL(blob); + }); + } else { + img.src = scratchCanvas.toDataURL(); + } + const wrapper = document.createElement("div"); + wrapper.className = "printedPage"; + wrapper.append(img); + this.printContainer.append(wrapper); + return new Promise(function (resolve, reject) { + img.onload = resolve; + img.onerror = reject; + }); + } + performPrint() { + this.throwIfInactive(); + return new Promise(resolve => { + setTimeout(() => { + if (!this.active) { + resolve(); + return; + } + print.call(window); + setTimeout(resolve, 20); + }, 0); + }); + } + get active() { + return this === activeService; + } + throwIfInactive() { + if (!this.active) { + throw new Error("This print request was cancelled or completed."); + } + } +} +exports.PDFPrintService = PDFPrintService; +const print = window.print; +window.print = function () { + if (activeService) { + console.warn("Ignored window.print() because of a pending print job."); + return; + } + ensureOverlay().then(function () { + if (activeService) { + overlayManager.open(dialog); + } + }); + try { + dispatchEvent("beforeprint"); + } finally { + if (!activeService) { + console.error("Expected print service to be initialized."); + ensureOverlay().then(function () { + if (overlayManager.active === dialog) { + overlayManager.close(dialog); + } + }); + return; + } + const activeServiceOnEntry = activeService; + activeService.renderPages().then(function () { + return activeServiceOnEntry.performPrint(); + }).catch(function () {}).then(function () { + if (activeServiceOnEntry.active) { + abort(); + } + }); + } +}; +function dispatchEvent(eventType) { + const event = new CustomEvent(eventType, { + bubbles: false, + cancelable: false, + detail: "custom" + }); + window.dispatchEvent(event); +} +function abort() { + if (activeService) { + activeService.destroy(); + dispatchEvent("afterprint"); + } +} +function renderProgress(index, total, l10n) { + dialog ||= document.getElementById("printServiceDialog"); + const progress = Math.round(100 * index / total); + const progressBar = dialog.querySelector("progress"); + const progressPerc = dialog.querySelector(".relative-progress"); + progressBar.value = progress; + l10n.get("print_progress_percent", { + progress + }).then(msg => { + progressPerc.textContent = msg; + }); +} +window.addEventListener("keydown", function (event) { + if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) { + window.print(); + event.preventDefault(); + event.stopImmediatePropagation(); + } +}, true); +if ("onbeforeprint" in window) { + const stopPropagationIfNeeded = function (event) { + if (event.detail !== "custom") { + event.stopImmediatePropagation(); + } + }; + window.addEventListener("beforeprint", stopPropagationIfNeeded); + window.addEventListener("afterprint", stopPropagationIfNeeded); +} +let overlayPromise; +function ensureOverlay() { + if (!overlayPromise) { + overlayManager = _app.PDFViewerApplication.overlayManager; + if (!overlayManager) { + throw new Error("The overlay manager has not yet been initialized."); + } + dialog ||= document.getElementById("printServiceDialog"); + overlayPromise = overlayManager.register(dialog, true); + document.getElementById("printCancel").onclick = abort; + dialog.addEventListener("close", abort); + } + return overlayPromise; +} +_app.PDFPrintServiceFactory.instance = { + supportsPrinting: true, + createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise, l10n) { + if (activeService) { + throw new Error("The print service is created and active."); + } + activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise, l10n); + return activeService; + } +}; + +/***/ }), +/* 166 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getXfaHtmlForPrinting = getXfaHtmlForPrinting; +var _pdfjsLib = __webpack_require__(122); +var _pdf_link_service = __webpack_require__(125); +var _xfa_layer_builder = __webpack_require__(156); +function getXfaHtmlForPrinting(printContainer, pdfDocument) { + const xfaHtml = pdfDocument.allXfaHtml; + const linkService = new _pdf_link_service.SimpleLinkService(); + const scale = Math.round(_pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS * 100) / 100; + for (const xfaPage of xfaHtml.children) { + const page = document.createElement("div"); + page.className = "xfaPrintedPage"; + printContainer.append(page); + const builder = new _xfa_layer_builder.XfaLayerBuilder({ + pageDiv: page, + pdfPage: null, + annotationStorage: pdfDocument.annotationStorage, + linkService, + xfaHtml: xfaPage + }); + const viewport = (0, _pdfjsLib.getXfaPageViewport)(xfaPage, { + scale + }); + builder.render(viewport, "print"); + } +} + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "PDFViewerApplication", ({ + enumerable: true, + get: function () { + return _app.PDFViewerApplication; + } +})); +exports.PDFViewerApplicationConstants = void 0; +Object.defineProperty(exports, "PDFViewerApplicationOptions", ({ + enumerable: true, + get: function () { + return _app_options.AppOptions; + } +})); +__webpack_require__(1); +__webpack_require__(165); +var _ui_utils = __webpack_require__(97); +var _app_options = __webpack_require__(123); +var _pdf_link_service = __webpack_require__(125); +var _app = __webpack_require__(75); +const pdfjsVersion = '3.11.174'; +const pdfjsBuild = 'ce8716743'; +const AppConstants = { + LinkTarget: _pdf_link_service.LinkTarget, + RenderingStates: _ui_utils.RenderingStates, + ScrollMode: _ui_utils.ScrollMode, + SpreadMode: _ui_utils.SpreadMode +}; +exports.PDFViewerApplicationConstants = AppConstants; +window.PDFViewerApplication = _app.PDFViewerApplication; +window.PDFViewerApplicationConstants = AppConstants; +window.PDFViewerApplicationOptions = _app_options.AppOptions; +function getViewerConfiguration() { + return { + appContainer: document.body, + mainContainer: document.getElementById("viewerContainer"), + viewerContainer: document.getElementById("viewer"), + toolbar: { + container: document.getElementById("toolbarViewer"), + numPages: document.getElementById("numPages"), + pageNumber: document.getElementById("pageNumber"), + scaleSelect: document.getElementById("scaleSelect"), + customScaleOption: document.getElementById("customScaleOption"), + previous: document.getElementById("previous"), + next: document.getElementById("next"), + zoomIn: document.getElementById("zoomIn"), + zoomOut: document.getElementById("zoomOut"), + viewFind: document.getElementById("viewFind"), + openFile: document.getElementById("openFile"), + print: document.getElementById("print"), + editorFreeTextButton: document.getElementById("editorFreeText"), + editorFreeTextParamsToolbar: document.getElementById("editorFreeTextParamsToolbar"), + editorInkButton: document.getElementById("editorInk"), + editorInkParamsToolbar: document.getElementById("editorInkParamsToolbar"), + editorStampButton: document.getElementById("editorStamp"), + editorStampParamsToolbar: document.getElementById("editorStampParamsToolbar"), + download: document.getElementById("download") + }, + secondaryToolbar: { + toolbar: document.getElementById("secondaryToolbar"), + toggleButton: document.getElementById("secondaryToolbarToggle"), + presentationModeButton: document.getElementById("presentationMode"), + openFileButton: document.getElementById("secondaryOpenFile"), + printButton: document.getElementById("secondaryPrint"), + downloadButton: document.getElementById("secondaryDownload"), + viewBookmarkButton: document.getElementById("viewBookmark"), + firstPageButton: document.getElementById("firstPage"), + lastPageButton: document.getElementById("lastPage"), + pageRotateCwButton: document.getElementById("pageRotateCw"), + pageRotateCcwButton: document.getElementById("pageRotateCcw"), + cursorSelectToolButton: document.getElementById("cursorSelectTool"), + cursorHandToolButton: document.getElementById("cursorHandTool"), + scrollPageButton: document.getElementById("scrollPage"), + scrollVerticalButton: document.getElementById("scrollVertical"), + scrollHorizontalButton: document.getElementById("scrollHorizontal"), + scrollWrappedButton: document.getElementById("scrollWrapped"), + spreadNoneButton: document.getElementById("spreadNone"), + spreadOddButton: document.getElementById("spreadOdd"), + spreadEvenButton: document.getElementById("spreadEven"), + documentPropertiesButton: document.getElementById("documentProperties") + }, + sidebar: { + outerContainer: document.getElementById("outerContainer"), + sidebarContainer: document.getElementById("sidebarContainer"), + toggleButton: document.getElementById("sidebarToggle"), + resizer: document.getElementById("sidebarResizer"), + thumbnailButton: document.getElementById("viewThumbnail"), + outlineButton: document.getElementById("viewOutline"), + attachmentsButton: document.getElementById("viewAttachments"), + layersButton: document.getElementById("viewLayers"), + thumbnailView: document.getElementById("thumbnailView"), + outlineView: document.getElementById("outlineView"), + attachmentsView: document.getElementById("attachmentsView"), + layersView: document.getElementById("layersView"), + outlineOptionsContainer: document.getElementById("outlineOptionsContainer"), + currentOutlineItemButton: document.getElementById("currentOutlineItem") + }, + findBar: { + bar: document.getElementById("findbar"), + toggleButton: document.getElementById("viewFind"), + findField: document.getElementById("findInput"), + highlightAllCheckbox: document.getElementById("findHighlightAll"), + caseSensitiveCheckbox: document.getElementById("findMatchCase"), + matchDiacriticsCheckbox: document.getElementById("findMatchDiacritics"), + entireWordCheckbox: document.getElementById("findEntireWord"), + findMsg: document.getElementById("findMsg"), + findResultsCount: document.getElementById("findResultsCount"), + findPreviousButton: document.getElementById("findPrevious"), + findNextButton: document.getElementById("findNext") + }, + passwordOverlay: { + dialog: document.getElementById("passwordDialog"), + label: document.getElementById("passwordText"), + input: document.getElementById("password"), + submitButton: document.getElementById("passwordSubmit"), + cancelButton: document.getElementById("passwordCancel") + }, + documentProperties: { + dialog: document.getElementById("documentPropertiesDialog"), + closeButton: document.getElementById("documentPropertiesClose"), + fields: { + fileName: document.getElementById("fileNameField"), + fileSize: document.getElementById("fileSizeField"), + title: document.getElementById("titleField"), + author: document.getElementById("authorField"), + subject: document.getElementById("subjectField"), + keywords: document.getElementById("keywordsField"), + creationDate: document.getElementById("creationDateField"), + modificationDate: document.getElementById("modificationDateField"), + creator: document.getElementById("creatorField"), + producer: document.getElementById("producerField"), + version: document.getElementById("versionField"), + pageCount: document.getElementById("pageCountField"), + pageSize: document.getElementById("pageSizeField"), + linearized: document.getElementById("linearizedField") + } + }, + altTextDialog: { + dialog: document.getElementById("altTextDialog"), + optionDescription: document.getElementById("descriptionButton"), + optionDecorative: document.getElementById("decorativeButton"), + textarea: document.getElementById("descriptionTextarea"), + cancelButton: document.getElementById("altTextCancel"), + saveButton: document.getElementById("altTextSave") + }, + annotationEditorParams: { + editorFreeTextFontSize: document.getElementById("editorFreeTextFontSize"), + editorFreeTextColor: document.getElementById("editorFreeTextColor"), + editorInkColor: document.getElementById("editorInkColor"), + editorInkThickness: document.getElementById("editorInkThickness"), + editorInkOpacity: document.getElementById("editorInkOpacity"), + editorStampAddImage: document.getElementById("editorStampAddImage") + }, + printContainer: document.getElementById("printContainer"), + openFileInput: document.getElementById("fileInput"), + debuggerScriptPath: "./debugger.js" + }; +} +function webViewerLoad() { + const config = getViewerConfiguration(); + const event = new CustomEvent("webviewerloaded", { + bubbles: true, + cancelable: true, + detail: { + source: window + } + }); + try { + parent.document.dispatchEvent(event); + } catch (ex) { + console.error(`webviewerloaded: ${ex}`); + document.dispatchEvent(event); + } + _app.PDFViewerApplication.run(config); +} +document.blockUnblockOnload?.(true); +if (document.readyState === "interactive" || document.readyState === "complete") { + webViewerLoad(); +} else { + document.addEventListener("DOMContentLoaded", webViewerLoad, true); +} +})(); + +/******/ })() +; +//# sourceMappingURL=viewer.js.map \ No newline at end of file diff --git a/ChoiPDFv/webOSTVjs-1.2.10/pdfjs-3.11.174-legacy-dist/web/viewer.js.map b/ChoiPDFv/webOSTVjs-1.2.10/pdfjs-3.11.174-legacy-dist/web/viewer.js.map new file mode 100644 index 0000000..3e83a8d --- /dev/null +++ b/ChoiPDFv/webOSTVjs-1.2.10/pdfjs-3.11.174-legacy-dist/web/viewer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"viewer.js","mappings":"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","sources":["webpack://pdf.js/web/genericcom.js","webpack://pdf.js/node_modules/core-js/modules/esnext.json.parse.js","webpack://pdf.js/node_modules/core-js/internals/export.js","webpack://pdf.js/node_modules/core-js/internals/global.js","webpack://pdf.js/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdf.js/node_modules/core-js/internals/descriptors.js","webpack://pdf.js/node_modules/core-js/internals/fails.js","webpack://pdf.js/node_modules/core-js/internals/function-call.js","webpack://pdf.js/node_modules/core-js/internals/function-bind-native.js","webpack://pdf.js/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdf.js/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdf.js/node_modules/core-js/internals/to-indexed-object.js","webpack://pdf.js/node_modules/core-js/internals/indexed-object.js","webpack://pdf.js/node_modules/core-js/internals/function-uncurry-this.js","webpack://pdf.js/node_modules/core-js/internals/classof-raw.js","webpack://pdf.js/node_modules/core-js/internals/require-object-coercible.js","webpack://pdf.js/node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdf.js/node_modules/core-js/internals/to-property-key.js","webpack://pdf.js/node_modules/core-js/internals/to-primitive.js","webpack://pdf.js/node_modules/core-js/internals/is-object.js","webpack://pdf.js/node_modules/core-js/internals/is-callable.js","webpack://pdf.js/node_modules/core-js/internals/document-all.js","webpack://pdf.js/node_modules/core-js/internals/is-symbol.js","webpack://pdf.js/node_modules/core-js/internals/get-built-in.js","webpack://pdf.js/node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdf.js/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdf.js/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdf.js/node_modules/core-js/internals/engine-v8-version.js","webpack://pdf.js/node_modules/core-js/internals/engine-user-agent.js","webpack://pdf.js/node_modules/core-js/internals/get-method.js","webpack://pdf.js/node_modules/core-js/internals/a-callable.js","webpack://pdf.js/node_modules/core-js/internals/try-to-string.js","webpack://pdf.js/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdf.js/node_modules/core-js/internals/well-known-symbol.js","webpack://pdf.js/node_modules/core-js/internals/shared.js","webpack://pdf.js/node_modules/core-js/internals/is-pure.js","webpack://pdf.js/node_modules/core-js/internals/shared-store.js","webpack://pdf.js/node_modules/core-js/internals/define-global-property.js","webpack://pdf.js/node_modules/core-js/internals/has-own-property.js","webpack://pdf.js/node_modules/core-js/internals/to-object.js","webpack://pdf.js/node_modules/core-js/internals/uid.js","webpack://pdf.js/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdf.js/node_modules/core-js/internals/document-create-element.js","webpack://pdf.js/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdf.js/node_modules/core-js/internals/object-define-property.js","webpack://pdf.js/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdf.js/node_modules/core-js/internals/an-object.js","webpack://pdf.js/node_modules/core-js/internals/define-built-in.js","webpack://pdf.js/node_modules/core-js/internals/make-built-in.js","webpack://pdf.js/node_modules/core-js/internals/function-name.js","webpack://pdf.js/node_modules/core-js/internals/inspect-source.js","webpack://pdf.js/node_modules/core-js/internals/internal-state.js","webpack://pdf.js/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdf.js/node_modules/core-js/internals/shared-key.js","webpack://pdf.js/node_modules/core-js/internals/hidden-keys.js","webpack://pdf.js/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdf.js/node_modules/core-js/internals/own-keys.js","webpack://pdf.js/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdf.js/node_modules/core-js/internals/object-keys-internal.js","webpack://pdf.js/node_modules/core-js/internals/array-includes.js","webpack://pdf.js/node_modules/core-js/internals/to-absolute-index.js","webpack://pdf.js/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdf.js/node_modules/core-js/internals/math-trunc.js","webpack://pdf.js/node_modules/core-js/internals/length-of-array-like.js","webpack://pdf.js/node_modules/core-js/internals/to-length.js","webpack://pdf.js/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdf.js/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdf.js/node_modules/core-js/internals/is-forced.js","webpack://pdf.js/node_modules/core-js/internals/is-array.js","webpack://pdf.js/node_modules/core-js/internals/to-string.js","webpack://pdf.js/node_modules/core-js/internals/classof.js","webpack://pdf.js/node_modules/core-js/internals/to-string-tag-support.js","webpack://pdf.js/node_modules/core-js/internals/create-property.js","webpack://pdf.js/node_modules/core-js/internals/parse-json-string.js","webpack://pdf.js/web/app.js","webpack://pdf.js/node_modules/core-js/modules/es.error.cause.js","webpack://pdf.js/node_modules/core-js/internals/function-apply.js","webpack://pdf.js/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://pdf.js/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdf.js/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdf.js/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdf.js/node_modules/core-js/internals/proxy-accessor.js","webpack://pdf.js/node_modules/core-js/internals/inherit-if-required.js","webpack://pdf.js/node_modules/core-js/internals/normalize-string-argument.js","webpack://pdf.js/node_modules/core-js/internals/install-error-cause.js","webpack://pdf.js/node_modules/core-js/internals/error-stack-install.js","webpack://pdf.js/node_modules/core-js/internals/error-stack-clear.js","webpack://pdf.js/node_modules/core-js/internals/error-stack-installable.js","webpack://pdf.js/node_modules/core-js/modules/es.array.push.js","webpack://pdf.js/node_modules/core-js/internals/array-set-length.js","webpack://pdf.js/node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdf.js/node_modules/core-js/modules/web.url-search-params.delete.js","webpack://pdf.js/node_modules/core-js/internals/validate-arguments-length.js","webpack://pdf.js/node_modules/core-js/modules/web.url-search-params.has.js","webpack://pdf.js/node_modules/core-js/modules/web.url-search-params.size.js","webpack://pdf.js/node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdf.js/web/ui_utils.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-difference.js","webpack://pdf.js/node_modules/core-js/internals/a-set.js","webpack://pdf.js/node_modules/core-js/internals/set-helpers.js","webpack://pdf.js/node_modules/core-js/internals/set-clone.js","webpack://pdf.js/node_modules/core-js/internals/set-iterate.js","webpack://pdf.js/node_modules/core-js/internals/iterate-simple.js","webpack://pdf.js/node_modules/core-js/internals/set-size.js","webpack://pdf.js/node_modules/core-js/internals/get-set-record.js","webpack://pdf.js/node_modules/core-js/internals/get-iterator-direct.js","webpack://pdf.js/node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-intersection.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdf.js/node_modules/core-js/internals/iterator-close.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-is-subset-of.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-is-superset-of.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdf.js/node_modules/core-js/modules/esnext.set.union.v2.js","webpack://pdf.js/node_modules/core-js/internals/set-union.js","webpack://pdf.js/web/pdfjs.js","webpack://pdf.js/web/app_options.js","webpack://pdf.js/web/event_utils.js","webpack://pdf.js/web/pdf_link_service.js","webpack://pdf.js/web/alt_text_manager.js","webpack://pdf.js/web/annotation_editor_params.js","webpack://pdf.js/web/overlay_manager.js","webpack://pdf.js/web/password_prompt.js","webpack://pdf.js/web/pdf_attachment_viewer.js","webpack://pdf.js/web/base_tree_viewer.js","webpack://pdf.js/web/pdf_cursor_tools.js","webpack://pdf.js/web/grab_to_pan.js","webpack://pdf.js/web/pdf_document_properties.js","webpack://pdf.js/web/pdf_find_bar.js","webpack://pdf.js/web/pdf_find_controller.js","webpack://pdf.js/web/pdf_find_utils.js","webpack://pdf.js/web/pdf_history.js","webpack://pdf.js/web/pdf_layer_viewer.js","webpack://pdf.js/web/pdf_outline_viewer.js","webpack://pdf.js/web/pdf_presentation_mode.js","webpack://pdf.js/web/pdf_rendering_queue.js","webpack://pdf.js/web/pdf_scripting_manager.js","webpack://pdf.js/web/pdf_sidebar.js","webpack://pdf.js/web/pdf_thumbnail_viewer.js","webpack://pdf.js/web/pdf_thumbnail_view.js","webpack://pdf.js/web/pdf_viewer.js","webpack://pdf.js/web/l10n_utils.js","webpack://pdf.js/web/pdf_page_view.js","webpack://pdf.js/web/annotation_editor_layer_builder.js","webpack://pdf.js/web/annotation_layer_builder.js","webpack://pdf.js/web/struct_tree_layer_builder.js","webpack://pdf.js/web/text_accessibility.js","webpack://pdf.js/web/text_highlighter.js","webpack://pdf.js/web/text_layer_builder.js","webpack://pdf.js/web/xfa_layer_builder.js","webpack://pdf.js/web/secondary_toolbar.js","webpack://pdf.js/web/toolbar.js","webpack://pdf.js/web/view_history.js","webpack://pdf.js/web/preferences.js","webpack://pdf.js/web/download_manager.js","webpack://pdf.js/web/genericl10n.js","webpack://pdf.js/external/webL10n/l10n.js","webpack://pdf.js/web/generic_scripting.js","webpack://pdf.js/web/pdf_print_service.js","webpack://pdf.js/web/print_utils.js","webpack://pdf.js/webpack/bootstrap","webpack://pdf.js/web/viewer.js"],"sourcesContent":["/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { DefaultExternalServices, PDFViewerApplication } from \"./app.js\";\nimport { BasePreferences } from \"./preferences.js\";\nimport { DownloadManager } from \"./download_manager.js\";\nimport { GenericL10n } from \"./genericl10n.js\";\nimport { GenericScripting } from \"./generic_scripting.js\";\n\nif (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"GENERIC\")) {\n throw new Error(\n 'Module \"pdfjs-web/genericcom\" shall not be used outside GENERIC build.'\n );\n}\n\nconst GenericCom = {};\n\nclass GenericPreferences extends BasePreferences {\n async _writeToStorage(prefObj) {\n localStorage.setItem(\"pdfjs.preferences\", JSON.stringify(prefObj));\n }\n\n async _readFromStorage(prefObj) {\n return JSON.parse(localStorage.getItem(\"pdfjs.preferences\"));\n }\n}\n\nclass GenericExternalServices extends DefaultExternalServices {\n static createDownloadManager() {\n return new DownloadManager();\n }\n\n static createPreferences() {\n return new GenericPreferences();\n }\n\n static createL10n({ locale = \"en-US\" }) {\n return new GenericL10n(locale);\n }\n\n static createScripting({ sandboxBundleSrc }) {\n return new GenericScripting(sandboxBundleSrc);\n }\n}\nPDFViewerApplication.externalServices = GenericExternalServices;\n\nexport { GenericCom };\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar parseJSONString = require('../internals/parse-json-string');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar JSON = global.JSON;\nvar Number = global.Number;\nvar SyntaxError = global.SyntaxError;\nvar nativeParse = JSON && JSON.parse;\nvar enumerableOwnProperties = getBuiltIn('Object', 'keys');\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis([].push);\n\nvar IS_DIGIT = /^\\d$/;\nvar IS_NON_ZERO_DIGIT = /^[1-9]$/;\nvar IS_NUMBER_START = /^(?:-|\\d)$/;\nvar IS_WHITESPACE = /^[\\t\\n\\r ]$/;\n\nvar PRIMITIVE = 0;\nvar OBJECT = 1;\n\nvar $parse = function (source, reviver) {\n source = toString(source);\n var context = new Context(source, 0, '');\n var root = context.parse();\n var value = root.value;\n var endIndex = context.skip(IS_WHITESPACE, root.end);\n if (endIndex < source.length) {\n throw SyntaxError('Unexpected extra character: \"' + at(source, endIndex) + '\" after the parsed data at: ' + endIndex);\n }\n return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value;\n};\n\nvar internalize = function (holder, name, reviver, node) {\n var val = holder[name];\n var unmodified = node && val === node.value;\n var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {};\n var elementRecordsLen, keys, len, i, P;\n if (isObject(val)) {\n var nodeIsArray = isArray(val);\n var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {};\n if (nodeIsArray) {\n elementRecordsLen = nodes.length;\n len = lengthOfArrayLike(val);\n for (i = 0; i < len; i++) {\n internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined));\n }\n } else {\n keys = enumerableOwnProperties(val);\n len = lengthOfArrayLike(keys);\n for (i = 0; i < len; i++) {\n P = keys[i];\n internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined));\n }\n }\n }\n return call(reviver, holder, name, val, context);\n};\n\nvar internalizeProperty = function (object, key, value) {\n if (DESCRIPTORS) {\n var descriptor = getOwnPropertyDescriptor(object, key);\n if (descriptor && !descriptor.configurable) return;\n }\n if (value === undefined) delete object[key];\n else createProperty(object, key, value);\n};\n\nvar Node = function (value, end, source, nodes) {\n this.value = value;\n this.end = end;\n this.source = source;\n this.nodes = nodes;\n};\n\nvar Context = function (source, index) {\n this.source = source;\n this.index = index;\n};\n\n// https://www.json.org/json-en.html\nContext.prototype = {\n fork: function (nextIndex) {\n return new Context(this.source, nextIndex);\n },\n parse: function () {\n var source = this.source;\n var i = this.skip(IS_WHITESPACE, this.index);\n var fork = this.fork(i);\n var chr = at(source, i);\n if (exec(IS_NUMBER_START, chr)) return fork.number();\n switch (chr) {\n case '{':\n return fork.object();\n case '[':\n return fork.array();\n case '\"':\n return fork.string();\n case 't':\n return fork.keyword(true);\n case 'f':\n return fork.keyword(false);\n case 'n':\n return fork.keyword(null);\n } throw SyntaxError('Unexpected character: \"' + chr + '\" at: ' + i);\n },\n node: function (type, value, start, end, nodes) {\n return new Node(value, end, type ? null : slice(this.source, start, end), nodes);\n },\n object: function () {\n var source = this.source;\n var i = this.index + 1;\n var expectKeypair = false;\n var object = {};\n var nodes = {};\n while (i < source.length) {\n i = this.until(['\"', '}'], i);\n if (at(source, i) === '}' && !expectKeypair) {\n i++;\n break;\n }\n // Parsing the key\n var result = this.fork(i).string();\n var key = result.value;\n i = result.end;\n i = this.until([':'], i) + 1;\n // Parsing value\n i = this.skip(IS_WHITESPACE, i);\n result = this.fork(i).parse();\n createProperty(nodes, key, result);\n createProperty(object, key, result.value);\n i = this.until([',', '}'], result.end);\n var chr = at(source, i);\n if (chr === ',') {\n expectKeypair = true;\n i++;\n } else if (chr === '}') {\n i++;\n break;\n }\n }\n return this.node(OBJECT, object, this.index, i, nodes);\n },\n array: function () {\n var source = this.source;\n var i = this.index + 1;\n var expectElement = false;\n var array = [];\n var nodes = [];\n while (i < source.length) {\n i = this.skip(IS_WHITESPACE, i);\n if (at(source, i) === ']' && !expectElement) {\n i++;\n break;\n }\n var result = this.fork(i).parse();\n push(nodes, result);\n push(array, result.value);\n i = this.until([',', ']'], result.end);\n if (at(source, i) === ',') {\n expectElement = true;\n i++;\n } else if (at(source, i) === ']') {\n i++;\n break;\n }\n }\n return this.node(OBJECT, array, this.index, i, nodes);\n },\n string: function () {\n var index = this.index;\n var parsed = parseJSONString(this.source, this.index + 1);\n return this.node(PRIMITIVE, parsed.value, index, parsed.end);\n },\n number: function () {\n var source = this.source;\n var startIndex = this.index;\n var i = startIndex;\n if (at(source, i) === '-') i++;\n if (at(source, i) === '0') i++;\n else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) i = this.skip(IS_DIGIT, ++i);\n else throw SyntaxError('Failed to parse number at: ' + i);\n if (at(source, i) === '.') i = this.skip(IS_DIGIT, ++i);\n if (at(source, i) === 'e' || at(source, i) === 'E') {\n i++;\n if (at(source, i) === '+' || at(source, i) === '-') i++;\n var exponentStartIndex = i;\n i = this.skip(IS_DIGIT, i);\n if (exponentStartIndex === i) throw SyntaxError(\"Failed to parse number's exponent value at: \" + i);\n }\n return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i);\n },\n keyword: function (value) {\n var keyword = '' + value;\n var index = this.index;\n var endIndex = index + keyword.length;\n if (slice(this.source, index, endIndex) !== keyword) throw SyntaxError('Failed to parse value at: ' + index);\n return this.node(PRIMITIVE, value, index, endIndex);\n },\n skip: function (regex, i) {\n var source = this.source;\n for (; i < source.length; i++) if (!exec(regex, at(source, i))) break;\n return i;\n },\n until: function (array, i) {\n i = this.skip(IS_WHITESPACE, i);\n var chr = at(this.source, i);\n for (var j = 0; j < array.length; j++) if (array[j] === chr) return i;\n throw SyntaxError('Unexpected character: \"' + chr + '\" at: ' + i);\n }\n};\n\nvar NO_SOURCE_SUPPORT = fails(function () {\n var unsafeInt = '9007199254740993';\n var source;\n nativeParse(unsafeInt, function (key, value, context) {\n source = context.source;\n });\n return source !== unsafeInt;\n});\n\nvar PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () {\n // Safari 9 bug\n return 1 / nativeParse('-0 \\t') !== -Infinity;\n});\n\n// `JSON.parse` method\n// https://tc39.es/ecma262/#sec-json.parse\n// https://github.com/tc39/proposal-json-parse-with-source\n$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, {\n parse: function parse(text, reviver) {\n return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver);\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\n\nvar $SyntaxError = SyntaxError;\nvar $parseInt = parseInt;\nvar fromCharCode = String.fromCharCode;\nvar at = uncurryThis(''.charAt);\nvar slice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar codePoints = {\n '\\\\\"': '\"',\n '\\\\\\\\': '\\\\',\n '\\\\/': '/',\n '\\\\b': '\\b',\n '\\\\f': '\\f',\n '\\\\n': '\\n',\n '\\\\r': '\\r',\n '\\\\t': '\\t'\n};\n\nvar IS_4_HEX_DIGITS = /^[\\da-f]{4}$/i;\n// eslint-disable-next-line regexp/no-control-character -- safe\nvar IS_C0_CONTROL_CODE = /^[\\u0000-\\u001F]$/;\n\nmodule.exports = function (source, i) {\n var unterminated = true;\n var value = '';\n while (i < source.length) {\n var chr = at(source, i);\n if (chr === '\\\\') {\n var twoChars = slice(source, i, i + 2);\n if (hasOwn(codePoints, twoChars)) {\n value += codePoints[twoChars];\n i += 2;\n } else if (twoChars === '\\\\u') {\n i += 2;\n var fourHexDigits = slice(source, i, i + 4);\n if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw $SyntaxError('Unknown escape sequence: \"' + twoChars + '\"');\n } else if (chr === '\"') {\n unterminated = false;\n i++;\n break;\n } else {\n if (exec(IS_C0_CONTROL_CODE, chr)) throw $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\n};\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n AutoPrintRegExp,\n CursorTool,\n DEFAULT_SCALE_VALUE,\n getActiveOrFocusedElement,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n normalizeWheelEventDirection,\n parseQueryString,\n ProgressBar,\n RenderingStates,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n} from \"./ui_utils.js\";\nimport {\n AnnotationEditorType,\n build,\n FeatureTest,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n GlobalWorkerOptions,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n loadScript,\n MissingPDFException,\n PDFWorker,\n PromiseCapability,\n shadow,\n UnexpectedResponseException,\n version,\n} from \"pdfjs-lib\";\nimport { AppOptions, OptionKind } from \"./app_options.js\";\nimport { AutomationEventBus, EventBus } from \"./event_utils.js\";\nimport { LinkTarget, PDFLinkService } from \"./pdf_link_service.js\";\nimport { AltTextManager } from \"web-alt_text_manager\";\nimport { AnnotationEditorParams } from \"web-annotation_editor_params\";\nimport { OverlayManager } from \"./overlay_manager.js\";\nimport { PasswordPrompt } from \"./password_prompt.js\";\nimport { PDFAttachmentViewer } from \"web-pdf_attachment_viewer\";\nimport { PDFCursorTools } from \"web-pdf_cursor_tools\";\nimport { PDFDocumentProperties } from \"web-pdf_document_properties\";\nimport { PDFFindBar } from \"web-pdf_find_bar\";\nimport { PDFFindController } from \"./pdf_find_controller.js\";\nimport { PDFHistory } from \"./pdf_history.js\";\nimport { PDFLayerViewer } from \"web-pdf_layer_viewer\";\nimport { PDFOutlineViewer } from \"web-pdf_outline_viewer\";\nimport { PDFPresentationMode } from \"web-pdf_presentation_mode\";\nimport { PDFRenderingQueue } from \"./pdf_rendering_queue.js\";\nimport { PDFScriptingManager } from \"./pdf_scripting_manager.js\";\nimport { PDFSidebar } from \"web-pdf_sidebar\";\nimport { PDFThumbnailViewer } from \"web-pdf_thumbnail_viewer\";\nimport { PDFViewer } from \"./pdf_viewer.js\";\nimport { SecondaryToolbar } from \"web-secondary_toolbar\";\nimport { Toolbar } from \"web-toolbar\";\nimport { ViewHistory } from \"./view_history.js\";\n\nconst FORCE_PAGES_LOADED_TIMEOUT = 10000; // ms\nconst WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; // ms\n\nconst ViewOnLoad = {\n UNKNOWN: -1,\n PREVIOUS: 0, // Default value.\n INITIAL: 1,\n};\n\nconst ViewerCssTheme = {\n AUTOMATIC: 0, // Default value.\n LIGHT: 1,\n DARK: 2,\n};\n\nclass DefaultExternalServices {\n constructor() {\n throw new Error(\"Cannot initialize DefaultExternalServices.\");\n }\n\n static updateFindControlState(data) {}\n\n static updateFindMatchesCount(data) {}\n\n static initPassiveLoading(callbacks) {}\n\n static reportTelemetry(data) {}\n\n static createDownloadManager() {\n throw new Error(\"Not implemented: createDownloadManager\");\n }\n\n static createPreferences() {\n throw new Error(\"Not implemented: createPreferences\");\n }\n\n static createL10n(options) {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n static createScripting(options) {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n static get supportsPinchToZoom() {\n return shadow(this, \"supportsPinchToZoom\", true);\n }\n\n static get supportsIntegratedFind() {\n return shadow(this, \"supportsIntegratedFind\", false);\n }\n\n static get supportsDocumentFonts() {\n return shadow(this, \"supportsDocumentFonts\", true);\n }\n\n static get supportedMouseWheelZoomModifierKeys() {\n return shadow(this, \"supportedMouseWheelZoomModifierKeys\", {\n ctrlKey: true,\n metaKey: true,\n });\n }\n\n static get isInAutomation() {\n return shadow(this, \"isInAutomation\", false);\n }\n\n static updateEditorStates(data) {\n throw new Error(\"Not implemented: updateEditorStates\");\n }\n\n static get canvasMaxAreaInBytes() {\n return shadow(this, \"canvasMaxAreaInBytes\", -1);\n }\n\n static getNimbusExperimentData() {\n return shadow(this, \"getNimbusExperimentData\", Promise.resolve(null));\n }\n}\n\nconst PDFViewerApplication = {\n initialBookmark: document.location.hash.substring(1),\n _initializedCapability: new PromiseCapability(),\n appConfig: null,\n pdfDocument: null,\n pdfLoadingTask: null,\n printService: null,\n /** @type {PDFViewer} */\n pdfViewer: null,\n /** @type {PDFThumbnailViewer} */\n pdfThumbnailViewer: null,\n /** @type {PDFRenderingQueue} */\n pdfRenderingQueue: null,\n /** @type {PDFPresentationMode} */\n pdfPresentationMode: null,\n /** @type {PDFDocumentProperties} */\n pdfDocumentProperties: null,\n /** @type {PDFLinkService} */\n pdfLinkService: null,\n /** @type {PDFHistory} */\n pdfHistory: null,\n /** @type {PDFSidebar} */\n pdfSidebar: null,\n /** @type {PDFOutlineViewer} */\n pdfOutlineViewer: null,\n /** @type {PDFAttachmentViewer} */\n pdfAttachmentViewer: null,\n /** @type {PDFLayerViewer} */\n pdfLayerViewer: null,\n /** @type {PDFCursorTools} */\n pdfCursorTools: null,\n /** @type {PDFScriptingManager} */\n pdfScriptingManager: null,\n /** @type {ViewHistory} */\n store: null,\n /** @type {DownloadManager} */\n downloadManager: null,\n /** @type {OverlayManager} */\n overlayManager: null,\n /** @type {Preferences} */\n preferences: null,\n /** @type {Toolbar} */\n toolbar: null,\n /** @type {SecondaryToolbar} */\n secondaryToolbar: null,\n /** @type {EventBus} */\n eventBus: null,\n /** @type {IL10n} */\n l10n: null,\n /** @type {AnnotationEditorParams} */\n annotationEditorParams: null,\n isInitialViewSet: false,\n downloadComplete: false,\n isViewerEmbedded: window.parent !== window,\n url: \"\",\n baseUrl: \"\",\n _downloadUrl: \"\",\n externalServices: DefaultExternalServices,\n _boundEvents: Object.create(null),\n documentInfo: null,\n metadata: null,\n _contentDispositionFilename: null,\n _contentLength: null,\n _saveInProgress: false,\n _wheelUnusedTicks: 0,\n _wheelUnusedFactor: 1,\n _touchUnusedTicks: 0,\n _touchUnusedFactor: 1,\n _PDFBug: null,\n _hasAnnotationEditors: false,\n _title: document.title,\n _printAnnotationStoragePromise: null,\n _touchInfo: null,\n _isCtrlKeyDown: false,\n _nimbusDataPromise: null,\n\n // Called once when the document is loaded.\n async initialize(appConfig) {\n this.preferences = this.externalServices.createPreferences();\n this.appConfig = appConfig;\n\n if (\n typeof PDFJSDev === \"undefined\"\n ? window.isGECKOVIEW\n : PDFJSDev.test(\"GECKOVIEW\")\n ) {\n this._nimbusDataPromise = this.externalServices.getNimbusExperimentData();\n }\n\n await this._initializeOptions();\n this._forceCssTheme();\n await this._initializeL10n();\n\n if (\n this.isViewerEmbedded &&\n AppOptions.get(\"externalLinkTarget\") === LinkTarget.NONE\n ) {\n // Prevent external links from \"replacing\" the viewer,\n // when it's embedded in e.g. an