From 446bc687686c909b75acf2749b746f77ba2fe4de Mon Sep 17 00:00:00 2001 From: Ludy Date: Wed, 12 Jun 2024 21:33:25 +0200 Subject: [PATCH] change to Pdf.js-Legacy Version 4.3.136 (#1444) * add: PDF.js-Legacy * change path --- .gitattributes | 2 + .../security/UserAuthenticationFilter.java | 1 + .../software/SPDF/utils/RequestUriUtils.java | 1 + .../static/js/multitool/PdfContainer.js | 2 +- .../static/pdfjs-legacy/cmaps/78-EUC-H.bcmap | Bin 0 -> 2404 bytes .../static/pdfjs-legacy/cmaps/78-EUC-V.bcmap | Bin 0 -> 173 bytes .../static/pdfjs-legacy/cmaps/78-H.bcmap | Bin 0 -> 2379 bytes .../static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap | Bin 0 -> 2398 bytes .../static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap | Bin 0 -> 173 bytes .../static/pdfjs-legacy/cmaps/78-V.bcmap | Bin 0 -> 169 bytes .../pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap | Bin 0 -> 2651 bytes .../pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap | Bin 0 -> 290 bytes .../pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap | Bin 0 -> 905 bytes .../pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap | Bin 0 -> 721 bytes .../pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap | Bin 0 -> 290 bytes .../pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap | Bin 0 -> 715 bytes .../pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap | Bin 0 -> 291 bytes .../pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap | Bin 0 -> 982 bytes .../pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap | Bin 0 -> 260 bytes .../static/pdfjs-legacy/cmaps/Add-H.bcmap | Bin 0 -> 2419 bytes .../pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap | Bin 0 -> 2413 bytes .../pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap | Bin 0 -> 287 bytes .../static/pdfjs-legacy/cmaps/Add-V.bcmap | Bin 0 -> 282 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap | Bin 0 -> 317 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap | Bin 0 -> 371 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap | Bin 0 -> 376 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap | Bin 0 -> 401 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap | Bin 0 -> 405 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap | Bin 0 -> 406 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap | Bin 0 -> 406 bytes .../pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap | Bin 0 -> 41193 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap | Bin 0 -> 217 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap | Bin 0 -> 250 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap | Bin 0 -> 465 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap | Bin 0 -> 470 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap | Bin 0 -> 601 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap | Bin 0 -> 625 bytes .../pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap | Bin 0 -> 33974 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap | Bin 0 -> 225 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap | Bin 0 -> 226 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap | Bin 0 -> 233 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap | Bin 0 -> 242 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap | Bin 0 -> 337 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap | Bin 0 -> 430 bytes .../pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap | Bin 0 -> 485 bytes .../cmaps/Adobe-Japan1-UCS2.bcmap | Bin 0 -> 40951 bytes .../pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap | Bin 0 -> 241 bytes .../pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap | Bin 0 -> 386 bytes .../pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap | Bin 0 -> 391 bytes .../cmaps/Adobe-Korea1-UCS2.bcmap | Bin 0 -> 23293 bytes .../static/pdfjs-legacy/cmaps/B5-H.bcmap | Bin 0 -> 1086 bytes .../static/pdfjs-legacy/cmaps/B5-V.bcmap | Bin 0 -> 142 bytes .../static/pdfjs-legacy/cmaps/B5pc-H.bcmap | Bin 0 -> 1099 bytes .../static/pdfjs-legacy/cmaps/B5pc-V.bcmap | Bin 0 -> 144 bytes .../static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap | Bin 0 -> 1780 bytes .../static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap | Bin 0 -> 1920 bytes .../static/pdfjs-legacy/cmaps/CNS1-H.bcmap | Bin 0 -> 706 bytes .../static/pdfjs-legacy/cmaps/CNS1-V.bcmap | Bin 0 -> 143 bytes .../static/pdfjs-legacy/cmaps/CNS2-H.bcmap | Bin 0 -> 504 bytes .../static/pdfjs-legacy/cmaps/CNS2-V.bcmap | 3 + .../static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap | Bin 0 -> 4426 bytes .../static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap | Bin 0 -> 158 bytes .../static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap | Bin 0 -> 1125 bytes .../static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap | Bin 0 -> 158 bytes .../pdfjs-legacy/cmaps/ETenms-B5-H.bcmap | 3 + .../pdfjs-legacy/cmaps/ETenms-B5-V.bcmap | Bin 0 -> 172 bytes .../static/pdfjs-legacy/cmaps/EUC-H.bcmap | Bin 0 -> 578 bytes .../static/pdfjs-legacy/cmaps/EUC-V.bcmap | Bin 0 -> 170 bytes .../static/pdfjs-legacy/cmaps/Ext-H.bcmap | Bin 0 -> 2536 bytes .../pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap | Bin 0 -> 2542 bytes .../pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap | Bin 0 -> 218 bytes .../static/pdfjs-legacy/cmaps/Ext-V.bcmap | Bin 0 -> 215 bytes .../static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap | Bin 0 -> 549 bytes .../static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap | Bin 0 -> 179 bytes .../static/pdfjs-legacy/cmaps/GB-H.bcmap | 4 + .../static/pdfjs-legacy/cmaps/GB-V.bcmap | Bin 0 -> 175 bytes .../static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap | Bin 0 -> 14692 bytes .../static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap | Bin 0 -> 180 bytes .../static/pdfjs-legacy/cmaps/GBK2K-H.bcmap | Bin 0 -> 19662 bytes .../static/pdfjs-legacy/cmaps/GBK2K-V.bcmap | Bin 0 -> 219 bytes .../pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap | Bin 0 -> 14686 bytes .../pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap | Bin 0 -> 181 bytes .../static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap | Bin 0 -> 7290 bytes .../static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap | Bin 0 -> 180 bytes .../static/pdfjs-legacy/cmaps/GBT-H.bcmap | Bin 0 -> 7269 bytes .../static/pdfjs-legacy/cmaps/GBT-V.bcmap | Bin 0 -> 176 bytes .../pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap | Bin 0 -> 7298 bytes .../pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap | Bin 0 -> 182 bytes .../pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap | Bin 0 -> 557 bytes .../pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap | Bin 0 -> 181 bytes .../static/pdfjs-legacy/cmaps/H.bcmap | Bin 0 -> 553 bytes .../pdfjs-legacy/cmaps/HKdla-B5-H.bcmap | Bin 0 -> 2654 bytes .../pdfjs-legacy/cmaps/HKdla-B5-V.bcmap | Bin 0 -> 148 bytes .../pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap | Bin 0 -> 2414 bytes .../pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap | Bin 0 -> 148 bytes .../pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap | Bin 0 -> 2292 bytes .../pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap | Bin 0 -> 149 bytes .../pdfjs-legacy/cmaps/HKm314-B5-H.bcmap | Bin 0 -> 1772 bytes .../pdfjs-legacy/cmaps/HKm314-B5-V.bcmap | Bin 0 -> 149 bytes .../pdfjs-legacy/cmaps/HKm471-B5-H.bcmap | Bin 0 -> 2171 bytes .../pdfjs-legacy/cmaps/HKm471-B5-V.bcmap | Bin 0 -> 149 bytes .../pdfjs-legacy/cmaps/HKscs-B5-H.bcmap | Bin 0 -> 4437 bytes .../pdfjs-legacy/cmaps/HKscs-B5-V.bcmap | Bin 0 -> 159 bytes .../static/pdfjs-legacy/cmaps/Hankaku.bcmap | Bin 0 -> 132 bytes .../static/pdfjs-legacy/cmaps/Hiragana.bcmap | Bin 0 -> 124 bytes .../static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap | Bin 0 -> 1848 bytes .../static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap | Bin 0 -> 164 bytes .../static/pdfjs-legacy/cmaps/KSC-H.bcmap | Bin 0 -> 1831 bytes .../pdfjs-legacy/cmaps/KSC-Johab-H.bcmap | Bin 0 -> 16791 bytes .../pdfjs-legacy/cmaps/KSC-Johab-V.bcmap | Bin 0 -> 166 bytes .../static/pdfjs-legacy/cmaps/KSC-V.bcmap | Bin 0 -> 160 bytes .../pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap | Bin 0 -> 2787 bytes .../pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap | Bin 0 -> 2789 bytes .../pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap | Bin 0 -> 169 bytes .../pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap | Bin 0 -> 166 bytes .../pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap | Bin 0 -> 2024 bytes .../pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap | Bin 0 -> 166 bytes .../static/pdfjs-legacy/cmaps/Katakana.bcmap | Bin 0 -> 100 bytes .../static/pdfjs-legacy/cmaps/LICENSE | 36 + .../static/pdfjs-legacy/cmaps/NWP-H.bcmap | Bin 0 -> 2765 bytes .../static/pdfjs-legacy/cmaps/NWP-V.bcmap | Bin 0 -> 252 bytes .../static/pdfjs-legacy/cmaps/RKSJ-H.bcmap | Bin 0 -> 534 bytes .../static/pdfjs-legacy/cmaps/RKSJ-V.bcmap | Bin 0 -> 170 bytes .../static/pdfjs-legacy/cmaps/Roman.bcmap | Bin 0 -> 96 bytes .../pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap | Bin 0 -> 48280 bytes .../pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap | Bin 0 -> 156 bytes .../pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap | Bin 0 -> 50419 bytes .../pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap | Bin 0 -> 156 bytes .../pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap | Bin 0 -> 52679 bytes .../pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap | Bin 0 -> 160 bytes .../pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap | Bin 0 -> 53629 bytes .../pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap | Bin 0 -> 157 bytes .../pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap | Bin 0 -> 43366 bytes .../pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap | Bin 0 -> 193 bytes .../pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap | Bin 0 -> 44086 bytes .../pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap | Bin 0 -> 178 bytes .../pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap | Bin 0 -> 45738 bytes .../pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap | Bin 0 -> 182 bytes .../pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap | Bin 0 -> 46837 bytes .../pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap | Bin 0 -> 181 bytes .../pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap | Bin 0 -> 25439 bytes .../pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap | Bin 0 -> 119 bytes .../pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap | Bin 0 -> 680 bytes .../pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap | Bin 0 -> 664 bytes .../pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap | Bin 0 -> 39443 bytes .../pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap | Bin 0 -> 643 bytes .../pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap | Bin 0 -> 40539 bytes .../pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap | Bin 0 -> 677 bytes .../pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap | Bin 0 -> 41695 bytes .../pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap | Bin 0 -> 678 bytes .../cmaps/UniJIS2004-UTF16-H.bcmap | Bin 0 -> 39534 bytes .../cmaps/UniJIS2004-UTF16-V.bcmap | Bin 0 -> 647 bytes .../cmaps/UniJIS2004-UTF32-H.bcmap | Bin 0 -> 40630 bytes .../cmaps/UniJIS2004-UTF32-V.bcmap | Bin 0 -> 681 bytes .../cmaps/UniJIS2004-UTF8-H.bcmap | Bin 0 -> 41779 bytes .../cmaps/UniJIS2004-UTF8-V.bcmap | Bin 0 -> 682 bytes .../cmaps/UniJISPro-UCS2-HW-V.bcmap | Bin 0 -> 705 bytes .../pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap | Bin 0 -> 689 bytes .../pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap | Bin 0 -> 726 bytes .../cmaps/UniJISX0213-UTF32-H.bcmap | Bin 0 -> 40517 bytes .../cmaps/UniJISX0213-UTF32-V.bcmap | Bin 0 -> 684 bytes .../cmaps/UniJISX02132004-UTF32-H.bcmap | Bin 0 -> 40608 bytes .../cmaps/UniJISX02132004-UTF32-V.bcmap | Bin 0 -> 688 bytes .../pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap | Bin 0 -> 25783 bytes .../pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap | Bin 0 -> 178 bytes .../pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap | Bin 0 -> 26327 bytes .../pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap | Bin 0 -> 164 bytes .../pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap | Bin 0 -> 26451 bytes .../pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap | Bin 0 -> 168 bytes .../pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap | Bin 0 -> 27790 bytes .../pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap | Bin 0 -> 169 bytes .../static/pdfjs-legacy/cmaps/V.bcmap | Bin 0 -> 166 bytes .../static/pdfjs-legacy/cmaps/WP-Symbol.bcmap | Bin 0 -> 179 bytes .../static/pdfjs-legacy/css/debugger.css | 111 + .../static/pdfjs-legacy/css/viewer.css | 4354 ++ .../static/pdfjs-legacy/example/Welcome.pdf | Bin 0 -> 38223 bytes .../pdfjs-legacy/example/Welcome_old.pdf | Bin 0 -> 35199 bytes .../pdfjs-legacy/images/altText_add.svg | 3 + .../pdfjs-legacy/images/altText_done.svg | 3 + .../pdfjs-legacy/images/annotation-check.svg | 11 + .../images/annotation-comment.svg | 16 + .../pdfjs-legacy/images/annotation-help.svg | 26 + .../pdfjs-legacy/images/annotation-insert.svg | 10 + .../pdfjs-legacy/images/annotation-key.svg | 11 + .../images/annotation-newparagraph.svg | 11 + .../pdfjs-legacy/images/annotation-noicon.svg | 7 + .../pdfjs-legacy/images/annotation-note.svg | 42 + .../images/annotation-paperclip.svg | 6 + .../images/annotation-paragraph.svg | 16 + .../images/annotation-pushpin.svg | 7 + .../images/cursor-editorFreeHighlight.svg | 6 + .../images/cursor-editorFreeText.svg | 3 + .../pdfjs-legacy/images/cursor-editorInk.svg | 4 + .../images/cursor-editorTextHighlight.svg | 8 + .../images/editor-toolbar-delete.svg | 5 + .../images/findbarButton-next.svg | 3 + .../images/findbarButton-previous.svg | 3 + .../images/gv-toolbarButton-download.svg | 3 + .../pdfjs-legacy/images/loading-icon.gif | Bin 0 -> 2545 bytes .../static/pdfjs-legacy/images/loading.svg | 1 + ...ondaryToolbarButton-documentProperties.svg | 3 + .../secondaryToolbarButton-firstPage.svg | 3 + .../secondaryToolbarButton-handTool.svg | 3 + .../secondaryToolbarButton-lastPage.svg | 3 + .../secondaryToolbarButton-rotateCcw.svg | 3 + .../secondaryToolbarButton-rotateCw.svg | 3 + ...econdaryToolbarButton-scrollHorizontal.svg | 3 + .../secondaryToolbarButton-scrollPage.svg | 3 + .../secondaryToolbarButton-scrollVertical.svg | 3 + .../secondaryToolbarButton-scrollWrapped.svg | 3 + .../secondaryToolbarButton-selectTool.svg | 3 + .../secondaryToolbarButton-spreadEven.svg | 3 + .../secondaryToolbarButton-spreadNone.svg | 3 + .../secondaryToolbarButton-spreadOdd.svg | 3 + .../images/toolBarButton-home.svg | 20 + .../images/toolbarButton-bookmark.svg | 3 + .../toolbarButton-currentOutlineItem.svg | 3 + .../images/toolbarButton-download.svg | 4 + .../images/toolbarButton-editorFreeText.svg | 5 + .../images/toolbarButton-editorHighlight.svg | 6 + .../images/toolbarButton-editorInk.svg | 4 + .../images/toolbarButton-editorStamp.svg | 8 + .../images/toolbarButton-menuArrow.svg | 3 + .../images/toolbarButton-openFile.svg | 3 + .../images/toolbarButton-pageDown.svg | 3 + .../images/toolbarButton-pageUp.svg | 3 + .../images/toolbarButton-presentationMode.svg | 3 + .../images/toolbarButton-print.svg | 3 + .../images/toolbarButton-search.svg | 3 + .../toolbarButton-secondaryToolbarToggle.svg | 3 + .../images/toolbarButton-sidebarToggle.svg | 3 + .../images/toolbarButton-viewAttachments.svg | 3 + .../images/toolbarButton-viewLayers.svg | 3 + .../images/toolbarButton-viewOutline.svg | 3 + .../images/toolbarButton-viewThumbnail.svg | 3 + .../images/toolbarButton-zoomIn.svg | 3 + .../images/toolbarButton-zoomOut.svg | 3 + .../images/treeitem-collapsed.svg | 1 + .../pdfjs-legacy/images/treeitem-expanded.svg | 1 + .../static/pdfjs-legacy/js/viewer.mjs | 18511 +++++ .../static/pdfjs-legacy/js/viewer.mjs.map | 1 + .../static/pdfjs-legacy/locale/ach/viewer.ftl | 225 + .../static/pdfjs-legacy/locale/af/viewer.ftl | 212 + .../static/pdfjs-legacy/locale/an/viewer.ftl | 257 + .../static/pdfjs-legacy/locale/ar/viewer.ftl | 404 + .../static/pdfjs-legacy/locale/ast/viewer.ftl | 201 + .../static/pdfjs-legacy/locale/az/viewer.ftl | 257 + .../static/pdfjs-legacy/locale/be/viewer.ftl | 404 + .../static/pdfjs-legacy/locale/bg/viewer.ftl | 384 + .../static/pdfjs-legacy/locale/bn/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/bo/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/br/viewer.ftl | 313 + .../static/pdfjs-legacy/locale/brx/viewer.ftl | 218 + .../static/pdfjs-legacy/locale/bs/viewer.ftl | 223 + .../static/pdfjs-legacy/locale/ca/viewer.ftl | 299 + .../static/pdfjs-legacy/locale/cak/viewer.ftl | 291 + .../static/pdfjs-legacy/locale/ckb/viewer.ftl | 242 + .../static/pdfjs-legacy/locale/cs/viewer.ftl | 406 + .../static/pdfjs-legacy/locale/cy/viewer.ftl | 410 + .../static/pdfjs-legacy/locale/da/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/de/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/dsb/viewer.ftl | 406 + .../static/pdfjs-legacy/locale/el/viewer.ftl | 402 + .../pdfjs-legacy/locale/en-CA/viewer.ftl | 402 + .../pdfjs-legacy/locale/en-GB/viewer.ftl | 402 + .../pdfjs-legacy/locale/en-US/viewer.ftl | 418 + .../static/pdfjs-legacy/locale/eo/viewer.ftl | 396 + .../pdfjs-legacy/locale/es-AR/viewer.ftl | 402 + .../pdfjs-legacy/locale/es-CL/viewer.ftl | 402 + .../pdfjs-legacy/locale/es-ES/viewer.ftl | 402 + .../pdfjs-legacy/locale/es-MX/viewer.ftl | 299 + .../static/pdfjs-legacy/locale/et/viewer.ftl | 268 + .../static/pdfjs-legacy/locale/eu/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/fa/viewer.ftl | 246 + .../static/pdfjs-legacy/locale/ff/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/fi/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/fr/viewer.ftl | 398 + .../static/pdfjs-legacy/locale/fur/viewer.ftl | 402 + .../pdfjs-legacy/locale/fy-NL/viewer.ftl | 402 + .../pdfjs-legacy/locale/ga-IE/viewer.ftl | 213 + .../static/pdfjs-legacy/locale/gd/viewer.ftl | 299 + .../static/pdfjs-legacy/locale/gl/viewer.ftl | 364 + .../static/pdfjs-legacy/locale/gn/viewer.ftl | 402 + .../pdfjs-legacy/locale/gu-IN/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/he/viewer.ftl | 402 + .../pdfjs-legacy/locale/hi-IN/viewer.ftl | 253 + .../static/pdfjs-legacy/locale/hr/viewer.ftl | 279 + .../static/pdfjs-legacy/locale/hsb/viewer.ftl | 406 + .../static/pdfjs-legacy/locale/hu/viewer.ftl | 396 + .../pdfjs-legacy/locale/hy-AM/viewer.ftl | 272 + .../static/pdfjs-legacy/locale/hye/viewer.ftl | 268 + .../static/pdfjs-legacy/locale/ia/viewer.ftl | 394 + .../static/pdfjs-legacy/locale/id/viewer.ftl | 293 + .../static/pdfjs-legacy/locale/is/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/it/viewer.ftl | 399 + .../static/pdfjs-legacy/locale/ja/viewer.ftl | 396 + .../static/pdfjs-legacy/locale/ka/viewer.ftl | 387 + .../static/pdfjs-legacy/locale/kab/viewer.ftl | 337 + .../static/pdfjs-legacy/locale/kk/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/km/viewer.ftl | 223 + .../static/pdfjs-legacy/locale/kn/viewer.ftl | 213 + .../static/pdfjs-legacy/locale/ko/viewer.ftl | 394 + .../static/pdfjs-legacy/locale/lij/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/lo/viewer.ftl | 299 + .../static/pdfjs-legacy/locale/locale.json | 1 + .../static/pdfjs-legacy/locale/lt/viewer.ftl | 268 + .../static/pdfjs-legacy/locale/ltg/viewer.ftl | 246 + .../static/pdfjs-legacy/locale/lv/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/meh/viewer.ftl | 87 + .../static/pdfjs-legacy/locale/mk/viewer.ftl | 215 + .../static/pdfjs-legacy/locale/mr/viewer.ftl | 239 + .../static/pdfjs-legacy/locale/ms/viewer.ftl | 247 + .../static/pdfjs-legacy/locale/my/viewer.ftl | 206 + .../pdfjs-legacy/locale/nb-NO/viewer.ftl | 396 + .../pdfjs-legacy/locale/ne-NP/viewer.ftl | 234 + .../static/pdfjs-legacy/locale/nl/viewer.ftl | 402 + .../pdfjs-legacy/locale/nn-NO/viewer.ftl | 360 + .../static/pdfjs-legacy/locale/oc/viewer.ftl | 354 + .../pdfjs-legacy/locale/pa-IN/viewer.ftl | 396 + .../static/pdfjs-legacy/locale/pl/viewer.ftl | 404 + .../pdfjs-legacy/locale/pt-BR/viewer.ftl | 396 + .../pdfjs-legacy/locale/pt-PT/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/rm/viewer.ftl | 396 + .../static/pdfjs-legacy/locale/ro/viewer.ftl | 251 + .../static/pdfjs-legacy/locale/ru/viewer.ftl | 404 + .../static/pdfjs-legacy/locale/sat/viewer.ftl | 311 + .../static/pdfjs-legacy/locale/sc/viewer.ftl | 290 + .../static/pdfjs-legacy/locale/scn/viewer.ftl | 74 + .../static/pdfjs-legacy/locale/sco/viewer.ftl | 264 + .../static/pdfjs-legacy/locale/si/viewer.ftl | 253 + .../static/pdfjs-legacy/locale/sk/viewer.ftl | 406 + .../static/pdfjs-legacy/locale/skr/viewer.ftl | 396 + .../static/pdfjs-legacy/locale/sl/viewer.ftl | 394 + .../static/pdfjs-legacy/locale/son/viewer.ftl | 206 + .../static/pdfjs-legacy/locale/sq/viewer.ftl | 387 + .../static/pdfjs-legacy/locale/sr/viewer.ftl | 299 + .../pdfjs-legacy/locale/sv-SE/viewer.ftl | 402 + .../static/pdfjs-legacy/locale/szl/viewer.ftl | 257 + .../static/pdfjs-legacy/locale/ta/viewer.ftl | 223 + .../static/pdfjs-legacy/locale/te/viewer.ftl | 239 + .../static/pdfjs-legacy/locale/tg/viewer.ftl | 396 + .../static/pdfjs-legacy/locale/th/viewer.ftl | 394 + .../static/pdfjs-legacy/locale/tl/viewer.ftl | 257 + .../static/pdfjs-legacy/locale/tr/viewer.ftl | 396 + .../static/pdfjs-legacy/locale/trs/viewer.ftl | 197 + .../static/pdfjs-legacy/locale/uk/viewer.ftl | 398 + .../static/pdfjs-legacy/locale/ur/viewer.ftl | 248 + .../static/pdfjs-legacy/locale/uz/viewer.ftl | 187 + .../static/pdfjs-legacy/locale/vi/viewer.ftl | 394 + .../static/pdfjs-legacy/locale/wo/viewer.ftl | 127 + .../static/pdfjs-legacy/locale/xh/viewer.ftl | 212 + .../pdfjs-legacy/locale/zh-CN/viewer.ftl | 388 + .../pdfjs-legacy/locale/zh-TW/viewer.ftl | 394 + .../resources/static/pdfjs-legacy/pdf.mjs | 24320 ++++++ .../resources/static/pdfjs-legacy/pdf.mjs.map | 1 + .../static/pdfjs-legacy/pdf.sandbox.mjs | 3796 + .../static/pdfjs-legacy/pdf.sandbox.mjs.map | 1 + .../static/pdfjs-legacy/pdf.worker.entry.js | 19 + .../static/pdfjs-legacy/pdf.worker.mjs | 61184 ++++++++++++++++ .../static/pdfjs-legacy/pdf.worker.mjs.map | 1 + .../standard_fonts/FoxitDingbats.pfb | Bin 0 -> 29513 bytes .../standard_fonts/FoxitFixed.pfb | Bin 0 -> 17597 bytes .../standard_fonts/FoxitFixedBold.pfb | Bin 0 -> 18055 bytes .../standard_fonts/FoxitFixedBoldItalic.pfb | Bin 0 -> 19151 bytes .../standard_fonts/FoxitFixedItalic.pfb | Bin 0 -> 18746 bytes .../standard_fonts/FoxitSerif.pfb | Bin 0 -> 19469 bytes .../standard_fonts/FoxitSerifBold.pfb | Bin 0 -> 19395 bytes .../standard_fonts/FoxitSerifBoldItalic.pfb | Bin 0 -> 20733 bytes .../standard_fonts/FoxitSerifItalic.pfb | Bin 0 -> 21227 bytes .../standard_fonts/FoxitSymbol.pfb | Bin 0 -> 16729 bytes .../pdfjs-legacy/standard_fonts/LICENSE_FOXIT | 27 + .../standard_fonts/LICENSE_LIBERATION | 102 + .../standard_fonts/LiberationSans-Bold.ttf | Bin 0 -> 137052 bytes .../LiberationSans-BoldItalic.ttf | Bin 0 -> 135124 bytes .../standard_fonts/LiberationSans-Italic.ttf | Bin 0 -> 162036 bytes .../standard_fonts/LiberationSans-Regular.ttf | Bin 0 -> 139512 bytes src/main/resources/static/pdfjs/js/viewer.mjs | 6 +- .../templates/convert/pdf-to-csv.html | 6 +- .../templates/convert/pdf-to-pdfa.html | 2 +- src/main/resources/templates/crop.html | 2 +- .../resources/templates/fragments/common.html | 2 +- .../resources/templates/misc/add-image.html | 2 +- .../templates/misc/adjust-contrast.html | 2 +- .../templates/misc/change-metadata.html | 2 +- .../resources/templates/misc/compare.html | 2 +- src/main/resources/templates/rotate-pdf.html | 2 +- src/main/resources/templates/sign.html | 2 +- src/main/resources/templates/view-pdf.html | 8 +- 388 files changed, 148314 insertions(+), 20 deletions(-) create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Add-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-1.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-1.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-3.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-4.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-0.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-1.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-3.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-4.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-1.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Ext-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBT-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKdlb-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Katakana.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/LICENSE create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/RKSJ-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/Roman.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF16-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF8-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF8-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/cmaps/WP-Symbol.bcmap create mode 100644 src/main/resources/static/pdfjs-legacy/css/debugger.css create mode 100644 src/main/resources/static/pdfjs-legacy/css/viewer.css create mode 100644 src/main/resources/static/pdfjs-legacy/example/Welcome.pdf create mode 100644 src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf create mode 100644 src/main/resources/static/pdfjs-legacy/images/altText_add.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/altText_done.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-check.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-help.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-key.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-note.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/loading-icon.gif create mode 100644 src/main/resources/static/pdfjs-legacy/images/loading.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolBarButton-home.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg create mode 100644 src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg create mode 100644 src/main/resources/static/pdfjs-legacy/js/viewer.mjs create mode 100644 src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ach/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/af/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/an/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ar/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ast/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/az/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/be/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/bg/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/bn/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/bo/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/br/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/brx/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/bs/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ca/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/cak/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ckb/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/cs/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/cy/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/da/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/de/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/dsb/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/el/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/en-CA/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/en-GB/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/en-US/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/eo/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/es-AR/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/es-CL/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/es-ES/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/es-MX/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/et/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/eu/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/fa/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ff/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/fi/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/fr/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/fur/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/fy-NL/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ga-IE/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/gd/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/gl/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/gn/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/gu-IN/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/he/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/hi-IN/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/hr/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/hsb/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/hu/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/hy-AM/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/hye/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ia/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/id/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/is/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/it/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ja/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ka/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/kab/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/kk/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/km/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/kn/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ko/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/lij/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/lo/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/locale.json create mode 100644 src/main/resources/static/pdfjs-legacy/locale/lt/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ltg/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/lv/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/meh/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/mk/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/mr/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ms/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/my/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/nb-NO/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ne-NP/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/nl/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/nn-NO/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/oc/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/pa-IN/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/pl/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/pt-BR/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/pt-PT/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/rm/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ro/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ru/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sat/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sc/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/scn/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sco/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/si/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sk/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/skr/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sl/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/son/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sq/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sr/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/sv-SE/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/szl/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ta/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/te/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/tg/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/th/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/tl/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/tr/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/trs/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/uk/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/ur/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/uz/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/vi/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/wo/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/xh/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/zh-CN/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/locale/zh-TW/viewer.ftl create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.mjs create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.mjs.map create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.sandbox.mjs.map create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.worker.entry.js create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.worker.mjs create mode 100644 src/main/resources/static/pdfjs-legacy/pdf.worker.mjs.map create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitDingbats.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixed.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBold.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedBoldItalic.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitFixedItalic.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerif.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBold.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifBoldItalic.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSerifItalic.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/FoxitSymbol.pfb create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_FOXIT create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/LICENSE_LIBERATION create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Bold.ttf create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-BoldItalic.ttf create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Italic.ttf create mode 100644 src/main/resources/static/pdfjs-legacy/standard_fonts/LiberationSans-Regular.ttf diff --git a/.gitattributes b/.gitattributes index 6413e57c4e..c498408abf 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,8 @@ # Ignore all JavaScript files in a directory src/main/resources/static/pdfjs/* linguist-vendored src/main/resources/static/pdfjs/** linguist-vendored +src/main/resources/static/pdfjs-legacy/* linguist-vendored +src/main/resources/static/pdfjs-legacy/** linguist-vendored src/main/resources/static/css/bootstrap-icons.css linguist-vendored src/main/resources/static/css/bootstrap.min.css linguist-vendored src/main/resources/static/css/fonts/* linguist-vendored diff --git a/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java b/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java index c4748ff960..8e0ae05224 100644 --- a/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java +++ b/src/main/java/stirling/software/SPDF/config/security/UserAuthenticationFilter.java @@ -104,6 +104,7 @@ public class UserAuthenticationFilter extends OncePerRequestFilter { contextPath + "/fonts/", contextPath + "/js/", contextPath + "/pdfjs/", + contextPath + "/pdfjs-legacy/", contextPath + "/api/v1/info/status", contextPath + "/site.webmanifest" }; diff --git a/src/main/java/stirling/software/SPDF/utils/RequestUriUtils.java b/src/main/java/stirling/software/SPDF/utils/RequestUriUtils.java index e0c4a51ede..54044970b3 100644 --- a/src/main/java/stirling/software/SPDF/utils/RequestUriUtils.java +++ b/src/main/java/stirling/software/SPDF/utils/RequestUriUtils.java @@ -10,6 +10,7 @@ public class RequestUriUtils { || requestURI.startsWith("/images/") || requestURI.startsWith("/public/") || requestURI.startsWith("/pdfjs/") + || requestURI.startsWith("/pdfjs-legacy/") || requestURI.endsWith(".svg") || requestURI.startsWith("/api/v1/info/status"); } diff --git a/src/main/resources/static/js/multitool/PdfContainer.js b/src/main/resources/static/js/multitool/PdfContainer.js index 5daaf8ca63..0b11658d54 100644 --- a/src/main/resources/static/js/multitool/PdfContainer.js +++ b/src/main/resources/static/js/multitool/PdfContainer.js @@ -138,7 +138,7 @@ class PdfContainer { } async toRenderer(objectUrl) { - pdfjsLib.GlobalWorkerOptions.workerSrc = "./pdfjs/pdf.worker.mjs"; + pdfjsLib.GlobalWorkerOptions.workerSrc = "./pdfjs-legacy/pdf.worker.mjs"; const pdf = await pdfjsLib.getDocument(objectUrl).promise; return { document: pdf, diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2655fc70ae706c7ba52a5d647cbfdfad6072c697 GIT binary patch literal 2404 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWa?XBztpjDSF8dfgM4Fp z0;57)V|pS_-vaw4x22A;EtQQ*yshC)jGS#e?2>I_Y?5sTjcP${UX8k;?Xrzp;_by8 z;vL+L9ts`G{0bc|g#sHEGIXRe><(n@NM|_U#om#}uuqaH@fC7!TFBO=$gn$>VW%g_#NKPqusctt*MnhqK5K6p!|nps-du*=g$%tV z47-aMddmvMwl8GrEoazWEZAGku)Bn(kB?z@DSMv`!|pPsK2?U@<&1rr47)2>`g9m} z@Ur(AG3>77?z3jtUB%Yt!LYlUxi5fWcTFPej)g*fp$rVWYZu zT*%pP%&@zjtKW`c4+Cev7sDP#iT+TAwXyvD`3!rQSSK(r>|th}z|OFTg=GRyBKxj| zh7$xC81}F-2u*NdVA#XPz&#;?fng6j1LuU)LeAX_StsN(?BQUXP{y!_lVL(7!yYc~ z3DpdHxLqc4By#Los5a4;fng6X1H&dw2A+v!3=Dht7+5B;Ffi`nXON%7UC6n2A?GA* zhCPCulgt?Q2$@WBWZWanJgI_lk0{rqx2>P{|X*dxa}MS)?DJo^-NhCK=*Qw$2Z z4=iMu;>xf`QErMm!yYB2Dd`M*lsTtzGwxAgohr__M~!)^d?DY#g{)JR8TM!}Y{}!F zs?D%RQ*f#c!yYZhss0RmwE3n6G3?Rdn3}|}M^|KOP9guHh0@a)8TRP$O_O8Tqt81{ zk717i>oi-2J%(J@j1Qmd3cpoN-zv z;~q=iX}Ju0tPQ8tFzm5mp03ZZ$Ch=v3Bw*c#_86D{6`i_Pq$^*W6wD~ieZlf!}L^! zJ&ugi(;4WD4CfB411#aX7MrXiDB5x z$*?DuX_f-Ro;ZP7Duui!7BbB;W!MwXG0T!+PXfa%XNEnAO0!%U_9XGl%4FD+EI6y2 zVNVLjY_39qlM5MU3p4IX<(e(VuqT~ig*C%$WrjT&jI&i4_GEI-)?nC^#WUNOVNW*W zY)6JYIXbgl3OP?LRGeMNuqT&ejtIk^JnlJi414lr=V&wRDPWo7RmgXGA;TPhhCPL> za{?Lm6e-M!VAxYEJEw|amodv+NrpWoY;)xq_USMz&}W&eQOJL0q4r!|hCQWRbE6pc zl(EcBW7t#9I5&r3Plf2*e1=V?40|dW=CL#EsbZMN$*`xoko)XHfqC2vdun9n$ujJz zWtwNru&0h?o;|}Z6W)2Q414ND=7l73om;3mFOyMsz6cZ3e3wRLzWE-E%=04{8Ry3` zO3qJc^fj4Z#lSFEok4wpK_cV%Z4B$m6IsulX4uQ1$GDfVQI%mYGe5Iucctc9Ex z7fLUPVA#vXv7nS;FFVtMdWO9m3=5eV_Hr65WKCqev@mv|Ss~};g?x)d81`~;EK*_E z%dNCXk6|w__o5(%y?jE8;u9Hf{$S`L^C@)d`HE zYa|)j*BCS^ajvmoWM1RU;zk?r0EhP|@Qp$vQFEg1GHh%xLkZ8TxntH{E*SE-Qm z(L&C(Vhnp#tk)_s^ye|GjboS*$h@^eF%*(LX++edZ z!(I!%&7p;yuNMkzPGQ(C(|*{Z-Ov(=B0VQUT}|JJ-lCHAd#j6&Pk86~z!GpcPfZB&Zg z7L&;F<|V^k8!m>uwvCYtd+lTy_S!Qt>~(0gV%X~_%&^x&L*b%MbtqZvsXD literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f1ed8538287499647d923d7d8f517a00cdac4e3a GIT binary patch literal 173 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TVQ!)88tSa;k;uAm5#wHeUdFwF yoJ@OznOOFQu?X&sb`)LsaBps_Jp&^YN;1fUS!@iAMqma=0wI{lxb!RIJ|+NB4lWh| literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..39e89d3339c74cbe06e7e4f76d60bf3556b0d4b6 GIT binary patch literal 2379 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>R8(x-6`RPds2JN)*{H<(e?v|!jB%Gl{x$ZM#`(do>vJB+i_ zmtl7}Q)dLj?g*yN7>3C$*?=lq)VG& zcf3SbBE#+k#;$6H-H8lcb%lb)iVR)#47-!$x)~WZC9-xaGAx&u>egV`oy^kh!mvAq zt=o%XcPe9d5W_k{rtVON-D%9-k%e3)iVEGa47<}ARuysdFfi=SVD8~!*rFiV!_Tlg zQ=&&Hk=0a@v&Wi&VRsgTaE}`U!|rSb+n(q`K{G{$UP*@CIc&Ys47+osdX*V=8L{`; zGwjZj>GfdPozL2v#<079wKtbxcOgS>3B&FphTgJ5F>^(x-g1WB#e%)n47*Es`uG@j zm$LWCFzha4>QiOdUC!92$*{YErB8=p2QPb{5yS3E?mlaV-BoOT9t^vynfn45cGo1b zS||$jg)%Vgu4Ulv%Vc2KUB_V4S60YxsmR%H%&@zjtKW`c4+Cev7sDP#iT+TAwXyvD z`3!rQSSK(r>|th}z|OFTg=GRyBDL4FcJMut!p4vIfH*DUQi@411)RCwnmLk&&G2TgYjz$T2ycVUMit z8& zIO85Q=Be_9e2$8&QYYrBcZ2p~y7LlwnUi$1F>RJqZl6 zoEi2cD$R0b*ptLFE0bYQvf!+8hCL}9v$+ZdJQW#c3p4IX<(e(VuqT~ig*C%$WrjT& zjI&i4_GEI-)?nC^#WUNOVNW*WY)6JYIXbgl3OT(L6=xSR?8)VrBf_vJk9&?B!=8NE zIob?+3RvcN74ms2GR*O3*i*+H-Xo_LOqXjbhkS#xggJVNW^Z+#H5I6{2(V88(?R?5Sj!$Ih^)ieVln z!=CCwZeK-#dE5+pYGmfgGVG~knrF?hr;cTwJ;N>&-g&MJd+J5zg(PzMDQeEkWYnE6 z!o)P+rBRu0z6T@o{0K(I`LT?W^Aj3$mnmzu&z9j)z6z@FM}TA zUdBdMhP}-E40~DF8TPUkat10&FNk2+%f_*wlwmJB(}H@2y&Mb+nHlzS8Z2Z@WDHV_ zU1(Ow8LY^+NQ7Z87snzMhP~WMi}V=w@^UWPL)*ele+$go$W z$(muWC^y4iu|^+;z2d?QdnF2aqZO4`urTbEWL}}kuvdy_g&xCfCBYRo411*+R`@f_ z$Y5O&$go$2b45fVQ=BEkj9hDm?)pT&7{%BXNsUUeD;*k@#8=5NimozeR9@xB$g!%p zQ7Lv+O`{Ua>L^C@)d`HEYa|)j*BCS^ajvmoWM1RU;zku5HOVXtg+D8pWP3x>T4 zVhp=X8%-GYDzY%{RVw66Qsi7K#;{k#daWWue;&iyIEER4%xe=E_Nwx&O-*D^R@7Kq z!oaXsje%pG90S8%bq0=g8Vn5GAq?{Cj0!nZ6vfvCG3?dgUYE@yDltqfHD~BnNMy{^W0=R9D3huvzTSX=VXrm=!+K8!hP^rroa?Rt*Qg}4(Tjm$ zuMq?5#yAFsy~YgY8&eq=_L?woZjx(MV%Vg?$hAp}QEQVKqw=PtLe4Bjrp;^&v*Z{z zb202S6WPqmu-DvRvogb83%<>vg`C-n0-IA9_F8IgE@SB7W8b34u-A%jix$IPYxXTx ziHteE3{$ldd2U9MZOLck+{(?!xmB!DNoT79qs&%6Mux39jQm^k8kN|$)-eig zV`r4uCe5g}&9qS|c3Vs$M@}ZgUK=iky|#^!414Wl8TQ&UGVFC|v|`xnD9o_eNs?i& zb0JrOqVjethP`fF+v6Gby0dK0X4vZ?y}gj3&yZoSC&v!{M8-nJ*c}puTt$l9JIWaL zdhzaLX4vb^zf*{zqnu%{kIGIJhAvIconDEo#fthnLl_wL`Z8$kVr5|1>&L*b%Mbvo CSHIc- literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e4167cb51f66c60ef7d9500b450303b5da175574 GIT binary patch literal 2398 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d7af99b5e2ae9a21d534f1965c35a2b572143322 GIT binary patch literal 169 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TVs4@9k;tm3#JJa=mvL_(C)3_w tCYHTnEP{KZ9Yqxr_vW_RGcZD-B!fJd#m3NR1ZIFF5Q2$}s-=wkm;nC#DhL1o literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..37077d01e26f9ee2427592f6deebb145d628e731 GIT binary patch literal 2651 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 Zga1J<28Mo525qozH^!R7tj^p=m;jipEFb^? literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/78ms-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..acf23231aea22e1a95761f7eafd35f1d42ea6b84 GIT binary patch literal 290 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TZElfUtQ+JV?4|3G$lSPsp*5L- zp*4wtu{9x)t^HWV@PCdp31n7DNvzh{w_;aIX+H7J3%=^yJA)) zK2AY5K{-P|OMV%BCslD3bEiU{_ISp9EDQ%Z8TPR=9292Q$H{O|h;bh`!$AqgeS8cD TWf=DfG8~jmWNdF>+$RD6ERIW@ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/83pv-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2359bc529d160857cce4c1d1bfca1322290205c1 GIT binary patch literal 905 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWNdWUYs0{}z@Cxufx}K4 z2FAZk3XBZ$j0sE%ag2-%iHSmu4t6b-j5@6r-0ZEX9Bi$*+I_?2>H;EJ1Bves=A$jAHFE9OCW89O50^nF<}s{CpiQjDj7(feJ12cbPK@vGH;8 z$qCBwl{1O4@o|dD3ChWZ%kazaxvGe(2qp5iI@mR4Ffuf=F~~M)FxWM@GsrcwJKHs@ zF$y-PGB7l$GjKPTHx@FqRxvQNRx&WOF|sqXF(m4D%#ZCzb++qtW~}LAa<=QLXRPVA zbGGZTW~}L{a<=O&XRPTnbGGX@W~}Kia<-e0&sZ~2&)II0He=1CEN8pP>5Mf~)ST_6 zDl^thO>(xI7SC8SUC!BVhBRZ%j3{Tjnc<8zv&5Y3W(zac%now4o8!+|GndcVZXP#d z%{(t>qxtSSvGc2(?G{8Z)+`ivwp%2^ShFbD*=}(FW6ctNXS=05j5SNWo$Z!+FxD(* zceY!>!dSDy+1YNT17pp~`b4(2Mc%v2gJgFzGm7n2+_xMHsmnYY}9tP+oZu* zvnk!#ZgUD_%@$>6yR8b0HCyAI?Y6}*)@+w{w%Z}WShFMC*=}bDqtY(nM8;Q(84tu1 za=&(9XsKk}>(A3t!?-t)qm`R!Z!lx4ILqEJ=2khuz0u6ACW+jy8yH$G7#Q~EGHA70 z5lR(-oNwmu&3otm&h4G+JC}FP@0{K_zH=z#ezQWNEtp|%v0Pg&!`>2xc3y_Pr3~%- z413F1+XWf+mb0`=1aiK0*jw?|^sUKT-h$CSwSc0M#YHd>-58`gIYvb&iD n*>)T9@b0#Pg?S>=yLkS6EP{;tL=u?)GBipsFf^txFw_75zKR+M literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..af8293829c90ce63cc4c5eda0318003785ffcba1 GIT binary patch literal 721 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWNdWUYs0{}z@Cxufx}K4 z1x5z>#`FXxh1kY)28NdMM4?6pyOv5uomLBO_SRGmw$@y3zSa_U_BLh~hBodX&Nd!) z$u==|$ubO;_+|K9Rm4?<5*gbaWOp+c^0vn_?p9>jm&UMLg<)R?!)`T( zeOZjVH5m5gFz(i7*q6@m2>U3WoWHpXsu*u zV`SUy!O+IQxZ6LGxnq88N2;@3r!!+s7gM5EmxEnbJ!4I`owHq!HDgUrm9t%MIb%(q znX_HLF=I`Ck+a=|e8!rIdd_x}v>9tAWjWhTPG_u{qULNjRhhA7YLc_vw0Opv>2l6? zGo%@7W<)vL%?xL(nI-0IH(QvoW_FOX-5h_$nz?+=cJsIyYvy@58_jpuiJf2NY_}kS zv1XyTv)v*Q#+pUJ&UT9f7;BdBJKHVgVXRr|?QFNqgRy2gyR+R27RH(t&WTL(9qd** zFxITBPhebN-{h9a`0gh|Yknf*+bsc8I2F7F}fd;a<)5^#F%qfk%@D^3?tJ%*Fw%; z4xIaCICqOPwB|GIb7k1=#IW0nVP82z8-vn8^+dK`4gLqc7#R9J8MMK=-56^QvpRDh GVFCcxUE^>7 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/90ms-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..780549de19de05b6cbea4ccd4737351bc9ff6104 GIT binary patch literal 290 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TZE28OtQ+JV?4|3G$lSPsp*5L- zp*4wtu{9x)t^HWV@PCdp31n7DNvzh{w_;aIX+H7J3%=^yJA)) zK2AY5K{-P|OMV%BCslD3bEiU{_ISp9EDQ%Z8TPR=9292Q$H{O|h;bh`!$AqgeS8cD TWf=DfG8~jmWNdF>+$RD6C)7)p literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bfd3119c62d9976dde9b1e59c572c678cf5811a0 GIT binary patch literal 715 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWNdWUYs0{}z@Cxufx}K4 z1x5yW#so%%IL1VwMhCl=N=BVl3vTw-R1UV*TyDPB5_a}BW)_Av?jX)K9(Kt#F?Pu| z1D2pRFF(6>Sw^w;7!L9FVh-^R?o5RaWq!U67e>L3;6R0z`Mb=SgxL5v`Q!xU_{y2Y z*!Vcb*;Uk1Z&HHLjzjJq`$ z_T@0{)@In3&A3~SVP8JmZo@>z_Bw`x%!Qoo4a~bO81|KO?Y3oTtzu}cWN2e#+wH;7 z#=yASKasg(er!jovt6e%V@(%RqE?rKT~|G0O}Cx1U5_}xn6YMdkh9$!f5w`*e9m_BxEX8ac{v-+ch`xXU*&AKAcC=Gp}4c% zA`!-#MZwN?ivt*Imhd~&oat|ErR@E@pthRQxTVugkv!>kHZfyx;%{pUeyY&W) zHS6=8?Kb2v)@;;vw%eq^ShFeJ*=}8FxG6BcDCCg!C12+ z+}Unt2&2+2VFtznF|E>e2h|yk52i7?AChvmJCwwjb6AmybH5BD(>~Wi&R-6k`(-$H zi!-$5GwpL_*zLry+lpadIYS$R(n0k^wqFhY2fY{=`aK!6!MfcTYYwwIb01*>0CK|M ArvLx| literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/90msp-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..25ef14ab4af42f4b70ccac76cddac8f3b22d8813 GIT binary patch literal 291 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TV`-3ET%a4|9qgs+k;vS*f}u5; zfuS{tfw46qk*(2@aj!owG3?DvWNLI~IN-y;a3IK0v~kS= zzs90gM@9w+lw^69KH^V^*#(jJY U2W1%d2{Ig%O=N6uVB9AH0G^~w2LJ#7 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..02f713bb838a8cd46f5b262c934d0edc8c6e8fe9 GIT binary patch literal 982 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWNdWUYs0{}z@Cxufx}K4 z2FAZk3XBZ$j0sE%ag2-%iHSmu4t6b-j5@6r-0ZEX9Bi$*+I_?2>H;EJ1Bves=A$jAHFE9OCW89O50^nF<}s{CpiQjDj7(feJ12cbPK@vGH;8 z$qCBwl{1O4@o|dD3ChWZ%kazaxvGe(2qiMLItcG(_U7Czp2*S~C%m6so^xNV1m}Jk zIm!J7iL9+POb6l^Sq~&CGagW6U^XPZ-- zb5~g+N1G4hZc_$^eW?s=`yv<^4iqvl>`P%_+?T|_v@f24;XqL#XWMM1-Bt_-iW&9= zG42as*cZ%jK$zixD8m5}h67@W+-;i~_Ej-3?5kj4I8Y+Ud_bCk`9LWH!#+O-hJC&a z4EuZ-81{KHFdyK{WIMnb$lvb1KP;=9zk|0!r9-gENt(J&bX`Hv_|d zKMTeKwG1q~Z3B7RXY7v>X)v8Id3*{-Xe zv8LP3*{;W$v8JcW*{-*ov8K<=*{gEeW{a}3-Btz0nyvB9cH3eYYqm=} z+wG8Gtl1InY_~InQE8WOBI|2M#=ZW$jC%t)nf3-VvFr_F5!@S{$oOh8P8YLJQ8dDe;Y5-?%B{Bd2 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/90pv-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d08e0cc5d98b2d933ab848c69dd6c504fbf1787d GIT binary patch literal 260 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|TZD~+YrW@oP?4|3G$lB=0xYwVT zac>|e)81evmc3ytf_tMKMH?IU<~GSPFhZdugFKkU#t;mqLE@4O3Sc%HLn34IRK|Tw zg+lG~8TPR-9OPu!$Ih^imEj;4<3V1=gMtkExET)$GwkDJ*vG@LPl)lLIKw_Z#)Hxf p`}i3S$};Q|Ok``{%WzPRf#IMc1H(ZT28M%b3=9WVEtn3n005=TM3Ddh literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Add-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..59442acafb613b0c090314379f9f4c2fa134a1a1 GIT binary patch literal 2419 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 PP=$rzAWLfv!$DpE<+x4a literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Add-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2f816d320f08b8671498299c4d00e4564d2ece6c GIT binary patch literal 282 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>X?$E>ygNGCU*(T7&&(YRR)HGiVO?~Rah7fvUJxl H9OMN6VI@cM literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-0.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..88ec04af49d1e8ab6038e3b36dd28daf4dcf0119 GIT binary patch literal 317 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMFt-UueO=&{)sVSl`6ZSl`0X zSl`CbSl_|WSl`9aSl`3YSl`FcSU-WGv3?RmWBn9{#`rXK>)}LW$tUt%lSbu?` zvHlW6WBnC|#`8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF7)uP=0AU}&soXsmByXsmBx zXsmBzXsqvGXsqvIXsqvHXsqvJXsn;W&{#i-p|O4nLu36khQ|6C42|`(7#i#6Ff`WB zV`!{jz|dH~h@r852}5K3GKR+b6%38_s~8&V*Dy5JuVZMe-@wpVzlou-ehWim{WgZi z`W+07^}84v>-R7;*6(9ztUtieSbvD2vHl1{WBoCP#`+TsjrFG(8tcz6G}fPEXso}$ z&{%(op|So7Lu36lhQ|6E42|`-7#i#EFf`WRV`!{@z|dI#h@r9m2}5K3Gls_c7YvQ{ zuNWHZ-!L@Rzhh{u|G>~#|B0co{tH86{Wpfj`X3C9^}iSz>;Et`*8gK@tZ!@p5ugxg K1O-838v_6fLY3P9 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2aa95141f9f5802818e34b0aa626e34e7cfee805 GIT binary patch literal 376 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF9QtS@wBU}&soXsmByXsmBx zXsmBzXsqvGXsqvIXsqvHXsqvJXsn;W&{#i-p|O4nLu36khQ|6C42|`(7#i#6Ff`WB zV`!{jz|dH~h@r852}5K3GKR+b6%38_s~8&V*Dy5JuVZMe-@wpVzlou-ehWim{WgZi z`W+07^}84v>-R7;*6(9ztUtieSbvD2vHl1{WBoCP#`+TsjrFG(8tcz6G}fPEXso}$ z&{%(op|So7Lu36lhQ|6E42|`-7#i#EFf`WRV`!{@z|dI#h@r9m2}5K3Gls_c7YvQ{ zuNWHZ-!L@Rzhh{u|G>~#|B0co{tH86{Wpfj`X3C9^}iSz>;Et`*8gK@tZ!@p5ugxg P1O-838$+W*V+R8O0wtHI literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-3.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..86d8b8c79cfa3907281aa3f25a46f178b87aedfa GIT binary patch literal 401 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF8VTwmzLz|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ g2nvEmP#83V0-+HU3XPy(Xat2r;{=9A*~Uo>0CZiU-v9sr literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-4.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f50fc6c14e67a228c4ba9a61b1357c16410e8228 GIT binary patch literal 405 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF8VT3_hRz|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ j2nvEmP#83V0-+HU3XPy(Xat2rBPbvmCozaLPGJB51;3+h literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-5.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6caf4a83146a60a2db652647b9cfed5fb71bd97c GIT binary patch literal 406 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF8VT3_hRz|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ k2nvEmP#83V0-+HU3XPy(Xat2rBPbvmCowegH%?&y0IGDO=>Px# literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-6.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b77fb0705c28d647d0bf7b25246af566a791b2ec GIT binary patch literal 406 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF8VT3_hRz|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ k2nvEmP#83V0-+HU3XPy(Xat2rBPbvmCowbzH%?&y0IP(gEdT%j literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-CNS1-UCS2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..69d79a2c2c2b00207ab27b68ebf4404aa17c6f2c GIT binary patch literal 41193 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 F763yL)d2ti literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-0.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..36101083fa8fd22399728ccf533c48e830781de0 GIT binary patch literal 217 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMJ4^UntMO&{)sVSl`6ZSl`0X zSl`CbSl_|WSl`9aSl`3YSl`FcSU-WGv3?RmWBn9{#`8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMDX3U#QN&&{)sVSl`6ZSl`0X zSl`CbSl_|WSl`9aSl`3YSl`FcSU-WGv3?RmWBn9{#`rXK>YMfyJ04sxCrT_o{ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f7648cc3ff02c44e9594ccbd71deec742e253c2f GIT binary patch literal 465 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF7qTVEK?z|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ z2nvEmP#83V0-+HU3XPy(Xat2rBPbvmK_Sry3W`QhSTuqHqY)GujiBIY1cgT8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF7qUtbu(z|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ z2nvEmP#83V0-+HU3XPy(Xat2rBPbvmK_Sry3W`QhSTuqHqY)GujiBIY1cgT8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF7~Twhqkz|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ z2nvEmP#83V0-+HU3XPy(Xat2rBPbvmK_Sry3W`QhSTuqHqY)GujiBIY1cgTZRo(+CQhMo`!^f&!-z6grKd;AsSfPa`OR z8bKk{2nwP`P#86W0;v%cN{ygkY6OK-BPgI6K_S%$3aUm>ST%wIs}U4hjiBIa1cg`Q L1BOQS#zzbQlt=ra literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-5.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d7623b500232b6e62f29c2c232e6c2469a527314 GIT binary patch literal 625 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF7~TVGhtz|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ z2nvEmP#83V0-+HU3XPy(Xat2rBPbvmK_Sry3W`QhSTuqHqY)GujiBIY1cgTZRo(+CQhMo`!^f&!-z6grKd;AsSfPa`OR z8bKk{2nwP`P#86W0;v%cN{ygkY6OK-BPgI6K_S%$3aUm>ST%wIs}U4hjiBIa1cg^4 bD8L#)A=U^AvPMvtHG%@I@fCx2;~NG5>wX81 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-GB1-UCS2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7586525936cc5398b86d3752a4eb45b15825b25c GIT binary patch literal 33974 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-5.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..5b4b65cc6292a5ba7d89e976565bf08814bb88b6 GIT binary patch literal 430 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF8VUtbu&z|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ z2nvEmP#83V0-+HU3XPy(Xat2rBPbvmK_Sry3W`QhSTuqHqY)GujdK`c8s{+p0IJ%q AO8@`> literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-6.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e77d699ab6a1bfd1e3eab6db428222e108342aec GIT binary patch literal 485 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF9AT3;B=z|dIF&{*HZ&{*HX z&{*Hb&{*HW&{*Ha&{*HY&{*Hc&{#i#p|O4vLu36EhQ|7742|_O7#izmF*MfCVQ8$M z$Iw{6fT6K|5kq7B5{Ab5Wekn=D;OHvu6U*6(3xtl!7bSbu<_vHlQ4WBn0^#`g{u4uE{TGJD`fm)4^*whsc*8gE>tpCT*Sl`$HB0wR~ z2nvEmP#83V0-+HU3XPy(Xat2rBPbvmK_Sry3W`QhSTuqHqY)GujiBIY1cgTY|u2sUnE008|H#rgmM literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Japan1-UCS2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..128a14107750da2939d920c3e0802798c36f2e18 GIT binary patch literal 40951 zcmZR15agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF9iU*9Om!0`XCO_QHI14A%F z7Z<}9Erx&94FAd){#i0GG5_ac_?61g9L~Vb@Hda)Z!*hYpNU)yr3~Ad|Aq;&G5>Y_ z8zS^Kxsj2fkzxHrF@{!Vu1?iX6${It&P2;5oyOqCq9((zMiGTZ(MFTT%%;@FG8U#r zUWWM$TN&8wntT}a7&sW(_!!ze8U8ac{PSdJm9=TiQ2b}$(AZo%QJAsQ;9Vm-S0hWK zAQJ+xFflcHnT&^TG3ak6rwd!uY4FH_Bb9tI|c z#^Vu8jmIq+Y?<0p7+NzKTKyPWLm3*I>lhlF>scBPvoZWOn#jd8#o*6jf9}Q><_M?8 zro6_c(#B>X=0+B#W&f=im>8@WKrYzwpPQ-8&C9Ocw6T|^v6qvnk%MW!k{p8;!vrY? zR))rDicF1-Dh!P+whYbA6UCTL|7T@oVbf~kX`E`qT*}7G&+N^t!Ysl(jd{P$F2+VS zrpJnt8Ftn&>=0*QVXK0N28H^BQMimB`F3M21f=x zrWR3#=5mG^H4Ll_>`aZ*G8r1D6g0^;w#O zQX6lCt&46oUM%^{wx( zG%sV4hQlP0zNAK`Zna*Ki5gutQ&l_~ztm6im0MEOxLDKZ1Hf{=TT*b6B;Joew*%r+k2G1+*I5c(Y&ZvA=F*mERDW&nR^t|MzwxU@+ z=iIMVG))O_*O*!~kzrO$vr3D?gtVrTtT{=Y5q(_Wy{@uP4eH=nB+)pfe11WTO=EXS z;}iSFl_p&R3;Y^4cwTqz@Si5uV%4J78Q06ylGMl0D6&|jQ=_%0iK~&Lv8**{HPgh5 zMw4!?)dKA$tLmC2rEXQ3WwltOu_tm)M$QbAMze0ao~j9P%@s`&^K~|4Ez>x!W!sk3 z)ZxBAfvfjYR(Ax9(Pu>MZ>61tJSA3uUBWfNJ3*(tH_+7pn%4d#yrbDm0q#NOTvve zYkI00{btJ@(rmoVyTxrvz(Kxlr%gf4dJ`F@Gp*q0lxk*bS|i#h)A(AT@eFrsSYzFc zgyy)K#-P;Js79uys?LDM8+?tI%{zrA^K=(XHft%G9Wy0vs@gWC7MA77jjtk`C1&bP zbe~<<>M~JjfzgDB)m9s-`oua+mSoIPXxu8F*3>or6Q97=#lBi* zf>gU+9}8z6%e2gO+`%+?E)=%Gc;NZ+HLv``XySKSQVOCTBBMu?kF~%cbuNGNTNmUxQJ(5 z^t)TXG3}S*BB3^y$w5*DYj_?M_3QM7O)+Wg&tK)y*p}9`DRpAMKif?I*&HnijaiM$ zVj7omH*vIDr8inNhP5+v>rAxj)KY2oaIok~>L{9=)R{GdA!G{E5&?-8mR_!P0o_3p ztXlP2Sen*`c1Ns~TdCF^wk3L1QWwh#wKc^T5*pW4cGygGnU&Lc#jkN2>(m;f#W_RJO)Lv5k|38dq?xwP?JUHlwO(q57wQ#yMh**K~#F%H84FA=$XvVS)Ok{3VW! zldE3vUJSo!aKpZFjY(5uX-h!kF}aC;E93VBbf`6cEpNQyw3okeX?=59t4g!<1etcD zPZb~S+qq^aI5j74n5!~br>m+_p;4kKsl~3(rL2#or=-!O zg{4ntiN(~6*ZNzuHW)Q6b>64f>9(e#akfF@PQ!bNuVh+{x{cP@b(^h@Yj{q_JjNP>aMuwU{QR$zF{nQ-o$lFSA(e)F#y~ z&>q*O(4*AD(QeXKHPNGKOLnK3+G@V0klh)L8I#i*i9m?q(CaW!W|CZ+-K?;tgY~S9 zB@;?o7{sS1OtsKxu3Es??z3EMg3k#Hu4a`P22DMwO2mN;Y2<2D>2y?R*L?{ZwhH~_pQfSE%5&cSp3|(b$sRNL z<|#Ez$e+x1!0&<4mYl}d(bJ?FfBQ9lPdqAjC#Z1)>q4_Bs*OzsjZ;0EcG-4Ebu#Qr zX%A`+Yj!v#)2!4kc0;0ZwR+=Og~rCr#s!XT@=X!T{O0Ji<>htqOpheghqvSmK8ir zE>or23VInP+w=u>C{APPtZC8dj%X~Ht>n{|(-pKvsIgbJ@kC7H-^9j^0>@PvJCe^= zHJ%M`d~4OTIBH#wS;w8b-Oi{ zv@o?8IZQR0657;l*(B4R)n2wysk3A{*Tjf+p{aVSSs&@rB#oH+&eU78jYZ+Dx?)W_0c)EU&|(kwO4Xol9G z^u|+aElM+Mnr1lW9B`Sa(8xEJVXx;Ovo^bjrN43-`KB;5K9p~Xn`Sh{tc9VOqw$nX zZ(Y;0=tjS`szw%{CXeQ_Ml0=RuU>^lt;VX>f<^@aCV|c%u12jUxgHsgMxCYv?JhYE zhem-Gz81IE3au`lX0axQMwxCm-A0Cqb}dD%W=(F5ZcQT1aS3f&O-j8MJ#|ePO;tT= zORoxtf_;^qP#i*qY0lmdUbe74+0K8%(uo^lH-U)auddl9*7?=^{Qo zYHCtf#pJk^8ncRKa<%$3evWTvX=)K_yrDe9u1jF1&PJaOm-dpmX}b%Ki7qs2Je#|P zy(u7as?rpLwhFO+qc)Lthc1RDlP;I0h<=O4g1JmhT&-RmHBEfI5|iSZ#kx!S>zd>y zCN#%2>9mDR32Is>&C|;?GpRAB$L5L5W9!B#3X967mCUkg5&9^&FKA1_EZ@eL@x9`W zA7dKd+x7~~a+$`mNNl3kY@I1Vy&8+;<}0-*wUzPp<}`LBH_r5G{8ruQw1B50sc{C^ zl9a}?(fuava<9TJDz)lwXMI|_MsyMDcGt!Zttkn6VlRd_CN+i4PM8+em%nAWm`E}cg0b?ph=V(Xlm@)|1|tFGlX&T>7h)GXFy(H7b`Ph($bOU3T6 z4OLGwCuvQoXndI18Pi^3v5=+FMy;J^qJTqZK(C9#B#p+h*r}ZJ1lp5g)}>xbYl-TJ zXpC#MYFBD#+>vG3oirn)X{mEh&a<@ks{gW$3oItf^;%8#Zk)y1 z!7)*14pXlhbEn19nyxJ7-nvGnnN#J zqr>BxOHH@Xq>wI!#;~5CK926Jrlsuj`4;CiHgfbj%~$EsYihJ^N@!PU3EN!O zZ8Sk^w!}Z4&akFN!A(4k2g4d?m){p@Tq)Rim96oP<4K8y;VMlw3s`#D8kdMPwehZG zlRL}x-J$V{dbduS++2}Xm#I-N(;hoEZVu^VYjkT`t-UCvKd*6uQe&@uYgMaOlSxZR zbHHSg=?U#o$K#q3S~aHSOo-^^i<)V+P@#vhX>;Kei77da9UM0uX4OoKXxwAjD)d>i zJz*xpY?Vf?jO8-D5))FcXRL5&oS6TnVm@!C-sd>z&2v5e`OT;nVE#`z45P1*B9T7_n4O!r!* zHo0#Sf(Hgf?9#Nt@sQFvi~aUfQ|59! z&YB(4&C$42_LA_yq^7FI83}zB-|An~G~Q?2=QmMyCeN$F{{eF~8|S;M(w>`o&8~5U z_KbuFyloO48IA3AYgm6cHhwo)uh6uIzsaFR%Aj4U@uf-QL*0I}-mET`#yq`7A-~p$ zj({ePCauXfeF__ST6h{O`ZXr{%qwYj>$Pf^Y4T{yXbRbq)p#O!k#v(#lgiSXd2*9< zu1fX#HBQlgF1VU!a!BKh;`%0?X3cK3R)dq- zw>bK2+Lc6D+t`{+8rL#6o=9ooYAl%$)ST7I)GpATCN@E+)1ob>gJq&&(-iRzzLuQ+ ztO;V%47zg`)~(X$Ntz+kBezkeBdPJ4cTNM-{IG{Sm=srVZ zS7@iz!{Ek60!O7chc-2Zy%2Ali3zi)YQ*U+5+%S@?1=(vf$u_I(n zxlCh!c2jdsW54eFs5cf%RhrhDHXgM5tobPArPf@wrkU~WHjTSP_Ukpx6YP#_@oHj` zS`jkCtJR}DYEq5d^rA+ema0~t#S#4>eHF9n4tw8VYHYM_oE6Y)(ReMjCu|QxYf*dH z#+0^@#`By$%^FiJrm!_0HtZp9N3jqB{!dGyB3H<+lf(4t#y5y!uX#=FTUB^qbjHg+mCPIYR0$KTkI)2Y^L z+}LW_Byi1Qy4&Tf#`)SiE1TjPJ2PgfUW#gblfO4(RZNFfx5#w6NnE?@+9NvL8n>BF zjys+;L1GEVL519%x}6GF>YC<8t_qo9H(#!+;FD6=TEE8Ak^6iaX9qWnEa7VvX(?&- zTH(3Tq{*PQsMD^8A+DKccHLyY#c?x&8ikr`7PGXnHF7mcE%Nhgnx%WWVphqmyiS%D zfwfhQm;JXYHSX285Zi3gcvG;~Zc93HH#CPg?5GAi)`#MY1F8AuF-fj__a>sN$ys&_PW_3GhF1FbQTpovu(Vi zb5N{V>3QHgsirx+^SQohbSgB?Vr`sSw>4~;c;lMkptX-sT1$mxLxnD zOydsI#>pNhtuNLzc82x(G|f(IkJ=d3nld5nw)f?@b)1d8JTLegFK9HLi)_58)_6Yq zS$<1JzsK%`iAhuI8hZ?y8uS}?)ipLMH61EEYqG_vDdf6e;~~dWIgJ-g8o#Q3bNU_J z?Ay3j>#^!Bo>kSe(;DZ-H+H8TtXw10IFWy*!2Oz*s;Omv#by*WUew(s+33G8z0J2Wn>Z8tesHm9y%XI5RO z$0Vl4v;Nn!8t)}E&JW)wdC|RT23O-}=NURLSq>yM-gRE<^HJkrMpI|~B-dV@xn57K zwwE2#YdjVFsG@PA?fQ&wB8&Vc@k}&YEYP^u{aeW{kH)j2%sc)D%7 zL7PPj+kB&Ly$+XVr%tt=lxBrl63yll8}s>POARO3?Bi%>nU>VZ)95x`W>0?O&capF z%?hpJjUP)UWi3`{n(Mw@X0mUGOLxr_C%a~z4wKHPCaIp3wvcYCKDB8)lT8}4CJHpx zP0DMt>kjBNnW5Ju(Rfd?MP-pgt3q?aNxiremB%?2WVBQ@wyA#~r0z(XO|s@osIq*Fvq;0j)-Btr{y@ZB9ohEe@HY)fn1%JNkUt zT()H_jZLw~IU2hyU*)x$OpR!j>rtBE^E~ZcXyc@Wrv3WI@+RsuHt96p*Y)cN>niRG zS>d!Sq}y*w$yApfm)4NZm~N42d<$Ks1+}V7@@jKwnp)ksCaZCqZ*Ro;ni**mI67Un zWo%`dTQDuHldo|_{RjK2di%8A#564}ZB%O1=m={rS|iZubWUrU&@!F94wG1F)aFSv zi!?r}oGkU!x=HMZ$Ni$l<;87GtsL7_I=ohAv}JXcOsrXx(Ie3KJG5y|MB^dLX;~i% zS|XORG)=6XCoxH&Xn{(nhhD!{n@6uolhNXY32KcMvn7_XH2!sN+TztXMSc#?DW8Rw zjjw_y+B9DG_`~1WYP7Dpu_1T1OyfJD;lq_2 z8ay0aEG%kFK`f2my&AteH=g5b?BPCGKT%VF-*1r=3yU7JFcYT+kBqFIQlmm>2otYj zj1rH4wJMK;tBzb7Q!A&4vJi`?fapXy0jmHhDNQYI$L8Q>qYyrpSa~P$3btEiw_>>k zl{mG;_>8n;SSNA|L|9JtjVuB!flC;e7&w^~CQ1nO25#Ws<6~3eXuO!wcrlWV zg+qXgM}XIWg^hztOMIe$!1ACtQ7s{HAu(1t9#&@^fyOU7%oBM8b_VU?7ZVfW;b3W+ z!P7KDT7_w%zQFNdHm1goxWT&6j2l6 zVisWHl4x8g^O~oryY!63>ZBixyc`ldWh@hw1b&3r$nr@`CNwgb8pJDc@jK~rh)Rix zHZpi?sq^TuIkM>38nK#9%0sXO=K*)ZuZ_w~f-D=r5=fYQY^;X56gYY@*@G zV#Fnv%H!qgkfd#7uE(cXXKiE1Y~|Xh!Sqh%T{sgbR|Jb`GYbE= zBDgXo{G`|#H5!#08T38Q%AJkXE)z>L6_asuXBX9xV&!6DmJsISmJ?xaWE0#K$;80N zz{McKuup_xAM->>!9$ToTwIN9YK^Vc+^k}(LaaO->@osoE9x61mgmW+IY~CkPvjK5 z8>PxCE26I873MyXSMWtt5?`DXlY}t0m!u4f`b1vA@6kNWB4&-QjYeX898BB_Y!ju0 z*rHR}cvzTNR>-Z86t2TONxkDMGg7q=9@fRdaVyL6LHldFReQzJ(;rzne*ATx6s z7bm*|4~qgjs~xutlT5S^hXflJGaH8-4~v!zv!KvKE}`-`7iM-T0d^4FPa%r3$zAgaU7%*V$eW8|T)#;@6|)s*Q})5tGuVD6&JtHrG! zVrLv6VW`c?qvhz}8pN#XC)Q}x=&7TtGf_b3UBV;{%SNqWKWY1B&SnV#WtYZ`Lit8^ zVTMEo21y1k1_1^u244oziG0GGiSEL>%r4^WihKebOfhT|HH4)Svjwv zJq)=Nd5l=BSec{ZxmhF?zD0eDG+G|f(n2>z^o!F(0pU$aYdUhoDsov_`MB6k*z|3f`6luTA4xT5W;&p9fL)4NP=t$F zgKHwM@a68V#_92FVq#(}+$?-t0<4W}!jDovGPE%;v<5QpGYB%Y=1t@jewAiom?F+0 zXu-@gQC9eCT0D!C3I`WAw;G3=pqw}>pQIHVSCey-4+{?mlO7M>L~aq0=@yL#L=}WZ zgqdaZnD{3)%8DqacN!N&t2!~8a9bwjmFE>_C5Q1cbBJYY2s(6Sbk_P=>qwZJHF`7& zMhU6$*(q8X3$Pk?gtTWjayK$)8#QV)vC22Gu^)#M5Lg!^v+G zBxGb@*&@=S%r9=$sM#2i>=SIm*A&xatC&#O=vCRslx!j_VXLUy7{#t)IZ;LAK-ToP zb#E>Cm_@nylcc4xStd zUSzj0Ff#}-h%m4-2rzI>6cG8Cy`F`ciH$>ugHKF?nUAyav`piv+==O;%sJ8m%q7AS ze0m}h#zxkD{cqv1+BjzLbjozv zH>R11H)<={#7cR|s+#FaXE=+X?`GB%0?$GQotg*KZsyP7l# z`KczTn(4}Fs7|a9&B^Q6vT$#5N^B`PXtZpUP-JD%kg&`U)iGo=24K6v{B09w`gQ) z4`#O`^w!_q*xS%jF`DK*tuj_mAF{ACfbNyD&H-}CB(wSBO)co)uPtI+alEL z-6&wHBx)tAqa@DZB+enA%PPR(#4YV2tRlk9r^2jZC(Osq&FaG;q9W8d&8=~oGaE-E zhqyrHNd_?nB?b-#aRw#^4+f5jT;fty3d~LRO$kCQ{9MoN20}lfWgA#)T12+RFL&QXWao=h=9cd|} zpvK%rfkxIw2L3oj8R?0Q;^J}DIZQF!JgPFR@;vORWl5qUEapl&Vty>K%#9_Djyz(H zY<8mh5o|2tdXh>q!V28-a(p}-vNAjZQW9zc;sT;PBFxO}B5W)i>{`4+Tt5wdO0qC9 zv59dS@r##mS+hxqDnwWdx`}extHp`Nrm0%lNQx^diK;d!HJM99cp5ACaq#e32rIjB z7_iFQsOmE5xY>pCvI$9Y^F@gA^G)Ou|6W%q&#c1C*A(02cO>CRd?U96b6pPu7XvF3 z7lR;EQxF3ag9xh}12Y5LL=g$;`g8>$Hg*nX4n84fb^$RK9&tXVbp;c7B@F9Ni7-oW zun2KIc6qGJ%EL3!M8cs#hJ#0kQ-)KFi;07UON5z~3zQU@n6(6XR2uhKH|{Zu5t3vx z*5XVtWeSqw6*Ie1ca>XEgSAn+F@t@gj6_*ui3|smD3g`A409uAnida-051m%lb{S6 z8y~ZxQX`YZl*Z>wIunH@W;L-gv9PdksW3@!OBgV7uyb&*ay2qZtZ&j|Xk?kFB(b@v zPKLuk(o8;siBsB%nWxF1Nl}p1+%GgDvC)j#){I$(Uq@V*bE2EX_2yO$IdK-r#`MMz zeiqq+MpmW}eVaxxn?UOruJDvb(JVQCB@+$SM)$^&W~mnO#-v7er53AZU1`Zirg}AF zchg1|p+?RojmE%69WKWrNmUzBc@DYk#yVH=i58Obtvb@8%!Z9@F5-&(%?wTXLLqLJ z0{m9xK0J*wjqV!WJW2)f8oD|he0;(d3Ic-CoML8zS~60N_X`{E*NE^5Imu0Qk&JHJ z#;?JoYtU-cS{NWC!XnM7<|4@?$RemE$fl_fBqGSB%O>B*#cUAC~_I? zd5!FH8r){u0@^xaGO~?~k|#Q@OyrY1-Er4UfLBmbNQsYCAkLd-qMYRIPDd7DZYH(( zMiy2+RsnVn4i+8`4kiH(0X}vv78X91Mn=isowp`RN&f46F2N?E!pkYc#HS!)BrM64 zCeJMD!p`KzuQ<^_N~&v?fP;Xzo&ujFyM#+7lZG*S0=G(W1}~3*%Er7++#D*p1|lrX z+!7qj3X&2m90Dw2OpT0EKHbwM3P}0)Sn;q5urV=lNC=5B@$qnSH1bO&_Do?gWH4iB zTv^W0xJr(Jok4|3o`H`+iGiQNg@Kttn89VDq*Pfi7dsy-%ZaKJ<&C_JJWP!WTx?8I zdI6lA8X}ycGK!5XQWJacGq5ojFtJQ@lbYElAmbv<&8Ef9#KI=1Ai|kjAnU*>#KFbN z%)>0e%EF-_EW)OxEy2UWBFAUItf(T!EyvEoE5O1jZzRFTD#p$!#m>$rz%h|e>QVn3 z7B(R!J{J*oK8_~6CUu30JW`(~2(pQ3DhP_3$uP4uGEX#=W}3iPBCf~8CB(xsBWXsi z95)-Y5Hptn4-;DiQ{yhn#$75tay$mCMq*4NOl(5T2CV#c0&LtO%v_Be(xwwnGB7c4 zfE$EN47>~u6Sbu6C&}4s=;?DdO7N?)nOHVTH0p|RG>Y-E^EEOzX6Ujed1*Ha>1qoI z3g~ciIk1_@8a5g=GD&Aop2FZUQA;|1@(XrpZ6j$xvn*a_MK%F1aUo3u9tBw)4kk{q zPUcP?4kj*lCngrw78VW`A*P99(zB;7;A7^JVP@qJYn-mxI9)=BS%8^|i-V25hG(LX z^yXE8DOd{MY ztUN3tTwDSZMWmlhcVS}UonK;i~1KGW+V16O?E9V0Rc|CiGnhcGfJ3qIG8x3m|0wy^tc3=*aRAd zWOQb#FmN)6F)%TyG4OzDJqB(j1_lA9MmZ)O1{VfS1||k>2L6fiGF~%(vkORxy5}f~ zNwKrCaO((4aq_XSFmo_5H?pvZvB@w^;1cMR- zGlLit69W%}8G{XjB7+o*4ucqj7=sXlGJ^zzz(jMIxw9WLGbu_m8Z-(rGkY+L3-R+Z z2?_EBsS7c)%jjsU37T>7$S^g=aIhILTkEm7aW)AwNpgC`v&XP9^D#}7mAN)IMV(o| zK!??>Qp8S(LqLh0mz_yWKw5{_LzRa~s*z3R>pVGzMjZw=FyxuYE%SHYBoXDPkUZrb5GQ9yQ~v1hhaNVbe;iV0Vvr~x~ljeH}!>^9>g4DJklpn%*X z%y24);Z)>AZrLM7maQDj%tvLd1)4;fxS5;m8aZSyhQ={8^=UCQu2f}c+$O=$xRaBi zv0aCuagsN~-OOf2*_$_#@7$dzE_*A?si|A2alYjPuS*QulN@%UprT%?3U8RlROB$ajHZ#h8yis@OZ6k~9rI7be!CHNr=*cd_Iq76!(@|YM%kY?lJ9++C@T9aKy8)RBCp0bLg!c;x3Di{Tj|W zk2~zJc%l8%{FvCxjK<|s%`>x_S28qiHf!7{-n=@u>1Rgc|AM9l?`B3huN!rD$|su1 zc{kr*BGq_FyRp@vu~(~c3$xxc-^S+x^Ofc%PSbvsJ3IHFRAaaAJErdvH?kY&@i#6t z+34TcY1gbKe;@L8$p!K_jzV^Us+K&HGCjeu*?Q%C+67yTjke zDAyj?*~}!@aii|eWrn8mMs~TbP)i10hNc9DMk$8I6oytWhOU%mM!AVM-0n$DQ=+NQPsMh2lJ>9OENp9YafcqC1n%;kvo2W0hp!i%%mH=OCReL~N zM&s15#tEFwIabXPD)Jo}okoo|jU0^%jY@4!KAmihaxHmH9xXAAE?ovOEkeyYO&0Nu zI}{uD7W5bWH2%+2rqGnqBh(nsXwsF}oHUV3?xKQSV{?7uv5Ld~+y}%C@WR#~jf7!+(ZlD#;Ms`e0JSuS3L;-mg%*->%fUvbm@cWM2U zX}sy#c*CO2y>WWt5~h}@`=N~uW-F^3r|~z=4?ACRj<<1bW~WG(S_?;ONDEVsM3*0P zZ_>oNsXQGf%>wH}TDc~OO(^KeY09WP$umi2i{M$WuU;%wXkT%3Z;TpYZOS?ru#=31&M z#>`9xOoqFonVB1>#y3vQ0MY4nEc1DGCh6n~v z5Nu^s$N;m$ni&-`86p_M+8Gsc7%CVtL9mrkAs5UpYi3l)W2j&#Yh+f)SFC4f%w}M2 zW>hF*2w`w)WL79vv}V{Xz_6pXnNguaakApXMizzINOgv8KZeGosSJ%rgxZ-D8q+za z1^7!<+A*A-{$R=D+t;p^H8LqQ8&@;1wKFNSV#-b|S7+RPe*p2j@YXK7?<;!`V03Ty6VZSF}3 znHZzU5PP9jK_#V8&Zn`)kE2mdxKSk5#*4qvud$>_rB$Xeq#~iQt|>`F(nFD}kwKQJ zc_V-GMh7n*C5aL>fkv4|jV7HY)kcO!mL`$rU6svyHJbNoHt%C=6l#K_)@WjB7Ko^mV{&M;@M?4uZ`5mMRE)dfcu#Pmieh}> z!HT97iAJyHC$h~?9U8gBBqWqGR1?^kInsQz8l4)WT2zdf*hQK@$v1zAX`H0rI5jCk zORFhsqMTw|<&@^X#m#@~TC%j7|70}(Np4DM{#n!fSzE2qL_e#stU066sQG0@^BwC( z2a86&m`0_>uqGQWrRGa%%@^Y*3Mnq@U~i6UvG8bQiqdgt-pkUwC$iBZtTlnns?n`^ zQ$+Jx%|;HzT@%t78gm$$m+~<*FHvStVrWWXU}xZ&$fI~{5}Ocj92cjOh@fFq-9&Z8 zE0dlpG6^@&)oGrqDk9ye#Od2SC!%?dsJ)eWW0Y~Dgp;08ff`GzP;**ypG$L}q*4(*e#rd8aZ0yxSKvRHGR-*%4=>nX;f?! zQ1W3|O2W<;r522xFG>?YJ71Kh5ViA#NogHu=gUM+rFV=8dK_(hZJz%b{&}{_{#R;b zR5oH*I+0H~1XOs}HZ~{y6a6RkHx<6|L_#?Q>&6p7@Sc;hM#YK3%KLEamzl_~eEWX_ zmVGhGZ!q@7s4y5{?2Azm#oQOu$f07$5Y52E@h^j+u_@K3ai$W(6kdkLBBsU}z7x4r zCNeSx)ioLxHA+J$W|f5s1p>d^8Jg0Y8CAA0xH5A!GO28p+r#iVx|vaBJA)@!Ufa}jbdcvU~FVmxyBSVkz3`ad@=Kv^5)2vARR_VF8M}@ zMgdg?l9GdJ1V(aDO#vkb)ePd2gK85vIdG{SLQM{hjb)8Rjf|@2eltwuQoV>ClBy38 zA*uQW5|XN4p&_aI9TJkNKcFG0`U?`0s=v`fQjGx;l4^|5kW^!agrph^G$hs7Kq1-4 ztH#cF1sn-n?Gg+f-sWNJbU;~UneyV}^ z3B;@i`vpYQgSd4F;{N~t|G`cMI~ZLSp$;5M2xIC%X4N%8Uh5}H(DQ5ar#?ju_r_}s zjnCOTlc1r$D|#|ZvYpa98Ut0qb{@R+L@YmLYguk{nDEzf`AmOjA3krX2JxKU#>x05y8&p!$IsCOj z)r$dxK_iRy0Yvy~AHxWL?OWKxU;7(I`0H??gg=jt0($tv)BW=B#;J+Tj5?rDF=%Ae z(FKLO4k%O%8yR)3om*EASGYIrHE(9rwS**gT`N$a>smt+yRHo=&~~2&~@D*fv)QT3UpmhNTBO_fdXCEoBn~W zy9^fSy0;O5uKN%p&~?9J4|F|2j6l~@MG161J!@Qn-ncw`hm**u{ANZyPlf;nk47dv zFXI~wOwEjXehgs@!HrCM{)!9?rX$&~W?znnp&wX~s6KjC#`zZWydLIMK_fHv_^#GGwN~ErZ<#`x_bc zW*M6|GwRJYxMi@vkyUSwu>}JY0}BHiJ5MX4-Wr2v27e6RHZ$t21zFI@q_@sEh=Hk< zNpFL}YlHO$I~kgm{|{(n)Z1hn+{~!A)nJjqiAE;99ncuq1&@K<;278gkAc0=7}yUE zXVe%t0FHr!U>QgZ90JF{VR#H20mr~;Xbc>I#=seH44g%Zfpg#(I1i11^WYe`4vv8v z&=|N0j)7ay7`TlT1NY!Da335450C=yAv^}2f@9zrW(>Rn$G~eyxc4&Zy@9Zh40#KW zfp_2-cn^(%56Cf~&j5=7eMU$O=rciLK%WIU23YmkjDwj%AcMWrh4guYt;?KpuKMko zu--~^4G4`xj)-qr8Yl;c4Qm3%vpD9?#3xubJiVbXlP(OwXJdMVbJL6?qxq7 zfkj^3{W|kt=ZYy6zjwa5zp!(~lxpf2*T|_a&!Ed7$I#f!#W1CUfr(+c0t2%^o=6HZ$rwPCQq_+{mZzqL#zZ zI9HXSO@@Jyfde%1y-$LHk$HbTg9JlkLm)$Ag9(EK!vuzAM*UER7>1Zeas4nQVTMKt z25YfaJthtYb_Q0+AUYD89f{pIQIMgrsbHeCe!n^sBO~LIlJF*p#;&Nwqr9w5CZbI2 zOgzF9M4F=|MEez)n3;?#8(H<&DV||qW-4c3Vql)gufIc;g=tODmf$S`sCYsFbDQl% zF8!0L3mF+1g~Wwg;}~1jCkp6aRXxtg$jHpd$IWD-KP`Gr8Y3fPqon>@gJ6*V>=+n% zY}pvx8@;&r*%(3_o!J;%SeY9AKs;{_hQ{N`42>-b4AbNoSQxk&bQzcxSG%w=Oyn`V zYTyX&7jh|qCTJSj4c{1iWn*w|)Q0pP8JH$=8QB>e21!aWHogyQ+E57^GBWZ44H+5v zq7NAv#Uh4`j0zw_Mn;9uAtR$=$dHjy33SNFs0=b>WK@neWMotW88R}eg$@}R)kB7i zj2fUrMn+AbA)|@BM$OQ{H%7)rO~lxn(In8=o6%IJXvX&BW(TCPH={cwjlCI*V2r&P zD}ct{j8%vmdo#9!jJ+AxVI6xj?g9m*aW8s68qY-pr11twKpJm^2Bh(3NI)8Ifd-`U zHb_7kZ$}GA<2{goG~NphNaOvGfHXb;4M^idpnz-?Ha<*X?5#-@J#S8wH(_H?=bl#1 z-Tbk>vDvQifMN4RV{JbE=6zukg__T68p{ibHJ?v!z95wy)4WWm+2R~W^Y`**&t?lX zW41;%6ZKz#46+P549#a^7^dVf98GOzG||0Lch_}dqpFGCuP|PFq2@lH=010?rYCw$ zPkH^Cr)o7%&2FBh+C0mn>5p&IA3qgOjphvu%^SS64BVBQu5vV8spM@wlGJ=8y!n_$ z^D*n@1!B$f<6BajYMOkTFS#{e5N+O^H7TL_h-32{>BdWpjTedb+f{ahlmF)9$hhe2s5Zr)4ZK>L{3L+&EXDakqWr zOOD3p&W(r6F4#8q`p?R3T<+4iLVlM<*7qt?W|_GnUiu5m2A@oMckzq2+wgCB)7tClvd zk8bKxn_njQBT(i9e5)(%F$xh z=vQQxBNxNb6xHn~bfV@^wOm_5BWH_~7n6h(bDRXX5LZ`4heMNxi$ar0qfet;8&eCP zNMn?VT&qqKPfJ1LC;bUt(*zsms?AUGxF>!tuIam=Y2yKv8)9!`7Bd`*U8&Js)p)CX za#b^d;d)5Mad$<~egOj?{4YxH?FGn%H| zsJlD0k;627+EIp1DTc-uh73nD7%o*aOv_+kWMFJ&G|j(Jcjr|ji)le-6GMk4L*t`B zhUWQF&5WicH|p*vO%ydP?RS~TcbLC%cKTzhB?YY#N2R7nbuwHlZ`|eoH=dEPab?+D zkCw8Yy2c*8wIR)nrd>Cj?r)#SW!fFOy77?5vaH4rm5ovBBR*&RNu3viS z^t;}mI$`^7zeZ-$8Sz#OEm{mq6PlS!XW#I>XT`ucQPOnogzt0sTJ;)F>o(puY;N&u z{O{N}Kd*6SYU5>}^`6%y8mC5H6Kwh@+B`R`IjM1{Pvf8J-z;nF&PFyqlx*y(YbtAI zG~ITi?#`M<7SrwN&J0hz7*@tHOciQoG~Io}>0Zi29@9NtjE(cf8!sue*)>hbobK0n zNT6|3eXmbTL5tH2w`NAu6F2JaGEY=6J(;I}+^eOgy=uNdyF=rn>c%g52lzMIzY1w; zPHmbj)_6I-nQ21ae1(TWjVA)Tt2zT4yY(8EhwkQK?5}Iw9K+adz}VR43kvR+H|p+k zH!_;OD&E!1X!`nw)BX94%%*RWGZ;G37#i1r0{;Dtx;q+;jHVxoOq&@^Ki;UjtJuhD z`e~vML*of^hQqlG)65w5B{Vade!o$7$9|%K>5p2cF1dwi^Fx}NT^paU&9i7cA>VjP zjj?e@_N2UR+_Q8$17^lFGn#SSsJm0#$YRDFBgt?yhGDe^!-9flMl=2!4tKa48O;Qu zo0=KT1aH*c37W`bCX{e=u`=jHhW*K10*#-Fn^&+juV7si^T4mM#kTRcLo=h9+>N@s z?u|@l@)L|0np*Rl8O;=LINV({k<&~mh4qwdb8 zi7I9~Ww)1>ED36{3)!T=_*H)n!?lc;u}#vugErJX(|#knRpEd@m)?#V=EfhP&E6+W z8q-e1+!X?C`)`zPZq;pW)#%l3Jj}@0>D|m|7I4G=&cBJ=W`PqJqGp;+RcPwUY@EW_ z_`a^OL1~X{g|8tMV%EtE8PtlFPx$c`bwiq`vnKj;Uxo6AJeEz$|L~XO?P=Tg5 z(#;p_r`S!d5nJKV_`|jFB1hwg>_@uSZ5sDDHJ;EtYSg%@u6ego^GDTv>swsA@63b$!|6OE4efOe1eL~Sx+T&OcKrfIkMKC_96W|x!fCz~-|6F#l; zP6@Qla}E!9i)Z6y*Vf9$^V!X7#Tr}r8yl6r<-aZkZMST^nLaDCae~tlkMEYR?R3}}Ao*SLX;vFUkM^X{spGL4f}z&ipvJe$AxG|!J}o}b&i zwc>F|Go!i4jmUc&8rjW715PnC$}to%G%_$W_Q*0cPT*o_6l!KNm$~6^r;DNa{XeIP z+~#tocE23XSR5B_N@$bs4CyRrc4_izN^52`*St}8C%2K^Tq{O|p>aYgL*o=ShSn&C z1Ck7fOc>fgDhzMb-PzX2Vs4alhM`rCp;4Ei(W#ly-0Viw-I#wM<93w}gK`Os~$t+=U9fu9~=x06FJQ*njSYE z4Q)K`(9G57-jdV!U%si)sWGCN(Y*17!<`KiwauH_&DolT8UvG$-vmiVSc((hM}=hlc8OjVO}o7Ms9{C0fy;93{8Jon;Fe7->AFuu#wUH zN>*_*llj#f{&)5f6ClGD->AmJ6=%f4Wx&EA!qUjl$YkOq$JNMgAsQsi zkOe-xGlC(5!Ed6Jg3riPa}hckVd17g;i(=0~cs< zKnw#PgAfA~0~>=50}BHelNSRAlMaI(18B{w7lR0B$rF;yP?BJ2#r_|!@!N?3G9 zcQqOCainmmG|KQe#W7j1ur=~Aaq#5v>G3Hwa#}2nlVH$d2x4lKV_;%(VBlfMVBnc3 zZ?Pp_iA#!uLyk|(Lq&vLL_mx~kB?2pgvB7r%7#nKM9yNOh{d%;nMOMWB>^LgEHxt* zE)I^ys5~ha5r>Ha7H^VMWdwLw1f)_#B6yUNc$B0j@>~2%d8))Fpu`eoXT(+!#Z+WB zQN)rzEm24;!p+S<%1(nVh$Dlkk;j!ur)(m(rD{gB4hx5ngM<~A5=W!BrBTKo1`P%# z1}6qC1~UdR1{tO_1|9|>rbZzKDF!YE74X_!9wr3_4hBC4E(X4d(w0G4cSJanxD*uR zgq+G;qLNY0P3_i?NX7VDn*P zGm&EAVB%`zvz(N_jlqq9jlqPWj)8?iib04;4!oe9g+YzMX`+bbl7bs-AqENtd{PDm z4tjhnK^9UH0!od%mb;2#7!nxl7|7}A&`7z7xU7y=mN7(#W@fq1*EgmHSHVzvrKc*x$1uhW|6Fw;(rbaQA zMi#4*n(N^7Ej5wTs=8KKh|5Zei_Jo8qM%h7S;b!V_}hFQe$#cU<=^mm?&?xsZor{NscLlCC(&B$V!1p ziG!`iPJo9muaQHFErExFOJSmn)#c__9!v#cNjwTnQ4%tKK?#03&W#>A0SW>vA}VY= z6S=KEw*6v};^X2F(n`@$n8Nc5Yf`&Y2k`uVGBI3A5t}XlArtdZX^{mx><3Fh@ ztRKuS=87`nl9OW-V_}gpV-XWkl9S+R5~<@b<5FRgaZ_TG5fBq_;A`SxV=LitV&Y)Z z;$z}tQ&JFMGhvfzI-2?-yqVEP=0@EemPQsE*)Ro$MIj802XYx2PslVg+9-nB{}W|w zl(JPOYqY3$OEmS!H*Ij5WYQuR(R5t3xhJmiqG;obu%-p#EnGUyDw9&qTXjV=%QPl6 z=}Zx+Xcg)9*yq;FXk&N7=l;J&RvY``6%37!vKeL=GVDoUn8w=7XybCj_wJEK4jb41 ze;JzAhcGm)4`*onZNbo2$k6!4o1tlH1;b?jW=0#|8|n9K8(D4q+)^2)x-zuMF-$OF zIN{sOXcK(H^B!lTrcL;dDh3Xg#(QiGEDX(A47)6u8d({%7+R7U_Lngf_slFq=y5XQj5YQfON!O-N+z`@XH#30X9$lwA#Q#gXb9yEZ>)Rf84Si{h4%iznP z$FR4cna}34fw#ddhW`I`$T+NZKdJy&5+rsUyuzrCYtr}sb&V{x*#^N3jdo0XZ5i5G zCYITjGG1e1Vrn*QS8Fr3VB^wYYRqldYO}Uz4QmbL(r9&Qbq;J)%}M7H6U|@~;M0?p zhVqzFz}(iXc4aj_IX}5ZcQDn$W+bi3BqEb)A;cl2Ei0=MA|EZI&}!Nm#T=W|tlOl( z7U9_}-K^n|%*G^ZW8$k?5?I09C|Rbj-dxmV%*OFG>PuoXlkEqlmrPF?=Krs36tw-s ztjYk|+HK9`z@Q1LDU}%-xxhO!1X)Cx6dC@gF~~DC*-hlN<7LVcVq)Tx5n^FcVB!#J zWVVx0;sWjGn8;kSq0zCK&+a${vBP6;4~`v%Mj?h~W`<@KhTW!269pL9nR?Y278x?^Enqk# zJ(<@&5M)RH|2jAVMLwL<|G#ek|GMM<>*oKjYh<#IV?M;w*dEi&XkTXd-C$OupnZ>m z9q62GhQ|474E^N{Eg}q!+H8$Ip$z{b7~}=oc^E7hY#3M=j3nB)nf9|V9FlHkw7(A0 zJDJ!10nt`BGunTLYWhclCI?ZFrbZ?Q8O{9+{l=4d9pp&SZ3@-x01n7zMh73TfSN-v zSb$-tIy_Ida8R5Znf8i{(I*puv-KDmC;&}+%?%;@;zhR@w26Zsr}r}akJNi^CNDRHng zIyf|OHTu*vGdgiX>K`YrOeY2>P_HzIp>c;XXx?Xs7lT+cqm$4L-~0BBj84K?*3FDg zA~$^RCr>nW63v>T(6~#tagUfnNh1?mkRMlLj9a5ic4G)1mqD3U0#l=pQKO1nqfDa! zpM{i~nFxzlqm@rgT_caQoQsYHQ;JZdLgRVe#*1dnj80xR0`GsEDC6W^tRA3M)+AtJ zCQ`s+m!;Qu&AaiYSsGWPnT45zm>!psh=EKai&JKK6$2N88bc$) z;G;vD^qLu+8g7Jv>S3qGs&fo63>pk33{nhf3{6T5NzIH-oj1boE}SUh)K!x!ro|za z(P$Rp<6_q6)f&^t)@a1kq@tzL7}3b?w4gB;wEaj16ntMR!F^h_W=5ywH=^$SZ)9{@ z(X?=)nA7T}m0DVUEKVX45?MihOmcP{jRp!VN(P{iICvxap2I{gr$enqnhF_ON?HL< zN{x(8=h_6C8J*7Gh`IA+BCpehHVHc$k)~$ure?iHmPWQFk)}55rVcx| z@3l-6bGp}Q#KY65*67rzpv9)vXwsOaBA3<_X4A^!#MLNf1XB9tM#8=FMpmb<9xe<` zv$7c67-SfHni-vb-AK59wo$<8cmE3pE(Rk84~E7d1~Uc`CIJRN1`h@%CQwtoQHG&0 zilJ3+qMozhsHbgb^GzvA^H1ZgT@$e}%mNY3eCNzaK zRWXV1g>g0QPHx(xmB44kr52~764J=w>^LWtso9D_h9QqZj3J0YlR>VT(b@Y(#@z{x ztj<1jpEKBjcIqfFH2XC(ItSixxYOCl<{ae5#2~@I!T{RBW6;d#9C5?p&Z0&p=SaUm zhL_^ajLy+F9PTWc$nPBEmznl5`IQ_Ghl{cfn?s{iG>=g;qjUBRhkL>k1)THzn^+nh zGF7;E-Uhzoa}Y@4kgGFqWO8l@n988h%;?;7!{NSmBa3r$z(yt&1{Q{}W=7}E8xHpy z8yTIu0?suvI(Of2xL?@F?A#M@g+YShqkJ=?bN>y8`#&2QohJl>Tr%;7;~lR?M(0U^ z3C)bolW#cQobIqUGCHpan$gVYyz++A9jiuW=T$*V zn7kNxni-wf-*CFKvys_(L(q4IDh7#WCg;sJobJ{zI5e_2Zw*doP+!5hSPo7i2~01gRlNf{iP7c_N(-_hK*2w2p69K3rNBF8_suK8@Zh? zguG#30Zo1~X)&ZQa4`HcXZYv9@Xwy%Us*Gw^W7WHcON#gI^PSeW#C|tVfZh}(AWTS z#p4^!_ogxgHnKZE4c*Tm#K6M9!63%a*uc)v*udA!==|n}^SzWtCg-=IFBxi@8J*wX zaK0ZuQN;N}7`uR7V?$+QqW}w!4wFP7oNeu!z|X!Gn32A8}4@>Ff^)6diBL*q0-hQ?{2WqoYTj4tbL zxZf{pWO7*_dy#>wnbBqA4fp%MCUU!MihaV-IIWaNsByZDjY#A4=*H~z_cy%mL^m?Kd`g_oAO#MMuQ$BztZrm>`IdN^bUBtCi z`LVF@2#GYVu5Dc7!otU9AYdZK-niDYnc3CvhR@x@3`q?2jf}2=X;~9_T|?5UIpmlc z*KszkvteUvTxZVI$lbUhNTHe0HSvbe{h~%j*Q9jGW+vC<8$S0hGcY$YyQZf5GVm}6 zG&8$q-0-=7fkBNyzLC*2JH4ct(KY9W&;47CjIO!qlbRV_^KSUuzu(C2n%|tv@K&9n zQJR5+L5M+s!K|6twd{uP9WMqR2Hr+y*UAhD1|9~fW=7YV8@_i^CknXMW*GCa@UXE6 zFg0#=Y}}m2BE==e)wm_Nk;QdF#vCR+1|EjGW+vBZH+=6rVQ9>19>3vxpQn-8^+Z-TL*p)UhQ?h9&5W+6Z}{F%X=HOfleL;bi9vutih&bUe!E_} z;d}o-XhFB@^{l_mjIK9s_}x)yWOTim&E3rCdiRFk9ovcAuJ^LV8+Ru+?h!DNQWN0d zF;Zz}bbWcl@7|0?cGp+gdzmem)ELwl_!!t2{F)hEzuoY^Q$LZ<^?Q!5l#&id<9^=8 z{R%8v8jbrC8xIIcur)KfvEJ~%%h1T<#+J*#;KtNc&CtxpAi-e6z`-ELWCU94#=z6e z;wE;(|E>c=QxO9*gYQIMH>up!EL>7evQ27S3OaR$jYp&#k2o|kx@qV6PZV_1%L^B4 zJj&g8G($~7rZK5eREkN4NlZe4tC`Ww{)Yekx{2Iw4*5YG0(^d4e)e2KjVHw$8QpyI zUp6zk`P~S(Gp&)u%|HJS0~>=7gF!Q+Tkws5yUY{0-9iei1lZUbPbD{=7GdMylT&DB zbc??caQ9dvlUqW;d{CIXCEWEFp~-SQ{_Ia0qCKH8Z+3-Uz&>*~skHQdGgf!ywbl=+=HC z@ZQpi+-@C3>zEW8FFH3~3~RjT%hY&DghxW8k;84OT{A=Dr7Q+%&=4u8&v2=hq4Ba# zGo#zw8$oxbO_Xq3P+TY{AjHNdpvJ|;rNyOWWX#j3q|PEE;>Od==(giV&^_OYJZ?Kn zCUG$Fv2n;SF`F@|G&8y#y%BUjtdY^}Sjn$uMz`ZPg6`)xvbdcnRbXHP4Ov`QZ)S8m zb0heUSfixd`BDc4J_bGpCI&kOW(EN!C5FZu`V5UXA{ZKPgfleWC}7}Wl3@@4g(;H| z^t>Yt24x05hQ^!D&5UmEZUo=sYh-kLUnbnl==SMG@ICWJ7Prr3stha)Y78K;?>B<) zWi>Ln{jfjD(0DVinbGanjo^FTjT~;j%RE7K{LNa1##=fJJ`7?E%uF)PjP9&ALO@L; zceb*V&5Z8sH$v`&HZr<%l)Y$XbmzPga#yL5#ht5MoPmWw1yqu{^W6x!yRwndo!`N- znaN$?M#$Z#p#0!2R36dH=q`LC92Vh#}ujdwxAi!2OG zOmz%g3{0R%b630(dPlF3-Ce1I6*St-AjY7=V8YIpBlOPAMoxFFiY^8r1~~?P z1||kG1|tRqCcS1xchei8cb8A(b2qCL5E1f_YJ8~P_|QqjMT}2GildRq-L3K(L*paa zW+r!!8=?1CGKfqRa`$rdZ+uiD!qxbwu<@~mj0_9tXdDpL;MNi#G)^8ppM3>?i&?sYf9?|3s9 zOyqNKsJ_C)CdZ{BlEWdv!@|ea%%hR%%;dh}M#LQ+hV~E2jco3#oUSo6zG7pL z10~s4>I{vqoSGTkH{6K0Bi_j5zOl9g99^4lMBGW3$mzbNcCHYMm=LG|_}a6X(S7fY zh&yj5a=P#P718`rkcUf%!yrzek;DC@vo=HH+Zcw%xB3i??+X|}!(|){O{-X&ncOde zW+5508kya%*5@+0Ff{JaZf119b;JKIUn8^o?fPj9Tnq}$jPCbtMBZVVDCmB_{;-&u zj2^3$7MqHTh7}7R3rP0EjmUd-6M5Y~HXM~x@G<0S{36}>l}EqvOKjtpG!~9#M)!X= zBJayiwOW*Nyasc_#59aD1d5f51|`Tck>$=J%pQBni)MrZbaR^+sNc0+9U~Tu6u~zh`J}& z$m}7}WWylAz}d{`A$=q2UPL3ahm1=Zs1o~b(ah)}ezg4v)gtYEU-=)YfE>0L@i4GkR3sh`#@$k=diBbq|9G1It7%kH*&fOdN7T3KA?V zpm6HG5p$Qfk;$W{%@R}vd-UCixog?T=F#8gzyRvVIWWjEFijNqnBKOLNs38|jY*89 zsU^0lRf36!Nrs6@N`Q++il>puV?%opgHSV*$EF)G_ir;WH?n$cX0C{%j zjhOrY8kszHxjtoRYBy+R^w@JF_KrX!v&Y`{gA5X&bmVd1M(iEWMn;c=?T;sNdK_tg z6`;YzCe+js-PBPc)y(8^_D1YIQ3mElMvwCynazwI7jDGfGi+q>xY&`;kicNZz}C#@ zarH**y~&L%9@jc9GB7bTb*VBmb=5U9dfd7Zd!Mh7(c^Zfc{8KOog1jVm`4>#iOwoc^s_}HbW zCcwid(x_$YW9QM#=<(-9+`X2G+#Y|sxw!dc6q+VDH%;V_&=V1AWc1|fv214a!7z7$wJ^6cF8HB*IlWfh5o+3Bm@9bz~_Z01!3_dZnX-YOj z)07;B63}rLo-#M$?=EO$^px%S*v#lDcO(9uKqH5zd@m;h2dF`zz>vbwG((=DX?h(f z#e1sXNVwD0$n2@nC&IwQq|nUhse2>g&hClao_Zc)O*8CROr%7Z0=RUzni)MUZzSAn zYGm}Z^6+bB^t8T_aPM;?o2N}b0|Os}3xfuO5UA1U>2xFU4o@SKr*r=jP?y-#^+w{I z(1|>rZv6*2npaviuQX-hVlrdnQV3~g^bER@csIL|$uoF@GlS7YPS5ZOtvqZBP4gq0 z=9h3ua5OV|CfrE8cfFCxGjYNlP}1{EzL9wESEHb3%7kwWoD5P7+DrxvOyIF80|q80 zD+VS869!NpIEsO#naQ*IM$%nR2KGiK&)SJ^Kw}V|jW?3+W;e2VHcfJ3;A0SD5CI)_ z(#+`DaU*w>3|gRW0+RrP21C1Jjx{u`B> zcCTonkeAi0V?s8kxKTW-kNvg1v%nq~EQGZ-3~8(F;K=ZG=$FmQkheXq0|>GzH_vUsJ>F=XIkkYdnj zX7b9uk$&$blWZfmSN@z3P`Uz@w5*^4l7pc!j6n?4y!NWUk$(SrBcoTtT)}2WujU&W zck~+>y;^*ZG&6d&-pIHk)yV4AHrI%u>7X-1)4>7;4NyY%>b{Y2=O;sBej}q-@7&^v zf?gBmwrKEKiL$YYDR8kg9ky&b!XhXl(`eJo=(X^M$32NgX0Ju_8W=bjw3->cmfpy? z-_ywGwQSzrW=5~&H!|;-PvrJmG4H+|OVcs&rek6`ECLctEX|Bwn{Q;^{n*IpwPk*6 zGo#nm8=3c*8kxPe&CdjRrybf-q8sZmWuO#v+- z6D7Qk`&Bj;8AvFxur#U|88k}p)v2&(=*Y1-cnC-cOyu->6lly*CYQzpT2a95^)~PZ z0}q22g99jqfSbxzpx~S+>h&k6i>XnAk55TTN{U0ok57z4i$j4!gr||kTR8XuLkfcq z1J6VSZ^;m!MiUkuAr&(v0Tu}*7BLfz02U@WDFqe@J_RNg4kih{i9+7iVLAeAYCH)> zJPH~tLVQ9@Y+4+R%-;UtvJ5f|OcPzaL&D?5m?Q+$bbOS&41Ad6q?DL++!|fjvh1w% z*us=}nu@rR#5|bTbQ){y1ZqT>gj`q@8spqj1k5}*8rhO!gjl>Jm?Q*5{Djmd>UqzK z_iePPvS?%yQE5~YD3B0S6Z7NJVPdi}apPiPF=GkhW2?~8OEPj&6O-fMvtkos;cH~{ zK9&4xB9Hgk6d};1yCQr{DiRuI6NS8Qr>x;AVhLfBG0{n4u@MsDVv=dHnW*6XK5esv zOrw^ZU5E^miUgZLV^E`2qlb`_8HbBdBMS>#mRO^Kh>}oMBeRcSHZwyW1KUIiAF=EW zjXX>u9BejLd`uoGd{#{|CKWl28c}>qVkr}Od<^o{Sa=$Bv=jsywNwHcW%L@^eC!Hc z85$!P8krbe82A|6Ci3{W6-9CJ$w)MEn8`>9sIW~m_6aHW6_IHXsfgo{<1rDjvMCX< zVBr(t;E>YbQ_$d&;LvE4k~34{5a5wg)$k58|W z%frb?K#oaEs6b_+qR;$Fdln@fg%|@bJs~$Cp)xKh2fjvzh(@shF}6G*E;c3+8y=O3 z!ahf9ibRBT%p}Bk8l4m}Soqi^G`Ms$CUX1Ss?+C@3K0-!DzjqZ6KiDhd0yYmpfgd@ z=S>4Umx4*73|AuqhXD%@3mb=;fsY=W9)}1^gis@^FMH!d1}Sj=Qe>i95qn%S@9b2PWiIrGYqlg@jpGs2@TVqk9nv|G`o0S67L;+v3_IVs43PK81 zEJ_k0Tr4~sYK_dko*icyR2XC?n)~{7s>ygT$#94T$nh97rb)@^@X6V!@QKL?C&~D>@t|e#ei=71?rmyh^2_uC4;=bs-*C7a(a7SL z<6q3s>;jq>X{>5y^eedGcz0tXlV4%rJqDX*M!(`4j`!X)viOw*r7$&{FlaC|hcz?$ zRo!sD8!=JTuR3&&Oruqk2cr^;h+VT^qmNm07LyE9YhGiWfj~|(qu+!ZVRz3=TbA0_xLTB_agA0J7f+*#N#jQS#*HP74vj8VEhP?3K217} zyMi0{a5NP(@iZp2DET!WN^d-@(-_ofAjH*J$0#7z%;1li|iWD*G{u< zd=t=|(qz|YV-eG6#?ffg7}Lnp5g^ne(c;t?*Hq9Hz}P0%QtWm2ercI^MqA^OQRgbYnL?^3L zflH)O#!RQEF`?OrsVQrka5JO78hB{Vz+b(Z4nZg z?#b>a*cyKe|HxP=+IU8-X};?@iS2UQ({k>~Hg4frTGx2Nv~fexbg?VuGc;FnUKeR$ zyZyrF{?jNmNYww7>M4fCPEKYw zaNo*;!IGtfp_HkF!JNTLrf~~sX%qNrcor@OCc&nSW(>`rOPd)3BpI9;d|H_Tq!_$G zEQY4}|35S^HZujtfVMy~@HVmp$YpP3Xne!W5W?AbD1I_mfHs2x!}a$6b-2((o&e9d zlBOTNO^;3HSzd5yjN6hp%Y94Dx2(?m#tr_>i~*qr)dt=ZIRnCi+FKJEuZJ|Y757Jc z6JI5@F`}oknJFNiA%G!_VMYUEBV#~f@R??ofFy=shF}I)(3vZZi~(r|$D0`g(iuD$ z!Wx+aG89BW*?qE2KrU!MJxC20Q*uVe)Rcgg4C+)fj#Q^iP6-4bL<05)h#=JfO4Ls^ z3M_I}gQ zP3`|}7`Fef1FaG3XkcWR{;#N&DR4i77ef()9z){+&<5dV#=wIHYe0L@0}mN&FnD9I zq@6MFu)%up-uY9VjDbfCwj2C0xM}d(;6yuf;8BC^2FndL8oXv`Z0JAGa{YfDL*M@| z`~N=wU)RbUc*5W$Xzx5ja|y*Um+?C08g|FrL~_h6sAF!! z9difam`0|+yZ`?(Fg7y<-Zx+};ALQ%XcYLE(lUiHNE}o+1xZn8&_vE4Kh;xBi}ji> zx;i%Ra&G)8>chh^kv}NXZ@OL>4;PON8p!Qmj}qQc|A(Z~{XF=!S8Xs%LV zqEOI{puIdy0vvn-EKE#%Oj)#q>+hON*~jG*~*+h(UmXi9w8kjX{LThe3^j zjX{jTib04;g~5S=ivcvp4^qLw#4(XG*fOkChR2LeMS?@DkvZ5sT#y0OXHg9H3D?q4 zk>lWD;p1RY;oxGDRAN%I6Vu?}@DGt;lTuRPP?2lo56+M1VGv@LW3Xai1@){Lco^6i zJeWY|Q}ZzJF|bUO4Q`FJXOj_=U}F(bVB%5YV&M^D31MMk5s+dN<6>jtnkW*yB+7%0 zP0B)pg@wgQgo!7Ltx-rtPLHpVBY0Qz6wm++6DYVq!!Aq{IfG9`zvs{sk>O)w@tDXN zd^x6?Nk~LQgULmwkt6tCtPq0&gBf^kpA&Qy#zem0SF!aX0!&r`ZzKmiDv6Xao#VzQXX6Cxk~f{lxf zO-?{eN`+5gB43DZLZJj38xt1`6US7ZDb*}WA`=Bd>=Pcb=x}jxh=|Crv5B#{aB($q zgajvcGk~Ufgjmu*+cp@OCh~?PCcal0<8x?a3Mow5%)~QMH>5o2oEe`I z51$sB1s@X|iwKX11&0t5j~W{b7l)mWmkAr200)zkkQf&e3zLQzUn5({vXrk3V$4bm zpvh2>%QmJuOE5`Tneef&@Nu{>@ia1q98Tk%C=hZiO^k<&g+-24fQwCvPeX{8rI9J* zX4-s)UYm)6A$QZxFmZ{9u^4EuF`4oB=n3($OcV(Dkba1TO@)I)jLnKeicd~NN~e({ zlqsW<0ko*cfPs&JgTaM?X(D$hPsS@T9sw2}E)z8Yy@~vxl9|;?YB~}uSxhVzY${e7 zI*n|hT3NH144Cwo+!(|dxF+(1T4ZzDu!!hzh)A(8X(%-iTaCwOFG_r*@=4}SM z2;?fJiCUqZ`7CT40vvX-PHaLlI&vyP8ZH_}dK@egY!Wq090rYCB3w=)0z!QfeatLL zQd*77p<4^jFi0_2P2>#SRV2(KB%&oCC&AUo9eT8=6SO*nDUN}M!G=MGfeX9<)?uPR z=(XZZIUXq{7B&?Y11=sR0R^^3_Rtq4f(&L%jSS$C2LT4Pi6Wt&OU|&daIi=)fv!H# zV3J@FVw2-zYLpD)ENumC@L;fFXw+j+VBiAh9u0;tCL<;%@D#cjgBF7vgBX(#gA#)b zcrMp!qEMJ#d9Q{T3!9V-i;EVE7?%SZ8<*Hb!!W0c7BL<+5hE@(wuwSvrBxmhat0Dy5+O=bEF3~^Y+O8S zjXYtU)maQi44{cFJ_gW&IW{KH02LR5%0$kv*)>d{z8RAc58p(ouw^xFG8_V2Dndab zY8)C~OdN7-EN)yP^07!bDR7C&F!Awl#Z43lyIyZ^A!H=Mq{Ak} z$Hr&p!zMIQG3;f79+wako1K7Ko(u{ByOd2dgTuP1M zO&SS}kxfimOk4t7Y-}tnLIN5rjm+UeEoT_K7&s>Kgon4X^Dv2Vaj*!03a*Kq;pwfF za!eW=OcG2?jUwU2t%n%&KzoK5L>L5^Kqa*as5)S>1BZ|VgB^Hypw(U$@ zToQatY#dCD_KjsCb}Wr7;S1Vb8TdeZCMHUTuV|mZAtj~5B*MnR#U#PR!NegX#}B$Q zPmF0IclhBBZ!Qrw1wJMY8v&(8mhcN5_ZS2ihI=4u93TfI*FciNS$E2~_wqd4Q*ln3zB-6hMu0(2*Hj3<47cB3Qc`SoqjjIGDJE zxY)pT;Y860iLMVaVk$~vTwEMlS|S2WO#xggJSaz`}wr{<})#{OcamgoqUpsiHplhh(|(5PKry5g@uWSON+U= zgsYJwQf=xk(853lCWaaYHYN=wlZgV6Ce!kym{g>A+~hb+L^N2~0;C%GBHgA}GjM=c zk2ru65g&L&AGE>+w53TYGGh8K8x}ShE*UN!gGM$hBRK^#8k(`q`<^t#ls}h z$R61^3$zalv?ELbG;1-DKeB69h(MzR6B8Q~51W7tn*a+(BX{KNSzkdOVXi8+)=Fa-NEr72O9GR-Py#%1In=r?HL%Y859`h7-Bh?7#6ZIDp)cw{$^xkR8Zhz zWM*V!VrCO#X4t^Q#IT2fmEiz`0K;(xR)(7ltPBqr1Q?z(urd7PkYG??P-3uTRA7i@ zwEv&L$Y}6En9<+@1EaxZ21bKx42%Xh85j-jFftm*GI*;pureEPFfbbMF)$hk2rwFW z@v$0Yv9K7_F|itSFfkfT5MVSYU|=*TW?(cZV_-C>WMDL?;bdf3B+g{Oz|8nxiiy!+ zHXEbCUj{~lxlBw3tXzx=5)6zAG7OCWLFS6Ea2jxMGAgC9GAbA`Gcqg^V^o~L!l=~7 zz^K&3#Hggs!>E+S!lFp#}?im?ttb&tqd=EWo^x zjrlMui@?HWbrvmo7BNOi7PF=h#u>hiF^qnz`~4Z?Z!{V*7MnHZGx^QaWb}U`#~5&u zn=z1)lQGbql`$}rlQD2AGgIJ7M#jL65{yCK0*paxco>6z=re}sC^3dSq13vb3aGcLxsQWnOzgKUg( zx0o2?UWhZshuJYEOcP*C_{Pqd$jir+7@@(K#KFm!WW>#wG%18J<$(ZWstGS+Y7;MG z>H{{$G*eE-v~*dxLX72mY#1wdaxhj&a4}XTN-$R4WMr&*$iY}G!OvJ-&?wGW7s6KeLMqWeTE2Q{ZU@V1_=|!##9-`#`}znjlUQfn;3-|o3fY~o640K zo5kH2Tg5FH+g36#wspHOwtrJ)>^RKG*l~l8u~SQqv2#BoW9JL{Y4HM(!Yg&v`XNWOQ(-UHxwvm}}+729!(_)B9N%r*9TxnvpNaI8&B|ai%RR zDF`wCQsH2n_?Cfj;u9XmN#*K{zqEuYEP*&V z7!(-{8MHtp5FaDMA_@Ed2@E(&A$}rD90o=MStd|P#caUGplK40;TV3|0(i zd}gqF6hqmV6{9^k84O}T5z44o#mudkz%0q&$b#l)1{Q;U7Dj_re5?kiSXd11F|iuF zU|=zL&%kMf&HDT2Ly< zkjOx+ear^$tBFz1WN?px(cmG>jkUz+LGn`-iRvp!R4>S=sL0P~e4Uxmn30#&n2(j& zSc-wkSe}*9Sc8ShSdW>}*o2G8*p7kO*qM>h*qedT*q@!zIFyk@^|H(cJPeEmQVfg+ z6407XmI0dSco@|(IG7BKH*)GnGAb1@8}Kk1NHH2nF#eB6W-n|q)-PaGp3BClycmSp zLFEC&2nlIM#Tg8Yiqn`F6^}48DNg2RR9(QusCrC*(SU;ilnodSxL6ns<}z>^I5ILC zcr!2?_%bpX1Tr{+PLDJA%gAZ4kdf73H6xS3Mg~WN%?!*2-$4~LSUszOH(0HMK`+C*4SX1#41##Lz;>-+^#M=;kCwy`Dxl#`qg*jKyXJjP(IbjP*xZ8TIxjF#54DG5YBF@`2EGlubTFoqQ}F@~+-U<@~AXAJ);!Wj8jm@&Fef-z2n znK3S#i7{>;3uC;DJX4~O2xGF70AtENe#W$D5ylJyZpMrc9E_Ru%#4}W*cr0|Sedfs zN;BrXR%Fay&cRp^%f?u6S%k4Dl#Q{Ng^jVem654<9uH%Q6f;waJ~vZIs{mu^Bv!^U zQEtYvCG3pl@tlkmx*UuZ4>%Yrqs17jcFQoJ3cTnbxH^_b~~#u_HUJ8oVb>canflc#_3x*8D|8sGtM+( zWt_Q_m2s9X3*)S<%#5>*OPGEnFhNrb3!_pRJED2l!oaB1#l)!0%D||k&cdWLm4Q)7 zl?~eDV_{S(V+%EKWMwy4$lz9FHmY_VpO`t#3*OSz{vQcjD_hb8zZwk z2P3mA10%BpBO|jF3nNn!FC)_fW=5qVE~q+7s2f;8W*QqTWKcA?ifkquqk$L`qoxT9 zqvkI@PL;0=jA~+xFgy8__pvdnUSMEUaA)Q>oWRPcRK~!l1a?0IqtYz~M&%6*+-gM( zj0Q6qLFT~pF)DB1g|cBZKa>yl2b9eWZUV!by`((KJ?+F_b}% zG3*-)W4J2|Q+P28WB6PV#)vLP#)y6n#)!`hjFGI|jFF`xj8XH&8O;;98DrAT7~^t< znc^=oGRD7?U`(8}n9-G;@rKuZ|AqRl+>FWAJdDX#7#Wja^Dw5IR%1-dv1H1a!N{1g zijy(pi8y2CI}XMyBVnejkIYQj{CrH=#~B&3pNTW(sZ8l@_V9;6+Z{G zW2*`)V{77KMvp4S8`1Z_EoAekXKcM8!q_%PoUuJch_U^t3uE^b1;#$b#f+Yzj5iYR zo><80nZY>W9~45ci0&NWf&O))fpHAbtIXBrm`>vZ4+V&R%c)g)@EZ2Zf9c*zQo5ElFP*y z%EQJO8pXyKdYywY%$boXERmBb>?s3dI3qJ-xQZfUL^~5x!~zb+NFi3nNK;wHC>IgN z=n0IB(JPo3qc^fLM&IOQj49z{jQPmM7#q*T7+cB57#G0L7_ZIF7+=E17{7s$G5!J% zV?r1oW5P)W#)NYMjEM~ljET)GjEM&r7!%L2Febj?WlHL0WK7z|$e6TGmoeof6H_V& z3uCGcA7knl2FBEXjErf50!(SMm>AOz2{NYd5n#+H;9$(S!_Amkz|WY~#>kkpfsrw5 zA0uPdRc6L)HXg?8`3#KNi+9E@FM42)e>0!&?(MHzdN85w&@ z85w)pm>7Fz%QE({FfsO-GcoqXGBWlxu`>1@W@qf@XJqVGU}x+PVqol#!4%5(^{aBq2t|NiqyflT;X(Ch0LSPBLX-oD{>zG%1gb zanceF#z}X?87DVzFiqaVz&QDcIOEj0Y>d-X85yTpGBQpJ6JVTP&dxaf2s`8S?@CNF zUokMw{KCLE^DjH&EH8e>S)Z60XZ>ejoXx_*INOquadsFpmi`R;GCZOpNpTI2h->;bxrg%)vN+A^>qoLe2mH literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-0.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..cef1a9985191f53c4a8a35811d1caeecdd1a1820 GIT binary patch literal 241 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMDX1U#QB!&{)sVSl`6ZSl`0X zSl`CbSl_|WSl`9aSl`3YSl`FcSU-WGv3?RmWBn9{#`8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF9QtuJ(EU}&soXsmByXsmBx zXsmBzXsqvGXsqvIXsqvHXsqvJXsn;W&{#i-p|O4nLu36khQ|6C42|`(7#i#6Ff`WB zV`!{jz|dH~h@r852}5K3GKR+b6%38_s~8&V*Dy5JuVZMe-@wpVzlou-ehWim{WgZi z`W+07^}84v>-R7;*6(9ztUtieSbvD2vHl1{WBoCP#`+TsjrFG(8tcz6G}fPEXso}$ z&{%(op|So7Lu36lhQ|6E42|`-7#i#EFf`WRV`!{@z|dI#h@r9m2}5K3Gls_c7YvQ{ zuNWHZ-!L@Rzhh{u|G>~#|B0co{tH86{Wpfj`X3C9^}iSz>;Et`*8gK@tZ!@p5ugxg W1O-7OC=41wfza5+(3sWO!vFvgf}8LF literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3172308c79d57147cdbe05930228043faa48ca54 GIT binary patch literal 391 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>WMF9QuP^jqU}&soXsmByXsmBx zXsmBzXsqvGXsqvIXsqvHXsqvJXsn;W&{#i-p|O4nLu36khQ|6C42|`(7#i#6Ff`WB zV`!{jz|dH~h@r852}5K3GKR+b6%38_s~8&V*Dy5JuVZMe-@wpVzlou-ehWim{WgZi z`W+07^}84v>-R7;*6(9ztUtieSbvD2vHl1{WBoCP#`+TsjrFG(8tcz6G}fPEXso}$ z&{%(op|So7Lu36lhQ|6E42|`-7#i#EFf`WRV`!{@z|dI#h@r9m2}5K3Gls_c7YvQ{ zuNWHZ-!L@Rzhh{u|G>~#|B0co{tH86{Wpfj`X3C9^}iSz>;Et`*8gK@tZ!@p5ugxg Z1O-7OC=41wfzSvFg~lF+M*YS<1^_33oyPzG literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Adobe-Korea1-UCS2.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f3371c0cbd14c89a7d2b5a72e4e4f9cdc6d6017e GIT binary patch literal 23293 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 F3IKnzFJb@y literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..beb4d228104cd985130e6eed7ccabdb63e94ce27 GIT binary patch literal 1086 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL)UbxZ6&FkwN}dKmwye z+^c}Z#^Qwz63GnAuk{%e8yS>B8kHCr8Y>tW8p|2j8Y>;`ni!N~o9rF!nq`%wnqwH5 zn#&s*>{^1AVq1kA?OF?zV%zi`?b>;jV%vQj?K-rSVmmS&?K<6+V!PNJ?YdHwV!M?c z?RprMVtX7M?Rw>uVtZp9?fR^hV*08W7$(&_+VzJk#ZC}&w3|?(6g$z_(QcBUlHQ~M z2EEA)j&_svm0~C7IoeI}QHq_)?PxbOQz>?uhNIndHl^6?)<$IhKxgbH$Zn=Y~1j%`;JoomcE=H$PA*c7cGS-GV$NwS~G2 zW(z|d?H2JU#V+!8v|FsH6uUUXQE-VH1H-})2JIygO0i2>9PO4SDa9^RbhKMmuN1r7 z&e3j#j1uRHXolbwX^wU)t&}uZRx&WGNM$furR=D%DvUvPRfUrHYB2_e)%pw!tMwS1 zR~tBrt}bCY<&Jh6IF&*-crY-mFJoZaDCcOmQB^5+V~V5QCMTuX&5VwAo8y&Y zx5zo#ZK+X;-D>S=Mh1qXmJG}Xtd(L9*gM)C zlvRp77~^Pn$Vw^pP^F{Y;cz9}BVr5;`~4W?j)Xee9Vt;_J!;Gle$>j*?wF8L?6E*c zyW{#wQOENb7>+YCFrM&qv^(Lg6nm1((e7l1QtT;pN4wLkO0lP19PQ31DaD>ibhJBb zuM~T>&e85%j8g1*X-B*Bl}fP}EFA4FiYdij40W`-WULf>smRgpa)46o6@Ev%E4fOH zS9KVouj)IRUgKuqxaOo3d(GR??z*N@?DY&ssT*z#$~Tgf{BN=`FkIDR;JF#*Xm>MN z$>x?41H&~(2Kig@j&`@|l{jwOF@)UqaJ0K4tK@knhJoRM2!qgFHAlO;c-5L z=tDCl#fLr&)(`U?O&)18a6U>@ihY#rsQTEGLE>?NlJFBw28M@u3~o8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T;$*7pk;t>qo8groAH!>XMuyjh o42+FTOpJ|eOpJ|OOpJ|uOpJ{}OpJ|UOpJ|EOpJ|k84R!d0k~2rGynhq literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ce0013167f852a873b639e301088c094d468a750 GIT binary patch literal 1099 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL)UbxZRF{@h_7CBZE9+ z0+T`|`=GXcRij53PA&p8542=~G42|UsY>kzUc1;XQu}$`lcFnR% zQq3`pOwHvC3N1$Qb}hk5v8_UmcC7_Uv2FT}cI~`MvF$#Nb{$$uu^pL?cAf4@v0ZGA zc3mk-vE9m!c0G(ru{{oscD-^+vAwa5c74`LF@04G43p{|?fS!&Vkd|>+D#}?ik)ce zXg5hvNpDgBgWhBYN4v@TO0kpk9POs~D8)|YcC?$CsT4a+!_jU!n^Np_S4X=U%1W^_ zk{s=3Iw-}?tar4V6{{3GTgK6Dc9l}>97{*Lx#CK(bHg0%=9wtP&MS7bn;)nYyFkFv zZb6=s+Cp6hvxT9Kc8hqFVi$Qk+AY>pid~%HD7eIpfni|?gZ7dLrP!q`j&@6vlwy}D zI@&F(SBhP3=V-S=Mu~GpG(+%;G)KFYR!W*HD;XG8q%s(-Qg&2W6~-XDszOP8wHO1# zYJCQV)p`uhs|_4QSC=p_tSV{@?EyLGy)j-2aq7#Lbg7!=l( zF$k@fP?A}%&A_l;oI!WJ2ZP}Ha!0!joJye^JQx_(moczylykJ(sHzmZF~!ktlao^H zW=2Q5&GAaHTjU(=w$v!aZnbu_+a{?LyDh@eZo8RM?DkSeyB)zwu{(tv?RFL@#qQE~ zwA;>ce6$|}VkjB&I(WTg~)sM68yaJZ7~5itga{eBE`M?xL#j+7{|9yMkNKWgP@ zcT7kr_E?~!-En=TsN;DI496K67*BXQ+MV!Liap8YXm>J0DfX1Qqups%rP$Lhj&^61 zlw!{$I@+DJSBgDb=V*5>Mk)5Zw4>emN~PEf7LIlo#gt+%hC13^GFFPcROD!PIY24) z3csV>m0Tspt2zwPSM?oDuW>VQTys*2z2@y`cU@B{_Iie+)D1TV^-iJ}_`p zf5^wc@Hn4A^r4xO;zJ(>>xcP{CXcikI3Fb{#Xib*RDJBpAn~|BN%#pT1H;2S2Dc}& z42(}w9qpc^E5$xlb5wf9!oct(g+c0>x>D>jCr7*I3QDoh;~ni@*eb=osBtuV8O6Z< kN=QlRl@tTRD?tW^SGEicuRIyJUfD4)zw%08{L7R802X3ttpET3 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/B5pc-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..73b99ff2fbca40e7ca5501f61e3f2f29c1fc1af6 GIT binary patch literal 144 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=44ustm~1;v(TI2l^-9&YkfwB q*M8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyX6{?KaAD)F*ruaOaFUS` zETq85Apa^Lfl(puRX{R3NL_4lqf%_6W22I8lYC=PY?E)Jl6SKv>pOQyJFtGPhzevJNOwk zNV0ZuFl@i`S zT**2;k!iLy!?6U0GeS)Bsu>qCFf8R{TyDg0k2krIw{PL0g$gZ3&GE4t%i+C zv2FYyBDYZ~w%xl?DYiqiQ7N{Q9YmxyD#dm=H!8(;D}spnMy1%E*hZz;Uh77s*gi=R zQQoK&+aKDf6g$DVQ7Lw!Ac)9sREnMC+o%*fS-Vjwb_yqmNN-e%o$A`C6gy41Q7Lvh zBZ!D^REnKp+o%*fQyN56HY&x=3U5@3oo(8v6gx*4L=-kE#m@C_REnLa+o%*fpBqGE zHY&v~aBozKU8vfq6uXESL?kvU#V)pQREk|93nHo;m137hHY&v~GjCLiT`meDiW`+; zR|GaH#jezEREk~23nH=`m10+WHY&xgQEya=UCRn0k{gw@);TsE4~<=y)2I}?-m6h5 zc7sNvQtU=H5RuZT6uZf(Q7Lw_0*I(D z6nlyZL?kpS#h$inREj+#10t##m156EG%CfOGiy|eJudK5jBlUu{WX`m11vNG%Cg35(5z> zjY_e%gBq1$?-(>H#opxu5uot92MWLYpzwPD3cm-S@Ouafzek|(djtx<$Dr_g0t&yU zpzwPN3cqKd@OuslzZanJdjSf+mp+Y3%CEE%*%vM(P!bdx4c2m?P?`p%Kp`*DWk90! KXaPV}0RRBp2ya6G literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/CNS-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1a393a51e079d1b5e7898423463fac5e87170da2 GIT binary patch literal 1920 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyX6{?KaAD)F*ruaOaFUS` zETq85Apa^Lfl(puRY0*ANF7%)!z(}De1;l^I)*yNMkX*~V{Bw&Y~%tXKE_5q#zrA9 z5@T!>V{DWHBRQo;xnz#Mg^Ly{H99gdyz*zTY)oxb(ruD&42o^?ZB+7Z)@EdCE^joD zZLTUd>RY&cAwx?rQ;P&cO9(@YG($@iLyHV^OEgo9EJI5?!@4|%mIQ{DB!(6RhL&W8 zb@>b}ii|BO3@u6w>k1fJlo?vm7+NYB)|E20R57%uFt^k&w5T$-GBKG6nqQl%8#?Ye6)*8jIo{PCPkzqX#OKU2_dS2$% zEQYqQV(GqxD;Bc0g)_9pF|;Kyw&=09B{QryVrt7~ZZBilAjH&O#nN8K(ZR~FL6~8K z1ak*J!v;y#E)Ir`>Fiy63@ru>UD8Zl3e3G?3@wJtz4BZW)R-oh7W4KkT)B{8k1@mK z3Whxv9^E zV%K{$D#dQlXjF>b$Oa-(8kJ%iIag9o` z2W%RZVh>7zh>Av~*h68BO0kDc8kJ&?2!V)#My1%JevL}8$8;K%Vvloyh>S+1*b{Dz zO0g$Z8kJ&CF@cDLMy1%(c8yB0XJkM`Rijeu*@#A^*mGu$O0nlfKtxfaQtX9*My1$` zdW}l4mv}%#R-;nvWsgRs*ehy{O0id2KtxibQtUN{My1&6av-9nQ7QIDRHIVtO^ZgQ z*jr*CqNGtN_I6OCQtTarMy1%hd>{f8e)mA(cOMjf4?yAf02F=?LE-lZ6n>9D;rAF6 zeosK*_Y@R1FPLE-lT6n-y2;rG&~QAzogR-xF!g%lMii5x@~Cxu3XwJ<4^ Vra@6s$V+rVl4w0ziV#(b001=lk23%O literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f738e218ae2b4e9c33a1833a49fe20027e869aa1 GIT binary patch literal 706 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>R8(x-6`RPes2H2vs1)1i*r=r2 zB;Obm+vMA*4WvGq(mXw1zUY=rFg2F|_EiwMH?l z=VES6WLVF`(wfS!o|m~bi=i#7P+CKgwJn^XEsmiriLphGy)Btxy%AGeHgkI!!v-Oy z_9~Y4I*txjh7H0D8zh)J_!%}xvUYJWY)ohG;$vtrVCa%&>QZ3t6=P^IWbT#cnxMus zxwMd1Q;}hhF~j5vhCL>XlPg)LCo;{pW;m9>a7Kt}UNz$)28N}ajLVG}?(rsCJ1Hu( z7&XVowgfjS#kLwYD#f<(gNWQlrPy}wMy1#e%|@lzPIeHH+Nc!U<=m(g+pP#9>Km0} zdtw`vVtcI{m16rOK}30@Qfz-{qf+by<3^>}iGm;^zfmc6l5e9@>}2gmrPwK)AR@g{ zDR!!Bqf+cN5L#EzELT5hHax#>`ZA8QQ4>zJ1e|VDR#DLqf+b~VGvQ+s1!Tb zzfmc6o^GR3?0jwzk=dveyTH9sDR!Z1qf+c5W)P9ss1&={zELT5i7beyZd8h08ri56 zyUe^%DR#Lih$wDUid_-ds1&wod5s; literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/CNS1-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..9c3169f0d9a083b462427bf4e46a25296ebbd862 GIT binary patch literal 143 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=Ij@2sOyo)qo~91%8!qshLNF; pfw7T^iLsH5iLsH3iLsH7iLp_LiLp_PiLp_NiLp_xF@xciKLD(bD0%<@ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c89b3527fe57ad3b32061f36b73c756ead3fb071 GIT binary patch literal 504 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>R8(x-6`L5Os2IC0r%@?(y;q}B z>;{cSrPz&ZAR?tvDRz@nqf+c<1rSl!s1&;;rco(&t5u^?>^2DyQP!vwyFH{)DRzfZ zqf+cn0T7Ybs1&=)r%@?(w^pN4>>dsfk=CdbyVs>rDR!Syqf+dC1`rX~s1$p^rco*O zpcIIxXjFXjF5qSmMsdzA%5BsD6D#hNkXjF>5B?cl& z8kJ&i2Q@0i-Z5xYioMGRB0%AH4-|g)LE-lR6n+mt;r9>}evd%m_Xrezk3r%01QdQx gLE-ll6n@V@;rARAelI}b_W~4tFMS%7lwWB90L%NvCIA2c literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap new file mode 100644 index 0000000000..7588cec83e --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/cmaps/CNS2-V.bcmap @@ -0,0 +1,3 @@ +àRCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSEáCNS2-H \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/ETHK-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..cb29415de4f5a669c1b47e34ab889b5fdee6e428 GIT binary patch literal 4426 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 F5CB)4FB|{> literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/ETen-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c2d77462d298cdb261f5e2eed5218fcba35cbe4e GIT binary patch literal 1125 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL)UbxZ6&FkwN}dKmwye z+^c}Z#@dAr63GnAuk{%e8yS>B8kHCr8Y>tW8p|2j8Y>;`ni!N~o9rF!nq`%wnqwH5 zn#&s*>{^1AVq1kA?OF?zV%zi`?b>;jV%vQj?K-rSVmmS&?K<6+V!PNJ?YdHwV!M?c z?RprMVtX7M?Rw>uVtZp9?fR^hV*08W7$(&_+VzJk#ZC}&w3|?(6g$z_(QcBUlHQ~M z2EEA)j&_svm0~C7IoeI}QHq_)?PxbOQz>?uhNIndHl^6?)<$IhKxgbH$Zn=Y~1j%`;JoomcE=H$PA*c7cGS-GV$NwS~G2 zW(z|d?H2JU#V+!8v|FsH6uUUXQE-VH1H-})2JIygO0i2>9PO4SDa9^RbhKMmuN1r7 z&e3j#j1uRHXolbwX^wU)t&}uZRx&WGNM$furR=D%DvUvPRfUrHYB2_e)%pw!tMwS1 zR~tBrt}bC>ce6$|}VkjB&I(WTg~)sM68y zaJZ7~5itga{eBE`M?xL#j+7{|9yMkNKWgP@cT7kr_E?~!-En=TsN;DI496K67*BXQ z+MV!Liap8YXm>J0DfX1Qqups%rP$Lhj&^61lw!{$I@+DJSBgDb=V*5>Mk)5Zw4>em zN~PEf7LIlo#gt+%hC13^GFFPcROD!PIY24)3csV>m0Tspt2zwPSM?oDuW>VQTys*2 zz2@y`cU@B{_Iie+)D1TV^-iJ}_`pf5^wc@Hn4A^r4xO;zJ(>>xcP{CXcik zI3Fb{#Xib*RDJBpAn~|BN%#pT1H;2S2Dc}&42(}w9qpc^E5$xlb5wf9!oct(g+c0> zx>D>jCr7*I3QDoh;~ni@*eb=osBtuV8O6Z8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=^B!nr|V>@>ygN@FqW~AiHWh1 zjft_5i;1z3kBPBSh>5XLjES*PiixpNE|F!SH^VDGK8Dx&j0~?08`&6M`6n_Sd&2lm F5CCYoFI)fs literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-H.bcmap new file mode 100644 index 0000000000..a7d69db5e3 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/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/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/ETenms-B5-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..adc5d618d6912cb3a67e4745b63764120f93d17f GIT binary patch literal 172 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?HZDrms_msWUA}o$hOe?l^;Xn zWoOQ25yqxk#>Oidj7*6<3u74@nV1+G*_ap`xtJIm`Is0Rg_sx{#h4fyrI;8S<(L>7 TnUokC*%%lbxlY+Lz7qrhrJ^y= literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e92ea5b3b99b1f20d31c9760481de0472e72685b GIT binary patch literal 578 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWa?XBztpjDSF8dfgM4Fp z0;57)V|t=s-vaw4x22A;EtQQ*yshEf?5(LBY^}N6e61zy>}|{}3~k(vhMa9Y?2>I_ zY?5sTjcP${UX8k;?Xrzp;_by8;vL+L9ts`G{0bc|feI@Y?lNZ*V&miFlM|HVD`yg8 zg<#r9Y?D#i9n zf{5})rP#jEMy1$(<3^>}34$OZzfmc6qHm*8>?G|*rP#@wAR@g{DRzo$qf+ctzJ2SjdDR!1=qf+c_VGvQ+s1!TLzfmc6u5P1J>^yD| zk=dwZG~d0^H+Ftiqf+dGh(@K@g=URPv5Q1NL{Xzs?Bak%rPw8UjY_dgc|b%~qf+cL zk4B}~`I45rPx(+Afl#GDRy;Kqf+b|i${bO3QP-#xyDg?sDR#S6 aqf+b+2@p}%s1&<1q)~}^mk|TwffxYwiNogr literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7a7c183228dfdc5c236b7914ca68298520ac60a1 GIT binary patch literal 170 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>Kf{->ygO1a1rBPe_qDDft*Zx vgPB8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>R8(x-6`LrbsOa8O$tcq5)TqSU z8s5an*~Y^z*(Sy&*=EqF7S!g|s2kcY+o&bpUd$oh!QJSg(4ow)(BaaoZ`YW?z|hRb zAlszTsASjV&LG#!-l!DNtj565q|U(IT;5#B&|1a7&|1mB(8kEl(8iF+u9(TN%WSHZ z_b&5BL)qQTjAFYLIr(>6FthFUU}W6wpU9{i&v1~rkk>$wp(B-HcOZX9I>SySwvGyh z-9d((3=F%2nLCXcc89QcS}^PmW$bh;!7#MbEF!yjVY*7&G;b+*LDbb^p$ZD#{*<;PXuse%E zxW|owVRtrzZBKNepqU~=uO!3n9JXF*hTXYRy~+%`jM#ha8FuH%^m;Jt&S&jSW7u85 z+MCO;yO5!`gkg6PLvLB3n7JZTZ#l#6V!_^OhTSDReS8eNOWFHm7)-i(wC=M1Ls5+F1Vne1<(ttP>a*_AoO~U}xCF z!ZLv;k=;tsaDpHM!yZ-!p$RSw413rZxFetR{3Px| zPFqFJN!kp11UV;}G3*gCndHd0N0@n11>+u3u1R%;ympGrlQ|joi1SS5W7s3XHCcvX zkEF4Pw}%!!b39VUMoJ)SND* z?9u0)rpK_yfOVQJ!yZGfX)X+Vj98`xFzzvCofgip$CP1OTp_=+BI~qxhCOBs)6y9C zm@`hxWZYxPJ1v)CkG0{n8iqYK%+vK5_SmvcH(}Ug$2i@(kk>^~db%yc9(&H|Q4D(= z7^bH(>~UnAp3bnxiD7yc!yad@={XFGO_ios6iT})GR%->*yF-HLzZEWE9(p;hCOa< zGc+0YxU0n9Tp z8CIDw&&Xrgo%u*@j^-yG*Wy-K8o@16J!=40&SnU%?~Cs}Y-Im4b5 zj@ev=0-lNtvxOP=q;ky`W7w0;Qwlc$>493~240|#;XKOI*$>N!9%&;e$akeAF zo*bRoE`^+4ii)!f8TRCI%n@POlgB+rj$u!}>>O=|Jq0Xtyb5`}6&dFEGwdm3ofF8g zr$}K=1jC+U**R4VyNp@pN;2#zVV^6{ut1+>u0|ohkD~TmU4}iSTyvus_LQ;AO=H+o z&Nw%RVNZqV+3=9}-q$UHxSk#T-3qvZUAMqiWp zRSXPs)fv}GVFzl6PSmDnwBZGBCAj4i6&J_`f zOmUVBGjgpNy6Y49V-#aoBsD6|9D7wm=QF)agBgd-ZMy0@2HH=)V{Tr27 zR!1?KuTEeTT_efJzQ&+YiF1twBl8+(CZ9E)iR^I!40~mplo{VyrSf|0j&>g}czs{(TGeuE+T@b@w4eoW>4D(}T)>Sa<)#O+&#;{k5 zf4xGYM5?0rdIJWAz1j>6>pdA5_UbTjuJ>kO*sIH6zCNr`No4~c1H)cD2J;OjjY>`% zau^u)>N7BJ1nDqfVBcuUz_8blfqSD}qms}@F9wFaMhvVQ;}{tB8Z(%0Ol4r$Yr?>} zNv@DHQ;}hl2E)Wsu1#7D^H_N{nKA4&mD%LN(5;}nDXEY%OOa_a8^bI)#?4#|d(A{P z^D^u;H`uJqu-Afbb7&!FwxYo16o$Q)nw!fQdidD4C^GD|;@hIdu-BS>i&Y|HjxWPh ztwg>YMeQw4j8a?j89BFdGjeVfYgE$Ns=z3-)sK;3YYrp-*1Sd~_N{e{LfhCGCALX3 zs%~$1o*y|+8u-CbX zmtn6#hxGPBhCV}vy`CI9_!Aim6=Qcu z6mk_Qa_=Z(*z3i+lbKN3m4RWe9|OZK!)~S6gX)b+B8ONR-497MD#ad3YE<$)?7+miUxtxs GpDO_OIPMSt literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ea4d2d97b8bc1df2abebce0d4f8c58789f723eb1 GIT binary patch literal 2542 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWNdWUYs0{}z@Cxufx}K4 z1x5z>#`FY6g}BD_MCnEcyOv5uj#djsrBu)=CD3Hb!=aHiks@#!iM^W?d5AyUc@RcQZ4J?N;RC-)+Inw%db| zakqaWV|yLLLFPi^rvpc)GsEsM&Q4#3-Qi4~5e&N{7&~JacSkaJCNS)dmg!6_SAKp9V6Mr z$FMt=VW%g`r2k>tS&DGVD%g zSXIQ)!@#gRgSm%`VT*!b4?n~1Oo<+)MAmKx&K_$9hTT~V!aZ&b47;-#Q!dgWyIcV&#*gBrq_dEcRp)x8pG}a*4|u(-GvOjB@DZZ7<$VJ z`Fk9gddnGh7Yp`QGwd$m>EmPAUCQ1k!?3%IsZW(*cR6F9Cd2LumOdSZ9lXqaMuogR z4a|LJ47)42`>YvuSF!bZFzl{o?h9bpT_e;N%CNhZyDyVrcb!dNSs`by182W6!|r;n zemjOe44nO540{+Q`a>Dk#xnKi7xMNt@bnik>|tV^z`(GFnRx;`!yXp12|NsYScN9I zFzjLDo)E#Xhn;gmY9VKz1M7r*hCLjN6UrF&a57A&WZ1*SJ)xRm54Y+>jzX@!2Gfap z410L^CZ;m%;bqvQ$uqHxVGke6Bo@X!{PL5y6IuHmI45Z{FzgXz;GAT}z_3S%L1U6* zpc7%=Qnl$+wt zut!O0N;<~t>Z<-v#9(~?vdJKCESf|-C>@nn;=EAVY zh-F#;;~rzyY2gfeOc|!d6>?5;V4W7vu*ZyHS{maXbH-_zjC(A3r{yy2u~wW`Qz$&C zfq%Lj!yX&v>G}+NY+0w9Fzm6Doo>yr$DVU~6vG||hUuvcdmI_3r!(wvVwj%Au*aEe zdJe;4Q>Ez@g~F2^7-mQ_>~Ue9A{S=br&vKDgAbdX*U!LXN&V?imyUUsGh z^$dGC7#1=!?Bx_($ePGFv!Q08cp>L32fjrj412ja7O61okofRTGC zgR|XI9!ABb-i(n;^PKILc_gyW>Sox>XU4FXzfqE5uYelEUO^d#y+ZyBdxaYf8TN`4 za?NdE*elAloP%Mn7}s(UhHiD)fSf(KV6`yG+^F7$mYjbl_ZL!N9Ork%4)QGXvvZB?jF!o`swb z8#LCGGwfBdUaQE^pU1E^j$uY1^V$T4y{dd`Qxn-AIcTgcVPM#+#=x;oj)7sXIs?Z# z4F-np5C(>IMunV@8qC%iGwjviUYE@@{HDXv(nHP;R3g!(JoSjd2Wnjm=q!qBb2vMH&M^J#{j7m?i!#GrE50pS412AOw^%Vu)soth&#>2qb1OH)UR%zs zVu{Sp9dx!TFfi=3V-VQtSIGUmfqQE_!(MxatvL*P9mKchG3<2|+Q!bX*GXcVG{atJ zwQZ(}j4vGQw#5|ky=Y+BF3qslMQghv!(LZ`?Y<0q-MF^LGwgL|*`Cd?*F$=HAw!=b z!(LC09sG%mFCFZ5NEC9tY|z>f&al^ucPBH$UT^-LLJS?{410Z4cB(LRX>#uLN@RTZ zlc6;~k@4*ohJMdP-d7I#J3|;4_WCmL?qX$>*(J=tu-A`)VV7a6qTNAtM&pBNjP8e| Vob3)JG3FdrWa8W}!^pJH6#%7;4(R{@ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Ext-RKSJ-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3457c2770913963731993654c838df133deabbb3 GIT binary patch literal 218 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T!*Pnsm zfDZ%1fgo0f0|5*S2mJY&_69St>Pmn xgyf_fi&`BS86Z%SK_1LvV+aP*AW=yM1u&b9A(6RxD&sz;b`So2EP{;tL;yL)IGO+e literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Ext-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..4999ca40412b66e87c56870c80cff32212483ee8 GIT binary patch literal 215 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>RM5v>ygN#sKmI}pMl|k4+F!2 zAXbJ00SpWW{P~&o1~akj4P#(95Xr!BAcTS8KsW=#fiMQaz0r;mirEKz8Q2(v8XcsY qi&`BS86Z%SK_1LvV`wx2GeE)!!9-@&QpSBu{hs{$SOggNi2wi~o;JMz literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e39908b9844939a3c6d6baccced5771b8c1b1b2d GIT binary patch literal 549 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL&tgaaXJYBZK@Nl>{aQ zhCM0_v2A*Z5epZ_CNvruHrg?9HWn~(H&!*O#5S=tDg`yAH0p*nn>T8SxA1b9w5T>} zE3`!ME3{NM>dUvvu&B1$G+KJMCN&zyw&^u0$+z=#Cd9VuG%Ce*aDj-7My1$Jw??Jd zE|o^5*ls2ek3O0iSb8kJ(Fv4DuAMy1&44vk8&Gvq)-O`}rm%&11C*jW~hO0l!W zKtxHSQtX_dMy1%f28~Lw^Y}nSPNP!ne6L2O*aaGmO0f&sKtxKTQtTq9My1%r3XMt; zi|ZQIW0!mwVLVmFvKD#dOT1rf!KO0k;)8o+RJZs7$H u*^NrETRj_r%7cj7My1$Y(Tz&6yDb4yLc)9i literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GB-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d5be5446aa40898742183202ce0624b8acee5234 GIT binary patch literal 179 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T;qIjC8tSa;ktnio5kreT14D}) z8$(MN1LGbE28Nb!7Ty*&JBB?{%}NX{PHc=VE=&w9wu}sWq`4Ve92gn)$S^XrI7>6^ ak!57qBge?l5+Tjd62i#P63W1^M;-u^sWO!S literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap new file mode 100644 index 0000000000..39189c54e3 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/cmaps/GB-H.bcmap @@ -0,0 +1,4 @@ +àRCopyright 1990-2009 Adobe Systems Incorporated. +All rights reserved. +See ./LICENSE!!�º]aX!!]`�21�> �p �z�$]‚�"R‚d�-Uƒ7�*„ 4„%�+ „Z „{�/…%…<�9K…b�1]†.�"‡ ‰`]‡,�"]ˆ +�"]ˆ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/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GB-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..310834512ffe49cbb7ca903abc2dc1aaa934e6f4 GIT binary patch literal 175 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T;_jsDktm|5#L!~Tz|dmH#?TVR zz_>?(fuSXwg}24cj$w~fvl2s#6B}cT3ll?&EhEDoX>P_A2S$cHGK>r@&e9BfWEmOu W$T2dsL`XBVgfKF+gfcMfkp}>6>M(}@ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..05fff7e8254c995031783fb3b4892d58a6b176ac GIT binary patch literal 14692 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBK-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..0cdf6bed6d450473f92e691e9015e4028113607e GIT binary patch literal 180 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>F(sM>l*5;>yaq3a1ld`Jp)6F z9UDVS7z5)T2?mCia2DPcH#>$sQq4*XElzBVEiOz9Ew+pdd!)G;TO1e}_Q)_Yv^YyM b?2%<;*dxct&=Mid&=SJP&=ShPuty#M%y2T{ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBK2K-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..46f6ba5967cdfb381f001eb1193f17b43d943962 GIT binary patch literal 19662 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 Gg?s@0=Qhm% literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..5cb0af687ee20a10ecc367892ae49d7b1e74acd1 GIT binary patch literal 14686 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 m#x)!aQaU{q*a;|BmZ+bU=P literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBKp-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bca93b8efbb18a13e15025ad41d23db8267d2577 GIT binary patch literal 181 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBT-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..38f706699f395dcdad5c6ad93d1a9b6fe9f66c78 GIT binary patch literal 180 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>FyMw>l*5;>yaq3a1ld`Jp)6F z9UDVS7z5)T2?mCia2DPcH#>$sQq4*XElzBVEiOz9Ew+pdd!)G;TO1e}_Q)_Yv^YyM b?2%<;*dxct&=Mid&=SJP&=ShPuty#M&!aNx literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBT-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..8437ac33771536813228e3f9c1cb6c35af3acc72 GIT binary patch literal 7269 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 X_Q)|Zv_wcVw1hA+w1hG+?2!imsEjb& literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f6e50e89363483070b25106b94f729ae38587d28 GIT binary patch literal 7298 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBTpc-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6c0d71a2d04473870c60dc59342400fe1b4ccc48 GIT binary patch literal 182 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?d}v(kgV$(>a6RLD6()7LyJ8F zLyH|7LrWL~;~ohHhL&&^-WE4IhCNcvN(?PdY>X`~Objiyj0}6Exfxp=7#a4+Ffz0_ dOEc_|Wn|bR$H>qUA8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL&tgaa$|{<6kBPMh1Dt z1SW+zMn;A`3W*U57se(u8W}d)F>y8)FmX3lHLAomu{A0MHKjD_hBliwYKgb-a+tKJ zHfk%hMDZ)MR5$9&x5}`nw%RmWdbcJu8pgKiH7d!s^K>S}w(B%1#ddIkh>S+1*iN@b zrPwZ&My1$pCJ>R(s1(~{*QgZRD+3~`8kJ)EA{v!q`^_4aVkd}zh@wWN*ogs+O0kpl z8kJ%v^MHt~My1#(9*s(|Q`H)kVyCfyh@?iP*y#?9O0hHKKtxTWQtZsAMy1$U7L7`= zv&BF}NuyHioS;Uf*trIcO0o0!KtxWXQtW)MMy1#V8jVV^3)w(KN~2QjBBw^B*u@Hs zN)e0e8r5T$gf}Y1E;Vgbid`lQA_^OoVwd|jD#fnQZB&X~$qgbh8Lxi>1su2yYS zie1ADA`%;wV%OR?D#fmo1rgPaO0nxB8?$O0l~w6Bz$8?NI~( DBIm>* literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/GBpc-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..31450c97f640ff40bd79677cd3e97f4485453d9b GIT binary patch literal 181 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>R8(x-6`Lras2JN)*{H~Rd#@%Sh*~Y^z*(Sy&*=EqF7S!g|s2kcY+o&bpUd$oh!QJSg z(4ow)(BTrOprN?SoJoj{kCRVMP>!#hNsNt;Q%p`!PA*)AUxv?BMO;NF(ak_Hwj;Gs zDYnzOQ7N`d5k%BCD#dokHY&yTST`!g_DX_?@{R7OrPyhVAR@j|DR#PTqf+b)X%JD_s1!RhyiqB3 zmT99>>}+8WQP`*yJIB9KDR!=Iqf+cVZV-{#sAM$Xz0o&zepRDV?1G3!rPzgLjY_eL zL_kDQqf+eRfJUX*C3=lYu}gVCL{_6x>@tr=rP$?ajY_dASU^Nlqf+cjheoB?RdOJr zrco(&byTBL>>7(krP#G%AflvEDRx~@qf+d8gGQy;4SXOXr%@?(qgSI+>?VyyrP$4E zAR?tvDRzrfqf+cv1rSl!s1&;`rco(&yH%r7><$SKQP!vwyECLwiFub11LJ`h0K+%A AiU0rr literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/HKdla-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7d30c0500520d563d0e5891c8f4781c61ddcca5e GIT binary patch literal 2654 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/HKgccs-B5-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d353ca256b54236a4acefafdbc08e5b719892014 GIT binary patch literal 149 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?ctrCoLsEyWUA|t$g|L!;gugB v!)tv;hS!D+jEzi8jE!tejE!7OjE#IujEzD}jE!PUjEz!EjE!;`46pnF60<9t literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/HKm314-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..576dc01112bd7f28c30804661f546ece203c53d8 GIT binary patch literal 1772 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL)UbxZ6&FkwKm@fl(oj zF)@CjgG4d|^J{$u#YP6DkVYj2hQspc3)rsncS z2D_GErPx*>N4wSnrPwxoN4s`jrPy{KN4pL!rPz*4N4rjUrPwYuN4u^RrPyv|N4p+I zrPv+^N4s7*rP$tBN4q|2rI@}d28K!Xj&}XwO0g5f9PK8QD8)`RcC?!$sH8V3fI)9E zgQMMKeWlpRd5(5de3W9Ray!~h%~Xn=rr~HeolPlrx~rqz3}vO*8A*NH@iwHc8;Z^-CS{{*tubjcJoY>V&@e*+RYDCid`V!Xty9wNo}DngW1AR zN4rHlO0kQ)9qkrtD#b3&a1>nP#=x*Jgh6{rgi`EM7Dv0KNlLNH6dmoB)hop=w{x^x zA)~~(BAOw1MVh1CN-HJJm6Z$(D^eMZRw+9wtO{e0T~(nZzFLfdVYNO3!)iSS=hX&| zqN__77*>@tsITEtid|#mXt!2CDR!;Dqun~)K>p(nzjFJ6mupPZoMYZ?)g->ss<*he zq&K)XWO5}-TSy|~aev0f29H3+7H)db2OU-*|%MVVuY%M{ZoCQ}mGWC9fwr*f<}pIb7~VM=00Ri|;MQFl^z zVFzPYV@0#}RO#NjM8@O$7#rIS1I3RYXl(T931m*lrUjbNuFCz8Ut5)mT_Lrg=_F5?YzPvZ^((jjdg> zF|?_)JFQ)~BXvg76z9gQ#^UabIgt~xBzq(h8IONuY;1ROh%6=7i!nwUSaZc_N98fK=p($aaN6XhDyCMV5P z@6PMjouSp~#@gxL>fLX!M0ANltK5XdX75Di6KRZ%?cNLw|BV=!8e6#ng-_&sjh`Pd z!F-Ctg!&0}Q?2u+1T?3wN}uO9nR!Cw2EK{ulNfl`iwDY_SoqFOtkHX-1@|J2$(3_c znRRCS^qBSwZ`9bRzEN$8{G8mCSu3*p47#+NE7fdfSS}&m_vtFBlVZAtm?s^Xf!S&^ib{jaALN|CY zFsv_QVB09?Xtz;SDRyIuqunMarP$4kj&_^lm14KZIofThQHtGa?P#}6QYm&@grnVd zGo{$=rH*zxf|X)-3OU;CEKrKwrSE9Bn^!4zw~wRU9xbKVJ(-Snd)<{{_pv$J?MqS8 z+ON#Oa3qAmaKFE!!vN14R)nnkf8RlqrGg-;zmJ$QQHAe>dTk(!|x9XKRZrd@0 z-1cy^yCbXQc_)T};eiN)&|Ni0yStW3v3DyRMel_%Fx+-$P`{U>qIJ;HdtPkAdNFK7;5(GbP1`J`C0m^BqkdX)|y>N>qw{ zl8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?ctqkY-pnEWUA|t$g|L!;gugB v!)tv;hS!D+jEzi8jE!tejE!7OjE#IujEzD}jE!PUjEz!EjE!;`46pnF@1ZLI literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/HKm471-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..11d170c75ed8696f0705f9fb9f5afcf3b0aff4c9 GIT binary patch literal 2171 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL)UbxZ6&FkwKm@fl(oj zF|o0Dp@T#+1M_Qr2E|4OrI1D?28PB828PCR2DZjZN4q8lrPwBWN4sWOC8_2ZMyBTS zMh3fy;ccs`aHb=Xz6s6d1WkYJIi=X%SVy})Yo(aJDh7s0^^SJ^;YzU+#2oD=lqkhcGmP0dt_ou=VvH=Ru>cDk#h-3(==*cnNVb~7E6VrSMn z+Rchpik&UvXg9k`DRz#fqupF_rP#S)j&}1*lw#)PydCWpYbwPq&Ttf5;>N(RFoZ#SNrY1DQWi(MrAbP$%M=~$meni8F1K^E zTOp&wxgwe&ctx6{-AXGZ&6Sl53@cI@j8-W-Dy#})kX==wB)(dVfnl{i1H)=P2ItiV zj-sne7#LQSGpMiOQi@$;26Kq+>uzoXqc-Bw4=bvX&h5})=MbKtk-5> zSTD|?yWWFAaDBO>-3Csj&J+HF)-irtvvXt&8pDRwiXquu6srPwWU zj&@sWlw!A9JKAlNREpge;b^zrOeuDIsiWPFV5QidLXLJj3zTAa={wr(=2eQ_?c->- zM@uPoPo|^YUU#L~eQb_)`%;v&_A4_m90_4C-0$ybd4Q3D;ix48^8st6*aP;Cb_ZpZ zVh_eR+8we|iak{6Xm>bV$@YjC1H*nl2Du}lj&?^%lvs}%GlU;(%)yNhB$sT6xX!%^yn8-wzVBqjfwYzz!n^%!_=hB?~ZOjfeF zrNqE+&5=R=R=lI#t$HPn+ja~gw>=!~?#L>6-icvgcp$Uap|M?-p|Qb)v9Vo_;jc2oUp0otb_IsUhCs%~1`meD25*MO27iXeh7g9v zrV56CT#SwFiVTenQ4D`o7=GI_G`1@<{I+LkY=~iOY=~!QY)EEkY*%4yY^Vwp`jy+* zP|MMxJt42hw8vy(bgL0dk3x@phjE8sM_jL2PiiB-R3P`Sg@1WEG(h7QxZF>I*mJxx|1fdH>S5$bueZ%R!rwyAvDE&s&sE% zBIB<+OpWb^fil1DH#Yio@^&&!lx3Nd)9v1C-|I9fc1rp37-rL++TJ*siRE+RmKk;g zw(!qQ=*nsHXtV6n>9S2^{Pml$vEAH}>DS-JCS?ZZK!e{7jZNxZN?nRw3e&w?j9R^C zBrH>0rqIRN#W5v*qHR0#Vl@_4j%l9Lk~)1ltygBRtm^metZHLxmz==SU)q@6R5~T7 zBez|+BXvg76z9gQ#^UY-wmFd#vL>fYuJ4gZWc*#g*x2qA$o0FZu`O&}?D8yb)o$#F41n+uiEZ1NqL=7qwPu}aH^p~~&xF82uHWyN8ry>y8e1b6{ueVewk9xq zV_;}(6KD9K%kZa|;eRM&V|%D0%kSUcL>MMSGHeiInC}~C^2edEHHU3t`c$K4W1gPy z_TX8yGlgcFY_jEIViTJ$F{x;CV!9K+Zp9e+{N2^=Hp_oaNN) zGPjar9*-mApM@V}5*hz2V*DT%DDY>=U&F?={*8wW`b+yu`olYYXDUsToF=g@ey&ps zV|iC-cTOVPpDm1y?dc2*AL1Ao8rw4&7=GI^F#Kg@VEm9ADEDX2ubj!{Gh?O*t&Lq9 zGbMdS?hJ#e3Tr+4xcVI%!{mDlrkJl+o1NGbJEdkO`-Hq6&*^^CnP=L})Sjy`mphU9 z&n?Er_FM*r@3jn!KLi6s|J-kE&)*o@S~1yZhT25lS@tueW{8Wd)|;2z8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?ctqkVs5DGWUA|t$g|L!;gugB v!)tv;hS!D+jEzi8jE!tejE!7OjE#IujEzD}jE!PUjEz!EjE!;`46pnF@Qo`3 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/HKscs-B5-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6ef7857ad17cefc4ab714d209716002317c23baa GIT binary patch literal 4437 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 GP7na4XfMqG literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Hankaku.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..4b8ec7fcef466bc4090dc13c8edb354cb94d0b67 GIT binary patch literal 132 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN55U;8L(}OlM$dOlOd7(qLj~ ea%bRdVPRls3S;1F;bXLGa%Yfjk!4_PW&r^5awXIN literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/Hiragana.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..17e983e77264c62ee149d1c8ec576a23e8f90eda GIT binary patch literal 124 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN55U;80*_VP;@ya%bRdVPRls W3S-b|;bUNIW?^7zv1XQNu>%0E(j#{O literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a45c65f008e7d6ff34edaf53af15ea471d4f6d90 GIT binary patch literal 1848 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWL&tgaaXJYBZK^YxdcXq zxczd8_6rxrrZy_MG&(n0$2M^^Dj7AUF={qTHY#y8JF{{&`?8BShjWNG=QnCNx3D+b z__cU98Zx&^F*3BuF|xPHGy1lwH!8)pmNqH{wFNiohPJCUYALkW@GEr4w(G}s*flD} zcFKT=sz#;Qu82mZ*lx2%rPv-35K+{q6x$ons1)0$*QgZR&jTW|8kJ%vcr+@-PE>1D zik-v)B9a=FVkbK^D#cEb0}(ZiO0iR;8kJ(FSu`reP8S0aC5=k4GlCkGVrLpOD#gy? zYgUS#mD8xCH`|MWVSxw(%j`-9hBL`Wm&Aouvmv-fgj^yUDm}0OpDDK7WgwRwq;rnz_{3vVL>p%VrPcMZVU@T7#4>x zFAif|9L=yefq6kF^WqxDC5#LUA{m!3vo45Aw7a}8c0od;lFLFn28M-k3?hq|85kC5 zFfcBXXjEceB*nn6R)c|MksJfV0&NDyMam2e3lbRo7pXQXi7hH+U|8VJAiS7|fnk9U zgTZ2jMkUR~feZ|*4H(21S2Id35pGn9U838l6uXogL}WH9DKB$pU|1o~AiFG^fnk{y zgXD6~MkVIu%8U`q)f<(VS1>RzEDvYUTfxG>u)LH(c7-t`=Ze5arKlCr3=FFS7#LQX zF)*wwZ&VUoY0jv#(vyK=q1+UR$Td9xkEcI^&FhHZ(B+6+6r3dNr;7}jwzEDB{>$HlNHTxlIIX&06q-F- z$gn7$ah)N`EJ|fqXT`KAonf6d!=fyvbvBHPvYFP|Gc3wyTj#{E zz=2_%C*z_*#&uo{3mn%!EUIBxm%zBFj$xBNZG8>HVo!zzAuJo185VmpY~TQ; z!3~@Yi+vb3a4{_QE#!Q;kaYtO!{Pwu4MGfy1LZb|F)R+&++fPE&xCD5d?C-Ph4LHH z7}jSiZDeCuoXERTlVL$P<3@9a#mUSYEg2T4GHkSESe#ZU@p>WCMmvVZ8H^hp85UD%hQ;NK8{?Q3S1_zL zVA+_!u((=vV``!5n}sZ!xEYqPF)ZO=+$6xTgo}BT5W_k<#w9!q3!)h}i7_k@WZWdd zutb<)lN7@eQI<{8j7ub#HYqSHkz!aP!?;PAaX}2{CRK(da%`LQ8J8$9ZZcz7qQtn# zf?r=Sfa(e$vctr?Lwv{x;?xM3*y_H7#5m0Ix{R3=Vw@` z#l^6&q}7jMcA7K89Ghk*hPmm9EN|a2tW59pV_1`H!?2dSyOd#hLZbTHC7zr78TmI$ zHY!nIk{0Ob_*MbNNH4x-Rjh+B)v_6(R!N=BlEV3MkW4jHH<#nc^Z{i zw?{HCYzkp;-5$@tutkP}e}`(LQtS@XMx~&g!i)?%(-;`GCo{0`Om9>Y+nLYEw~LLD zbC)Qi)-L%*CCgo23=F$P7=(ATF!Jt}XjF>bt=6c-ut%2BX%7pd_#XF0rPw|3jY{l$ PZ5c!Mx;84s?vnxlY;8iU literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSC-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..0e7b21f0a612b1acc41c1b23ad0060da539eaf2b GIT binary patch literal 164 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=^gB>>l*5;>yaq1a1rCa3Py%~ zRSXOV8JL*%RWmZ|t7GBbSFg*kpS#(VVLuNW<9=QyhW-4E4EqJRS@#P{Gwc^@~ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b9b22b67879d4043c75b617a24f96b0bd47cf4ca GIT binary patch literal 1831 zcmZR25agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>R8(x-6`N?Us2H2tsN~Y<+-M!! z#L=i^)Re}k*(}+p#M$i3%GvD8F5Vo@A>N$dsNvkg-e}|3;@xP-+$zP$&??8s-YU=N z+p6BE6x&+bs1(!|+^8GcuGXlf&|br@&>`EdAKPKqs1(~N10t##m14Uh8kJ(Z%^HjKFH3B`KEs?E?)h#E z3zQY+2Ng;MDjLl%W>_S~u)v0Kff~aiamEE2tcxTV7HBc7)nHmA$FN9=VSzUDB4vgJ zIt+`{85Za=F4AIHpvSOChiQR6!ySY%nK9;C>yz>IN`71IK9 z=0!FPi<}u2STQVeVP0U(u*idJfjz@wd8P$kjEfZ+7OOHW@MT%7#;{n2VSyjxVqMn7 z226|185a06F1BS_5Wu+DkzqkF!(wNK#cm7>LKqf@FfR^cTpZ1?IDvUVDD&bP#wCml z3nCepFtaX*O0)}Bj9rk>sN}NHj)7re9D~RrW(I}@8Vrn!BpQ{N7fCTNtkqy(StQ56 zut1xEagj0u!-50`|3#{eN@9yj85kD0GYBu{VPII`!(gyjp;1Y5aUcW3Y6AxG#np_G zON1MhVwdPPD#b441`(N!O3KUJ85mZ`GsrH>W?)!m#UQzyvr&n8xiVwKa`i?f<`oPK z49mkA^j5GiFf1=+kX>QS$hji0Q7LLgGy}ux00xGYW(*7~%NvyhSDG{Gtn_4HSXsot zy0VOcVO1`J=*pT#CI3}I3=HcE8F*GDH7aqh%4c9$6~bV*s+xger7MHLYO6-2*wx;R zO2KP189CO}HY&5NWn*AiqsI`kmN$_xJcVJCL?Ua9D#Nb0CO?MV=FN5t+qF9!8MY-h zYBTKgDilvu z7}jwzEDB{>$HlNHTxlIIX&06q=hIR1_i)t9w zB`_|kW7wq6xGs@lF(bpeWQN5|468yI*QGElW@cF6%&@?XVO<)-Vpf)Q>4nPaiVTa{ znb+koEaqTbSHQ5ClVLG8!@43+v@hmmTvyDnn2&c|DZ^rZhV{%0d(xTLvoI_cWLPZB zw4Q@uu_(iOZidBT4C{Fq7mG8l=Ve$d#kHQFVX+MJdMSp*vJC6x7#7R%ua{?7tID=s zzmPXW(RIBU<6?KV^)(EOJsB2+uxwyvSnSQPfdiBVH*hj6_F>$>#jx17kTX+}bpsE> z;sE9iLJW%o7}gV_2NQxY3beaTdcyXNJW&3=1OoHo7n_&STgZ%&@qC zX=4b(;zEYS#Y`K+85fr@Z;WDCT+X;Lj%jfP!)gPTjR_2kt5r9q7OLhbvTWjJSi;7z zgoAOD0K*b4=1oEj>+Bep@GvZhX51vkutbn?lLW&OVTMgo3`;~=Hc2xskzm@Sz_3J$ zVTlamCS}G2F`S!J8J5VgZPI64qQJPxjA4lq<0cD+B`S=YtQeQ5@@}$WT%yjf$%|o$ z7V{?WM9y4ArX{*PybKHC+ng8{nm0N#EEMNwSg6Itu&|`nk70J2Gs7I4W+#TZ>4_}4 zc?>JlJN+2eB-=2o-&Vuuvz@0=iFJD<1H+~e2G{NJ3=CUj82ERnHY&yL zFl|%{+9}M)urrN;VS6$I`_A-6C9$3PjC{M;7&&)|GHUITZ&b3}<;B3TTZBP)Hwz>0 sZiz;v*xhQ4N(_5s8J+g9FpBSSZ&Zri6W^%BzSov9WUp(ZQtUn{03-$~Q2+n{ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSC-Johab-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..2531ffcf41acc01338f781c845c7f50f62fcc84a GIT binary patch literal 16791 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 IX5KFa041U?n*aa+ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a8d4240e6adb3ac1db859085b769a0715be03c72 GIT binary patch literal 2787 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..8b4ae18fd3efdbe020e4e1407d2f65125085a71a GIT binary patch literal 2789 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-HW-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b655dbcfb123ed06c7eeb87dfc96ecf6759363dd GIT binary patch literal 169 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=N;^vTdW)E;jHTsuIrH~uy7IM zz6wT$eN_w$2N{@{_Ej@7?5ktp-dC^7u%Elxlwm&)8{>XnCWig|j12n)xLNlLN;B*i RXJptf!N{;*Qkr?c6aYpBGhF}x literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSCms-UHC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..21f97f65b4a61adfa13f55d5a096ceab45eb485b GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?H%l#TdW)E;jHVCD6nu58J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hzWL)UjxYL$_@gJiCBZE9+ z0+T`^}8I4LVjn0kMu}vI}N=8j-jGE1ojY^!&&a9lxzU<=7;T+=4 z`HdRRE$odpel6aOhRm%}j0~-EjO?xQjJ~bvjY_etrHx8KZNZJYq3vpoS_;w%e>xDYi!hL=-hD#r6g?D#iBcH7dpS^MHt~My1#Z z9*s(|6V)1(VkfbHh@?iP*vSr!O0iSqKtxTWQtZ^IMy1$k7L7`=)5SnUNuyHijG#uP z*qH{6O0l!}nw4T_MYYse@%*RxTHdu}`f!`vu_fVtU?N|Ezy7#QZ+F)+;+OJqF#oMAg}qQ*i;oBj37 zk_T)USq_9TG9HL-l;u7U+bAhSb#F>@U%_hUKC zB*lD~-NoiGH#6s94<@$5K}@WNBbgWv$Gb`%PIR(4T+J+Z#3F$2NVt>Dku+wxqsonn z#z&nReQb`FG0Pn@4&gc$(;_*BMM?|{w3!zvGc3?ySftLdK$mfm7Q+HP zhDAC|3-lQl=`$@bVpwF%u)vgYkr~4x%R==_3mF!eF)p%VT42t+$cAB&Gs6NahD9#S z3#=Iyd2lVTXIL!Hw7`pTu_D7_RfYw=EQ{3`7V9u9@MB!8%evTrX|XxO0)NKEwoD5G z7#BM-EC^;;?98y(jbT9u!{QL;#bJz#qZt+_FfRyYUR=YtgppxEB;yih)&)_Cc9$2% zE=Xupa#?7{z_2imL1Ym#1H%Fh2F67ajY`amq!<|1YA~=Yl4D?4pv}OzNST3QK>~yS zBGpDEu|=f}3=7;DgctKLFf8z4Fj%b6sHC|#kbz;f0fYGBYDUQ=!i`F?OLQBRVwZA* zh|ESM3r^D_9s9mX|Wf zt}tfgToKr)6tyCnfnjw31H(!)28Na8jY@(m%^7u8dNMGqEMj0?S;oMyDwjcYWlf`! z|0*E{hINGuJgbr#mAF^sGcc?QVX#|O&A_nIl|f*&RijeuYVSs+;5C|z9BXPDmD$#^ zF)*yrV+dKxo5*zo)CI54d9WL#9pxXz1Vfg{^GABIIGOzVOf7L_ut3u9PR z#<(tmVSy9lx+sQ48Ul3`Ib!@78eMKuiT5*QcNF>KOjT$jkO zn2}*!GQ(mfhE*Yq>rxmNGczo3W?10Hur7^ZF)Pcu^g`w53mF!(Gq1~GSj@q=u7F`N zC&OZHhIK`tXkX0BxUQICF(2=`QijF+4C|R0_M|hfXJJ?@$go(LX*~zSVo`?m+zgAw z7}oPJE*588&&#k_ifcVT!(tic^->IrWf|7XF)WtjUoX$FR+VkNej)FRg|6$(7#F*< zt*>EN?8&eogk=LW!(wlS4IH2}xPg;lu@B=0E{4Uvg`6)JvTopESRBB-L5N{-pxg#A zhQ+~}8%!DYnXqk$FXVZ(P<}%i!}@Hcjcg2y6L~jkGAsyZ+-T0QIGK5)CBx!WhK;ri zi_;1vUN2X-0n^41hQ);pi;I~y zhBGcMVcrvyf#IH^UM(h9w+~n*?@(=2irrz_s1&qQn2}*; z8Uw@jWCr$~>5WQaJM$U&cCj&X?h<9x+9ltpWVy?Wfnm1@gYa$^M&8{LjY_e*)f$x; n_Q*0i?O|aQ-{an>6uT$BQHg!8En~=D*G8q-eNqXG{}_`2c&T|h literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/KSCpc-EUC-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f3c9113fcf0b02e1deea8246bfd27408becc8401 GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T?H%k~kgV$(>a6RLD6nu58J;XlZGnYh++xso>knU|bjRFGekSdyBe y$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN55UU{bJea$}HdW(NS2fFFMV literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE b/src/main/resources/static/pdfjs-legacy/cmaps/LICENSE new file mode 100644 index 0000000000..b1ad168ad0 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/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/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/NWP-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..afc5e4b05ee6f4be4f17eb616742b59aee4c5ac1 GIT binary patch literal 2765 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 Ky?zV~y9@!b&>Kqt literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/NWP-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bb5785e3278ab7a24b3080cf22ea0f609aab4595 GIT binary patch literal 252 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T>K7iM>ygN#sKmI}pMl|k4+F!2 zAXbJ00SpWW{P~&o1~akj4P#(95Xr!BAcTS8KsW=#fiMQaz0r;mirEKz8Q2(v8XcsY zi&`BS86Z%SK_1LvV`wx2GeE)!!9*U_QpSBu{hs{$SOggNi8R|Y>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN2hyWNdWUYs0{}z@Cxufx}K4 z1x5z>#`FY6g}BD_M4?6pyOv5uomLBO_SRGmw$@y3zSa_U_BLh~hBodX&Nd!)$u==| z$ubO;_+|K9Rm4?<5}7;Z$9AMT+jTlK)^sr?YIQl-b=5Q0blW-G^;k33 z^i(<9^_DZ%^qD!^^&2zR^cOkXO~_}gnW*P%H%XhZW>S{3-Q;w}nkj0|c2kuZYo;bS z+f9pSteGz7Y&S!iv1Ue;v)#;a#+q4T&UUkf8Ea+-Ior+gXRMja=WI8Ro3Un|m$T7) zcb(YzRnB$`A{c8HiaXma5@D=a6zpubIDoNc3BR-5QXa;drQXhV%RCrsma{wCtzcoS zS>c?>G~dB)r2}Kl%K8Mx1@=vDiA)b1>{it<)~vQp6nW@ix5k38W=*-X-P#hynsvs` zcIyooYu4vG+il2Utl6mTY_~~+v1U`cv)$$t#+oh4&URZB7;Co1JKJrGVXWCM?QFM0 Zg0W^txU=2P5Jsh4!ikKp7Be1*0RWEtrl8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T7UUi5rR$N%+UUr**PoYhZy+br z-e4w{y8J;XlZGnYh++xso>knU|bjRFGekSdyBe u$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN55UU{r`}Oa}lMG#?cJ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d5db27c5cf1f5b0e66e16f6314d042a4ef707222 GIT binary patch literal 48280 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΃v&ripAbiWy(2gN8zRjTk2AFfbg8WnwtP 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 B0Ez$r literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1dc9b7a21bc59b6540d55b3d8933e5a6ba9f8947 GIT binary patch literal 156 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 Q85>&yCLG~sY@DbB0H(;tw*UYD literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..22a27e4ddbe26664c57f778a864b6872f6c2ba03 GIT binary patch literal 157 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9Bt>=scW5>*2)qs9|yi z1CxOCmXDc@SJ^ta8?S^jG98J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8>Vqj=qUq69if4w3j1A{zcA|r!B z9HS#A!;(gICN_pfZuT+;cU1;?hGu_DMrKE8h6kZjXa(VIZ6zT{7t@`jcHuM zjX?~;jdo2e42`A?42>oN42|Xt42@<&42{MN42?$242}9s42^~i42=e+42^mW42`;$ z42_D642=qjjH(RYtx1WTN@1>r68rRD(G_H|nY+NtP(6~mKsd2qLL*p7X#>VwZ42^5l85-B)ja|*Ld(YuJ>YSToa_xxIQAVF-)Iffm4TrjC6`mDW}f4AB$-raKD&T}<4gw1hov0Th`N8yL*GVAFDvl%8= z9p_xZG*xJB`ig{=wQFpS7`DVUDYTa!l{u`x(X2(IQDA%GL9^CO*_q0VLL1jbG*0oJ zP%zhJMebtjZlO-!MJgTD6Qy{jd$y=dW827hkz=*^YUY_WU0JR2ZDP}GmshP-T$eQ= zZMEtIt4Z7~9zAs}63b%e`pp-g8P%K7>AQ`s(YLYJrt!7)e1~T7pvL4bD`A<&vssN# z1s6(9_g%m-NArY8lkm3e)}*GQIp%%r*VL}5p7+@5Jl}GwTx0TL{t0%AYbMmLVcK8V z_^7IJS?X=?)qI6bQH{@38dvh(uAS?#*s>+~jzvjx$dlYHIc!r*k813WUlrQ4AffS7 zW}`;qSGT4KwJpZi(mME_i}#eB6WJ8n)L_!Iigyyv1m;&Rk1Xd29h2%2mOK{f*6wt~ z;;D2a?;WLPw>8-<3Su$(tFm)bx{9 zCu3Ve3;RaqL}vXD+~<5)m=YKm(hE5aSQ#=H&S^005oa%EtYtXI%Ft-bSjbqN$ZFsi z)Re*-+HB6kkj$ylYSUQ8*;tS$U?9tQj*W@q9ES+QIqw+8b1Dps=QLv(&M7l6o>OZw zVmPN*$Z$@uF^ln>5D(Ki5hjLn;z|tXBsdw)Nis2>lVV~xCzHr-V9eCGu9}Idaa|n? zL*u&85QfHe=}F9u>&o<*8rL%xi#M)kDa2Sei;l}7Hy4aJSJ zjT`G38rNthG;WsVZQNYP(6~mMt8ohtL*p8)#+1e_;*Ird5~eB-W6hQ>9942^3{cpGd6+T;suz#`?yC#f|lihe5>A;?Tz9#SD#W>>4#1 zPk6>Po-AT$Tw~uT-*_spvA*$ip;_bELWagQj>V1VG#DD!xHC7N2W3<@t;X{T42^3% z6&ufcH-s;LJW;-0{9!Rr7$$E2`p^9R?=ACcsj5`OG+mAiQ+sm68q^aO0z z-6(ZS>dtIz zE%<6VJ?U=9EAD9=R~Q-_(-&vW%9t#j$mplXcrGCmcPIlDPK zZI)TK2KQEdOL%A6$la9iCZ@5Gx3Q6@v5RwUK%uB#6yv#4h9#v86H6Fo2r?|NWSA$* zFfWApTsgyR2F7#M3`@#b&($(am1LMw$#9;TVWtb`c@~BlnoQ^U7!E`-ofixg@N1hQ z^0n?Zf3w8(k{6Y8EH@an8O|yHp>#`nsr;&nKK2>f?piuzD`b?(vwd-`J&g zMR2*j;P1HC<#UY_8U4;Pp4SfK^t(8v{!3J2kK#7D$>L2?y%nn}7jYyq`rTqWuNTPa zcXw%Cqu|W?cS2XBuShj^WKSxZ;Z~^b_l)tpF~d@2hV!Nj3;YjKqw^A z@j@Q|NsJfR8J4;*T;OCl5X;bAz;uC&p^u5-0x!b?cg72R4D)muF9-zk`Y)c6`7PjY z_2RtEzVocQrI!j^Rl2HpRpE*GT+Kp3{|zh`L>XoTb6k*O=d zsR#1~Rfb7=Ocyj6mKHJ0@Mf5t$*|Oi<$_KiumAPgK66qV+jOo5UJbbFzpH*zQ3ua% zzZ2e%T&@NeO8P%xykNqx)Rp0a8N*UHhRHqYbGs96ImJ2Qn2gDdJcn0zWaPCQ39DtvXDDKl<9&$!yIXbeocl2;S3jo7?y@JUI=EGXvuIPl%X?# z=|Wf_SAgo$$Yu3^YOdCc&y&7lv`v(SxiBX{pX)*t!yMP`Pj32YZR8TO`qZvBA7$$QwUle8NHDJ6b z$uK#c`JyyK2Q&Lcd4{9D3>VcI4skK;v17le!EmOYp{tVNq5;FwB!-KI3`>(4x>OmK zrZ8SKV(3a@IHJdV(S)JhhheW6!%=UBBRLEgEf@}oGhVc0SenW(Gmr72HN(LSri-== zM?)AdIxy_FWV-0Ya5RGDqASC^IEIT}3gxa7#NFo$887|SImhGqN=-Pw$n+yglS z*Y|RC`0k3@!8^gEvBB*>@2rfO!HMjFJD4tcF)(x&F)%C>VqjP%$iR5Xmw{no76a2I z|3JRLBh%}@s@y4VF1k_oSNX3}V;}QGt4mg^xEhH<`wU)K=5`1lwo=%^JOuHec}vD#TYJ2F)S5f zye!SIRFvtmEJFt;!(|1ANn#9_6&Yq(F-%Bjx~#;oPn)4vhw-v1LvJR-Wp#$5UJQFB z*)D4^ER|rmtj{n}hT*aS!%``RrIHN${FyErGVJ$fm~P8(z>Hy^6~ko{hNGSg`z0AK zn=&kwX4qHCaM_$;sSMj?i$Knx*^~4C%YDgQq}jvQ$}_8IlEl*FLYbf?%$FS)y7L$o zS29e?WtgbNxSWsavJ1oHWQK`>43jN5FS|1=7hsqb%Wyf6VZR;2$|4(rdVT>^TUt@IrB^Bmn)@p2NwAtQ#%DGW2hxh|(NEEi!orp$D?fZ>23hAYAhN8Q-2h%iidVVF_Mu)u}!igX}vu-#IQxy;x6&V_!~`(FIL=sxRxme0X$ zb#u7;%M%%cy_v2k1abxY_1n)Ycoot(Lv)9q_rA1`qEj@QbP^eZBN(r!1PTR5brdvC z%W9k!*f=eqak}xLus-Vrfh|@G@)o53m%C@%=l_=Lw*GCsx8{kA!8wdqv;%pA^Oj`I z%b%{&uKBj4v4eM_Ux)s`ti~4AnI5mAZd(?L23Ip*F<_XH$auwsq0@)qiWx(XA;TPh zhRLanSIikECox>HWSF1Cuz-tUNiEwID~3*0#w(5tlLHuzIx_TYFkW#Ez!T~_9WcryU*XN_(rdBN_f9Pp-S*7rYoKdhbtMDGBRE9VK^YbaK)eDs1w7L z0EXo<%vS;#W->5c31yh)%5WuuVP+&lrzpdoDCR4X3=6FpI&~Q)C^IZHW0k&HD@hD9Y8Yk}Gj#Ye%(rH^lFTq&i0Mj7pnUNC<)Yhi8z=Ft=e|OMFJ5VBo;Y#i^^=E30Q?uI(8hb0QMqiC;><(?x>Ev&mWb#3?*Sc4?BV&?U zbJ#S8>9TL?8XLq{8LbRWWDJpDx>6j-86rJNr?FM2u~BxSMhC+R&0RKEqppT0GKQ!y zUa1Ha2vO_h>niPJXf$h_Akf&OKRaS_{6vm6^`Cx^HG93T#=H|>VVuYqV#au-Hjp#K zVjlN$^~R|@?}F#VH+CDmQ+%iJ%Dm7x#F6nT6T>PF#;Yt0UF8f{*%&(W8LqN3^d>T_ zVrIU|!7xpO;VKW)Di(%mH4LlR8CG#IEG%JI#m#V)mtlrE!`yV1t9%U8tQoEfGprI~ zxGKW1N}S=UD8u4t_N!tHs{|QVDKX4-WwN{nHZ0K;^7#;fuSvs4)RwHc-{ zGG0|=n8e0#RheNGAH!7@hE<{rS5+CNOEO^9=FCxt_!2)WG`nZbP74ec-4_%l{&+`NQQO;hE@6u zt0Wob=QFI5Wn87euu6sDsxw2s9m7=@##I^&S6vxaX)&zQV_0RtuuziWsvE-*cc!cE z482JV)5;lE88OTfW|&;aFioBDsu#ngY=(KMOjmsv7S%GWGGo2!&(KlNa5a>nUyNau z3B%PehUJ0`SHl?=@G@SFU^te;a5aiyb|yoY1H;v5hIT`it1%3#EE(oVGOV&oZ)dTFp)Xbgz0K21H&qJ2Ii|3f!v`stK6<-eN3HIbgkf8`L(jfHs{4`kFCC! z7Al0gGhSn0SmnUbuETtdiQ%ve!zx$CYitY$JsGZXFsyQBSmnWTjgw)OAHy|1hQkGn z*Z3KFQW>uaGE8@1n3>NoS(agyE#oy|hH3Q-*F+hXR57e_WSADodQFUJl_$fz0>*1H zfn1^0tD@$(fA+b~f1R(fJ#vH7Ea_PS3snncLt7cIDKJcyWLOo#(67SKm(H-tpXr(s z!zw$5YpM*ZA{no#F|3MXx~9R;e9OP507(7lYS zVpy&@Fs#aAn6JZdFoNNz1H&~}hE++7*W4Ia(b|S;Y7F1wz-ou4i7)_?Y`K=bQ1o5`NC>LD!vk@a-@z)D3;jxGI(L zS}?<^Y{qM$jH_}Pu7xwKDq=WR#IP!nTfd366}{k{MQ&GaRd7=(S~7Qq6oVmEoWP!?jF?V^s`$N*LywGG5DKm@39_teoLm z4#TQahE>T-*K!$FRWYopWV}|uu&S2fS`ouOAI59NfdXMVtC={r7qtbq85~XD;@CLL z?n&ekzw6B3xfV!o55AuBF}hGF%!cV&1w+38!?kLLGbNnYY8Y0tGpuH2SYX0(osD5N z2jg{ahSiJ=tLhn6voc=iWmwI|a4etkI)5NuL;rWejtyn69fctQKInuElViiRrpF!$CQY z>v|0H(ipFsGaSoixNgaCz>?*<6~kG1hSh>h*X53+S8|)&9VRL);OKHP$=vv>-A`c)#41-6B!m3 zGhR<(m@LH56~cHug<-B4!)h_6>uC(DB^dft8LwwD^aV4_$z@nA$#gwCkUN}tdhs%! zn`*C%Pf6WjU1Gw#%xP27O2;-_UN2!dRL5|=jNvc?)Ae$O)v}D& zs~F}KFhjhUJ%qy&~5VhoeY7;i{3ObB6^!^W^&kD)z|VQv*ePbtF^F^1`hj5lNhdBRgB^EY{{;ctee0xh2CSU#1%x49m?JmYcHN z&}QheVVEq=FvXK$xe>#16XqKR4D%%zmfN!2FkzVN!LZzk?S>^ok0SF8hd}=D1TXVyKETq#@_626}4h6lrPJBAzH49gvvZul@P z_vE5*e0zFx*IHm|n=R+=cN*3d3?&hUM-I z%iS1nq%kb_W4MvQurQpVlab+=7UPXfhULEOH?kR)2Ql0zW?1gce4~V6xfkP&3WlTH z49k5OrYkZ`;A6Z|#jre(@kR~9@?eG=bqsUF7;n@w>}O@@5nx#1!+4XC;g~AJa({-K z%nZu|m~OH#%rIiQ$b zrVzsjScc_M3^#)rCMGf53}Kip#B?*1VRB?KVa2dKhT&!k!%-uKo2d+oEE(n-vfoT&n8wG@Bf@+$k6~{- z^UWfLy_IY?%NPzuGAvhNxLM1vKbG-k9YcpR(=7&u<*E#~m>CYGbKGKKSgyu!irbcbr-8xHZn_Z=BEfyS|ZmZhYgcxYzofnu}Z; zr%N?9uohZJ8Zq8-WSEn|c*~h#fj7gXLWT*>3_S`Aw_F)k>NDJOW7t>2c*~t(r2)fo z9)??<3=5bTZ+S7yU}czQ$k5BpaLb3Gr;_oOFT-R`h9$NPxBMAqh%nv?VCYa~SZTyC zk%?iB7Q;#thFd`lD~(xh1v7N}GTe$_m?g$|E0Uqzm+4kC!?9?Fy>Se;;u!WTG2Du0 z*jvSXD}iBJKEt#ehFd8N)ASi`r7}#2VVGUSbSsUauZrnbW*}E&8sKf3;wEl zYr9svU#qd(sX>g;F|4a%SXa+5mxJ+E9YaqXsc8l3NWnaU|7$~c-w|yJrDD3JBIZF z47Z&a)(bJ;c4n9s#B|%8VVXAMZ7+sNk_@vn7;pP9tQTas?Z?og&ve_LVQMDZ?I4DQ zehlmR7;Z;0tmkLA9mO!CmgROd!+LS1+X)Qog&7XmGv7{Tn4ZFTJDp*!62p2?&fA#` z>&2LF7c=zNvE43bSTDhJyN+QWAH#YP#ygA*la(0nFf$ylWWB@6u#l5sy(GgdU553t zjCZ&h*2^*9;boZbD0oMZVX70`9c6~8o($_{xbA2%9Is)#W6H2zn(dA`!+J%Ad2$SQ z>=-tyFy66eSg*o-$C2ScCc}Dp#yhSI69O4#Cb8aeXPBVDc*mDvo&(Dre}?r+40l2p z)+;mI31wKX!En5sVZ9d9oiK*=+DvyM8P=;Zbel2UiD6i;#&{=|VZA2fop^?6b_{nC z8P+SX+(}|sug-KQo#A*H%bhHSoKg?Ww^`2aDtKTE-S^?usxRQDnF)$*^9Z;jR?JG9Jde(hTbj7!E11 z-IZlnZ^(65h2eNL(_Q^Qf#`rG2Ge+Mm)tJhsW~s^o82eI&7uoSmdi~kZ8>TiY$k?vSqyh= z7}lFH+_h!s6=J+=$8b26;jRP2Oh?AMj)4NvwbLRRdqZ|cE(u;Q-Pr5W*sQ*!YP##! zyzi;Kp371j*9bJWus7=^GDr6^-gReS=vQQ5y6YJz58{~km9oBe zQBhmMM)oBYjcrVg%b6G0^sCMc>$F}ju-Cj$A$mE}U4Mpoo(z4g%y)wr7D+MQ4P)qw zWmq7 z%4EJ9&(LeebT^q{syoBoG={!ZhJ~pdchdt!qVLX#ZWW$s-?*ZpaX#;}k{x3AO1Jpl zv1*dstG-`hyTTUR_V_(g_sZ{;-778Ri~h)bx0GQo7sDQNhP#yvU0Do0!VI&`8Rkba zbjvc{tzwu}z;L&Qp{JhlZfzi649hIp#&)O1S?qV5dic&8_txz**`jyA*Lkn>KaIxr z_(aASA;x=5fm|^nJyu8a_F6a2ifLTo+_=K2vAwdfz2dI=>BvI97&+#9>{RS#nqyrk7~{-%Pm*C06XQK;h8dL%bLWkUJ)BHg{v2Rbx}(1n%o@i@j%;ov+-&aIb1jZegQuOeWJk zZH7a34EOXH)|D{KsbjdO&oHx$?VbU{f&_-uI?VUX85RaI+_Pqw9nUaBfaRVI!)gPj zdyWjNwHa3HGTw7xSgpsf+L-a48$+iF!#xj%)%py*p^U2y8CIJxbW1a=Hf6r&$*@n1 zVYNBKY8#e&z6|rL8SVu!thQoUZOJgjgy~)|!)j}WdtnTVm>KScGpsgaxEH~&+K!>! zk@;RE!)gnLd$A0Y*%~28LcHru$3`$2l49voh>8XTHzI zFiDr;J{QAb6UO`8jQ4pNSGzFY=Vw^$&Ctcea$k_)I6uP-4wn033|)x~_oW%;XEW@R zV!AKGu-b?5zC6QfFP8g?468jE?yE7Zc4t`a#&BPqp+l4Lz6Qf_ZiYpX468j@?rSlu z_GiDZ&#*dxVYMIoeRGCwN{sjI8CHigtPW$CVa#;jk>NNO+kF>?)xM1Py%|;qG2HiM zSRKN3-;ZH+1jGGEhSi}As{!ol9+)t6X)`R2VSHf9 zFh821Go0~(IYVzP!;%1o8Ey=dcp3WG86H?N%uQo_V8zgB%CKCX;g|};1YL#&5e&0! z8QLQlAJ{O=i(z?S7swO)cWL>G;>LL#42>IvmxL|$Y+TRO*cCiivvGM)ZK54;!{R?9IkEXrnJSgpvw_`oNSD^6s!!V24NvBvhg#+jPyJo>7)MsAhZ zz+Y$(C&%`{pW%=*LsvD!Vg;rLVGM^f86HG3%#&eguVQ=<#jsk5;Xw?;k#fcdu?&0F z8CI(@bb2s8h-X}_%rMoA@j)WPQC5Zr$qZAI7>=_rtX5;_6=Qvn!qA_>_8^O4wK~Hz zIfe&?49D3Sjp%}yd1crx_40FO*9!fE+v0`{A z&#=aVVYV>CBqxT2atv$CnI9@Jtg+;LsKPM0oMEyt>q9+;HMR_EY#1hsGCnk6m?F;n z(2QY?9n(WAhJ)-3dny=?>oM#tW7ucN{Lq$RjXlFdM}{>H3=f?c4!E*DbY?hI!LVF{ z;h`tP{2GQi!Hf^R7$#IQJ@jE%smrh=nqiVT!*W@M1;q?ABpIebU zfnjAC)5G9Eu6X`gA&q@Z@2%fkH7-|fT&~pEsM*-4(YT_xg{hD?UXt-)6hmh{)592s zZd-;$Y0MAf8Ky=v%(G|cH)D91%&;z>VO<{M!<0bIc-?gcPqP|3l^Z*i8Yk#CPSD$& zzBz4YW+6|!8PmfohHe3d88!?La~akZF+I#<*lfr0u#n+Q9>c>jhP?(%56c7j;(ZP> zAI#aCx;F(pYPYPkEwOQJNaHNiEey;|dvpqA;-i=z)-fyyVS2>KusV-nz9hpV7KS~Go;gKA}UPXpS@(jm?85YK| zK2l&86H_PtZ`-7!o#qIn_*=+(<2*(H7*Q` zZ5ih3GECKGdSuVAmYMO96T{*_hBcmyk6akmcriY5V_2xe_{f7{jUU6LN`^;X3~T%u z*0?i1@@D8vWqRbxFfEYrQ2@i50LDi_fn4#w=kqnTb2TpW-(|I5u~lM5PW>V-rb7D! zR>n0xOpiht)kOpN2Lst>lhx@F!ZM~KB{Gyl+5s` zo}pig@i7C#Y%!+COblCu7`E^;K4xXu!pHoWouNOQVT&-se0#>n+<{yP>01O&mbcm; z2sxOzP-QM><0^^9&f4zeLd}Fi#>adNlj0d43o!H;FgzAwToc2vCZ1tU9K$pVhBZkH zkA)c)sxdtlVOW#SFvF4gu{gs#LB_|@3~MqO`tq0`%QCFVV0f&^(4WunSczdxGSg#a zhBYY+YqA&~t1+xeV|c92FprU8p*G`V4TkZL=i`W<*>o81|}gw%&;bhp<99du_?ohG=?<= zOpk3DCPp&MRbYASz%YS>>9H%r9BanM9)Vm5H`e68HF<0N)~K;7f3DG6tHvJ9*}S(C z5*ZU7F+cVV6ij&5?bFLQvAofsakEY1w)m3*$JLuN+Co~CUq5yNp)#>Z6*$E{c&*DxG6W>{Fw{)CC4%bVc|7sHxrhC@jV{ZR~0xEW>{Fh1d7 zm?g*bgpXmG0^<`whCOi%PlOrv#4G3>2o zeB#2erkOx9s|63?)fk>g1M!&x4NlW|N> zG8s-LFh0p)m{!8@B#+^^1;>+ohP{l8Pbva=62GoxT3Xf=-6eO(V7KUQkyFv9qK?{b zsolts$e6^)@}xFUEQxK4%xaGBm5u8x8vFQ{S1sl5aBa5lOj(h;JY_~?<8rC(jyt$_ z=^sv+XW7`|)i_IVb4?;+k_^*R)M=c) zXPC>#_*98uk}KO&6^2O}j8C-#xs%dnC{9yqY%XeCV!Xy@zG+X+r1ZJz%>nZ{3Wbsi z8K3GgwC6HDHDKr!W_)VIFx{H*sR=`m5yMk6hDF5;ouv#D^qHQTGjs+qKeb|*q`=S~ z!}`=NkUMGOg4k~NNqmjXOpOz*7pC?qEXZnX6=>YxJ~^vUDrpYWQ#Xc{HVl)}7^c)P z%&=v6>dDY=$%r#y=Y#Mim&Qof&Y+RJl zxGu4AT|(n>&8bzZ5*zpMG){D!QMaCXiCLFhuk1GALY}0%j8798rnxdcO=g(l#V{e6 z;b|(vLMevHDh$(-7&>wp7MUU8K$W*Jk4k5tY+xbW`0`0u-KeolOIF7J@eBNhDpVY zPb(PaxHCVkVwlU#^t3LJCs}H--CW_uMPiK;JevdC*e0@1bKeuw6S*|9k+skvS&i`- z6GOW`!!s6!X~hg(`ApAP85RpMKI356qOpm(4JXhhbV6!z6L$XOavZwd~Ji877-E z%uZ!^rphoOg`q!yp<9CKnHs}%GloMl3@ZZ|o@p{1i)DDG#jw(sVGIo(yN1 zn4ak}bXhS>)MI>Rz_8MbVOjw5Gb4t1#thHQ7`h!94)HP^h+=$Z9>|m2-Xl9#ZJy=s zqMt#H?W&FKDnH|Ag?F$w&arBomz~I(Jeld44FkghYX*jA_6!V@6dBl_IRpwOFPKu* zxLBfbO8%1c#+@OJt2`T5c{DEfoTAhwwo1EkyV=i5exaX5&&v~8k~cCw^I>3^63)P| z(uaZZnO`7R^7h5{8}b{s^EK|$Zrr8yv;Jq@&)lCm=Xnbog_935Jqux28P4!5oMB}& zwC6B%6|z1TVOVFz@LY=FU^LTnX@+@KjL+p5I*k~fD==&dWO%N~uriMExe~)H z8HSay4DG253p5xy5*VJVFw9|MeXh!IEP-KV6vK0EhS`!#&vh6Uc{4rNXE>I~@Z5-D zWh%n~2e#+N3|$Ef&#f4yaWXx(W>}fd@Z65!C?C^vdxrh-jL)4Ij>R!NcVV2y%&;<( zVNVw8b618bq72Wy8CIq-Op;@G?!z!Wkl_Fm`*UB0&MbzRfeZ(Q8J>qS%+_aEnZfux zjA3OC^YaLXCHxG>;+dYuFznS~=!{|56Tz-#aiHs@R8CPZn@~7;4p8mUZW6JZ~#*I}c#XICzIc}+W=-If! z?wspc@y6Lv#{?4@Q%*2G&kp2HIkhjnDf>!E<6i0cERFL-e%Jr5Yn-RsI8Wy)ew zl;`*RszFf$xWWqiTPut%5SP!PkhG=>-K z3=Vp4r$#5*0;RO%FK`F);ybLRgSzhon9I#=0Ari=wDzr$xu{-C2;{}I9 z>4(x9=T;tOz%NIp!DA3`Zgv4umlrN@iGD!u&#>VZSEBBzcDYH4HD5 z8CI4uELLNFp~A3k;J7a9ypjTn0E8D3~I^wu%H&|>IGVpuHC@kv7G6JMIcvd=%(~*_Ak9|NHngqZCq#5xRSYX zB~#=6+9s(&&eV9O7j_K2z6>*?8DBUu^oTRRaAw$)!7wqI>4keBXKKN0k;YkBjSEB@ z7l<@=#c#2@CfB&F@>NnHXKE$K3txr1DCPK+<=88&+{y<}wA?9DKPoBbsV!`xhkmplv;tQlYOGR!n!=;mUWSi!K^nqiR^ z<4b;q`QZ%nZJ0K3G4$myzZ7Jc<-stSiSeZU$1snXVUr-!OLc}#d`vI37&eJAywqiw zFT}7=g88K$LzgYXOCyGuv%Pd?nCQ(gi=FYM7sDnw#+N<}Gm9AJWixD& zVOS){ut}a_lOp3wKZdz-j4uNij!HAU3}VV3=OQFfpEC9w*bwScVxX3@;NHCWbL=Qeu3W$gtRr>18s*6i%j>X$*@L7+z*F zY*J=?nZ+h=Dw$u_ zGi*|2*cr?Cikaa^6yqyahH0`auh!BWy-Lyj^ULB!;Er<1$GR*<&3W^88(S99I|2PRAzi-%`jD&;gv1JB5Q^@mJCb0 z8DH5k?2BQ3<-o9rm0_VN!=_?}=_U-XTo`(#8DF_FY-VA4<<2l$hhZ}x!z(X_$)-%N zycy=|Fud|(=nP?a<x(CfzV zDve=72*b=$##iYK8v+?#Wim{TWSB3<(8F{Wef|%88(D6Y=~fdRT0RYp4(U4xPzzhsOKb|8#dFb zn{vN6eX;*y_r<(WD7}LDRV~AYB!<_F472SR+6x$7Gcin%V|>lb&?m(Bnw4QgIKyjp zhPfIHuQ?btBrw0`WSGaw{F*nAD}Cx>zQzeGjcZePlzho+T&>@@TCZ_O{Yr&d1&NI5 z^O;_Y1oEdZnpNJH)HpHfEAv;TFV#$6${LrtPs?rGWAvr`OIhQF5*w4I5V)eB~|_PJhh!+Jd3efa$dr!-jOm z*R~835*T0GGfeVl*pSSyxPsxeBf}I&hE5Ci*G>!@N*P{zG0ci!*pScs+B=XxgLRQ> z<0PTRqm^3(=I}9{%s*N5)#t1AZpFq8QH=}P8yB)QF32tv%n)IG9n3JjnqhJR%j-~v z4fRZ~qZsDpvAvFE*vP@KIFs#l3gd<{rq|gF3zQi8nHYLY7+>cFN@dve=Bx;r8}&8h zYb5KD;@M^^b(Zr_$!*-2)OaHHG8^;Pu*QDv#(u4@#b1jW=b5(FHZCz}+!5GpvtKQd zDI<*Ybr}QWhKfM0jHC_Kr@c@6Y$)GQ!*qaknNVYY#@E!srpk;Q_BV_S8@U3|_(p?a7B|xyErzMV40H1tCI>RV(PfyO!SKeAVU7XAd!$yAAHx3L_lNsK)G0b3Lc;n8{7r^|+gQ2~i@r@6|5>ti~*$hYG z879axyzyh0ZovG;pJA^b!yIwOH^B@WrI_A?G8`#leG|bjGmYU*9K%L2hRME6Z{isy z1u(ryV%R9c&}YE#CY52MAk&*PhBuiE8zq?DWHBrVWqFg!uu+`hO%cOlLxv?n3@3^i zHcB(RDQ1|+!TqL$aib8^TLy-WqU>*(8RoJxzU5|EV9fNEmtmtC^IHLijj~K{MHsqt z8QzLBblEY!m0;K?&-PY|;cy-MTSbPwbqw>08Q*F$Y?NettIg1*%=lK9VWR@WWIu+t z`V1T87~dK&Y}93ZYs9cohvBUW!--PHx26mml^EWdGaTV!*eJmG)`DT94AWaHhJE=A zZ*3VSSu$)?W!R|4_|}eLiVxFU2ZoKx3~!wodL0&Rk-+D4kHe}dn$@tcvVWSG;+dzhm`V8$goNt2}HX1N2a$|TK%WxutVWSbl+c<`e z#terT7~jS-Y&2zjo5(Q5it%kS!%RV@x2X&p4Vm6%Fq|l3c$>|z(Tx3V4#P%shJES` z8`T*OhBIu`Vt8A^(C^0dwv=I`3G3Smh6!0rZ|fK~S}<(1VtvQRaH59g9XrEDJLY#h z3>%#o_A7F{6JY36Vt6OXu+fI$ofN}SErtWEjPIlwPUJAZlV#}fW`C#1aKMh~ohIW( zdxkwe%~vo8cr2%X?mije!jBg%~ylGfeeod@sy!R+8zxD8or6 z=Jyf|2NfCL%P{O0VtX&gu+M_;y(+^=R@V0>3?~^FPUJDXw_-R^&2W;9;Y1=4vG=>vZ4DWLpW|%N^1v2z|GtB2^*lfu7K96Bq1?T$$ zhJ^{t@2eO#8!^1EW7urWFujWLeLcg$WQIxA%pVvTHk&YhU}e~B$}q2#;R8Fv3{%Dr z91Ok5Odq%y4(hUh;APls#_~ZlkTW~}r1x2w$NbyOO*bkwi>{36jxOZQ&S3l?%`jJp z?Sm}Cp-AQrDhvmN8TJ`7bX72X&|sKt$}k~_`GY3o#;`!{?B)f+i@E-)HJ(a7YxY;G zaiMCb`(oF|b9#T(3w5*mm_HaWZj565V8XE2h~a}7!=4z159W*;V;MhKFr4II{9whf zF`n^*4Z}%xmJfCe8xt5#axs2zW;n^oaFUzxgDb;+W`@nS4AZI@dUzQ=xHBxMV*KF2 zaEPB_e>BqvFNSV^h7Z0B{do+V?HND#F)YYpIH=G3A%J0S5yOWNhH26aA3_#vGO$Ln@>>DrGHEs(o6wkiH@*#?0Q4srwc!o_O41E<$AJQ4- z@G^bKV%QYQ@FACBQ#jLyJcdmXOdkpvHia>KC}BA1!1AG#VN)c-rf7yuQ4B|NnLbnn z^5pQGbX@EG$DwhJ{uGY6*^S%y8n;K20@ksDumW{60yqM;(^qZV#X*^vz*{waRaf8Dj=RZ!3t34N& z6&mE2F@EG=Sg6YUk&9tzKI2C|hB-kDi**=g6fk`hU|3qh&|ksuQJA5xkYTM7%SRE0 zc@j(?B^lN#FwA0L_$b5BSHSd9mSKJ@!&*g#nXU|d91Iic7&>bi=4LT|RA87R%=A%- zajgc!Tve8jstj`&7(Qw-Oi*L^sLilei{YaV!&+^|kGc%=Rhd5OGt7`;=qYFXXcWkq z(>NohKch9Wak)%mhaz8Nhd|>x(S_WFyg6NrAI%unsxyAHV3@(guvV4vqZPvzd4{!W z%pYwSX67(_bYPgS&h*hSP#|Z1A7A6Kti~OjjXO9RJ6zXzw<$NNOm}U(;Mdq;ygRj5 zqj6hKV~74W|3bZ-^^6}q7}i=dtTkom=VJco#n6+>u+WI%qaVX!Uxq~`41H1zi$WO| zFfxDiXPD2zFr%31V=%)^R)&shhL2$kQ{$OFhBK_yWBeG!u-1lQtv*AKE5llIhP5V4 zA7dDL!WlotGfYcn_?XDB){J4g979Jw!whMLk4X&EoEbkRGc2xW_?XHt*@t1RCF94m zK+c?ZYpqxoGcU?%?8s`0xH-se75Z5m%= zM+8ITf$~DFTqeekxeRMv89(MTtaV}fSjezIhGDHE!^aYaweCzGOBrScF@LOJn5W3_ zv4&x-8^c;3hN(P^A8Q%9i&;O`GfZ@5_{7Sv)`9U88$-VW!&(oUwNiZyCVVGpV@JWVY zZ3M$7S%$Tt44>o})O&G<=?VR|X!CuN4dT87DHOrKO4dSw{a1~GrqU|5*K z_(_MMFN$HJKg01D#!q?-Yok~`88FN#VEkmtFfE4RlR3ljXoh(i4721JKUpv=RAKmJ z#W2r~@sl;f+CYX+wv21T80Ofpe6kA^%$+?)v2l%4<37$UYMV_ro6OH{TU=4COgjb-{2&M-xlVU8^GrznP5biPOFszMX{LIF% z(2Mai2g8hNh8_-v&s+?P>=`<$7}l0D9F}MN%*`-2kl`~g!`f_yJ!uScy%|39G4zHp ze&%ObTf*>JkYQ3d(`O-ug~kk@MH!|RGJO_f*q6-wS(0HoC&St@_Rq2mb4nT3<}!a) zWn5dt@L7|g-<09A7Q?(?#?RUeixL<=>oOdVWmsFl^;w@`Z64!iD~7c>42QCLKie?O z6=Rs?$n@EZVKN`XXJ3X1SUK+e4Nvx6Ep=rwky z3O9C_HFgI!b_X14Exb1JmcaK%TsNi+!equxvEmXwulj(YQ~(nZ22>ai2)zHP2-}g(`Wk7{4$x z?DJ;)!pd+|i179o}k?D&!!#WOzFMbS%SQ)8NW(0oaJWxD$TG?g<)SA z!#Y)lbxMq1Wf>0TvVN6kIKasGRh40#GQ&DGhQopkdjiAZLNZ z@yOdjjeV9(jeRDs5?>|UHfApLEKp?p>c+56gXyaW!|@1)<9Tdfy&2B(F? zXZ~8tFvW;rks-r3Muv&SOy8IomMAlPV`W$*$6|_O_*UOFT*4chRuGA-$WP|dog|!W7zD=u-TvIn?xXI!RpPyhiWHR zbmn&@Hl8SIY*lV-RcgFdUnpI$h3T6*!{#7{MV<`ZE)3ta7&ZqmOs;3>;$Zxy&9FI; zVYV*AWIcvCfz01@8Ky`xd^2R&9LD_3h~cm@`!_R&ep!aeb`0O_7#0^YeY0nnU&{Q= zDUhe&$t3T_<0Xxkb7xg;<~eTLcvh})OW;)HevQUm9*rAP3mfGMJ}`gtWH?mC_|2DL zt`x&Je}?HgOy2?+df6Di1#^50Wtd;Y(3j8hEskMxIODfuhRqQS-%=U+Lm4(lGJH#8 z*j&KSq0G=z#`-Ot;jk+6w_JvaT9 zF>Fp`_|C`BpTzK;pJ74-({}-elVKd+g&8)-GJKa|m|4K|U6$dP6~lK0hN<=p-xV1) z7cwj=W7r(Wus4tKyAs36P=@a+42z4HzN<29PGHy^!~9)?VRI70cO8b!$&BB18D>_n ze%EK1C(82OlwrO)^LHzT`Js&8?HG<|Fno7lm}$oN-I3vBIK$=?hIuS3-<=s|Gc#-@_O-r!ssGXV{#^^gV)Ma}o3RXokJ)jNjuKPDU_% zPh^-W&ip-zVXqa-_cVqn0!-ht84gJ@e9vRpoW-z!lj(at!=W6;??ntJBN@M!FdR{5 z*qq7yy^LXz5yPH%hRxY5->Vpo$}=n%WBFdsurHSR2MfdI9L66U4Et>uesD3IjAHn~ z&H96fp+l7QhY-UdPsSe-3HfpyQe2Cg--?&_&ahLW{j)lU7oJ9_7Kg=1X zdo#2bGX1b)n9k0yDUyhUM~vKzZC?r~o>ZQN+rc-Xt~uvcRbZ(|Qn zso2 z$%pYrI>RPkrXQIM#~j#yJo--W2T>+3>^y0KY18dmouy` zWB4h+&~MD}Q;=bG1@liKhCTs?pJEJ?7?^*GGfazT_$kfMFTyZUob{&+!|F#}7-gMV5iD{2tR5H=Isc?!38+)N^(O1TwDh#XZ7$%1@95!QI!^AMzh+&T{<4-k) zpBfCS>luD(GOS@_{i(&UhMnoB0mBqo=AXt4Ygie6nlr57V(4^bSi{2f(}H1Y5JM*? z!x~P8H5`mTtr^y^F|6Tc{AtUuhL`E5J;QtvhQ&DyQ*{~E@G<;!VwmT`_|utTjR50M zSB8EyhM(>XM@$(uhA^z*XIR6-@Y93gxH#iaPlkR6hJ|GeKfM`_i!%Q7VK`#Xa7c^o zrys)_A;zDf3~K}#eugt_3}yZq!LUY{{bvlr8WFaiDS_O@8GD0%7(CTx+Qz=Xxp8-1 z<80kkVjo4m2`4fZ7c>6M3*;#-J)r%WH`$ z`=!CKL5=yBKEnoWhF``Ei!+#inJ{cnW%y;mutAIAmnFjnO{QN~4DH#>zib&c=yLsX zWH{`=@XLqkmoLMNe1=~E43iBQCPy&-3S^jK$*@6#`ByN*20ez^*&M&Z88%ojY%pj2 zmB6q>j`3GoAWw7=9}=Zg6J!t->(5fa$j?!v@j5*dDLGHh^T{H?{X!HMCw z4#Ng7uHU*08yp#aTQF>JXZ~%;a3Y%Vw=KhoB!&&%j2k>yf7>(c3*q?f%CNzg@wXqt ziFoec0SpIon19DGoQP%ooxrfchv9b;!--^;-^qczCAUtbJY#FT&DeOGp|LB!u`3Ts zp0J#6y2zvPs8Zuz%R;4+=WM@o8Ro_?Y+`2qUBa-5h2eJv!}K_YE+4kvl?7K*co;UZGyLIY*u=s7hmWDxm0@KC!z?|9KSB(1oEiTJ zGt4q(`XkD)r-0#)1j8&7#y^sQBBdG&HF~5Q57sr_Exn|2N4W8MLgVbf#i^ZP3q2{P^E2{-<&a4NGkp|0pnQ5M%hG#IU83`HwO~ryt`Vb%rf9 zjDIv4wp24rv|#w7&9J44VXhnVA03A20?dC57^c`VESF>0Qp+&kj^Q9b^B)t2Jx+{& zEEuL#Gt6LT`eVh=1l!v+zi zKi&*m85sZgF-)ju*vrlICxBtQ8`GcQK%Ub6S@n&FbsBf@u90i(&S~t7i|T%FgQ_8?F-IamqPkA6$>7&V6$9Py8d$<~V_*pm`djuM9 z1)g&%R4jeN{HKOt4hO@w3dX+-44qZXf0-CMY#INuF>I@3{L8_xt%_k=4MSH7!)ZN+ zZRHGqxfr(9GXLdf*v`PPkC9K&{Hwq)laKMQQXprU^=ac3(TzP;jXm1z?2SEUKdUF1 z77CZSF#c6zJgv|0SA*fSA>&_7hISK%?Sia-wHdYxGyFAV*e=TO*NEY?4%1&_hV3E@ zf6W-S3o-2RWBh9#$X%9ngy}^7b-Nz#4=GP1pGZ96e8SP#<2_TN(5ft#@w5rUc5#Ly z`V5Cs8BUwC{Iy}|^I-hz$k469us4&TJ&B<`h3T&|!y*HQzitfOstkYK878VS^v5%7 z(`EeY!O$DY_}7bJn;zp|ABJ{ghQEFc+w>X#`ZLUxXZ#z;u+4yBk1EICV1{jm9DidN zraLqKO=Vb|!m!u*?2dh@oIYG)wIS3`7MsqLlT+G zZZiI@VqlnM$-wxxCXlP_-jTd}wv88}{xbh%`di)-HN&@YV%o3j!pyQ4tp6AprYSLW zCo=qFXV?_@~9N$c16P57R$whAoK<|MVE9hO+$AXV{X=Fqx5Ik~G7X6o!8$40F5~{+Ti? zU}5@a#;`<*VX-*FKTC!!8BG7I7`CLd{j+5_%fh%NmHnR!!BsVGyd~q zn61LFC7YqUhT&fT!0biFmVAaK1q@qq z8MYKK{Yz$;n#a&3&iXHnVM`&ymOO@eYK;GK7`7BKOqFB#m&b52kL6!6!+{dUEyWD~ zDi~IZGXAR!X;~`0v25fScjJBjXlrhW}0sTMU@~ zJ2PxCVfgRHu*HaBixtCSPKN*P3|mYY|9dcOF=p7J#rWTgVY(L6e;q8D=Rl zED~kfqRX(wkl}wI!{ii(|3M60DvbYw8O~}j{10X5b7c4*#<0bP`F}XW7F&k@(F|M6 z82-mFY_VqeAImV0o$-Gh!)$HFEfy^Q6By+;l ziZg66XP7C(aJY)?e?G&6BPI6m6U?()ixC@x9G&$-+j#id9UF4WbMuQy3c?Bp9ZfGfYTi*y6@8ho7O-kg2gj zis57$!xndjgXIj34YCXevKbm1e~J;MwhhRxL+jg1Tpo9h@G8#x)4I5TWvWNd8YX4qWMxVeU5 z2?N6{Er!|23|p8O8XI{TwlFX@Hu5pd3u9<(6kyoG!Z1C6xv^1@VS+J3W1}d;7G}1_ zMlptN8HNem42_Ml3|m-P8XM&pmT@yo^kHmlRA!ix#IS{pxv^1|VGBEBW1}X+zBGoD zF$}$OoQ;jz3|lz38XHX+&MGl%;bd%VbYM6c%hcHD#BhL*p|R1G;bb(!UJHiCMmL5n zTr7=^?t$EuI~NAEDJ_z1yq(o}F?F(j<5Qu=Blhi;jc3dnPr4ThRUTn%Z1iX71z8@* z(2>f}*ci+(BZr}}F@#}pC{tr&D8r;+hN%UNjg1iu+hiFV8>1Me#Y?y+l}&fhqluW>p!1wPjA@h?=Z{K(eWn8h$r zjj^$@kYRx@Lt|qxLw_k_V`B-!Jdh8{7`CY}Y*S`zY%FKkrpVmbSjo^?$k5nW%P@6+lv>3K&vNSg7Fw9QiXlycMI91QEFPgQn$%^5y zG(%&P1H+kG=Ef#RhHW}bjZLl$^8*-jM<}u93X522tFe!<-vB@)#tE#?B=VsiN z#KzMOjh8DYS2XUgYn+zcI4!AhT5_RaRVQ;}QvkyZAEw5p5QYWX42%638=Jxzw#ze2 zRAT5dW|)}6)Yufs&=t=xH-VwCDTZNE4#Rdu=EkPjK(4B#li5!gG)`w|oK`!%!t}pc z<8(%*sRD&=RqL4>o01u}t1>n=r8AtiWNK{6WZ0j@+}M=EFvXp@v8jMzuL{G#M25zu z5{A2H^4;O1=Ge5(AcgDtMQHI3@3_C#D#2I#^ zFf=wxGW2>dH8x8z?nq;3Y?ftc4`pa&#)ttVRjl*W3vLoj%wZ+xHAIF+?ftXiM3vDuhmM(#^zv#9rcWj&5;Z{nHhF6F*Y_wGwi5lXl#yUm;~}% z97C4~Lt}G1!%haq#^wZu8EOoT%}ERsQkff@lNok$votoRGwf$$Xl%}5=#yYmwoX^lv!Z1OYp|QD$VRi&_V{&|7||$aY++^CZ_Kb$h_SJSCy=xH z$lm*kZ`AQ;MOn#faf_I%{K#F+*20Q)7!I!%jJdostX( z92pv0Y#4URur{{XGVGLPYix05IGx3?Q=Xx*#fxD-KSN`SH^b>1#>N&OhMkHG{UC?< zG3-=eIGxSi*b>07Q;E5;C5GW(0K)-UhE7(7ohl4Fl^Gga5*YTEvp2RRGVJALn4rkp z*pkU`I+L-nrJUh(9>W1ErpA^^hO@%VjV(0{r&AeD=Q1?5GB6zAWN2(e%}hMm3)JN+4E`!hDSDl_a1U}$VrWmv?*usEK%u~m(sr76QfxgTlE>bQW+atO&E6uF-(kNY-}}S*aO;tu_q(CJc?Owv0Q&*cw~y7j6)sLt5fni$AcD||wEn&32^-wciI>W%Gcjg9&}mW{S!J8TKhMG`5K`9Aac?Y!hdg@4(pDCc|*3 zhT)JG!wFr+#x^;I{UHoHGZ-4%6d3jgvNg6TGVC#CXl&D9H~}(Bli`FOLt~pZ!wCb1 z!_h2_Z8{8xBA6Q63>o%2u{XAvFdVgHXl%1#IAO-r*k;SHmyh9uC1Yco1H;Zt=EgRs zK(5-=hh009y1XX^HqJErBRR#nGo@E@VoIT3?N+A7Hg|>t@eC&{7)}^594TRFZ1ZB+ zE5mTYkl`RJb7Pw~!wFNy#x{S36V{B4ZGjB?%^6M@voy8^GaLwEI2^~&*cQQX!i2H0 zEt27cEyI3Jh7&eSjcw5k`|=p}MldwC#WC!)XE@=?(AXBwaKw|bu`Pk&gd;;^TN1+_ zcZPjojE!x{3^Qeo#BKJM`K$p!#;k7#&$M_6YdNr zJQ+@SFg3QbGaPneYHa6XIF!fK*v`wakC~ydU4Y?)7sH_##>RHRK)yP|qtY2!4L#%9Z2=|YP-d&b6gafTj0rp9(jh7&;yCjuFEW^*>S z%P^b>WoT?yV>rsma7c`~v0a_vLwz}&DLM6o5)zVf^mI#pkUpq2@Vq@ zIy9E(G_Ege{H1Vz=hH2>x>!TUw z`7o`IVVJ_eu*8jFmL|hIRfffS42we;*2gonS1_(m2o$b6J4>|JVV>z8uJfLYN+$5{ zNm$F;cqgxMefIv~7Qw|v3-q??xB53pP8UdItb4$?J}r=^?$IRKSt^Yef*P;aHu6mO z+!wH4dY;b$pT_k`jTa0HW$WHCuFqoVa%Ehf!!XO7VXig9)KrG``3xOe3|(RjjqNdv z>kAl`STHO~WLRIsFr}Dbi8#~xVulH^3{$fhChIb;FJqV>!_e3s%ecORVSOG$4?n~D zDu%}PIL7tWfqeDC{r(+_lcHvLo=cmDZG*b&Fj*q*@98^qAqp2#qhhpn+aiD5@PLt}d;GaGXis2iY_De6%F3{)oMDL%Q)34M!(u0f#tvqNy;%%f*%@ZDGcibz5J46|JV^|tHq!^|cFgA9`GwgI>n6JgK)0LsILy=*g z2V-N062nYUhSNn1jU6fsJKY!>J5(8th_WNgOh8do$jU6rw-KGp(=?puQm>N607`Z2C?C@pS znZn%I;m@!$m7%dCn4vF|q1}t2u_J_GXBtamM<~O=1ct_rD25&{h6N=|jUCYp3yc^h zTQM|t#4$|rWY`qUu$X~ilN57fM?Ay!aE2aphS?H~jUCB>Tnz%#3>u$gG%hl2Tx8O? z$n>)AWu1$v%Otjh7iu<0F*bIjGi>)`YV62l*zV8J*pb7qJ%F*XBbRA=Aj9@hhV3B? z)5RDXJMtM$gCeYe;j|-TV@Dyw_ArLVj$(!$ONPdd5{B&&3=2#dRvI$Qwr6bYC}rqk zWN7RtXXs{TXzZw9=&fdK?5Jdz7S6CelCiO)nqhksQ)5Rh!xUbIDJ~3)^%=HDGdFfJ z1adY6ZI5YOwGcatA zWnkzEVqk9U6b!#tymP`iX1}RZNYY(hLlTDj66K zSTHbbkz-)kBFn(o*eMst)zCaUv`g-A+&TMxmc}zajrZLf@4Gd=)^E#AWNzqXZR}KH zVAxa$Qmhdu&@gRYe&dyr#?!)$r-d4Sc{fX(vN+}6_}!&(P4y+uPMuYJjb~UIe^`bl zGBzw@YV6btLRae(*&FUNHgd!V>lE-n%`;=n3|+~Ljh*2PQ)L+@ z=rA^RMlx>Z3gm6%U!*+6v{`kh-VXnH4voi^ni}1k8r>S#3O244X#B|kA)!#PQHHUx zGmc@i5Km)g0>fru#>UQEhF*1s#?E|(xl9b3MVT5q3m7&FGBkD;Gfb{wI8w>n*jd6b z-I1-avm#Ki(QS@fz{xoE5{Atp-HhimNXV?vg zM7G9o#>Ord2FA@&3@nXZYzz#WWf>SwdNMFIc5w&tHm1%OKEg0NwQ+4&I{Y7-vZ`Hg;t&>_}p0 z?8;)81q!lkhB>aRja@kmYa|$EYce!;6*0^$XILD?(AZVXv{Re8v8yDIyGdiGLE~b+ z#vhzlDju^xs%u;<(zsakLS?^xQ?pf}MUye(P7{V6RfdjohIuv&JB=8+^cfnvsu^|~ zGd6bBFzhsAY3!r85YDaHg+pBEKg!+H)mL$%-Gni$}mxz zp|M+?VR<@JW4A^icT>lbipDc3jmLR=q#G}*H9oSQZNS-hT%hqd=Tg=}o~Fsnjoo?- z%d;4k7c(r+W^C*>Vwju9uvmqmvD<`Uc`ZX@w<*K&YR1NHvp~V7B`X-#3b&awzV&K6 zuByVKxV5^={(#5C$cbJXQX9XQHU4$n=1?fyw3V^3+lpa%3B&SSh8ds`v0*r-#L(Dn z%P>EKVR;^7W49f{@(RYrZU=_tb&QSOP7HHx7?u|>G=D|+rV93% zq0*e}Uf1UWh5St~m>Rpi8D^F+HFoXgF^FLWC`{`ZI#pO2yXzTNC^AgQWLP1_&>zXr z*u%mwIgX{Vhm~Q1JL3xRK!N61&|Ks3a1NGTs!feqjZgI_6>f-Q?lbSRU}EYk?#nCG zY0hO_VZ^Y&fUU8IhoPT=VTCDUV~;Sy3MYmYwhSvA*cy988CKXZOwVO(?2%!Z9LsQ2 zo2ju!j$vj7Q)7=J!wM;e6;_OmJt_?Q?HL+-)EHJcGdA|9GpvwfSYgf3*rUm?!iAx+ zM~h*F1w&(xHp9MJ=Efc!hGWJID_j{?*fXrKWSGXw+}LBlu)>64vK+(Y62=u~ft<}- z8+%L|kLPYE+)&b&*;mkbJf`t@>@xGh)aHGRjXh=zE8-YdcrZ2gSTL-JWoYcNX6O@R zZ0xaNn8d=+*ki{qNt3a$$DW~|k-4$Qkzqv`Lt~FC!-_zL#vV6@72ZsZJ?;#hLJTYX z85(=M7*>QcbYwHENMvg4@n%@z#njm2$1pvgVMPpcV^1K%K3|3v2@F%T8G4dg8hb(+ zS41&2_CztP2w-gN0a+c-u)>p}u_u9HMI^%<6^6#1M1~ci4983u8+(!%_7^g&@MD8fVXiI1iU@|ro)m@^A*_u(sSGQ8nHqbt8CC=_Ol4+m?8#$X$j7iEo?%`h!^~i& z#-0*}!`#e`J>?85ikKREsu_-XGB)mziNjE@NXaH^UKb zw#Hswh84*S$K043dqo%)moqf>N-(TQWmu8I(3{P$B8j=NSCV0R9z$cVEJJq=!!dV; z#$Gvw!@`V>z4C!VEtxCw8c(D&{!U(+)+^I^BBrr{xv_z%sa3J5RiW`jZR3fW#xK^Z zeO9Ne&Tl+X(s-h}P^P7tt+7{~q1%eNu~(0AMLNTZEQZEjBZi3#3@Zv48hecyRunQf z_L?vp^JO^Z!PwYq!LX8%p|RJBVX7ZvW3M&C>~QABUR#D0bv%u|jtoo185?{37^Z`? z1~9B-U~23Q4CHFru~@V_h`sToUgN^d<$;YSEgDan?iSjuTv*g{h_SIZjA6bdb7OA= z!%Sm_6;%xTgcuroV;EMHGB)VwhUO(AdYvFja}+Og>{{A3wulCdS4-L58_5OpSfQ z495Z)R&p{l_K7ic3NtkJi8Jh1U~KG@U^r&M+}J0@FwL7`RvE()X^zG|Iffb53@h0f zR&p?`Z!hLr*g6WJMNdNDQj z=`kF$Woqm*WH{!+aLkaQvCo9zm^Z^pZidD_Q-)*K3@iDW8~e-{RthsU_E|9;3t(vM zvt?K*#MIbl$FNe6VXq0pVKv6aK1YVb-pq}C&I~KX85;ZC85Z#~HuiZi91CS=?DJw+ zDa)`@gkhxwV`HB;!(7L!t&N$ z#>T!-hLti5jeX$^XBik9`yv<)MzJ>bMKR3xXILrE*w~lAaLkLju`h{Xr6faRUmC-H zL59Y@bcU5u42Rem=5sJL_GK`vlw+99!mv`AwXrXoVWkp7V_zY|N=1fa_N@Q(B=FHG3&oDKgv9X_tVWkQ~V?PVSv})GIepZH+Y79q&SR4Df z8RqCP9ARf_>=$I{ac4Ld$T;P7*?t? zH})$t9E)IBsmXA_iQ!N%Q)9n6!$E77#(ph^X{^kR{rU_mwV4|GjTw$bF*Wv^F&qnH zYV5aUIA+e=*l)wIQiGwf-+^JJ7E@!tBg6hm&c=QhhDFf~js1QM$ATFe`~4YK>M%C; z2QVB+W15hV6w6dqtTW`x6=Fn=mx?r!pMyWN7S9 zV_4|Ku+NFHu|J(*Q!aC3e&|afTf{3_DmDb}%tDPLO2S!Oqe+L55**6;tB`MTQ;B42=_17-p0) z%#vVeoS@3EgNvb0o}pWiv2lVL!wy!49o!5%gcx>6Fg8xmVCc_bYMh|OutS_-E-ypl z1YL&3S&WSn^cZ%CFzgUxZk%Ai(3{KLIKhNr2QO3O1Pg{80t{0X7#b&7Gc2lO+`-4N zLy%#IC{yDE8-^Xy3=0(*PDe2{POxX_(PU_x;KVSSgQ0PPGea*U!wyNt#tAMAr^6X` zNHOe?Vb~$hutS!yae^De4msw=2_AvG?LzabHW)N+C}@1H3R+w6G`?G?@s?NPhTz5x zL5*MI8^6XiZip>x^k|o7Y@86tFj^t%#9NY7|$oXEw{9mCK#k(=SL9Ao1| z9)=x;3_C0tcjz-UPUK_Qq06wtjp1|*!wzT0#)*OqJDeCBCkiv{Fk@((D9SL?l%;W^ z7{d-*rpAfV3_Dy|8z;&!9LQmqTFcltQH9}%8cX9uHHIDbjExhu8Fsic?C@mR;lj{3 zQI}zd9aG~(J%%0L42=^F8FqLvH%>HSn99O%I)R~aq8Y;uKgPz1<_tRmm>MTqG90O9 zXq;%nu)~p|aiT55={SbQiFOP-0vUGrFg8xKXE>e6*f`OVVTV7%4hM!EzHE&Xof&on zF*i>1V%QPF*f`OT;dCfNF3}x7p&Cob8jA2J8!|7R>93_Bti8Yd<)HBL-oSjNlHI5Cysh$h47 zFs8I5Cf5M>s>{#C(RC_6$41m>VY+Fzkq8YMfZYus@%n zabh{cj%bE1XNJ=eJdG1881`v0Y~^KYoW#noCz`Qw5(mSM7>344Tnq=w7m@mz+fR&|jk|@I=dxm+|jE$3|7$&MS zG)|IXn4iPYI7yb_umnTnBsqq?988UqXk%=gWW=!3fw6It2}4&sL*pbf zhUqfQjg!n7=I}8!PO@g0ug}sr$&O*JAWP#UXNK)M42_dK7?!cKHcs+n=uly3oaE0i zPnxN5QUF7*JWJ!GV215_%#D*G7`E#(H%^LS=;UIUBE{G^DS=@LFT-|S#>PoW4BHJD zP8TvYPD)|eZp3hahp}-|I>Rz9hQ>*m3=1+C7N#*aPRe4~>Bulsgt2i_4#S=ZhNB>B z^B8tIF*Z)hXV`AYu-%wpQUSwu6UN3#g$&y**cvAlGiGC8own z)eKX)82UmP8zC+szoZ+p#oG7Gcs9Br|lUUCwnq%cVTLr z?8R`HouP5EFTUBh414Ms8z%=a9M)xToE*fk-Ib|vaumZnHipK@u?!0g85$?Y zF>H@#Y@8g=(5uVbI60AFzZg^F(|q#wh{}yCNAHrwB9biehM-BEqmMg1K>uD8oc!hQ=w947;Kkx-^&@ zr${mEieYM;BFC^RmZ@=yBEx0}hBKTDjZ;(@&Tug_PElppE5g<|MU7#8EyK}xhP~bl z`*@ier|1T9b+Iq4+gQ-JssOr~bgp9KT!qHP?2U`r8t1APT6YODHcl~NIGn}MIK_~b0ovCq(55rL=rp77$47=hO8>a*@ z98F_xoD#xtG=rgWN(94J7M8{-kqk#u7#gRw`w46~vc8mBTc?A2#%oXW&- z#EhYFDhtEWa;Ce7p!~Phi#;HOK#~2wKr;0M{EoE$+D$a03g0XR`B*R`e#>T1A z496H48mG!K95rEVoGKT{({=n%X5*5a#(D0I^V}MjZg>NMJZx&(t_ogW+f$!(MlW#;Mv2$9R|;r|K{qEoEq&s?TtYjiGU> z0mCsahQq;3jZ+O7jxjSdPBmdT#?Ekzo3U}KDZ{>ahQ_Jp497Sb8>d&`qr{*yn6Jywy&DuD%h~bzBL*vv6hC>Dn$3z(pWiT{O ztz)j)r?E2}kz_a`&eS-Kli^?}W8*X)hJ9WvjnnuT zjyNzjP7`L>8_dx-O_X7eCsX4zIfgUROpVhN8TRBd9IRkyoTkFCznbBgBunEo)j+Q9 zImh@K7nn6JP;XqI*7!hkwQZ+zv&{6ANvesA-OCu4Nd)qAub89RCO)%lc5UMyxyHA$ zO-fD5^Sqn7Q<}O$n?w^CySFedlMdwR-ZsCmC#=_dndn5drlzpQuc32FXX(sl?&exp zk;vG6h;f-*AYb>9>G3l?Cg(SPcWQj@-J9E2)+X1=x=DGv26N*BnZ{SOg~HvJn3gFs z%*tk1rp7SKiE)`aLuU!Y;yi|BnhgD}4Bh;U%d{B!+!^LaFf7PtSf<0!YsWAzoT1Z< zahYzQdiSfwX@*Um*)w9=13FD6L{Et7%w5d5CTAMI$<&D1qSH89x#m?*&E1l=S-d-G zxe>!O&1o82?YG)3iC!Sl;xHw)@rzI6Yv!re3%s^kcJQs$=&LRa?Ga>LX2USohiRD| zL#G|XGG~TmjtmO~8J0OQOpRh#=EBf8&6sJKE5m#?h6Oqd9V`sXJQ!wZFf8+AnCQVU zRgH0(7sE6rhB;h}%X}CnYcfnPV_fFPFvE~>SpY+yB1hvi6NU*)%#G7*8M-SNc9t<5 z^kCRo&e%B3kzuX~Q{yyehP}1Sjnmv1c8M}KPV-{eEWp}0&5vPT0z-cYTjR74hQ4x! zg&Ay()1nzx$1*ogOJdj+z|bMg&}qrmI4zA~S0H2Kv|NT=!Ay@8q8l)|vjfZ<3YW8-wTK$)KPN0mAR8fRNH&NiOT->A^IQLb?-bBABMVB=<|#@V*h zvO8;favEn_HLg)?$(`yk(cZFId#YCBY_rD2+C7Dh8>AYS1SYcgoMvsD&d0!T(ujfK zkTe6soZ{y2J-dXI%(WE+pBSNY2)US##OA1t5_OW`*)YLXSNDA zTQ_dtY22hbEv!(e=LKWqbXkU@f($238IDvi>znGY;X#>VOTftgJ0;~O2GdEXu#3VBI8ZmCt2^8!#nd38u@wn5u#3@A+MOz$>+08GUUvSvJ zQTs^69?`tnEG-;`+`X=hn~WGXnK5oMVVEV((5uJL!_2VBoMAR2!z?z2t^mfy>2`sl zy}@g&R~c^8*k{<(Vb}O9e2&|k#3`xMl6YHP8(-NqzT%!x->0>lyIr_xRz>44|NRDq z1-%(ejnkbO`gs@{r@JxiEM;t*?#{5phOu$FC&SKshF)!kMWqbAUJNt%IU1*XGjwJ! zHck&=*jd2P8OYo?J&a)y1H+6Gmd5E(3_FV$8>h!J>?~y1C&JV?J(1x^6-(pv6oxr+ zOpVhs8D`WoH%`xCIGD%YIK6;jXEDR+3Wg;P4AU7HcF8a{POo6tCC<<|y^3L%JVWF3 zYKC2M42{!k7#3SH?2=__oL>BJ0z=~r28LZ4%#AY`8QP;5x+57HXRtEvQe|kI z!NxFMmbq~TJL4`z#>N@k47-#WcBwNo&fsO3#Luuxg`u~Usc{A$!!8|$UHVLoGXxnX zl`u5U5Mk)^X4oacuuGG%afT?vlsKlw8R86cycrs2NHI*vVQ8Eo&A3a8VV5pLj|#&s zJ%+{^G7P&685?KFvNX<+XV@jl)Hp+hVV42JLXg|k89*(T85#_;%Nh2IFg4E5V%TNG z-Z(>-VV5z(Bmst9CX9_UOc~}FG3+vDX`Epm$l0ga$-m8~@da1o9{$EXe2shfnHu+S zHSS?7RO~ZiY@A`waKwONmkm?n3`d4t)(pEW85?J~Fzm8rY@Ff7u*-^ZmjgrN3=f7m zW{iz9JQ>zmGjvNb?6POr<-#z#jNx=GbK?we#$8T~jWhfi&M+`F&In}KCB@M=BZT1$ z8)M^)ScVQ=#>N@(47;Qm8)qa2a`)wQt2LK5&C6@tW6s{V$EInfY|~7c#yysedn_9F zI2LmDl`}QYNM|@*&(Js{i(!{LW8;i$hOStK#u>Q`i*%V9XXFJ6^tJBtYTV<~G*`W8 zu3F>F+_{N!vl?e6G_LS%T;bEWCzxqb4ll=|{KB-psVt2%N*T^DGBnPpV%X)!&^V)- zVV6H+3va8iunBtOGRA%@18 z_6#S*85(CgFg4C}WY}-W&^XhD;iMEp<4jkEladULGu;@DL@=C`U~8P|&Tvwip>d`k z!#+-igJ~>{GyNG3s4<+BXV@3Xcv6<7ab^g^K5K@PGK`HgBN_HsF&v0yZk!p-u&;or zab`TjNd@M{nMn+XtQi|;rZMbeXKb9A!EmI2;fOh7Z zivtDvC-jQ8i8M|2Y5XTSzhDw;yI@DuJgd3+bMuylFU)V6p3*e0wnZ?Jt$zVi<19`F zhRHGvjE%E+7#Q{#FfcUE;$vX!@DJqdU)4B^ziClz)1sQjo#~CL%ufU7JDm3^RPNu* z)Hq9!VVx~w<17(|4iBcrSz-)Rgc!Pt7#n9vGR#nASZK@8I7^ygh6Ka>M25y$G7NoT z3{z!T8fVEeEEHmB1a0NuW0>g6&^Sw(VVxaAPY}a8d&Wl4b*g?0i8-Lq1UiW8ZYrO8&c-@oznEH&IrdGD5xw1#y8n1^m z{>i@{tI7^pdoh!qcYR1M{`V3Pe89MYBCWtXL&N5_JBEr}>%YE? zA4B7;Fop#_4C^8o8)tMacxB7F7w7+W{qnU8`mf_-e6r5+SC%!_$4)w zeL@;zOrrGcYVtWnfrT4dNsP3Qs87%hI^pq49?B6j{(>?M?bE zDvj$n8rK>&t~F@fQomTT@rGE_63_KE2W6IMGtJLPWS`K=*f=YTf#G-|1H-y_P>RZ7 zVA$ivz_2b6WN2<6|AhVn$$fI?G#kGtG|lI1n$OXA)wJ=dN#hIg#us9ZFN7Ok2sOTt zY)3e4*Hq+mf+Vy3k|79>&JmObp9P85?J_ zFf5E@Y@E%;u&kV6SqVeqYz~HH6^xCuIT^u&j<@Sq(#9B}3zEQHEo342`qJ7$zAqEURW}oGs3jv-KH{+AuWEHfJ~{!_YX}g5gLY zW8-W~h7Kd<#@W^k%UPHjXWKI@XJ%N=%G5a9iD9obOXF_2hMoe(#@UGsiv$>E*D^NF zPG;Cy$FQ@Op)a0cXAQ$_Z>GlCseytMGj}nZWpA1g(zMvPX|Yk`KiOSgtQSi!)_@K@ zIP87Vzr&_gexl!=xI~tTRZNYuvl$q7F)=Vq3ua(xoShfQIk9yYN8{m;rbU@ei!vJD zg*LtmXlk$)?Sb{pX3v3$~*fcE@Y+5GJ_|>sj`@Gy;)AM43@6JO_Ifa!EMsh(Bg4?E%5ao{rE!iN!(La0lhurkbCelQRxvcrQDxYh%hfnX zjp1Z1L*pDnhLe>HjdP3`PS!CT^kr$BW6W@hgW(hlW8)kPhEr@zjdQFRPS!IV6kuwc zW6Q8NmSLYNL*pC=hEvQ8r!RL*twcBeIN*b2%AK88I}@rYDbJZ9Q`!Y1n)n+&x z#n3ochv85W!znxF#<{u-2mBct=NdAca%O0pYs7FkoS|{9F~c4khTTj|jdM*HPH8eW z&NXK^rO4Pg*OFmxJ!j)wYlc(y42^SL8BVz{HO_ToIHk<6SAgM^6~if4hQ_&`45w@v z8s~a39CT!Coa@bSh?(J(0>ddAhEvuIr!1Ho=lU|7a$snj8_2NVm#J}X5W_wRrpCFU z42^Rm7*2UJH_nY@IOWcG%Ac)qZY;x51BS-ADGaCF7#ruNGMw^ZY@D0Uuvd!VR1m`{ z1BO$cOpS9h8BPTyfZZ5-q3x>wI1q=r&85`#oG91=sY@A!naLSiq zuPS5X+){=EJ`4vzL0-;qCYPacZY9GhbC$-rRSdhC85-x-Go12bIBdbtIFEthlpkZ` zJVu6-H4LXhm>TCXGwicrXq?B!us4*oaUMIvsW7I-dAtlqG8h}@2{7ypV{e=%#BeH{ z;Z!hF<2)&bQyvVvSr{7U$ub;_VQQQw$8ai=xpAH%!+vpwQ=v?a^Hdp*)G{^B(_lDN z$J97ao8dqWL*qO>hEq|Djq~&wPQ@`c&NF1#W5V1x&zNC18*Ae{bB05442|<_8BQf| zG|sbQIIP5QEQGOfo_iqoxTk5?LGP1u>jTVrrZh!Eh>vsc~L3!>L?`10Yp#47*tw z8t26`oQh{SmBrLJFM;7y9&_WoWQIMA45us^PJ#TC&Uh+=;Z!!mo_vPJd07nmT^LTK zGc?Z2W;hki)HpAP;fySIe)9!>J;c#`!)ByEzyd=La&JDq(D#AH;CPkD+mX2*Y7F=EnJ<3I8s|qc zoGN2%oFBz-Acf(mJ;NCph9hw-jq_uew(>D7=3(egX4opkuvL(8t1!b1CC06yft*t& zHqK9MTBg~Ud#R48@v1=MRnf+)B27zN6FH{LV%jRjz|bSbz|a}Yz_2)ofnk~^14D-# z14C~h1LIcNK&~lE7cosr>G~an5V$F)rFyPekS8qH-@dA z3|l=Iwt6x27BEb$XWZ(|Fj1Icfg3}o1JhPth6VKuTLTyt*D!1iWSE}K&^SMfacdC6 z%hOH?Kjq|gawx$MhO;u=|pVQRrxZdob^Hj;rdP}97=J+%<6|c)F zw4JKOxHXeuYYqcwVOT!HBteF$fs9*o85-y3F>K9e*jmoCwSZxUJ;OFhh8`Y7 zn3%TKGc?XGX5Plc&^W(@VH+F6#1w{YoQ&Jp85-x8GH&Bym?FlpjfY{fGehJ2GKOuU z43o>4wuvz|&M#+}=g+XGl&x`oB}1nt!+~0c#sv%v$L$#o2{Se>U}QM%z}UEeIgn>+ z=N{L_V|9%OqWi-dH!?MDq31x+*Q>QXDF5qN1lF8npWAj5Fn zo3U|$Jj3B)hQ zpuw;|kKuSA!~P1U#s!)T$Ag&~7w9k?4`MhT!mw9@rE!5i!#*8`#sww}$3qz#7nm~a zDP%Y+$k@2RoZ+}DW8(tLK;Ee@rh2U_Sth_$XM{*+L z)US+dIRkm7exK?+GjE1yfA&1Nc{%G8*C{kUi)&h5*c8-cQm8tOnQ<*I!ya0fq$UzH0vdq4Jd zoJ}(#8o#JEeo<*WW_`H6smr4Ai~2^X*XXAoe28P*53=D_D85kNDvNJFowr5~zT*wi~Gi}4Nv|R;_ zJEIz32rnyWJgCq#%du&eL*v2HF3ZLd%g!%Sg@1w4$6 z3xycwt1-;aW0;`C(5J@GxKM;)n+#*)LQ#e;Plko^47+L=x)c~27m73Ns%30kD9O+r z#BeB#v2md^!yy-j#)YyBdj%PegflfRlw;Uc&(OF~k>LOr!$BeD#)V1@3;h{(B{Iwp zVs2ch#;_}yv2mdm!;t`nT}h0M3w0Q#=rBxnVrX2b$I!ve(6~^aVXre|<3a<5xit)p z3ym1&8#C-mWo%q%%rGyRp>d%p!>$yD#exjG(io=NF*PnUW0=6nuq%UMS2|PULQ95e zj*N{9Z5XB~vNSHVW0)<^(74c?(73RWVUiES)NqEW*^G?~ zix`$NF*YtNVL0l{(3{24xUh_2q8Gz_KZeGI^$hLNERBm87lhmsDKPBz zXKY-g#Bf%Wxp9#S!)`x@#zh(o9qtT`i!>Q_`!Y5z(qh;hz|gozhhcXhd*dQqhBI+2 zjf+ef&cre{F0x`cE5z8i$cEueJVWCmJBGu&3~mmgT;$4dB9*amkr%^> zbcV)7J`5+)*cuo4GR!q*n5n_gxG037FNtY`AH&2#mc~V)3=66m8W%+|ED~avCCJ{m zC_0dT`v1e8jr)um_nP)HcGxu@ENR?l+Qd1rra!oGpFral{>CkQjR*7_59k$|&fsG_ z?Z$A#k>M~G!ybKxy)jIUi!vAv+A|z5VQO5I&2ZY2xp7e*!)Xu3#zjR8NB9^T7nLxa z_GWEdRLXFuma%bBHN(C-*2YD(45xh<_B%5+E@oypXvxsHn3dr$BYWdwHirFCERBo# z7!DOP>`i1i?aSP_SeW6oAH(4?rpCqM3`e{fP6skHE|y~0>%iE!SeoGg2UFu>S%%XA zjE##G7)}QqI-XXOxVVV5g%ofS(0{2swEA4PtT|P_QzAdVU{S3=F^QNT^iHtLP7`LYc z^33RKT&&f2opYV##N4LoI!!(4TVoopb2PQ+&gGo!($t$*STkc5U0oOqT|~3_WQKv%DCNOEWYs4q`Y{$K1F$m|=|+!|rs3LSL$CcO`7soIh@@Cj$#&F1#p>c6CQ{& zjf>M6_5?FEF3w;$uFP|ALE@5XluEyNB zgp1+097E$0K86FP49C@(8kg`h9M@oITq4A9pp>z3i7?Y~O@{s1499ht8<&VO?8{;} zSjo`1M3P~5HpA{LhQ=jQ3}@1q8<$8koJnVBTq4h~Cx@wVi2}oMU4}KX42?^a877D_ zG%itLT_YFBJu|l_Y(>}t>B(_R^_N98O$=!Kz`Q?rrrR>ELavz=jEzgw7$!DX zIFQS5#ED@a6Jz5Ndxpcz42?@18TPU=9M0r!T;jyAC!Du&i66sJRfZGn4Ewzp8kfW{ zoM2+u4^kc*$UXDM2@cN2ohFS(VjGXdG#<8WJZ#ap)3$M^P2=&*K8r%DnU6Uemn1Xn zvuA2tlFM))ou_e00mJ@qhQ=ke411ZG8kf{DoZx3`T*}CBf{)>#JHrWH*2bkA3@3yb z8<+Ai95febTq?kDynvx`sUpJ(L533|42?^b7!DP%G%i(UIKj$rh=<{XC`;o~4Tb}0 z42?^58IA=poDgO>A;5S-jNxD*bK_Dyh7(+jjZ2LfPH-|bE;V5|A;HqP)RbYrIz!`9 zD~7{0jEzgJ8TLCeoM2;WTx!d3REDu}sRP3SKZeGoP7Eic7*0qsH!gJ!#Z3kF*B^UWmv+VCO*0iE@Ps*0;p7?_vjc<4w-|(K6USm?IHLI7gaj7@MBqN6P zt_(By7}vWoHZJvLSnt6w-G^blCqv^>e}9l_MN zG?rm^6vOUFhTSoYjY|_4c1N=`E=^+G9n09bG(C`O*7-AujhpxyuZS+@c+7uJXL1a4 z<0ihQ4T^;(vu?6BF3o1xox{+$w2)zUE_373B8J_0%#BOS7rGR*a4Xk2E^use;hahVOnG%lvbWp)f_QWzSS zIWiov6mDGR#Bjiixp7$-!x?$T#${0qXXH2*Khld*AG1;ZIVhBMk+jmxSS&S){5(Pd~{&dP8`gW<5HK;v>Y zhBIaiXAD>xmy0u;v0!LiF2itum*I>#N8@r?hBK}Vjmy;-&R8)wE>~wbwT$|yH z15@L29fmWu3}+k}8kg%coUvnUTyDT{#-3rn14H9-BgQk<%#F*98O}H{H7+-2IOD?J zxZH~2j3q_f|cP+3`^q* z9)>eIoQ*348O|s(G_H_lIAh4rxI%_up$B8*3R#BToD7XC~?2tTw%*_P=={-g+0S*2FAt} zP7Ft5SQ}TkFzjPxILOV=xWbF!G$Tjj3UAiN6(J0#nHf$qF*L4-VmO?~)wm*>;V=_R z64(GErt|(?W&Bbt< zhqG}-CBr^f!>hQ^f|3Jl>rQ=WtkdRMlqb0V`*F&%W%wxxp8F@!#)?*#+7Ld zXA&4rD=;;#%wae!!_c@gpW(DTL*vQM`sK?N_iizPgH^XUV z&c;>D45v96POGvvuHt1lt-{#2N|fQW8pCN}=Ehax45!r@jwmsl)?{g1CC%NqN`c|D z27BWw9fs3v%#Eu|0{P}iomLcR+$YtzFOc;`>3)YZmS-#u6gI6WXvt-=n$k@2bj-fY= zVVg5UzdS?ZDhI}GE)0_-7`C}F^k_40b7z<-z_`tup>dTX!!}=r>81>gtDG3N`7t%F za%R}(&(OHajbU2=!|qUq##Qc2+X5LHS9vgO3t?_t<;k!ul%b!Gp>dTj+qN)b6p!&wfd##KQKXXO}9S2HxO3T4>O!*IBSVV4-glmy1c zRbdRfYnU5XMKJEJWo%p(!?3%awQ*G(!yX2PDbY-gt5O&a@Ut|oN@v)^#L&1ZhhYyh zOXI3sh69BRQ>7RiR~0dwE@x?6Rl;yqjJa`DCBx1e1L*r^*hJHcD#?^cbGqji* zR|_yq<7aGKEzGosg<-EF!yXQXJ?spPt3?_1a56To7Gv1M!_c@|f?*Fg!(L;CJzNZX zc$phlOET=?V{BY4%Wx)(p>ef5!&xrI#?=Z8XEGTYS1U1W31w(pt<1P3jNyy~!>%%h zGm;#Qt5q1zNHH|7)@9gL&d|78k6~8@Lw71e<7$0|B_)iFs|^_XWEmP)8!?eed!}566#?___v$+@=S6ege;pb>vZNsoffU$A4E5jZ^w#L=&410tb8dv)< z>=9yUTI{Z6B20~|vlz~Z zF*L5uWjG_s(zrU0;b0MSm>72DGB&QRW7w6)Fh!SjS3bjxI)+`P z3q(gR)#6g41J6YTS6H2nJ_l4;b7={Lx(zu2z zk^Mg-Qxh8lL!%l)L=zVSLslarW1|KmLsK#%Llb8r`#%GQbFvbg=d>A_&zUmvp0i|R zKIh(4#&AxKk>Q+tqTmZLrp7f2tPG87G}sv$*BG!cHm)%R5!M_GjcZ&%V!i^5jcelg x7#i2)Ep%sST*Kd(z|^=#fRUkbjW8o);~EiWhQ>8wY)p-7#6essCZ@(UG63bt*){+G literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..53c534b7fecfd84e465c8943fe3adf500a4444f4 GIT binary patch literal 193 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T6PlOl?xY*)9BicPk;tzg!q5^X z$j}nrT*t6SW_C0~i#-EFiybR_iw6T^OAsT&9w`RK7B>dQmVoBDnG7vXY>X`~Objiy oj0}6Exfxp=96A5X?vY`9Z!G=Zh>?NuJ+Cw;BLl;GmPQsH0P(FjU;qFB literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b95045b400a77419292cab245f9f66f6298dbb5d GIT binary patch literal 44086 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

Pu(r%VFqC7VAr5U}s`x<#1$85PlTH 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..51f023e0d609798e72d46bf41309e092d72ccb07 GIT binary patch literal 178 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ce9c30a98541e23244876fef9dc67c2639fdd746 GIT binary patch literal 182 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9Bt?xY(U;%025>)|ZOz@Q+~ z5+=wnKgy7SS>U}{^W5C`hFsi?@2&V47~dO9zc*rJV0_Oj&B@5X@SdfSg(sPffx&=- dy~Trpu_cI!vBiynu_d5+ZUJM9ivVMb0|0NrG}izC literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniGB-UTF8-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..982ca462b1b047c945d3b7b0123eb42dfd8d48cd GIT binary patch literal 46837 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

n#ux3AxR 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 R&cJYlpFy!nMUA0J8303WB^dw! literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UCS2-HW-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3da0a1c62f19f720590b54fc1de7b027af100945 GIT binary patch literal 680 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 z zhPDXCg~1Hn+Q1380vdOd5iJVUb_!weQiRz?PfWu8oJ4h&uH zjH}!jm>D`uS*Ch3Ff(+CFib9D=u~FtsdVJ^lYbw@&A`wk%hi;~)5^l!lq%SiqQbz- zz`>xzz}U_$($3{5l|XG_#bcNt$6Y3q#{kKZa%2fg=9CodR=Xx=LG|X9qR) znl;U-Y~0Mycq;L2(INfDvwV#gS(~$%=CjUcX-jI{SFp^{k=s9WfhH>`ORNrLTr9xQ zVZg%1u!xzdIfl6_lWC=hBcp%S`vOO9|K!Fc*$jI)S=&t+85j>+F)^?+uro01VP>3b z$1vAEkk`LsfofByNaL~WBZ^JkTusZuo0f$&bxJmMN;Gu}9+GK1R@8Vb-%-GS+5$aB zex_xzj2(hZ9Rduk#+;i}7<-}_n)w-K6tZ?oFiaETXw_$$W6IEA^+>s_!*|SF|shQGIsDYcCazdsAilL!8J9VVU8Yi zFC$}<6GN8)V+S+i5>e(gGHkpI0**}n4|eCsb!#|s``>9?%D~FNyhoXHj}pUYdxq^Q zoO>h~UP-gu)nJ@h$}}$}kSBn1YDm+(gr+spO}$2q-x(V(Ry3}YZ)`7UoR`|4*m%dT z@l1IjSAbZ*R?}*;!?}&m{TC@T&Z}EnwMVA$IQPBEK)wLQ1x^R6PBC|7PD)vv-*_mk zaXup-Zp8LoI2^QRu zW^yzNFlb!L!NS7&N}P3>0`uV#76!(7rHpe;Ss0ktRx`d*VVzgWFt37fUM0g^Q>L}m z46oFfUa2#^Qe$Rdoma~_uZD$%agRCU9y8|otPH1h8D1H%>@j6nTg&pwfZ>%P<7o|M z28OxTY#eM%?0c+0-4CYu!VGgYnHX5su`{mYVrNCF{+cK+b@NjqSX9 zOqx0cn>q!WI>j63`800HZfX!YtsTe}@OD8wQ{z0Z2|>F;mWsA#HFh%}^la+naTE^t zxgd$LQ_l3KUbDy8UdZ3HN}#EealYAn^A6<>B}c`;>5~H)n~m9e zv>8{qFtReVl{2)JF?JO*x27{sNMmAWSdh=KpoF2#kfAAywb_MjCOgASHikKoOmiX_ zC+joxOEC0Ab4;vbX%u8!uFbSui=l&`Wr`_7dl2K40)~ELrhX$wmcY3Oy%iW_8x#2( z6CA|?XEe4;aI6z$TqnZGz%^Hlk%95FA=9e_CI*IE@+`Zu7?;YjER|toV3@DR#K1IP zmvy2I!$e!ArRq#a0yti!2XY5~SSY?mylG3pp1^hDjdM$v7dLJ2X`10WPjEt&V@TlN zS*8rVZj2LZnL2qHW^pif*)sIjGE8!0r6qmek+D%5ymbi z#+FKkmI`JD#tDH;69SlKYBIFjGqiXzEY)LJAkNUF%RYgDVUiQmG;5}=K&DO=#_0(x z9E_cuEHh)77A3GOwPa{vVVJDJ+{eej%FXFU1V_2QYusVo=m0`Lu`*aINX67~G z%x!86ODh;!YMEP#m^m2O8JXEyjG5<$GIWMAtt?=jQO(e;!Z6XCbzT;e8$)vd^Abs> zB_fP#BAM1iF?QrLc11GwN1` z8ID9T&R1ugtIf10fMLEm!)a$02G(^VjB~X(=4x~7@nhWM%gD^I$B$*cG9v@qX-}4Q zGK_lyIQRH7?D1n{;9%fkV`E@sV0_KUxK4$!Ly_r76~p^d8JP%%%s@nuNk6YoIIVAq9V%yUKCbC&O!v zIIDo6(~_ZxVNxv93@?UOebBH@s~%&g4dYB{);@No&za(rK^87vUS^wOiv}MO>GiWW6}fQ8~DLVFJUtV5W6`%qyyyR@5-I zdkVIDFt!RZ&JSg2R40{J+6gKrj19rUYj*_ zC{I&no>bl)FxP{1UHA;9PS-~9e&xpB1?$WkPa1XvHQ70`2LD=E#KyqT)FH#rw8@^K zsXmY=grmQ*O@ErfoXq)5oeXpI=f(B7PLgkYp0G5*Q7uHekCkzG4&w@EhItmOE&NP< zLX4}OnO57dGcc~=X6Q>|?AK!GE@9wgSZd9<)QYhsoViVqv7?q@Vk|>r81v#1rip^Q z6U8{@>oW?n&Ua#9W$aXE?37~=VBltEVOS;!YJ_)`F*7kTIdX=`z2)I(GvV&^=a%8^ zG+=Mx7HHvOVc=kJ6bq4RT*l1Cz_gc@nSpVx63hHJ#`*DrbCntPGB7c)%#UT7AH&DM zyqBGEFB=mBBLmZ3ZlMl$#-kyigc-;k($UzgdNiW(MDD}Nd3=ov*&63WvWhiz2sCxb zI=L2Bj(pGOs`!TPKOB2&*Pk*&p1~e z6jq?nVq=}3&p1DiZGJuz1H)WNmUXUdr(-~Ea)#51Y_GkTUVAf~j$@gh#jux~VJ{c+ zUT#(<#=UF|ul<=``!O9YW?06+Hot)Vbs)nXGp4nLjB~{Txk9TKnQ%0o@@PC2+|(Y` z)SljWFsCE0@s#&0en-vF_C+>~%LEygRxwP?=b2i4r=*!nxMhF)}gC%V(HW&a^RucYUNIV`$sKct@Skjt^F>3=F5E80QKz%oSpoU&JuK zm}!0yHv_}`QjTSuEXz1}<_a?IWn!FP%*4PnSD0}x6T@C+#*SL1jv5ADhPhJg42*LH z8TK+U?`33TVw%gr2ugemj0|k^vsmY6GtT8_SeME8I*Dn1F4J6ojy+XucU0NuD=^QM z2;>gaUliJS%A)aw?A(Z^cAKVl=f>v|jn5++XU8}Fdsu|a1GOWvB*i*s6!my{Faa}g3 zAyLM7x}4>78RuL(Ut4rL(?HVYtJ~dxwW%eks#jZl*nT414N1)}^yB zFs(~r=u~A`rp3kp3d23M44tZs#}rs!Co-%{V(3(5UZ%x1zl3d1Z6H_JiACv+vwfat zHeU9aUp|+;@sx4nbBp;UP3`)QjA54-Wd(AFU0;;l9N+j_sHwxYNxEs3*Xz{A)0U0D zWE%hSHq8=obPjtwor!CD5aUuq#y)0-X$q`!1sIm6GBxorE)8Q~X6mVB=&54{71^NC zrWO87o#G4|Q<#_-nVDIbrg*bW@nYD*%+RmJ(o)GZv50GW0t*AnDcEK|c6Ihp3MGS3rYSt!WTmCm@jjJG$Kxu=+=*@bC314oZ9Q;!c5 z2TNZlOJ4v3FK9TGX_+$93>M}-1;!cvOfzH|C)zo(MCk7_GHlVX>9P}Ma5RcwZd{hg zu&0uFPX)spW~MhR3=8;q7w|EGD`JK>oUEtI80O@&?x|yW!^yUugLO|G=bl<728KDH zL5KwcEDW3rgjtrwGIbU(?5SZ{Ak4Kui202m)9D(9)3pqzYuJ}1G94>n*vrVq!nmi3 zae+9?oK%jz3`}oi8P-d&F>uXEU|k@`0J5x#nTcgjJ;QqCK<=1DTNOEAo`V(8{&&1dSaVVqgW z*c`;rqRh}0z_cimsb7F$u^G#jScWYztPHH18JSuF7-oquw286wu`$d}W|$qvuqv5p zZVE$B1>;nIhN&T-;)ju$X;ZW#Yb5u3KIkCM{DLS7L0pYm_ao@_g)sZ z1-2{;Y(R;3yx+Z=B`SxH7tF8joXfWbtH1hHf?HsU<8c zjG0#$F-$IHXfk1F4PotIWtv>Wx=xU3u?16OCSz|EW1~MS3*)Rrrd|f-4p-J`N^HIC zj5CdyTJ_i$axg6^W@KiW;K@i|wWnyKR@6R&di@7hIb(ShmdkOPGIff2pmTpC+$u0uR zW!aZ2Fi)^$o?yesE!1Nz)RxXZS&LyJufjy|AUV?}Z-z}iY)kkVmvAwxvSnTs#>&sY z&N)+_ai$a#6BC2{dTz$`LJZ8DOxz3H*%x>*&fsL8qs+KP1vLH0$il?R$iTJKkzuJ5 z(@If>l_HEw${9N4m^%|0n&TPgcrY)rWN0a2SS7%)QITn*0^{shmf0~3evJO0%8Zf8 zkvVe7!8}ohW@!dT$;eY53fURB82H+G#oGng8Th(#*}HO-8F(3Z88{gP7~~l^Kofin zIt=m*5)9l7>7(Mi?e{Hba@$M7(~DWl}rqZ3|wH{x(v(=o(w_^{0xBt(G5%Z8c%xcbZ?x% z+<4NX@rh^CLa(OX(G$fc$v0l$Xxx@MIl4QeX|-0<`szUL=*f-E&c}0_=9)G>&}w`u z-cviRpwVugXuHn*BuBpJ`4jV)x>y+|xG=Q&Gt3BL=&oX4XUf>l!PFJb&?L?gN6*ETMGB5ylOv3@suIYrNPt_%lurVp!nBuq>Rh$CqKV93v}e#)e@^ zKEu2ShE>{(3tX7GG#R@zn3x!6x--mlVw|tf*jmfn>BG<=%{ZBjp;w==O`lGEOaL+Qh-Y#IV7gX@eaD6C(>7Gb58A1KYG{hUxKat;`IYtr$3%SQ-24 z8JJnyy_u)GF)a3HT;wT;?@=lAT#h$Z^ft`Vc!H9vCL5RVRfsH}9)t|T3PoII2K?XEy&EU=e znxJQ65bTpv?UQ%ZjXu}dQN_+6#lp?N%EZ@IE!I_K$|S(T+0Dq?&B4gP(#_4!z|hUd z$iUDo$lNW!)Gf%=EyT_s%*56$Y1%Er)-BD{Eycsc#K6VM%EHdT+pQ|utp;k23UuqT zbsO+8@pPLqF>rJnF*AsDo3eJBu`)OcMPF~6R>i@<-LGQQuL{aYoD50~Obh}H`3%Yo zMhqMb(hMpLEDX*Jj%v|o8<)EMg}DY zF$QH80S0LX4h9Y;W@a8XMg}PsE(Q*8{srY_kZvx9K(5#aALSeOBsZ>RYg{Vb_*|m# zbADq)V`NJzXl}tE_Vtonrj?vbP2miy;~4rX8QO{&re-m&N@Z@>W}I5VFv*;`U5{Z( z2vcJr%M=ra4fQM=nOJ7!GR?|hU}j)poEgpDZp+%n%h)c$*v!E&IiG176HB{4%Op9b z2}(?$LS&L4<0J)^{zAt7BvvMdes{)xCw3;rsmu&hnHVM}GE7Y1-K5B{z>c9M)R8^* z$43RWu3Cn!8bJnD7EuOG21lXTpN-SGc^3w-G6?ReW!O{0zAzM2a&gSo~86TY0w$`~0~7X}4#$CWou7i#L)Y?s}nvPOSCllfxjjVg^#q#FNgI;zDr z_uDhH8!`18G4&g>7_xS8F?2F8bm%foOlO=S#XKpGbw)bF1ZU=^bjC?S?DJR|CMPho zEy|$A(v`=+%(U5?X|oR-6XRq{h6(x%i*p#588|ukKz$O>st8Bc zxS4Ma_}YsY85DX`*m~m~h2y##r;9Kx^b=-aWMJ4+%f`U6r;2f5DC=x>=Gkf-v(;Jm zR4_6yEevI!tL?$tyHtgdi*cDTb5|VW6jO%vRm@Wa89R)b<~Xr2Fs`p>Twlk?z{JEjqnvd{6_Y#z zGqVE2Iz#4JOiWX)8Ky=swEHu(moQ9DVOpZeFe#I9y8tr-V_&8tbG*qRCV@sp#YP23 z@p!$)72J#rtZ#Lhdu$ncY#5g~F`h_cc&p9)R*PvbC+loErqj;MOB|S&I5NG}U;&ML zFlcO;^n{_WABSRope9f$q#*04PNsT8Ax9LtvSm?&Q&U}KIBY%ARQcDI_ zMrMXyeunwF%7uj!f~}53#5*IEuw@ePO{gNr0PyX@eBQUNMHZ#*7=JL^nt?Y*1j` zE5z{Dl;N}v<03YOx27y_O&InHGwl^(W?+14$#q(bX%P?8Nx?v#1fdyWP4i_=3O4SM zoWk0;x?qV`;~w?K=~a!>i+h~sh&q}kC`>bDn5V|PQJG<*3Bw{*hN+?q+qoFFYBOv# zV%`wUxWS8qiw#uAurjeTGc)v2)nHs#$0^3h!ob9`f|+pz55sIvhS^3ee2iPO zS+~Y9Ffp%HWSCpv$ea*+h)tb=g~3rKLB4T?8q;1$Mh1?(Vythi8JB2qofKd@DadeA z095(TW@gzd!L&%6=d>p4X${Ur5X^qF@8t=z1tPkW&*znPRgHq$&$f-(EY!d{Vrt&ql@;kC8 z?3t0wFiVYni9N#-JBFFUoIO>HJv@$#30DtsIkG40Zk(>jG^?I@uO8zfL*`laOdHfW zmM8`CB-~h9)p$Ip@w0y8VYbGdu8nuo8kSnD_AWPu z`F4y8f*BULu`G{gSRTi~!otn4T$ypX8WS&Le>MX%>&jTxoh~dJR2jM$ncMgnwDurYBsvL<{w#3RSR$I8#f#_TAW@U(G-1IJ!-HU_2*n#^xw7#7*G zEV5x?U|M9)xX6xquQlteDuzXNjC-w_HmEXgP+{I{!M@0mVL2=7Nf%}YhDFXyi<}tt z+OshQawobh6KQJ6+H2i-+;c^J(>jKxmfHFHy{T(*mM}VUB?d23WSktxKG}znnQ3As z!=ggQEkTSMSQ*-cnYQscGAG70PS;?ZRmwc8#E~&Er*VZ(Aa`Qke1<-=U97vGjcJnH)rl}WZuETyp@qunj=2QadMt5$XfHqI&hj8j1Aba^>rivYvqNCqv&?Lv&Z*&Ue@XB-l!VsKPV ztZtmH#c*1k;j|hf1NR~y#<%618;n@?Ix#HrXFRRR@V1O)uPf6AW5%~-OnY6qW)(3k z7i3~)T_P&9!GvvA0mH09hP`eKZ|fP~)-f!KWMW`k6vnV9oMBNID+}x1VD7y^j0_Bm z5}6oyPwNMAB}q*wSgh03V$t}5agOB%<)$rBO)Zv zIgfdPHgjJt)7&uTCU%C&xeUuqSQnKu9O7cw=E*qGk+IpBVT}sQf?&pOIi@aOrUgt) zte`#<3k&O1O{QhMEK4<*8jYEz+c2^)EURSb6=dAP#K6O_oRMW&5yMPdwoWOg2|5h3 z%Nb_pF|5;P=&E2^9KtZeo3TBY{aPK%Ia7uiMJ!VTnLDbPyR;Z5)iCU2W|+mpGM|NM zelf%R6b2p!ZU!C(PDidJ&5v>WwSXm>F0X zrGgqeEQ=Bt8Mql3_r^2sjblB<&UlKAWp5%A0|yghk1lhM4%@6ehFPVIdt-zaWpd0a zIuU83tuy9%0G%9=VX zmkZ2vbhJ)-(96Tn?8{}tFu{ponE(R^BPZhqTgDA83~P898nfA2G8k5*F|IOZSmnpE zTAE?C6vOUFrrka)^FrCD6tdc|Z{}jy!_U;u$J{Q!)uF`HYQ!)@j$x4@XAo1DGQ(=n zm@FsDR9?nTLzd=puHFcSsmctiBp8{QmI^X=hca&nV_0s_)MLZo!!k>UX^}lkTRFo@ z8>Z#%jLR(;IGAP@GtW$6+{De)Qt8N(^ygzLF9Q>3-nlJVwk=7Ug^vML5rO(`j#^2t z8dp@XGcYcy=9pE;%D}KUgN=b@Z#L83ET%>ELW}Ac7S%H?sso8IFwDx}nw84Lz&I<3 zc~K3+qFSa|smyy57#7tsEUIBp!`=ku#jMN>OpBSAPnk0m2mWi4jd z;@Gq!%(2ljc~hS(<76p@c}A>@Jed~xFfuVMOlMeFz{t(S#5&!Sq0N(VZVmIqLS{3D zCDp8L?2LPiSlL;&YO}V4Gw$MIo@mKE(T;6lA>+atW?m+C1|Ak$P7_8p=9%ma&B<(Y zA{g12Hx@FtvM_hpaWAppoLkE`w}f$uH0u;8HU`GY?2MB%IeKJSHimJoab{R!#mLMu ztB|?ToVC%FVQvmH1LJg7#%5oJNurD$ZjAi_Y>V|7cd#&UvrJ58n3%`J$;iOEn4e`a z2V)~Mb0Y^MH~TzphIvX%Ynd6=l(B3zWZG)Q$j>0c$P6BTWnx(F%DCKtg-wW+nSsHV zHGqMc)sex8L6T{WEZZ6@aB;I!kg-#UX%-tpe=%#fGSfyb78b@C{ETzOnYSu1Ff+`m zXPC{zu*IHvivt5Q^LBlPE-9u7VXV`XnR`qamuWCAEoW$#Vr+|Hm|nv-U65e{8^b(T zrd~D1skw|(5*S=rTND|4nHVREFswFYT5Z6%*PN+SiJ{MfvDbll1{=d#UWV=r#%@c7 zRyDTeMvT)$nU-WS^eHf}iDLxSArnm*ChD;)DP>qv!L(SEX|V{)Hh;!#0gTLS+x(ek zSunIZGE9zT=(at){8Q<@i47qVqD40I3<8# zRw{FEJ;QVzNABdWhlJ(2{cUvkx)p2~3>bnt>$N-U8VwmZn7El8rIIgxEaqYmm~6<| z;V0OYz{ViRV8{R>c^UjB+e%G#5M*Fx;9vkv(daVBGe|NpGuSXF^s)2wu`x0@vL!!l zY|d#EX7FO*W{6-YW^hzX-rLwEp~ND{qRjv*UH7EnOTGl(&$ zf_4vpy~V=7$e_r;2_Ap}4@)tKfJc{#o~mS;CLn@!Dcnp{3LvZ>LgSNpU^Lh7B$(42;VYnU_Z~ zt&L}S}6~072Fc`⪙kEpt{TOJfkjtaOIWI?T(Q8Jm)s+e6qU zD>H5>U|?g~mCUd!ih+rRnQ0X_ONRo(>}rO+X)FvZ3ksS0Q&{E%GEEC&jbol>#K6r2 z8dzXw;$WI9%Q#nrhl6RABEu>L#>uJ-9sEqQjaZpLD~lPoiZZktGITpIY-Dm|O)Ea6 zqzX<~JPeKsX<3b3feag&Io~reGcoRCWZ1{RxHy<$u@A%ETAp50rd|_92A+LPEbsX_ zHu5ktFwW9ooTbUyYtOPgjrE>6#7Dut2c4a>8!g1P_>9h;Oduhh^ zQi0rQ-&gRhQg02o$P)6_!;J_Fg6P_Hrg`Iuwhvj z$m9N!nE9yWr`QWYD0#87KUyy#twC+W+kSTEKKut8Rx4pEKz1yqQtP0oneX$ zQ)2+jWEDrIbiP9x;Y^OA>8zhb8Q)8B?PF)yD9XA~jATy# ze-au0Bru*1W?1ac%)qcwjE#X|mK6Ie=|G5lB_)t{tUP8%^S&*oj8 z#mK-gOO&BE(vc~>rEz5zCqp1-`qa77O*0jmrYbj{^f?{UG}Ey0Y*gc?{9Zdpw)6$_ z^B5+SFf5N{Y-+1uY`m|?#2v_;zP_Ki@tDDBi_?~klVe#M?@Khzir#I-#pNiResG!w zQ+EL43_s>s-psSy80M%lwDK@4%w?S9#?Y$F+~vX86TmdZjDeY%iIJU&k5QC~)sZQE z_aSW-CP&`%eT~zrnHOg;?5$_qTgSAwo?&kt$KHCDjhc)Mj2qP$_SUd4urLI2rN3KY zCfYbTqj76~(^9df>8UeRn`E0dsqABQ6i)v=L5pc-3d7=BrkNrPO?eFS^7*EPFx4{j z8nSIEW7-(c(4Nk=(~V(gB*V@mHg?8kq0EzG89GxOnbLplmEvkrcjQn1`ALpxu@}o4 zRlc27%=`G5!46?Qoypjn!M?YSVR0?ieubk&#*_0O@Tp?aZ)YgWDdqTrR;N=7^Ru_t1|3YW7=5Dys?gvnURx0 zgmG0g^8y`)6|M~Pg&dhOf)43ecPTnbWq3ArGcxQgW87QL0U83?Tg3FO? zyQ!(HX>tB6`7X1@BT|i%0~?RZH6CT$rRm6-v2#Tr0~_P~X!aSgj5`XLrr9z~<6zj~ z%(%nPkul@ML48M-jNOghBJ6CSL6$(CjPr*K?w7qcYno-+G|Qx^$)BllvOwcxZpp?Y zHH|OQ9eFbD&&Xt0z``KSD8$Umw$hVfWfap2UA7f!3_DXA8C9(`N9XVz?Ff5T`*c;0%%DA^6P%x9Zv0I_>Nb!F0rh_SaV;hh1HZ^6O z5pF!oJk4ljVSCBKl%}SV_qL6br5h(pIXYxYPH|wIn9R_|B|cSwt0|SMmx-fQma(gr zr7@VbgNu=yYX&Q0mk)Da4C737wk0YID{NW3*}K`8dktAv>#u`80Xg`2m_iMw5&u|1D<0xRQ`6i}O{Bb}kih_gS8xrvjZSDR^?8SkW8o<>2o zaK@Q_va`JzrVH@)hq^3?VP9;_Gm}rc!%1QlFH@%%Lz^692P1P^FxLtX_Qk18jX4a> zn!HVsj5B;#rj|MuW=gFnU}Iv?W>90~XOLu+V`N}eU^QpbVP+EJX5nHIW{_ZDW@6@G zV~}QIVP#?hRq*UATuegz3d}5Q%*@Pe>}--u77VtGDr|yG+zjlD42*ni?98l;+)ON- z91KDnd<^_d5{#@Y+-%IOtW2y-JS<#{T&&y-EDXGCqD*|uY7Ej`hU^xMJlvv891Ls% ztQ^eDOx(PzOxz+ItW3;oTr5r8%uNiOGK`#zjrlB%SuD&1`N!+TpTRSoD57{ zEc|Q??3@fNiR>xN3>-}2OrWt(P8McnMkY4Uo-k%cCP(hfj6+8HOnMWTr6w@>GKey% zFtampF(iXliYa88ellfckY?a!;A0SOFP3jF12r#qFN%|ag^8I# zkU^APfPn}fNZSAc=3pGS&;m%&juQ@n8o zgEY9=!O7qR9$q&Ex45_%1Q|FPY#BVdg1EZ;%^8>(9OW~`8dnKPF$gnoFo-jVum~~; zGl((pFfcKgGckeo_Av-C7%_=4NU}(?!xZYXG+8Q6Fs&rv8lbB+;1TOP|Ce^9q~ZV}rYN%jpT49tu(U74oXGBheO zH1RTS)MIC2Si{b^h6yx9>ByO#)7YKNdO(!vfC%F;S*Bw$Yzz#W#3eR~@%BqPvSnvC zuCfP>7KtzjG6--4a%Hb+T;+Ktx?imEaDL+*kH$Oh%uM^`XSz6=W^Z3v%Cw0YG!(p7 zjA>CR!&C>BwT=wCidYyJXH_yZ8Zo!$Gb}V>m|M@R!PF|pJi~;W37k-vMOfH2Dl^WI zVqI9zyqklaiGi7awJ}pKsF%jNFoLmFkfEEGp<9uAwhiMXMwSf`jC;hHnq8UZ#W5@> zW7v|*(9giQG>4Usk)L&WAmb!&hFuzL+trzx>lt>-IkIG5J7k-|Aj2TUo;axRLS^0i(yGAA}Fkyo#Bj zONOyg&59 zvM}v+W!&q)upp4BGlyxKDMM3*@G2t)R>rxhY;$86m>3UgGIeJ$EZ|~XQO&rZfVDM; zX}K`N#2SV*3EUh^>m-?{#xTw>a%9Q5b;wDRA&W_z*-CDwE({mVj8Q7VpIWkQ1Vp$){us)87gK4oXXb}c4({gd9K9;>BlyQd+vlhd8Lxv7vN5(wy zcW#bMc?^xKN|_k~x$|UK#Wf!0YCJ5tTXb4U384aqgBu+_7CGwYX?9sM9x!8A zDa^2=@YCx9c-@1TeJ=F)ue_pHav>qlAf{VX-sQ zVmD?k_Nn#^bEFxjGcnFe<6L0Nv>=FKdo^o&3FG=a=IP-K^V}J?nJ^uyW;#^DBFVzV z#Kb%!kzqy%(~?T2B~>hZjJyo9v>jRUED!lGvBo{ zBjfZ8hUI0P)2kUbMKioFV%aOox>tnZtR(YU35LDmEPKVcma2jlxo|TuFO_56E6%!C zjE#Y9uO#ycU)CK?jAvCC_R6yDm0?(_&Ae2L;jAX(1dc$?yyKthKX5cPI5$qPXgrj< zDWa)C=mX~m4oBs@i`^cK`z$zD7&EByt|(yQVq#@ns>!s}gh7;*fx(b*wb!#F3EVL1nTi#9`7JlfAi^q0yJ6g;TpTOK5I9^BgON+2QQXCCpu749$Yv^F$b? zIWtdjl$#mG-OR)=&zg6Q9oy=3&1F1NOF3B=XRtNZuuM_qZ{cEX;pds5!7{~{YnnXQ z0s*F8f5yHHmWhFUZ4Nwr&YTM>xTZS`_K65`ur!vk_e8O*lI7e`!#dNOq0^nM)s0~e zn|NQXa!W2(cRa&nA?6krrU{M=9fBNFl^B}&nHyzUTR9!m^V3%IvGFsqv$!z(GBPs? zFoPD2a4`$Bi!m|qb1*V9FtM_5@UpUT@G|r8f~Le-m{^$kSsESL8=V;0n3x&0*^EF# z1niuQ49skdtZaOY>X@n+{|n&%tCCuOw7!T ztb*L!Lfp*!EKJP$JRF=19Ner-oD3|iY~n1;f^1x@EJ6&-3_MIM3|vesOw8p@&0( zA%;Pffxju-qbY)mS)sRDySK)sxmLY}$%esEBfs`D7brb}25p#oRT+C#q*;_1m>HzH zWbC`7nHa>G_*vM&BUQo-iVO-Y%nVu#5)1+i5)AANybKZy5)2BRdE%Y9pg|l>1{nrk z1|IOpmZNBXU1N(eFM}|HG-#-oL6sqvL5)F=!JfgAiHDhq2{h#|!@$U3#K6fAz~HEt zpV8Rk3~DBFFtIXlGVrl$@dz<7GjK9UFo-d6fVMI*NP@R6u`}>92r#fS2{K5qurWxn zim`xNIm`@7ObX!UmLiKNGYb>QKW1#8H9;H`R$D}j71p)7&sV08H5-#7#MmC ze0vPV85%`cau^&Llo;3>V40hl( z7!nMw3|tJX;H5+ypwTWSCI&+WUItMH&>m@71}PR$qnL|9l!1dGkhdtjv8TTAkoF<= zrr9=4)9M?~q%^J$Y?>X_G`qI(8%NU|^;KStx4ax(i_+&ZFgEdW^x3m@)G<%xWNMC( zZ;#||u49_P#@1WU-4o5*tijgg$=L6}*p<%PBE;0k!!SLbYf=I8!~}+JcG-45=B6;N zenWlhbBGPc=rwUr4qb8{?H;a_Rb-jl`D zt0mOU&e_4sG*duedL&D8D$`;=CIyKJt^yPJ7#7Pj%w}L{QdFMm%Fq?hG?j;OYLw92 zLjE~rI!gn2x)tR5Gg%kQG0&IgpYI_xt(2`plyQO{V~2%fcu~pfY)%HySsyG+T;OF{ zpk&R)%*n*S#K;Vq0^?^8VPj+#VB=8G@Kx z8MqlZSeRLP7z9}andLys_n4WPOed79OsEiLNMvxdDC+%eEziKlz&%ZsZJLTPgANO5 zSXYCApMi}*kVSxvu`_|GGZEB}Ve0p1?DqquDXvZrmQGL5C@82&D%R=1)M*P^Tf)P} z1@44^`aG-*e4rCQ82A|Y*+4_IppjP4;R2u$Uyu#V3<6!@j(kP48(TaZxtTN=L>a6Z z8aWuGz`4zWfr&w$!IVLq!O^U!qOq5Sje(Cro{5n`fPsrijfIT?w1GjAgN=cem6=6^ zL4t{ujUUui0_QRg24V0jbkM{iD}x{d0}~sAAgc}=69XRu13M?1G6Nd}CpdqB9L53? zWny5KVq#Bg8Q7UXqsxL!pfTt`{!+O$Uh88UKZZ@yy2aSIRk!gc zLsMJqk+{ZxDNVE4n`X1^$!>h4zretetJGkI9YePb!(2gzjwt3fE`}*}jFambX1X#Q z_F!jlWGvM`SmelBYSy@hfr){2nJdFIMW#I|fxM+|Yl0j9#qCLNJXp`%CA^dUut;NH zMB`Q4rjC@xXX=g5)Et>gLuSP>H7)WAkqe2ujWy1DQ4kFt9Rgt!Lg^!obA1D4THtJJY5bCT12U#%=ZtP3cS%l^9kqFs>43 zS|!0eN1S1f5bHWYwslg>tNmG5`!TY!FtGE0w#N%Hv2ZYPa&R#-voW#FE@z%y#dK?IIE|Ba8VBPFNrp*$%nZ!a*jPYo1(~ODFrD;f+U&xz zPm^(<2E#Na#%av#n?2bW7#C`Q7FkYXV47ObFiDYdp*G`552mU0%%Eimo1K|Yx-gt{ zW!oIUa444XPz=lFV3w0k3{&$NH-|EvbYh-b%)-XFIg$~?%w(9F!En-*sjHlAUjXOS z43-tz3=5^%85lN4F>H_mn3*TZF|{!;F0*D7;F+7i+#$_8F^+k$ zIK$ik&ejTMe#Rbt=H^(|Hb$mKF7|#K#(A;~twus!ehiZeB)iiYr$sVPV^e6&W$cV$ zYWJ{f^kkb<%`hX1wYy%uBaN+qsW*|aO^tCzHS;7b#>xE5{Y-qF{DRHu49y|@6GRv$ zh%&U>a?KB7Y*l7$N@SVnF5Aw*JDrDNo;y=xCDU{>zG;T66H{1cRx{5J0M#0OLX7jw z_}i@+`)ma!E3@_Z@J%uhZ*gH;?kG5ggQrEoF|4e6tt=A*sKAzFV`kt54frrIGqbj< zGPbLMGBGH?1eiEL<2B4ed`#@1f?k$Sh=GBHlYxnyiGh~`v{;v$jft6wiHC`inV$)i zb{W~2+1c4Z?E+9;&&I&Tz{>zyWz5T@!lcK<&cw;g%EHLa&BnpR209@F)D~lAV`AWD z=3?MxWo2Sv<>6swVP5N8nX7H8-dvu5CA z0F6IMGw`yoFi6gjW?Wz;)}d(1pveH5dJqK*Gc%YnIEt3dZET4Hts@X;02QuW3=#}{ z3<)f(48jcF3`tB{40bF`to|(0;DybO>Sa?Kd+WKF7?^q4B$?!x^q4@4me?7TIFy-W zSwIy6BZEB)WKNC~yg-qgL5M+$L5V@0i4(NMfPsZoj75?`fI*x^kco?dlfhB5Y;EI= zB7O#t4WNb*8w03~1}Rlp7(i!EfQocbpo5ld3bF`*&q@FVIq1v;aRyfg6$V8HNd^uE zeg;McQ3g&13kD$uN0YMojcX(nLB%+eC<8wOHv=b&Ah;6aXOLyF}^Zw+fX)2C}mF_)J48{zdacnaqnC5#iGBa$bX4p`~ z#Kg2MnxQFyVRH!sE8_}#rk-%7{sNY%{+ts+m{zHF&AGXb zVRJnr1IOkXb_T|&ZX8qHnYS=9F|ci}W1Q;3G}V=1vMA$%T+Rh~jFUx}x3D_$Rk}2; ziDUzZhd8)p&dUI5?Q$@1Gk_9lAa~{6#x?2Z!yE5qH?4DM{HxjcSEKQ-=JMR8r6Nrm z-M5H13RS+GF3+?!jd`mz*A!irHW&88Dokrw8P~8dY>H%^D8qz;M!)ae^xI1QmuY9E?*fSWY@KZ{c8NVA{gX z$G~*b&XJ??W8<1^kVCl`B*E*Km>B}Os?66ZG#-fA!hO=N@tWju(RR80C42e990jYK z=9n=o4q;kk&$P&ac~dOIG){&_0fuH#wo^&mTiIE+@-QAPW;t5Iyg!h!nUU#G0Kb21nj1m&TdeOjFGn_IU6xFzoRL9ZSN*z_5UcWsU>m9#_z!lR&Pj z+I3ouf2Eq%8#Z-_H8t=zzDjBQtl44T_`+yKlp}Lh$2x7s#sg6dd+Y)^t0pw|MeVU` zT5Z~t-qg;}c#WBfoyn22YJP78=Yc$i1DVW?SQ`MNKDl<=2VwkEN$Xj)|JLISXb7PNFV~;I=<6n`+zwGk`8}G+8 z9`J8m%hR})*O9C0;$cpP{hSO_^B9>~8~-veG|gdTn9ssEnUCS5GE<{&AZOLnnF6a) zR`N7X*V|*(w8rp;SL5ZB#y{nbLRIglRWYm=VLcScxZHqYvN=OnB}=zC(@`cy2}V)I z!~BegxfmpvWf`~0b9P2Bt?^?#rtHX8^`)^dnPaju!-^P=lcrn?!Wb8XJF--LY+TF0 z$pGpQ269%bPEqK~YTU%q*dyBbCu5K0RH3HU(8fDujvUp->%17*7?_xLdvos&V_25Y z*yzj9%WG7}G)-CFeOw|UBYgs`<57pkiL5J8_8+-T~x2Uh+TbJEz z(74*KadmLx>$1i_qK6k4o)@(Rt{!y zhFQW4v*Z|fnFQEoRWZyeWIS5Uc(e%A_-A0@W@cDk%CfwSVLmHE8$ZKRDJFIfW`-@w zj9b(gK!XH4jO=U-4EoG^pawhJ(n`jq6&#DanHB^x6fhjpU|puj*ssetNs4K)0pkKw zrcPzXPFIEwC#F7i=E>@eXS5ht8Ce;Q6*KmmF>H5Y0&zemg)lQPv$8QWFl=RK+{(tt z#Kg>Uz?!)y%~7EG`j=!z215pBaC?V~fd#yfgO>qxECN@rvqP^F6N96A^_9kc@Ei{B zlnllxnXC+qQ_?_dDi|43urh#}|Dfq7b_PKfP)CY`L4t{s0d(T1Fhd|`&878fjaNLDdt7jCykXq9y{fTW zzOh^Gq>iIl&7Jk?jLTdZdh{83v>Eryuq-fSUtk1kbTBe7?k;8AUBYlkn5oH`v5}GS zXc*(7WQIB34Er^h*%%fxGj=dKvew-FQpT~xgJp{+=N2zs21mx4myK%;0|jdN8`l~& zEs<_oBDF_-i+AG@*_|AXf0&xKWw&@X8+0VkV_6o`*e$Zf!;!UCVX7xXpAW+fVTQ&N zT1+4E0=a6n8rPaN?O^U@Yg$#+_=kCc{9N0{mpqNDjkm=+vecTcw`AU4&(LPd*fc33 zkgL{yy+z~xs4anwM@8FNd-XO4aW(FbXq;i_s8H*@-jv~xJmVo91~!I6jI0MsSOl2% z2Q$qr0UfPzmWk;|HRF*YRtBcE!VGJ97}yz4WHU@*V(N)xJ{ZEy&dS8h&U(m_p+Aga zQwGCkL#E9h49hAQmoqc)I*Ql&HqP{8Jt@yPk(+rU7sHki(6agkiac9FSQ$9CgtKgk zV47mbu%eoAMHRzIX~r#4EK}^58Ca({vNADDv0-1y$S}ppk)t-SajgX_1E|j@0P19c zn$beFs~Y>w8u$C}3ZBG$CV-D^fAJiS#_vf@&93W>8uy1Z&hTAU-FSte@rvX|X-CD{ zz3crL&Pp?^)L>tn!*sZmVO9ilmonp|0EQX%OuN_^mT56At7P1g&A252G>6Ezo||Dk z9}_3@vTTM0)=Z1#m{w#nohf2mpwG5Ii}kc9)4UXhHAc)lprI``PDjDo1C9L_j8i;0 z7sxW7lw+G>&B(xcE|KxE1j7_dmMxjA4D1Yi4D4Gn7`9|GGcayRb7ZZ3)VS6iG(g6~ zz{(lOStmWquxXjm9?{0%;=7|7y8;@!BDwe-GwakQ`LRslV47UbvB2tb-|##yEm6%ZxY+05XMEGj9d)sH5t~+F)}l=HOil0WIVyf$iT(G zxQvHq86#-3FCPcfeo=;&K&FWyjBP25{nAW*0*sAS4695SCi`+s_F-URT&&2jScZXx zfthi!JL6&x##M@}s}xwl4SS}gNsLS58IIU9_n9$F6lOUt#{ileWMO1rU}rvS&)jIn zaYl%7u{Y}sUB=xN49r|R*co~~_A63sj%ifM`tsA0=6#ZYsK z0qYb)CKxF(MY~Y})DxYe#xO;dg+Y9Z5~#t+K1G&!ii{)+%M^K57SPK6sa&j6#JHx2 zi!yODa8DIxpDM)1;3!(B+ql*T)L`Xf0O=G(qpA=tqX8b?J?J zQyM${8-MwIWNbXm-_*d<_=MF_xIt!v1E^ijwKtM!h6~G55ys8@jGMXGSU@M}GH(xL z+#bNlz`T-?VI>3OR%3>(Myw2uybW@VGxJzag3bikQp3!^GF6_DfpMi4!%2Qd2DU9V zGFxg{x70XtG{`otO%q@N^{YS~bI^v+K+cBz`EH8@8avGzJFS^FF*okEYwWb#>FKE5 zP`M$HnSo(pCd0xE7Vvl(!x~G*#z4j%6^1TE91dZMh1qSOvb(t)=4=W3nLlMRWWXMXKj;XY*%OB;s+W92hAul ztdL}yEzZ;}$Z*cWQK+H1u|JDv3KuH_*A!kR2F5M*tXt|Bx70Iisbk(!&$FeDhlypX zKFdly76yhX%v@9TS*PkbvNkj}t}QSJcR^Sf0)-mhHqIc(TudQur;BZuJWSVHs)WOcsm&Y)*j-e%$aUv`K z1aYy+IgD*`tS$Z`ZK;fXWz5sF85Zb>&bDT0QDyIEW9V>W=#^$^(&6tl=9-?t*v!Px z!pPOE$JJNN-BHFipPgsA41aSW<0MC>6?~V3nYM~BACl(iWnpCCI?2Vc(w<|g8}n3W#+4S#47?}#nHU(him^^EVPRmO zT*@@Lgo#0TayjExS+@CptW$j$8Q7-!GpuxAJ}Jz4QV6tpd#XS4R6o|qWlWPx*_oIo z7qBrfos?zXs=>&>Fu8!~q%6Z$9Y^6t?#8v1pe>l7-G88Bh>t-ORD?3HGjKC-Gl(&8 zFvu`)vN16Pay7AUls@jexoC1kr7&QJ&b!2Q3TEH2|)g-o2er56k z-KO@6$puZFfvucP+hUrQ#7+u#hC`JMhbkD>GBd7~3FK@t z`fAtMVcytb*0@i%gK1jfk(lk}O`U#@l1&a9RoFJk3T%=Ct&?G52929BGBcjCXFTP= zdPtmMZXDwh8;0HN%#+R8&pGg%uVy@7#lpb0+LC#)FXMhT)-#C=Ey|7(O*V}aB-khC zfi^X4HD%grz_`_rnSp()84DBh)N-b&Wt@}a*j9$KtVw1*6a&hQ43ooH7#Jo;GH>-{ zI;p@oIg)o8qa$~dbK^Q;&^R#*g8+jt12=dbEh7UvOCV3v%Enghl|hXc?OE1kH*TwI zJXG4$Bi1yZv8h|5@wsl}bDcoWrtM!{8_%gW+BdZtH15rA+?&Y`&KxXVcN{ zcDX6yzWH8`OidRWXNhyJ5DDaNy0_6) zxbde?^h(7$yg^PGe`7@5?yf zhkF_a9}^=3%QSvRrlz-z>r{<70tK42H-hs$gnkm31n!qZR0w9 z(0a#a|IXy|QJ^yqPkT4*)!Dg_`^{$Fzdj`*OHue?zEGq+m9C#uHjB=MCM8xG2fSwfq82hBaJ90NKYg}i^ z%D})Oz^Tb(z#z&b3f|Yo!4SyV65rTreMzKgsq316O`1)srFN$`_1ia{Rte;6$=t-& z_>-maC;txF9ejKojmuIRubVmww3K$_Fjw^|4B{8);QLs8tgnwf(!>DSr3SC zt+r%rl4Dqz#=y*SQJCc-A0sd0t2@q>F)obf9V3?LIJS`7=PQbKcj%h_4(~23U74c8Y zXPB19HZ7NRS`K7bOaLTa0$Rz(Fk7EtZ2~g`&m>bO28L<%Tns`?jMFMW1H9@ij0`N( zS=m==FicWq1Rtyc+RnzrAUa*pQK@xHy5M93jc0=fZaElaSQx>3L6{iiS=d-u z72m3Wmw4h0qJoS-HOxQh;2d;`jbpiR#0OmiaEXf^%_+g;qaC%17=PUD_j4wlB& z8b_XXiRog@J$5=1A{nP@a88dGn54-+Glip7hPQ)9C&X^KAY-$dqi#FzrXprm23~dr zE>>m+E^g2`Ei)^R03!nn7c(a#3#%XlGm{7lCnE?ZZQROl4S^!n`}4ZFd~Qr+B7M zaSSUn8CQZ#09_8UJCR{`0_*NrhV7trDxZ=V85rN@Gra|;55`Z~j2E?-E^0D;N@KWe z%P?O%kgJ1tvn(5TEw%y=-JwN;a0OBKr`5r%`Bj*J~L-`E{RIwTrr*)XiEU|?ccS8H=F$D^Agf`A{K2hFy zHMyxLqj8UA<2kjag^Eq56`FSN?oVoL)%#S@wBP=?$Q9|vn;wq(9T~Ir*?a5RS}WKm z>vLo=O-SMj7U_)Qm|n@$!^+vu#V|L8X)-_O#1z&>akl1grWu@!b4moKg|kdkV40lA zV9n7N!?7TkagmJkl4Opy7@$)SwhF^--c*_(~oc$nDP85lro9C*06SU6dj8Ch6_ znS~gcI5`%aRVVKR&Aj-xd zz{SYG#LCLb$j!jT&c@IlC(s@Z+M)--pcW}8DnLyOaNmFdG_3=gfdftOGBJP#9%NW} zSU`(cxEMHC9ECb&eB%~mknUq=?&D%-;9$^VQDEa>;AOC3V3`~pJUI%q!;71Nf2up{ zR5wSRj?Bi1{wx!-7$#;KFi3+|z)Z|wSQ*VUy@-*4XJQH;gW$wem5CYLD-)SkCNNIS zWSm~f#=tne0@VEwn3%xGz&bIJV`2ge12+TD#8fs0<{7M9Ggw$BCU8wmWSN-22qq;M zm?kC*F|ac+%@AapA;8GssM1l`xZWL9MzAo*ftM61vw-HDL>YuwK#m4YcYq2)P+uN2 z0R|d^WCX9$;Rj71v49SxP+$OUwBu$7g&hCTd@ zd-#|b821P=&QNAtnZ-QOlVQ7ZAZJ&=1ikLG-2tGHtR1EO5lt(lR(VeJbTsXX-onLn zRFSctoAHVn!)bS>HYp}%#yNQmD=Zk88TR@zPGn_R#>B8vnPEa0>wPb#d6wXdOIR6C z@iNY{VwxGvFu{&_OA+I~bjB7lran8y)kVxFOBuUa81|(waxk1MWqKjRFi)3xpFBf{ z2~$fZ;|xW%1wKr3{2AZMFkH7}+9}1z%Ct+Bxy74dqCUd~8OHsUOj8q>8`T^IyJ8z# zQp2*tI6$cpG@1=cr=U>>&{!~NS`jk98pzpoYm2e0qzI;=2KaxQD?@ZE)2{J8@-t}`mvo+XE~z;S^&jx-k0IH z9K%j&#)EE5r`%ajxiQWSVVE1rbgZ0hEf3?&3`PdVBhsu#qLKn?dA;gY8d9#GMr>;l$_|z%*4(DYS7H9 zVqC?>JkgPPq65Q8R;KMv0y8`rW_U0&ux@u}KglFE(UO6gm5Gsw`MfmCbPq?dZiB`R zGN9%nXwN8Uavih=ijkpF1H54b)CdGEB;jBaXW?OCVc=#8I+i{`m0+uao7xgCw z?GNMFmEM!*$l0@{$Aj^L3&U1bhIUhirp-kRt9cn3|Hm@4$};ST3*_zDKc{qw@D+wt z_Wg+yBpSa7tmbOkTYfB}@r*!Ir)SfaAV;O1b5pgLI=mR0lh~(ZGo&!Ka5463FitCF zo>{^?Ii9K4hHs)PcaH(nWao&9dW^00EWP3^Q~8*?J(%Wc@=gJDmBJc>WnjzxVF19o#bFS$;p0_hhw5E^F$YxiLNXYT^J_%vU4ypaBdG| znit2k%79^_E$2iVmWh^349qiX9c6mXH*T=uW#9tO>428iNrH#mn7P@QK%1L+xj;9VfsSKgU}j_n?Pp?T0WIZaVPI!+lW0c1$Pb8MenUGB9jUWH>1UiUY>gA`D;58RkXtu5tl&2bGylDltuTXPoH9 zuo|>Mc26wxo*0(Z;(?rfD;sA^H=cGs6nZGE@wC%P?Z%6)=e3v|dHPOGVq)wnWN4~k zX*A%O>c!NgDB5et(w4~DTF=^L!ZkgBV}7Wkc;CLQc8omQw_2lVt$&wX<1?#?9;?Ey)-~-Z4dm=M-WuHa&1<#x zN&PPoO-p0f3pAdVYdozS$klJRHDXMdwVX9T{8LEql}$4y!Pp5N0?b#LU3FB9?)fWknoAw=YAt55qoAhSp?; z9uAi62~3+=89K5V`W=~ib(m(EGcGq`m?X^69n92d&NNqobu$w?sDXb?m}zbl!ww6E zZMBRojEuW#7>+42A5&u5;K;BchGmZ-QxObio)7*5*rZqMQYt#LdS%Xln~i2>Ze*j~!a zz&y{7m4Rud0y6`{_EMJZC2ZSE8BZE8uS#Z~sp81p@87tgMwG*xK?n4L5d-e zbAs>;sgzw_Y=@Pbc6v0ejcv(pYUgnbm>@ePjj_p(L6mWpKEqlQu1Wk%9jpw^3anGD znHNW~G{-V@u`;!KF;4PlT9Cl7l96#K7sFy+mN`ibEvXE%O4(*+G0zZWm{!2p8_qc2 zfw{+)xh0aJJ)f;HjIpJPfthgzC*$f6rVeSAxw$+`lmt72nc7^Kr|R?eXmQMq=IE(l zo}VGKSeI?K8Owr9_N57o3nN*l>FB3QH_0&ehBIU`OyFQ>bp_3ywW#sRvroxloMFh( zs?BJ?&?Lau?8Mq`z|`l<*v-b$ZNV~unZ1ck*o3!_iD8N}L$eU`OdEz7)(q1^7@CY2 z7nM3XOpx1J#>C3X!3*kgGO_S+G4p`>#~o2D9nl=KQW$2XvVnHWv$C-4(TqJQOg)Jp^Y}pBS_VhS2|C}x#2K8yE4vvPKu0tvftK$v zfYu6&fMy37xEO>OK&zoN8Tdg5Ah2*UIC4+WZEUT}1TVGaU{PmKVPIsCU}0hKV{o*X zpx-##fPJDpHxtK1D?SFsiMB!$Z9u(T?uoXn6G0a{Ff*`Ev|?vqm}tw##5mD{d7>rT zL<`o5mY@>JOlYDh69YE~%R~*viTcdUoJ`DY3=>rtCaQwYxn!HDAUIJG4H(3}2SwP|v41rt|uWhrK#dpoUX_H>#?c74tf=*T|t@$?#|E*^$?@~YEW80P4zu25oH;O!_l@!>WrDJCX1wpm=vOsvcd zv)Gx~8JIXYxf(^78U=Y~Nigs-GBM4pXP8;#C_M2^M*TN;%4Dmoyl@iAJoui{i+toHOZ-QGSd#x#=W9@3>v?2 zd{u93h-YowQPQ|0*U@T{-(erdnY9cv>sV(AGS1>*m|4njqnhbP4D$|7#vOc&$Cw!& z@NqtO=b0tIIM0-+GmWvAjp>3G$Mtf?Lr#pm3>=J`m>Ijv8TM8&uyf5~V!h+edB~5E zS(KS!77OFqQiiitjI4~Dj0|jS%n!Ah9?CGztY+8}$h4%GWib;&hak%oTZR`_3{&+P zW^ph)k7s(G#Kgq>G??SG6~hs4b_Rwcehf^G9FzRNRS7Tz&G6@&;U~kQGRK=^ju$(F zqtPVa#*MxldxaVI3UTZe1~r%&_6l*cF{}|}S|h;7z`R$IlYwEc7}H*HhKUT!YeZP~ zih~a8W!Njk&cd`;l6gWE(}Z&7y+WXhm5G6Q4QTd{fnh>5!(I`FHPS3=q!{*!bM6)6 zU}0ncO%v~x1J`>DYjmPZo7tLa1YW$|q zct`V%a^t1E#_f`g?|t^FH0^hvRpQ7tS${$X)7%P)9#6)`RJKM-w#HOPuE~1aqS?4W zYqB{6nWxI|PGx17S;aDom6^ejf3k7o>~MxPCX8!L8P=Hae~o9HC&aKTm$h+{8N*(6 zh8>nnU*nk8STat?XWpyE!4SwfIkRzN#n>}Wc?wPe5Y@A$7Gcy=xrm{1$gSIBj%wV0F z%D~IS%s;b;Yi2w%sDNN+U}j}z6X0ZJof*bFGn|2ynGLiMieaV?69ebWV0JMEQ6}*H zVeCw-pc;jN1ymfdfHprgF@Q56`%E3inYxS&j;51~8z-xBPsm_mV4aZ4I3a~$LMk%@ z_YPO49WG3~jI*>^=kW?KGn`amJ*mvP!-HvuC*w&4{t1yxvmBY`aWbD&V3-ie$K%LPhhpi|Xl!8^Wr7&saD!G(w@_*@rIsmjVA!ow#&0@S72jcJZsKA!-=CWlzFB%!)zADLwtuTO=_T7NJa)b z24)5k7AY3cUL(-Pi$JbvQ@TxVNHm@(YCKWQdWpBGORK4ky|wCrhok1S1)Z);tIe1< zxG*#oGdAV1%!p!`5ejk(!v<~Usr(GxPRu=$3=-5vzmdC$nq z$jZdV#K3genQ@va>&-HzEv8IcOjsEhHz+ckaAMhR%P?PpafTAx3`vF=5)3mGLFtr% ziFpR-0AmJ*d-BYaOqeE_G99gB-08}=(}khMjA2JC;}#XLx*LUzH;NdKD>5HfV7i>k zayf^Ajgggwf$4@j!wm<}%mU-xaIPtJ%qOCluNgC4Gh+gEH`@6bHwcPuS94UFF48zT zhHZiq`vhl}32qz=EEC*8o5k2>)v|5KVVqjXv?HHkM;`l*eCCrnOcU&xcjU7$FrCx_ z&8LX2c4e5&!Zg8-;iMt+jsk`Wc1$M?IZqleuJ+_w?ZL3xlX*4=(`-&h?&(sEo9vkw zbeMP_+?TEp0s;K(}t&JGp<&>DUg24+X$=@%L|1u^Uet)<=T z!LZkpVMit7+$_c$Aq?Lf8BgjlOt56y>%p~Fka2<~(~e5kZ!VmBeVHbhF`YCFWak;8X>sMisxg zqAbnw3|%fvvt;<3S?8CFEXk5vE6lvKz>#Ifoeh?Pz4k3myqw({j`=ebcknYYb9Z{M zb-FXKv#@c1&Zl5zpYFxfm(10d#5&!Zor8hd6jB{9@PMzsP-0+Y0L`I*I>gKj?4W}y zSeT|OuuPX{WDo|8<}x#~Ft9LlvT%4z=U|)8D#jwh!Nv?aE}oH3vXK|5SQT`bU97@(#kD+>>g022c<7ZW238-wK30>-I@3{!J>r)G0c z&0(CH%gE};Jj3$6aidzBd6RmZlcU@Wx$hRBmZcDb6pIjpH+ah(2ZIbl6blb{A3z|3 zIEw{?Fau~OE2udx$iU6esKmm_Aj1&E!ph(%Fe9w7O{-CWp@5-Li=ojL+_qA)U}unJ0PUJ^w3#8+IJuOMLytVmFlY$zvw_?q z2tMaS47?;&0K6htkO?%13|hC!0X~*Q2)ybfjES9zk%@;1ym5~K)Z%1j0JWhR!R=^1 z20;d1CUMYNDDpGZ8t3q{Gc>ZY2r$?%@G&qm$TJ9mc0VvQf;OKrGYB!rGVn7r>a&1` zvUypUTkQB4I9eP*XRQf=Bb<|ghr!WzhGgTWNG1kQRDkyWf%aoaFgP>FGDw2AyNZJ= zE>I?CVc=yDWME{l2WhVF~j{TMkcn~p$xY* z814%*-M3>0^{S4FbM~aLw6HO4(F4UAXk}o|VSmQMevErF8TS@2a56J6?Q~^mOknH? zNlD12fA#L*{#KOw6qJa+&X?F@y5*?Rdu9Q4HsU8TzvMy2Y3-n}J8M z*crJPK_vn+I}_6bQRbc;hFLXCI~3Taq%oWeW!hQAFeQX>N<2FU4?80>>$PC6Yf+q_ zkq2&OO(rA8!@kUiL8q~@f~G|o`58Gl7?@d@n-dtDQ+dGi_e@(@SvS`(9CK&rj%B)} zAw9*2Wr}_n1JgBGhHElREnEyO+>95j8829|F>rwL$QEo$mEj5}!)zmlMnQ)D6voaHhMBr7OKaKhn=#z7W`5_w@Pe1| z3LEq6T825kjD4OA$3ZK7nHj;2Vel*#izDN_!!NiUW#*WD&jXb}{NOd=ja&@&3@i-N z;NfD>B$YCFeus|%G8d%4z|PPJO61H8Rt#(mjy!Wx8`~TkV_EnZ%o(^DM49**m|4}> zp7z7v`?dKRaPDy9(S77W{=$KXVBlxq1D&(M$Hu_f&kkBS zk>z`(@XXXmIk z$F^~^GiWyyKZ6WIHTZ;lA@IEr91QX-vLJgI*jPkZm>Hy*gjqoI^q~E4>}&-LppsOS zfrUW`ToQ6JNP{|G41rwp`DVy9b;O)x|DNzYvGHPQ)2xcdBgu`QZN4WuiqBV=>d$ae zhKqr3pCr>h32p|48Tw4U2@Gu_Of6=N47^*z8McP8@qq4#0gXG0Zi{8#mcYiqFhiJW zhLEHBe90fYj3+^ZtqdF|*;!6H`{}V4cd$*eJt#*UgcC zzEtDpS{4Qw7A6LE7Cr{hSpc9#1xyTr3~Vf142%rUyf@tLN$nL}(QGO){ikwM;Fg9A z>lO*S*S{p1Bsf^&>UlK%8kIO2iv?_rnxdQ;Z`j;r*jMY!bi?Kz)74B9A7{oJb$4A~ z=sGjraJtL)GT7PahQl51H~e)i5~__JjfJg_&HrUuMH&MegT$JuoBu_#HO9BPHd)1q zH#)cfWo^z`(9G9V(*3ir$-usiyQMk5wW#}#YKwhGQ&yu~OG9{*ar-~7W`Fngq?QKP zM&stc3hlh^?S4~QWSb+qfBUz(v^4UwbTp*5>9_y&ZsP1|lxhp>X^L-+=4#YZZPXNO zF=A=e)N5yw>JV@K;nOB7ohFL$GzkP&~A1y^GUYm2j5qn%(= zDr;i~a|@S>2y2rLN2jNtK3iiPy909*3zs5WW4LOBN-LK}d#zQQ6d!{#>kZF)oIiql znoG2s|5#f$9{%mg-JIW;@7yGD!{JV6V_TpE4r zFiY^rc7{uJM({G!i!}e#kYMOyZp!Eq$>+=IVh!w)vSw)hRn?{0#M+hC{8vb-F^of; zL54|`SyG6TlZ9E7PlG9lfuUQvF|*q!oTrhQrTI65RHMvvrzY0vmW_NY&Hr5Wnt!Fs z_;WQTvo&c5HS$Wtvo!xGV`gJ(w$W?;AL7Kr%FwH8(5ur_qZG@-$jQLW$iu?K!oAh zSo7~RiADw)-gXVccFsm27FA{j=4NKU=3nA6IUJ2nV&*K(wi?ZUa)he6n!G1eH~&w8{#iXORAO40HcP95 z2LrPbPxB8!77Mm!FDV9QX_lbr>3q}ksyIZL^w^sJ7|Au(i8blTa4~T(H2*B%YE0+L zXKMaaDPX|WY(1lxYbHklQ)A>z=H?%EGx!I3dh@^Z z=Clb-7R{b)e2fenOd5z_>PI*WLnG&`XyI0K#;!E6u2hXq27%6Wp>97h0d`j1 zu5xa6wT=`=rk@&(^ZXf@0=a(i9gGs`a(^awD_M@Iafe;w_IMpf{$J9E*}>a@1sFt_ zK!*r7&QoG&oF~t~!eGY0!yv~b!ypl;{mbBmo2~_Cyx&dxn<~yJET-Gkw&gRqaEZk$ z=_Fn+zg{P^faQDY4Hn5^Go0j0 zG zWx$x1D8)QcpuL!pt%HSKpo5!{twY9*wL_UfzC(*avcr3O0Am}60As65Qw(EkVxuTy zYc3OG8>1y-t1S~_Yqc0-YbFz8YkH$1W2@H8P^OkjCZ<+F2F_M3CdO73?VvUrP+>H{93svJ87n*x9E_7`&Vq93(XwJAuDxYzYR&zY# zqUuIT#>E0n>P(Bx^%xgBG-@+0j*ennoYv^fxVSWqaS2PKHscaSea0mk%{7cmN^KdJ zGI}vCWfx~$%Fn~NR5*umsZJvUZT{donE(Z`5U6=A^;6%r}m4 zSyYP;<8p%_#^p{vjLQRK7?&pmGcM0CU|e3@Xv?@l$eMA5e48!fO1s7o#+50oj4RVL z8CT|~Gp=H6wP#$F)t1V*I)#aGby}l5-a!&BL@$EP?qzWs^SZ0X8Mh{c25`O#9*) z7!NQ=G42byBE)#GZaEL*p_qd*jE7y=84o)(axfkaN@P(eVLhqD#(7es(Ub9{JR9># z=|o1wFqSixiCik%Brha0NM7({YctTGu znHbLagYj2!2IC*@8pc0T%q+jN^%(y!F*E*QU|{@RCdv4RbsH1oufq0J#-EJ-j6X$r z7=IM7F#ag=WBiq?$@rsex)kH5L}{jXrTd&2-$!UNzK`K&d>_|j&G^2sk&*Fzd2>DE z2jM1m#t$-WOpG6F6B$3aTQYv|Ze(Tr5ZdU#_#v)2hw(#6vn1n3&Q=k|kIJEpA2k9Q zKkCFVel%(>Vfq-{qRaR(tEr0dV@tYEKUsw`ezLD%{N&-y z^vS=)oAFa_s}N0+IsAv4_A9moa|JZIWU9R@<4u_}#Ekn(@0$V;tjm*G5*x?>Fn*6q5+2gb&B?IsS!#%Y3ijE&R88@(7C+e4c885^frHYPJR zcCaWhHcsw*w|quz}VPflgHTD z;n}3Y*w_)@?8eyG$=brg*w|^C%GfwvqOpdlu`@`Lv9U9(S&6Z+v!Gd>v9XK0kg;*P zhYDk3m!v3TW0wp!W8-x1MmfgD>5+zvja^#J@{EmLL7a?@&6Projni{mxS1NedHER| zy9F&68@pvdj_)>gVr=ZTZxmr{oWZZo)Yu&&&D7W(mCe{VL&Srru{&Fav9UY9$&RtH zha-Zqu}7fMjj^#uosqGzN0W`Qu}7zom9cS#USkepV~=+eH)G=ro5pa)#-7qfdB(;W zF0zb`y-bZ7jE%j*3XF|2f{Yj&d*zya85?_j?HC(-!yFhJd*kF78+%i%7#n*F8o3x7 z`<^Y;Z0rwXU~HV3TEo;hGqWk3v9VRIgt2iJ zs|jP{ES^R_#>Q4nCdS4InsJPc6O0~HiWTpLOMt+ zuavQILcJDaW2;Z27-Qo^QBZ(P)H7skoMqy}*f`Ot(U_@mmRliX<1C+67RJU&94*m| zjk8(x7#k;P$uc(1=4py!YMiarq{!IV#$>_RI4MJkv9XOqiLr4~K{aFJq{=|X#!2-l zjE$2yZ5bP92QV=UAG&Ww$-vlAE_CwqV*V0Jyo zFOxIt85<{8=rK0V5e#Q+oWf+x*f@ntg|Tsp025Q=6k%DW#wilb42+F)l>8VQ=cvap zHcs*3WNe(`*QmhMI3+=kv2jWc3u9xOy#!O^loCe9#wq2X7@W!o5_Ae@Y@Ev1#KqJ& z$F)(Fv2jjNqcC&hoRmZ^<`%}rd9h4Pjq`mJnH%Sa$S^j}k22wEoFC7~*f>ASiK}sb z4v1C0hlR0mzF>QQ zfU$9@m=sgvQW;*x#-;MwjEzfG?HC)E>TxnQE;VFkY+P#Gl+M(+)K8A7acO8CQ{&Ps zM#jdaxlxRbOG`Z&8<*BLN-{Ps<872>Y+NSk!`Qe?v6``QnPwJa<1%9zrp9Gvjf_l< z%bY-pTooA`mw7cMGBz&D6=!N(R+!J&xU5Ezv2i(b6E9=qa-}9O#>V9qVvLQ;t=SnH zm)ol`HZFGqnZG=+nz3kzWNcg!XwBHTBAkb@aYdvIW8;eWMtP>j6?tlm zjVp@S7#mlVwrDaou2hj_YFw#d$k@12AC%Zv+H){Au5=V+Y+UKm$j;QbGE9}RabvmBr-Lw3IZkLRrPj^jjP#P0~i}u8@n?$uC^#-Y+UUe!PvOk zqmhldadl7=8)M_@EDy%U)rE~7jE!s98*LaH*9ZhMHm(s9VQgF@S-{x1M#+J(agC-l zW8)efP$9U+p*e`LaZPa(Cu8GU_DaUawV;w|tvEAd<622O#>TZO%^b{)YaQ4a8`rut z`Y|@H4F#p#wdu|NOpWWf8hIHT*GWn+Hm;M;V{BZfCdAmdPD7Wmah+jP6l3E$KN-fx zbpe))jq5_A85`H7#xOOmEAVA(TvzGI*tnj7jj?e(a}Z#>NedOpJ{in8TSGH;6X#GB$3|6<}=K zV8GAVxWTxohOu!&m?2~1hA0)r#tm`GjEx%-?HL<4WOy+)ZYTt)DKTJd+)&HO*tns- z(UYlhBM%2-<3@f^4&Nx*Xvx^PQP+;Kaig&aW8+3MNyf&F);x@j8|^@f9NCx}H#)O3 zHEwicVQk#!smj>6(O-b6abu7%W8=nXGseb^sf|jEjT`HXm>M^6@G>@T;%*LSY}}** z^5G^OA;!i{`qGSzn~a*|85=jbcr!L`@-<{^+!WSa$ke#0ik-1>Q!R+7Z!BhP+$<@; z*tl82n6YuQnlxkMW=&DX#?5-oE{u(vedHJ$HwW4>Hf|1QW^CLXWzE>QIl+pladUb# zW8>zW7{dl?&9m<}_uG9FgpU_4x{&-g;M zQH8O9f$=1N8xP}Ne>ujzA%&d(Od0n^Gww}f+#AcdH=A*9D&yW{=Dq2RkK!5k#wT+8 l=U{AAV&iP%VPI^jXO(OdW0Pz%U}3zM%wX5#?!egU2>?Blw#@(l literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..70bf90c0efb66da2a7aa19a820d766cfe3ef3183 GIT binary patch literal 643 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T7n+yp0U(2;@|C*i{PB#LmRQ?5Ln7b3hj2sAfj-2~{oS3{{K_ivElY z5GctY4`#73@U$8*FtfDkL&O;w5Hh^6EzIpAj*RL|_k|o84Ho?O4&*jwJ}9)qYe)Ew zFg8{WRyL-6xsF1{BKuecg&265`M7w6_!*>_#F;sor+eGW$}%!A%1X;H2r~#VNH(%? zI|><#9u#2^WfWkQVm4$@VdGiPrd<(?OuNcC8F$r9HDlcC&&s(snTc_4Y(3)vk2uDC zOwDry8TUpf@)<}l-pg)HXS{31&3f0Bjrnc>Bh%dwHpaU#EKGNkm>KV8a4_91VPd{p t&cb-NhKccR9Sh?<_U0KJjQ4UAS(G<0{*RlH!ua2_IfC=QF9YlU2mlu)iK74j literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..7a83d53ae70ca3d81cda827cc224ec8c5efa4f17 GIT binary patch literal 40539 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..d768bf811ffeb0d794b732a82940fa1442af499f GIT binary patch literal 39534 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF16-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..3d5bf6fb4ef94b452ed1ef0df926fc2bee55e973 GIT binary patch literal 647 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC`d6q=XmbU|^yf8scVXrt9Iz zqBx;7iGh`Yg@M(PQ$b*FC<`+K3m*#ubF+P83Ih`ZI|Gv=8^eYJzWW*37=)Sy%ovy% zm;!~BXWuJP(`Hdp=Mj@;5fb00&CI;dX`dxCbD+2?&n|Z+W+o0MW+r(kt-;31%*4X% z$gQfnE1!WCWCQ~XnAB%xU>0U(2;@|C*i{PB#LmRQ?5Ln7b3hj2sAfj-2~{oS3{{K_ zivElY5GctY4`#73@U$8*FtfDkL&O;w5Hh^6EzIpAj*RL|_k|o84Ho?O4&*jwJ}9)q zYe)EwFg8{WRyL-6xsF1{BKuecg&265`M7w6_!*>_#F;sor+eGW$}%!A%1X;H2r~#V zNH(%?I|><#9u#2^WfWkQVm4$@VdGiPrd<(?OuNcC8F$r9HDlcC&&s(snTc_4Y(3)v zk2uDCOwDry8TUpf@)<}l-pg)HXS{31&3f0Bjrnc>Bh%dwHpaU#EKGNkm>KV8a4_91 xVPd{p&cb-NhKccR9Sh?<_U0KJjQ4UAS(G<0{*RlH!ua2_IfC=QF9YlU2mnZvifsS@ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..09eee10d4fb4b9fe1e70a1ee56825a207ae8034a GIT binary patch literal 40630 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

    LN%a%#4jIY#R+2 z8&~)Q1#jY5o# ztHhf`7#mkQ1{AT?f`jE$>&5}6uT z1%XoJs(L%d#?|bt0gR2Sjold=S6dV^Hm-J#U~F9N(a6T!xH_nbjj?fcmIq_w>cU13 z#>O@5jW&#pYXkxr8`p@5FgC7{EMRP0qvXKYxJFZ&v2l$Ks4QFK&>Y0rxTd&?ld*9v zdnIGzT2LXgR-Bo!ajm2sW8+$tW)9}YwGM2IjcZ*R{TLh9hJq5|+Vp0Brp9$#jl7JF z>m(%@8`sI_F*dGK6Jl&!r=iQ(xX!RCim`E>pA2K;x&TYY#&x05jE(D3W0)G(75FkX zuB-H9Y+TR4#@M)?If$`wJ#Qn3Dd)=ExL&2vk+E^TVVv_pvYREkNea_Kb}iGQ1cYHxz=@lo&8JZm8vCY}`=a=*iT$k%xn^aU(w{vu>1Zv}A1D zsB6dAxY1aIv2mlBBxB=7YaYhNjdmbKj%-Yg8=cvi8aKMJFg9-VRAp@3=r6$3xG~6> zv2kOx8Drzd)J7%7#*KAGOpTj3co`cvaW{uEHf~Y@`EZkt5M$#eeQCzVO-4=fjE$RI zycrue`5H1dZVGEIWNO@0#m?BcsTM@kdowm}=4e!7Y}_mUNh%`S|Mn|KwK{;YaZ+e|0b}E2ApjaQuI2y$ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJIS2004-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6c546001331cf4f2f68563229f994b55730dfdb1 GIT binary patch literal 681 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¬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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-HW-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..643f921b65819c9e8c80a97c51fc68a89053bd51 GIT binary patch literal 705 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9BtKtsO>ygOCpkUpY z&cJYlpFy!nMUA0JnTz3o@4k43y`d}&dqWr)_J%Vu-sfdv+$ZA5qBx;7iGh`Yg@M(P zPeFBW6azDNYaWA8vw#@`GXs-+OC$pm13Lqgbz`m=bE6T9BctNf`(}x3stk;~EEyPg znKLl%vSnc0WzE32%aMU`mwlkPD$g!=CT1oMCT1piD6PT9%FM*VTqvNb%(yFyVOKuG zu3Uy)ISjk<7?&Z`Rm89>nrT-o!>$;nT?q`kf|+)OGVBUr+7*$=sA|i!t2~fX z)nQjD$W(SF4(3EgRZqrUb%~s6G7JY~85j;oGcX*GV_-NS)6B?lKyX4l<6eJO&b`Tu z3s?odeXI-z zMHmipG2HcGI4I0;*N^#b0K-8=rn?~w2RRuI$}rpwXSf^5u#cZ%A1CA87>0u?4EqEN z6^wNm?#46SO=38x#&9>4;UFL5-3*3(+zfZ~815D@9294`TgY%wmf>y|!`&jLyCn>F ziy00|Gv6&|IH<~Sx0+!e3&TDk#=A8P``8%{3NqfUW7x;TaF2=M9vj0wX2yH$3YghA>bJW= literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..c148f67f5e9fe4a108519eeaace89e708a51f8f5 GIT binary patch literal 689 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9BtKtsO>ygODuz}%# z@4k43y`d}&dqWr)_J%Vu-sfdv+$ZA5qBx;7iGh`Yg@M(PPeFBW6azDNYaWA8vw#@` zGXs-+OC$pm13Lqgbz`m=bE6T9BctNf`(}x3stk;~EEyPgnKLl%vSnc0WzE32%aMU` zmwlkPD$g!=CT1oMCT1piD6PT9%FM*VTqvNb%(yFyVOKuGu3Uy)ISjk<7?&Z` zRm89>nrT-o!>$;nT?q`kf|+)OGVBUr+7*$=sA|i!t2~fX)nQjD$W(SF4(3EgRZqrU zb%~s6G7JY~85j;oGcX*GV_-NS)6B?lKyX4l<6eJO&b`Tu3s?odeXI-zMHmipG2HcGI4I0;*N^#b z0K-8=rn?~w2RRuI$}rpwXSf^5u#cZ%A1CA87>0u?4EqEN6^wNm?#46SO=38x#&9>4 z;UFL5-3*3(+zfZ~815D@9294`TgY%wmf>y|!`&jLyCn>Fiy00|Gv6&|IH<~Sx0+!e z3&TDk#=A8P``8%{3NqfUW7x;TaF2=M9vj0wX2yH$3YghA D#+kS~ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJISPro-UTF8-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..1849d809a679e56414f4e18dce8ca3c41109e84e GIT binary patch literal 726 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9BtygNKXamCm z-z3&Y4HFplhO#j14Pju|8_vjhpO=YopNJF7qqYgHNerwEEDWqpe2*HI?u}w#=5Ebn z5b6yuV_;@rl5dG*U}9irU}~&x%oSs9En;zEeAG7ezF896qbUuHyDS+PcbPLV?y_ZI z+-1$cxXY1&ahH9N_@gO3yWE+WnK+o3ndG6g1{*6g6AN>Zz@sUP8Fytd?8;}@mCLXz zhhbM9!>&SxT?GugiWqi9Gwq6H*cHRHD}iBGFw?G3hFu{{yCRYpA5GcIw5vRb^U>6X zU8Nv{*_k+)lNcXO?PT0lm&EyK#vFzNvJ4Cdq!}0v$T2V+km+G$I3U=3IG%B@KP%_n zWJZPqehiFzW0M#k&1qt|FXSZoxM9xTFor5dhQ>sHMg|C!WN3^BGuaq;S`8SOSz7fW z5{wLukqq)ssU()i&087wF|ji24W8)Ca8Qnc@vd1A_v4=CgF-vJc7*Q;V`JrDWn#BflJ;chC!K|aR284UZl8SdsW+$~@@D9&)V zkl~;#!`&=~yG4w5ONxXZ_ck!xEn~P_%y3Ye`EEJGK~;vk)eQSs81@M<-mPKS$Ift2 zknwIE!#*B{drS=X*ck3HGu~roI4F_C_PBR9!#y4bhI`x$4EMMg818X0FdSsraMy!z wZ?qHV`#p2_=E}-4GBCf@bHIm@%Zc&*o>})?0c9%VT>t<8 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..a83a677c56df6f1ac395d2ba71e60a08b0985e97 GIT binary patch literal 40517 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX0213-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..f527248ad547015ad8af1181e646da3b235de08f GIT binary patch literal 684 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC`d9GaKuvwdR<0}}%~1Cui|1B2p`1LX|N3{1ho z3=GP%@0F-&vnZ+ah)J^uiSN^9X5Qzt&ytxrSe$`Dm1mbb6EhPB6El-Ml-6KlWoBYw zcIIYaP*vTP&%g>Yh=B!6>N7Ji3o|nWb22cfI_xS1X=G>OV0KnuU{I4eAPaF=Go$!~ zs+MwwDn6w-nU9NCh@U}VBBRd&bTX!gK1YRBh#(~My6e%j7+;C z7@2mJb29F#n`*|m*PoShZ!#0(-q?D^10HdV`PqGv3YMV7gnv#C*4$h4F3;6XV@F7RGz*%`-R{@8u@5 aFfb@@VEi99BZcw5XLAJSe_saH{}BL5g^P>; literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniJISX02132004-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..e1a988dc9e80be9a0803e22d021b1e81fdcc5b94 GIT binary patch literal 40608 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..b5b94852a57b19bcb357a6cae2cae2e7910e05a1 GIT binary patch literal 25783 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 CEvY#G literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UCS2-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..026adcaad4c56cb1989bd31cbcf3ad21f3965a17 GIT binary patch literal 178 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T6PlOl9jqJb9BicPktn1f%($8{>XnCWig|j12n)xLNlLN;B*i aXJptf!N{;*QkrSM6a&M)x<(d;{jvZScs2|G literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF16-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..fd4e66e81f3507b190fb2986a26a45c1c380e302 GIT binary patch literal 26327 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 L>wZCNru|X?)N3(k literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..769d2142c03b10680800b3b6ae883e27fe04c5a2 GIT binary patch literal 26451 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..bdab208b69d287128195eccbd084c8cf4ca658c3 GIT binary patch literal 168 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T8=9Bt9jqG~;%025>*37Jz@Q+u zua=K}ey&3E+*}4O7Dfgg9!3U6208Oa7Mo;t1_lLT#(mZEa~StkuyXEaWMbS`-#oX7 PaX+sB>wZCNru|X?W%4m; literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniKS-UTF8-H.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..6ff8674af772af896d7d33c7addc37c57822f8a2 GIT binary patch literal 27790 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 RV%*Owz`9?sv6^YW6ad@#ITio_ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..fdec9906621904180f42bd5c91f377397fd6cf95 GIT binary patch literal 166 zcmZR65agU+P+63jo>8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC|T=#j{(sKmI}pOXar_}BoKm$jH;!K`8J;XlZGnYh++xso>knU|bjRFGekSdyBe z$K{xlqX1T4tWcC%oLW={5)4jFRnXJ-@pN|e3wC8-WN54}kYHrkSHZBaieY~}!vPlI zeYKqXWf=BXG42at*k8@KFN|S-4a2@vrhO5N`)e5wFfi_oX4o6XaDa(nUoz9aXodsK clKTxf4zM!p4^LoD6ga@gz_729f#rZa00b2~8~^|S literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/css/debugger.css b/src/main/resources/static/pdfjs-legacy/css/debugger.css new file mode 100644 index 0000000000..b9d9f81906 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/css/debugger.css @@ -0,0 +1,111 @@ +/* Copyright 2014 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. + */ + +:root { + --panel-width: 300px; +} + +#PDFBug, +#PDFBug :is(input, button, select) { + font: message-box; +} +#PDFBug { + background-color: rgb(255 255 255); + border: 1px solid rgb(102 102 102); + position: fixed; + top: 32px; + right: 0; + bottom: 0; + font-size: 10px; + padding: 0; + width: var(--panel-width); +} +#PDFBug .controls { + background: rgb(238 238 238); + border-bottom: 1px solid rgb(102 102 102); + padding: 3px; +} +#PDFBug .panels { + inset: 27px 0 0; + overflow: auto; + position: absolute; +} +#PDFBug .panels > div { + padding: 5px; +} +#PDFBug button.active { + font-weight: bold; +} +.debuggerShowText, +.debuggerHideText:hover { + background-color: rgb(255 255 0 / 0.25); +} +#PDFBug .stats { + font-family: courier; + font-size: 10px; + white-space: pre; +} +#PDFBug .stats .title { + font-weight: bold; +} +#PDFBug table { + font-size: 10px; + white-space: pre; +} +#PDFBug table.showText { + border-collapse: collapse; + text-align: center; +} +#PDFBug table.showText, +#PDFBug table.showText :is(tr, td) { + border: 1px solid black; + padding: 1px; +} +#PDFBug table.showText td.advance { + color: grey; +} + +#viewer.textLayer-visible .textLayer { + opacity: 1; +} + +#viewer.textLayer-visible .canvasWrapper { + background-color: rgb(128 255 128); +} + +#viewer.textLayer-visible .canvasWrapper canvas { + mix-blend-mode: screen; +} + +#viewer.textLayer-visible .textLayer span { + background-color: rgb(255 255 0 / 0.1); + color: rgb(0 0 0); + border: solid 1px rgb(255 0 0 / 0.5); + box-sizing: border-box; +} + +#viewer.textLayer-visible .textLayer span[aria-owns] { + background-color: rgb(255 0 0 / 0.3); +} + +#viewer.textLayer-hover .textLayer span:hover { + background-color: rgb(255 255 255); + color: rgb(0 0 0); +} + +#viewer.textLayer-shadow .textLayer span { + background-color: rgb(255 255 255 / 0.6); + color: rgb(0 0 0); +} diff --git a/src/main/resources/static/pdfjs-legacy/css/viewer.css b/src/main/resources/static/pdfjs-legacy/css/viewer.css new file mode 100644 index 0000000000..5d78334f9b --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/css/viewer.css @@ -0,0 +1,4354 @@ +/* Copyright 2014 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. + */ + +.dialog{ + --dialog-bg-color:white; + --dialog-border-color:white; + --dialog-shadow:0 2px 14px 0 rgb(58 57 68 / 0.2); + --text-primary-color:#15141a; + --text-secondary-color:#5b5b66; + --hover-filter:brightness(0.9); + --focus-ring-color:#0060df; + --focus-ring-outline:2px solid var(--focus-ring-color); + + --textarea-border-color:#8f8f9d; + --textarea-bg-color:white; + --textarea-fg-color:var(--text-secondary-color); + + --radio-bg-color:#f0f0f4; + --radio-checked-bg-color:#fbfbfe; + --radio-border-color:#8f8f9d; + --radio-checked-border-color:#0060df; + + --button-secondary-bg-color:#f0f0f4; + --button-secondary-fg-color:var(--text-primary-color); + --button-secondary-border-color:var(--button-secondary-bg-color); + --button-secondary-hover-bg-color:var(--button-secondary-bg-color); + --button-secondary-hover-fg-color:var(--button-secondary-fg-color); + --button-secondary-hover-border-color:var(--button-secondary-hover-bg-color); + + --button-primary-bg-color:#0060df; + --button-primary-fg-color:#fbfbfe; + --button-primary-hover-bg-color:var(--button-primary-bg-color); + --button-primary-hover-fg-color:var(--button-primary-fg-color); + --button-primary-hover-border-color:var(--button-primary-hover-bg-color); + + font:message-box; + font-size:13px; + font-weight:400; + line-height:150%; + border-radius:4px; + padding:12px 16px; + border:1px solid var(--dialog-border-color); + background:var(--dialog-bg-color); + color:var(--text-primary-color); + box-shadow:var(--dialog-shadow); +} + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) .dialog{ + --dialog-bg-color:#1c1b22; + --dialog-border-color:#1c1b22; + --dialog-shadow:0 2px 14px 0 #15141a; + --text-primary-color:#fbfbfe; + --text-secondary-color:#cfcfd8; + --focus-ring-color:#0df; + --hover-filter:brightness(1.4); + + --textarea-bg-color:#42414d; + + --radio-bg-color:#2b2a33; + --radio-checked-bg-color:#15141a; + --radio-checked-border-color:#0df; + + --button-secondary-bg-color:#2b2a33; + --button-primary-bg-color:#0df; + --button-primary-fg-color:#15141a; +} + } + +:where(html.is-dark) .dialog{ + --dialog-bg-color:#1c1b22; + --dialog-border-color:#1c1b22; + --dialog-shadow:0 2px 14px 0 #15141a; + --text-primary-color:#fbfbfe; + --text-secondary-color:#cfcfd8; + --focus-ring-color:#0df; + --hover-filter:brightness(1.4); + + --textarea-bg-color:#42414d; + + --radio-bg-color:#2b2a33; + --radio-checked-bg-color:#15141a; + --radio-checked-border-color:#0df; + + --button-secondary-bg-color:#2b2a33; + --button-primary-bg-color:#0df; + --button-primary-fg-color:#15141a; +} + +@media screen and (forced-colors: active){ + +.dialog{ + --dialog-bg-color:Canvas; + --dialog-border-color:CanvasText; + --dialog-shadow:none; + --text-primary-color:CanvasText; + --text-secondary-color:CanvasText; + --hover-filter:none; + --focus-ring-color:ButtonBorder; + + --textarea-border-color:ButtonBorder; + --textarea-bg-color:Field; + --textarea-fg-color:ButtonText; + + --radio-bg-color:ButtonFace; + --radio-checked-bg-color:ButtonFace; + --radio-border-color:ButtonText; + --radio-checked-border-color:ButtonText; + + --button-secondary-bg-color:ButtonFace; + --button-secondary-fg-color:ButtonText; + --button-secondary-border-color:ButtonText; + --button-secondary-hover-bg-color:AccentColor; + --button-secondary-hover-fg-color:AccentColorText; + + --button-primary-bg-color:ButtonText; + --button-primary-fg-color:ButtonFace; + --button-primary-hover-bg-color:AccentColor; + --button-primary-hover-fg-color:AccentColorText; +} + } + +.dialog .mainContainer *:focus-visible{ + outline:var(--focus-ring-outline); + outline-offset:2px; + } + +.dialog .mainContainer .radio{ + display:flex; + flex-direction:column; + align-items:flex-start; + gap:4px; + } + +.dialog .mainContainer .radio > .radioButton{ + display:flex; + gap:8px; + align-self:stretch; + align-items:center; + } + +.dialog .mainContainer .radio > .radioButton input{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + box-sizing:border-box; + width:16px; + height:16px; + border-radius:50%; + background-color:var(--radio-bg-color); + border:1px solid var(--radio-border-color); + } + +.dialog .mainContainer .radio > .radioButton input:hover{ + filter:var(--hover-filter); + } + +.dialog .mainContainer .radio > .radioButton input:checked{ + background-color:var(--radio-checked-bg-color); + border:4px solid var(--radio-checked-border-color); + } + +.dialog .mainContainer .radio > .radioLabel{ + display:flex; + padding-inline-start:24px; + align-items:flex-start; + gap:10px; + align-self:stretch; + } + +.dialog .mainContainer .radio > .radioLabel > span{ + flex:1 0 0; + font-size:11px; + color:var(--text-secondary-color); + } + +.dialog .mainContainer button{ + border-radius:4px; + border:1px solid; + font:menu; + font-weight:600; + padding:4px 16px; + width:auto; + height:32px; + } + +.dialog .mainContainer button:hover{ + cursor:pointer; + filter:var(--hover-filter); + } + +.dialog .mainContainer button.secondaryButton{ + color:var(--button-secondary-fg-color); + background-color:var(--button-secondary-bg-color); + border-color:var(--button-secondary-border-color); + } + +.dialog .mainContainer button.secondaryButton:hover{ + color:var(--button-secondary-hover-fg-color); + background-color:var(--button-secondary-hover-bg-color); + border-color:var(--button-secondary-hover-border-color); + } + +.dialog .mainContainer button.primaryButton{ + color:var(--button-primary-hover-fg-color); + background-color:var(--button-primary-hover-bg-color); + border-color:var(--button-primary-hover-border-color); + opacity:1; + } + +.dialog .mainContainer button.primaryButton:hover{ + color:var(--button-primary-hover-fg-color); + background-color:var(--button-primary-hover-bg-color); + border-color:var(--button-primary-hover-border-color); + } + +.dialog .mainContainer textarea{ + font:inherit; + padding:8px; + resize:none; + margin:0; + box-sizing:border-box; + border-radius:4px; + border:1px solid var(--textarea-border-color); + background:var(--textarea-bg-color); + color:var(--textarea-fg-color); + } + +.dialog .mainContainer textarea:focus{ + outline-offset:0; + border-color:transparent; + } + +.dialog .mainContainer textarea:disabled{ + pointer-events:none; + opacity:0.4; + } + +.textLayer{ + position:absolute; + text-align:initial; + inset:0; + overflow:clip; + opacity:1; + line-height:1; + -webkit-text-size-adjust:none; + -moz-text-size-adjust:none; + text-size-adjust:none; + forced-color-adjust:none; + transform-origin:0 0; + caret-color:CanvasText; + z-index:0; +} + +.textLayer.highlighting{ + touch-action:none; + } + +.textLayer :is(span, br){ + color:transparent; + position:absolute; + white-space:pre; + cursor:text; + transform-origin:0% 0%; + } + +.textLayer > :not(.markedContent), + .textLayer .markedContent span:not(.markedContent){ + z-index:1; + } + +.textLayer span.markedContent{ + top:0; + height:0; + } + +.textLayer .highlight{ + --highlight-bg-color:rgb(180 0 170 / 0.25); + --highlight-selected-bg-color:rgb(0 100 0 / 0.25); + --highlight-backdrop-filter:none; + --highlight-selected-backdrop-filter:none; + + margin:-1px; + padding:1px; + background-color:var(--highlight-bg-color); + -webkit-backdrop-filter:var(--highlight-backdrop-filter); + backdrop-filter:var(--highlight-backdrop-filter); + border-radius:4px; + } + +@media screen and (forced-colors: active){ + +.textLayer .highlight{ + --highlight-bg-color:transparent; + --highlight-selected-bg-color:transparent; + --highlight-backdrop-filter:var(--hcm-highlight-filter); + --highlight-selected-backdrop-filter:var( + --hcm-highlight-selected-filter + ); + } + } + +.textLayer .highlight.appended{ + position:initial; + } + +.textLayer .highlight.begin{ + border-radius:4px 0 0 4px; + } + +.textLayer .highlight.end{ + border-radius:0 4px 4px 0; + } + +.textLayer .highlight.middle{ + border-radius:0; + } + +.textLayer .highlight.selected{ + background-color:var(--highlight-selected-bg-color); + -webkit-backdrop-filter:var(--highlight-selected-backdrop-filter); + backdrop-filter:var(--highlight-selected-backdrop-filter); + } + +.textLayer ::-moz-selection{ + background:rgba(0 0 255 / 0.25); + background:color-mix(in srgb, AccentColor, transparent 75%); + } + +.textLayer ::selection{ + background:rgba(0 0 255 / 0.25); + background:color-mix(in srgb, AccentColor, transparent 75%); + } + +.textLayer br::-moz-selection{ + background:transparent; + } + +.textLayer br::selection{ + background:transparent; + } + +.textLayer .endOfContent{ + display:block; + position:absolute; + inset:100% 0 0; + z-index:0; + cursor:default; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + } + +.textLayer .endOfContent.active{ + top:0; + } + +.annotationLayer{ + --annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,"); + --input-focus-border-color:Highlight; + --input-focus-outline:1px solid Canvas; + --input-unfocused-border-color:transparent; + --input-disabled-border-color:transparent; + --input-hover-border-color:black; + --link-outline:none; + + position:absolute; + top:0; + left:0; + pointer-events:none; + transform-origin:0 0; +} + +@media screen and (forced-colors: active){ + +.annotationLayer{ + --input-focus-border-color:CanvasText; + --input-unfocused-border-color:ActiveText; + --input-disabled-border-color:GrayText; + --input-hover-border-color:Highlight; + --link-outline:1.5px solid LinkText; +} + + .annotationLayer .textWidgetAnnotation :is(input, textarea):required, .annotationLayer .choiceWidgetAnnotation select:required, .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{ + outline:1.5px solid selectedItem; + } + + .annotationLayer .linkAnnotation{ + outline:var(--link-outline); + } + + .annotationLayer .linkAnnotation:hover{ + -webkit-backdrop-filter:var(--hcm-highlight-filter); + backdrop-filter:var(--hcm-highlight-filter); + } + + .annotationLayer .linkAnnotation > a:hover{ + opacity:0 !important; + background:none !important; + box-shadow:none; + } + + .annotationLayer .popupAnnotation .popup{ + outline:calc(1.5px * var(--scale-factor)) solid CanvasText !important; + background-color:ButtonFace !important; + color:ButtonText !important; + } + + .annotationLayer .highlightArea:hover::after{ + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + -webkit-backdrop-filter:var(--hcm-highlight-filter); + backdrop-filter:var(--hcm-highlight-filter); + content:""; + pointer-events:none; + } + + .annotationLayer .popupAnnotation.focused .popup{ + outline:calc(3px * var(--scale-factor)) solid Highlight !important; + } + } + +.annotationLayer[data-main-rotation="90"] .norotate{ + transform:rotate(270deg) translateX(-100%); + } + +.annotationLayer[data-main-rotation="180"] .norotate{ + transform:rotate(180deg) translate(-100%, -100%); + } + +.annotationLayer[data-main-rotation="270"] .norotate{ + transform:rotate(90deg) translateY(-100%); + } + +.annotationLayer.disabled section, + .annotationLayer.disabled .popup{ + pointer-events:none; + } + +.annotationLayer .annotationContent{ + position:absolute; + width:100%; + height:100%; + pointer-events:none; + } + +.annotationLayer .annotationContent.freetext{ + background:transparent; + border:none; + inset:0; + overflow:visible; + white-space:nowrap; + font:10px sans-serif; + line-height:1.35; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + } + +.annotationLayer section{ + position:absolute; + text-align:initial; + pointer-events:auto; + box-sizing:border-box; + transform-origin:0 0; + } + +.annotationLayer section:has(div.annotationContent) canvas.annotationContent{ + display:none; + } + +.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton) > a{ + position:absolute; + font-size:1em; + top:0; + left:0; + width:100%; + height:100%; + } + +.annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) + > a:hover{ + opacity:0.2; + background-color:rgb(255 255 0); + box-shadow:0 2px 10px rgb(255 255 0); + } + +.annotationLayer .linkAnnotation.hasBorder:hover{ + background-color:rgb(255 255 0 / 0.2); + } + +.annotationLayer .hasBorder{ + background-size:100% 100%; + } + +.annotationLayer .textAnnotation img{ + position:absolute; + cursor:pointer; + width:100%; + height:100%; + top:0; + left:0; + } + +.annotationLayer .textWidgetAnnotation :is(input, textarea), .annotationLayer .choiceWidgetAnnotation select, .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input{ + background-image:var(--annotation-unfocused-field-background); + border:2px solid var(--input-unfocused-border-color); + box-sizing:border-box; + font:calc(9px * var(--scale-factor)) sans-serif; + height:100%; + margin:0; + vertical-align:top; + width:100%; + } + +.annotationLayer .textWidgetAnnotation :is(input, textarea):required, .annotationLayer .choiceWidgetAnnotation select:required, .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:required{ + outline:1.5px solid red; + } + +.annotationLayer .choiceWidgetAnnotation select option{ + padding:0; + } + +.annotationLayer .buttonWidgetAnnotation.radioButton input{ + border-radius:50%; + } + +.annotationLayer .textWidgetAnnotation textarea{ + resize:none; + } + +.annotationLayer .textWidgetAnnotation [disabled]:is(input, textarea), .annotationLayer .choiceWidgetAnnotation select[disabled], .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input[disabled]{ + background:none; + border:2px solid var(--input-disabled-border-color); + cursor:not-allowed; + } + +.annotationLayer .textWidgetAnnotation :is(input, textarea):hover, .annotationLayer .choiceWidgetAnnotation select:hover, .annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input:hover{ + border:2px solid var(--input-hover-border-color); + } + +.annotationLayer .textWidgetAnnotation :is(input, textarea):hover, .annotationLayer .choiceWidgetAnnotation select:hover, .annotationLayer .buttonWidgetAnnotation.checkBox input:hover{ + border-radius:2px; + } + +.annotationLayer .textWidgetAnnotation :is(input, textarea):focus, .annotationLayer .choiceWidgetAnnotation select:focus{ + background:none; + border:2px solid var(--input-focus-border-color); + border-radius:2px; + outline:var(--input-focus-outline); + } + +.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) :focus{ + background-image:none; + background-color:transparent; + } + +.annotationLayer .buttonWidgetAnnotation.checkBox :focus{ + border:2px solid var(--input-focus-border-color); + border-radius:2px; + outline:var(--input-focus-outline); + } + +.annotationLayer .buttonWidgetAnnotation.radioButton :focus{ + border:2px solid var(--input-focus-border-color); + outline:var(--input-focus-outline); + } + +.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before, + .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after, + .annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before{ + background-color:CanvasText; + content:""; + display:block; + position:absolute; + } + +.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before, + .annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after{ + height:80%; + left:45%; + width:1px; + } + +.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::before{ + transform:rotate(45deg); + } + +.annotationLayer .buttonWidgetAnnotation.checkBox input:checked::after{ + transform:rotate(-45deg); + } + +.annotationLayer .buttonWidgetAnnotation.radioButton input:checked::before{ + border-radius:50%; + height:50%; + left:25%; + top:25%; + width:50%; + } + +.annotationLayer .textWidgetAnnotation input.comb{ + font-family:monospace; + padding-left:2px; + padding-right:0; + } + +.annotationLayer .textWidgetAnnotation input.comb:focus{ + width:103%; + } + +.annotationLayer .buttonWidgetAnnotation:is(.checkBox, .radioButton) input{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + } + +.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{ + height:100%; + width:100%; + } + +.annotationLayer .popupAnnotation{ + position:absolute; + font-size:calc(9px * var(--scale-factor)); + pointer-events:none; + width:-moz-max-content; + width:max-content; + max-width:45%; + height:auto; + } + +.annotationLayer .popup{ + background-color:rgb(255 255 153); + box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) rgb(136 136 136); + border-radius:calc(2px * var(--scale-factor)); + outline:1.5px solid rgb(255 255 74); + padding:calc(6px * var(--scale-factor)); + cursor:pointer; + font:message-box; + white-space:normal; + word-wrap:break-word; + pointer-events:auto; + } + +.annotationLayer .popupAnnotation.focused .popup{ + outline-width:3px; + } + +.annotationLayer .popup *{ + font-size:calc(9px * var(--scale-factor)); + } + +.annotationLayer .popup > .header{ + display:inline-block; + } + +.annotationLayer .popup > .header h1{ + display:inline; + } + +.annotationLayer .popup > .header .popupDate{ + display:inline-block; + margin-left:calc(5px * var(--scale-factor)); + width:-moz-fit-content; + width:fit-content; + } + +.annotationLayer .popupContent{ + border-top:1px solid rgb(51 51 51); + margin-top:calc(2px * var(--scale-factor)); + padding-top:calc(2px * var(--scale-factor)); + } + +.annotationLayer .richText > *{ + white-space:pre-wrap; + font-size:calc(9px * var(--scale-factor)); + } + +.annotationLayer .popupTriggerArea{ + cursor:pointer; + } + +.annotationLayer section svg{ + position:absolute; + width:100%; + height:100%; + top:0; + left:0; + } + +.annotationLayer .annotationTextContent{ + position:absolute; + width:100%; + height:100%; + opacity:0; + color:transparent; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + pointer-events:none; + } + +.annotationLayer .annotationTextContent span{ + width:100%; + display:inline-block; + } + +.annotationLayer svg.quadrilateralsContainer{ + contain:strict; + width:0; + height:0; + position:absolute; + top:0; + left:0; + z-index:-1; + } + +:root{ + --xfa-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,"); + --xfa-focus-outline:auto; +} + +@media screen and (forced-colors: active){ + :root{ + --xfa-focus-outline:2px solid CanvasText; + } + .xfaLayer *:required{ + outline:1.5px solid selectedItem; + } +} + +.xfaLayer{ + background-color:transparent; +} + +.xfaLayer .highlight{ + margin:-1px; + padding:1px; + background-color:rgb(239 203 237); + border-radius:4px; +} + +.xfaLayer .highlight.appended{ + position:initial; +} + +.xfaLayer .highlight.begin{ + border-radius:4px 0 0 4px; +} + +.xfaLayer .highlight.end{ + border-radius:0 4px 4px 0; +} + +.xfaLayer .highlight.middle{ + border-radius:0; +} + +.xfaLayer .highlight.selected{ + background-color:rgb(203 223 203); +} + +.xfaPage{ + overflow:hidden; + position:relative; +} + +.xfaContentarea{ + position:absolute; +} + +.xfaPrintOnly{ + display:none; +} + +.xfaLayer{ + position:absolute; + text-align:initial; + top:0; + left:0; + transform-origin:0 0; + line-height:1.2; +} + +.xfaLayer *{ + color:inherit; + font:inherit; + font-style:inherit; + font-weight:inherit; + font-kerning:inherit; + letter-spacing:-0.01px; + text-align:inherit; + text-decoration:inherit; + box-sizing:border-box; + background-color:transparent; + padding:0; + margin:0; + pointer-events:auto; + line-height:inherit; +} + +.xfaLayer *:required{ + outline:1.5px solid red; +} + +.xfaLayer div, +.xfaLayer svg, +.xfaLayer svg *{ + pointer-events:none; +} + +.xfaLayer a{ + color:blue; +} + +.xfaRich li{ + margin-left:3em; +} + +.xfaFont{ + color:black; + font-weight:normal; + font-kerning:none; + font-size:10px; + font-style:normal; + letter-spacing:0; + text-decoration:none; + vertical-align:0; +} + +.xfaCaption{ + overflow:hidden; + flex:0 0 auto; +} + +.xfaCaptionForCheckButton{ + overflow:hidden; + flex:1 1 auto; +} + +.xfaLabel{ + height:100%; + width:100%; +} + +.xfaLeft{ + display:flex; + flex-direction:row; + align-items:center; +} + +.xfaRight{ + display:flex; + flex-direction:row-reverse; + align-items:center; +} + +:is(.xfaLeft, .xfaRight) > :is(.xfaCaption, .xfaCaptionForCheckButton){ + max-height:100%; +} + +.xfaTop{ + display:flex; + flex-direction:column; + align-items:flex-start; +} + +.xfaBottom{ + display:flex; + flex-direction:column-reverse; + align-items:flex-start; +} + +:is(.xfaTop, .xfaBottom) > :is(.xfaCaption, .xfaCaptionForCheckButton){ + width:100%; +} + +.xfaBorder{ + background-color:transparent; + position:absolute; + pointer-events:none; +} + +.xfaWrapped{ + width:100%; + height:100%; +} + +:is(.xfaTextfield, .xfaSelect):focus{ + background-image:none; + background-color:transparent; + outline:var(--xfa-focus-outline); + outline-offset:-1px; +} + +:is(.xfaCheckbox, .xfaRadio):focus{ + outline:var(--xfa-focus-outline); +} + +.xfaTextfield, +.xfaSelect{ + height:100%; + width:100%; + flex:1 1 auto; + border:none; + resize:none; + background-image:var(--xfa-unfocused-field-background); +} + +.xfaSelect{ + padding-inline:2px; +} + +:is(.xfaTop, .xfaBottom) > :is(.xfaTextfield, .xfaSelect){ + flex:0 1 auto; +} + +.xfaButton{ + cursor:pointer; + width:100%; + height:100%; + border:none; + text-align:center; +} + +.xfaLink{ + width:100%; + height:100%; + position:absolute; + top:0; + left:0; +} + +.xfaCheckbox, +.xfaRadio{ + width:100%; + height:100%; + flex:0 0 auto; + border:none; +} + +.xfaRich{ + white-space:pre-wrap; + width:100%; + height:100%; +} + +.xfaImage{ + -o-object-position:left top; + object-position:left top; + -o-object-fit:contain; + object-fit:contain; + width:100%; + height:100%; +} + +.xfaLrTb, +.xfaRlTb, +.xfaTb{ + display:flex; + flex-direction:column; + align-items:stretch; +} + +.xfaLr{ + display:flex; + flex-direction:row; + align-items:stretch; +} + +.xfaRl{ + display:flex; + flex-direction:row-reverse; + align-items:stretch; +} + +.xfaTb > div{ + justify-content:left; +} + +.xfaPosition{ + position:relative; +} + +.xfaArea{ + position:relative; +} + +.xfaValignMiddle{ + display:flex; + align-items:center; +} + +.xfaTable{ + display:flex; + flex-direction:column; + align-items:stretch; +} + +.xfaTable .xfaRow{ + display:flex; + flex-direction:row; + align-items:stretch; +} + +.xfaTable .xfaRlRow{ + display:flex; + flex-direction:row-reverse; + align-items:stretch; + flex:1; +} + +.xfaTable .xfaRlRow > div{ + flex:1; +} + +:is(.xfaNonInteractive, .xfaDisabled, .xfaReadOnly) :is(input, textarea){ + background:initial; +} + +@media print{ + .xfaTextfield, + .xfaSelect{ + background:transparent; + } + + .xfaSelect{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + text-indent:1px; + text-overflow:""; + } +} + +.canvasWrapper svg{ + transform:none; + } + +.canvasWrapper svg[data-main-rotation="90"] mask, + .canvasWrapper svg[data-main-rotation="90"] use:not(.clip, .mask){ + transform:matrix(0, 1, -1, 0, 1, 0); + } + +.canvasWrapper svg[data-main-rotation="180"] mask, + .canvasWrapper svg[data-main-rotation="180"] use:not(.clip, .mask){ + transform:matrix(-1, 0, 0, -1, 1, 1); + } + +.canvasWrapper svg[data-main-rotation="270"] mask, + .canvasWrapper svg[data-main-rotation="270"] use:not(.clip, .mask){ + transform:matrix(0, -1, 1, 0, 0, 1); + } + +.canvasWrapper svg.highlight{ + --blend-mode:multiply; + + position:absolute; + mix-blend-mode:var(--blend-mode); + } + +@media screen and (forced-colors: active){ + +.canvasWrapper svg.highlight{ + --blend-mode:difference; + } + } + +.canvasWrapper svg.highlight:not(.free){ + fill-rule:evenodd; + } + +.canvasWrapper svg.highlightOutline{ + position:absolute; + mix-blend-mode:normal; + fill-rule:evenodd; + fill:none; + } + +.canvasWrapper svg.highlightOutline.hovered:not(.free):not(.selected){ + stroke:var(--hover-outline-color); + stroke-width:var(--outline-width); + } + +.canvasWrapper svg.highlightOutline.selected:not(.free) .mainOutline{ + stroke:var(--outline-around-color); + stroke-width:calc( + var(--outline-width) + 2 * var(--outline-around-width) + ); + } + +.canvasWrapper svg.highlightOutline.selected:not(.free) .secondaryOutline{ + stroke:var(--outline-color); + stroke-width:var(--outline-width); + } + +.canvasWrapper svg.highlightOutline.free.hovered:not(.selected){ + stroke:var(--hover-outline-color); + stroke-width:calc(2 * var(--outline-width)); + } + +.canvasWrapper svg.highlightOutline.free.selected .mainOutline{ + stroke:var(--outline-around-color); + stroke-width:calc( + 2 * (var(--outline-width) + var(--outline-around-width)) + ); + } + +.canvasWrapper svg.highlightOutline.free.selected .secondaryOutline{ + stroke:var(--outline-color); + stroke-width:calc(2 * var(--outline-width)); + } + +.toggle-button{ + --button-background-color:#f0f0f4; + --button-background-color-hover:#e0e0e6; + --button-background-color-active:#cfcfd8; + --color-accent-primary:#0060df; + --color-accent-primary-hover:#0250bb; + --color-accent-primary-active:#054096; + --border-interactive-color:#8f8f9d; + --border-radius-circle:9999px; + --border-width:1px; + --size-item-small:16px; + --size-item-large:32px; + --color-canvas:white; + + --toggle-background-color:var(--button-background-color); + --toggle-background-color-hover:var(--button-background-color-hover); + --toggle-background-color-active:var(--button-background-color-active); + --toggle-background-color-pressed:var(--color-accent-primary); + --toggle-background-color-pressed-hover:var(--color-accent-primary-hover); + --toggle-background-color-pressed-active:var(--color-accent-primary-active); + --toggle-border-color:var(--border-interactive-color); + --toggle-border-color-hover:var(--toggle-border-color); + --toggle-border-color-active:var(--toggle-border-color); + --toggle-border-radius:var(--border-radius-circle); + --toggle-border-width:var(--border-width); + --toggle-height:var(--size-item-small); + --toggle-width:var(--size-item-large); + --toggle-dot-background-color:var(--toggle-border-color); + --toggle-dot-background-color-hover:var(--toggle-dot-background-color); + --toggle-dot-background-color-active:var(--toggle-dot-background-color); + --toggle-dot-background-color-on-pressed:var(--color-canvas); + --toggle-dot-margin:1px; + --toggle-dot-height:calc( + var(--toggle-height) - 2 * var(--toggle-dot-margin) - 2 * + var(--toggle-border-width) + ); + --toggle-dot-width:var(--toggle-dot-height); + --toggle-dot-transform-x:calc( + var(--toggle-width) - 4 * var(--toggle-dot-margin) - var(--toggle-dot-width) + ); + + -webkit-appearance:none; + + -moz-appearance:none; + + appearance:none; + padding:0; + margin:0; + border:var(--toggle-border-width) solid var(--toggle-border-color); + height:var(--toggle-height); + width:var(--toggle-width); + border-radius:var(--toggle-border-radius); + background:var(--toggle-background-color); + box-sizing:border-box; + flex-shrink:0; +} + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) .toggle-button{ + --button-background-color:color-mix(in srgb, currentColor 7%, transparent); + --button-background-color-hover:color-mix( + in srgb, + currentColor 14%, + transparent + ); + --button-background-color-active:color-mix( + in srgb, + currentColor 21%, + transparent + ); + --color-accent-primary:#0df; + --color-accent-primary-hover:#80ebff; + --color-accent-primary-active:#aaf2ff; + --border-interactive-color:#bfbfc9; + --color-canvas:#1c1b22; +} + } + +:where(html.is-dark) .toggle-button{ + --button-background-color:color-mix(in srgb, currentColor 7%, transparent); + --button-background-color-hover:color-mix( + in srgb, + currentColor 14%, + transparent + ); + --button-background-color-active:color-mix( + in srgb, + currentColor 21%, + transparent + ); + --color-accent-primary:#0df; + --color-accent-primary-hover:#80ebff; + --color-accent-primary-active:#aaf2ff; + --border-interactive-color:#bfbfc9; + --color-canvas:#1c1b22; +} + +@media (forced-colors: active){ + +.toggle-button{ + --color-accent-primary:ButtonText; + --color-accent-primary-hover:SelectedItem; + --color-accent-primary-active:SelectedItem; + --border-interactive-color:ButtonText; + --button-background-color:ButtonFace; + --border-interactive-color-hover:SelectedItem; + --border-interactive-color-active:SelectedItem; + --border-interactive-color-disabled:GrayText; + --color-canvas:ButtonText; +} + } + +.toggle-button:focus-visible{ + outline:var(--focus-outline); + outline-offset:var(--focus-outline-offset); + } + +.toggle-button:enabled:hover{ + background:var(--toggle-background-color-hover); + border-color:var(--toggle-border-color); + } + +.toggle-button:enabled:active{ + background:var(--toggle-background-color-active); + border-color:var(--toggle-border-color); + } + +.toggle-button[aria-pressed="true"]{ + background:var(--toggle-background-color-pressed); + border-color:transparent; + } + +.toggle-button[aria-pressed="true"]:enabled:hover{ + background:var(--toggle-background-color-pressed-hover); + border-color:transparent; + } + +.toggle-button[aria-pressed="true"]:enabled:active{ + background:var(--toggle-background-color-pressed-active); + border-color:transparent; + } + +.toggle-button::before{ + display:block; + content:""; + background-color:var(--toggle-dot-background-color); + height:var(--toggle-dot-height); + width:var(--toggle-dot-width); + margin:var(--toggle-dot-margin); + border-radius:var(--toggle-border-radius); + translate:0; + } + +.toggle-button[aria-pressed="true"]::before{ + translate:var(--toggle-dot-transform-x); + background-color:var(--toggle-dot-background-color-on-pressed); + } + +.toggle-button[aria-pressed="true"]:enabled:hover::before, + .toggle-button[aria-pressed="true"]:enabled:active::before{ + background-color:var(--toggle-dot-background-color-on-pressed); + } + +[dir="rtl"] .toggle-button[aria-pressed="true"]::before{ + translate:calc(-1 * var(--toggle-dot-transform-x)); + } + +@media (prefers-reduced-motion: no-preference){ + .toggle-button::before{ + transition:translate 100ms; + } + } + +@media (prefers-contrast){ + .toggle-button:enabled:hover{ + border-color:var(--toggle-border-color-hover); + } + + .toggle-button:enabled:active{ + border-color:var(--toggle-border-color-active); + } + + .toggle-button[aria-pressed="true"]:enabled{ + border-color:var(--toggle-border-color); + position:relative; + } + + .toggle-button[aria-pressed="true"]:enabled:hover, + .toggle-button[aria-pressed="true"]:enabled:hover:active{ + border-color:var(--toggle-border-color-hover); + } + + .toggle-button[aria-pressed="true"]:enabled:active{ + background-color:var(--toggle-dot-background-color-active); + border-color:var(--toggle-dot-background-color-hover); + } + + .toggle-button:hover::before, + .toggle-button:active::before{ + background-color:var(--toggle-dot-background-color-hover); + } + } + +@media (forced-colors){ + +.toggle-button{ + --toggle-dot-background-color:var(--color-accent-primary); + --toggle-dot-background-color-hover:var(--color-accent-primary-hover); + --toggle-dot-background-color-active:var(--color-accent-primary-active); + --toggle-dot-background-color-on-pressed:var(--button-background-color); + --toggle-background-color-disabled:var(--button-background-color-disabled); + --toggle-border-color-hover:var(--border-interactive-color-hover); + --toggle-border-color-active:var(--border-interactive-color-active); + --toggle-border-color-disabled:var(--border-interactive-color-disabled); +} + + .toggle-button[aria-pressed="true"]:enabled::after{ + border:1px solid var(--button-background-color); + content:""; + position:absolute; + height:var(--toggle-height); + width:var(--toggle-width); + display:block; + border-radius:var(--toggle-border-radius); + inset:-2px; + } + + .toggle-button[aria-pressed="true"]:enabled:active::after{ + border-color:var(--toggle-border-color-active); + } + } + +:root{ + --outline-width:2px; + --outline-color:#0060df; + --outline-around-width:1px; + --outline-around-color:#f0f0f4; + --hover-outline-around-color:var(--outline-around-color); + --focus-outline:solid var(--outline-width) var(--outline-color); + --unfocus-outline:solid var(--outline-width) transparent; + --focus-outline-around:solid var(--outline-around-width) var(--outline-around-color); + --hover-outline-color:#8f8f9d; + --hover-outline:solid var(--outline-width) var(--hover-outline-color); + --hover-outline-around:solid var(--outline-around-width) var(--hover-outline-around-color); + --freetext-line-height:1.35; + --freetext-padding:2px; + --resizer-bg-color:var(--outline-color); + --resizer-size:6px; + --resizer-shift:calc( + 0px - (var(--outline-width) + var(--resizer-size)) / 2 - + var(--outline-around-width) + ); + --editorFreeText-editing-cursor:text; + --editorInk-editing-cursor:url(../images/cursor-editorInk.svg) 0 16, pointer; + --editorHighlight-editing-cursor:url(../images/cursor-editorTextHighlight.svg) 24 24, text; + --editorFreeHighlight-editing-cursor:url(../images/cursor-editorFreeHighlight.svg) 1 18, pointer; +} +.visuallyHidden{ + position:absolute; + top:0; + left:0; + border:0; + margin:0; + padding:0; + width:0; + height:0; + overflow:hidden; + white-space:nowrap; + font-size:0; +} + +.textLayer.highlighting{ + cursor:var(--editorFreeHighlight-editing-cursor); +} + +.textLayer.highlighting:not(.free) span{ + cursor:var(--editorHighlight-editing-cursor); + } + +.textLayer.highlighting.free span{ + cursor:var(--editorFreeHighlight-editing-cursor); + } + +@media (min-resolution: 1.1dppx){ + :root{ + --editorFreeText-editing-cursor:url(../images/cursor-editorFreeText.svg) 0 16, text; + } +} + +@media screen and (forced-colors: active){ + :root{ + --outline-color:CanvasText; + --outline-around-color:ButtonFace; + --resizer-bg-color:ButtonText; + --hover-outline-color:Highlight; + --hover-outline-around-color:SelectedItemText; + } +} + +[data-editor-rotation="90"]{ + transform:rotate(90deg); +} + +[data-editor-rotation="180"]{ + transform:rotate(180deg); +} + +[data-editor-rotation="270"]{ + transform:rotate(270deg); +} + +.annotationEditorLayer{ + background:transparent; + position:absolute; + inset:0; + font-size:calc(100px * var(--scale-factor)); + transform-origin:0 0; + cursor:auto; +} + +.annotationEditorLayer.waiting{ + content:""; + cursor:wait; + position:absolute; + inset:0; + width:100%; + height:100%; +} + +.annotationEditorLayer.disabled{ + pointer-events:none; +} + +.annotationEditorLayer.freetextEditing{ + cursor:var(--editorFreeText-editing-cursor); +} + +.annotationEditorLayer.inkEditing{ + cursor:var(--editorInk-editing-cursor); +} + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor){ + position:absolute; + background:transparent; + z-index:1; + transform-origin:0 0; + cursor:auto; + max-width:100%; + max-height:100%; + border:var(--unfocus-outline); +} + +.annotationEditorLayer .draggable.selectedEditor:is(.freeTextEditor, .inkEditor, .stampEditor){ + cursor:move; + } + +.annotationEditorLayer .moving:is(.freeTextEditor, .inkEditor, .stampEditor){ + touch-action:none; + } + +.annotationEditorLayer .selectedEditor:is(.freeTextEditor, .inkEditor, .stampEditor){ + border:var(--focus-outline); + outline:var(--focus-outline-around); + } + +.annotationEditorLayer .selectedEditor:is(.freeTextEditor, .inkEditor, .stampEditor)::before{ + content:""; + position:absolute; + inset:0; + border:var(--focus-outline-around); + pointer-events:none; + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor):hover:not(.selectedEditor){ + border:var(--hover-outline); + outline:var(--hover-outline-around); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor):hover:not(.selectedEditor)::before{ + content:""; + position:absolute; + inset:0; + border:var(--focus-outline-around); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{ + --editor-toolbar-delete-image:url(../images/editor-toolbar-delete.svg); + --editor-toolbar-bg-color:#f0f0f4; + --editor-toolbar-highlight-image:url(../images/toolbarButton-editorHighlight.svg); + --editor-toolbar-fg-color:#2e2e56; + --editor-toolbar-border-color:#8f8f9d; + --editor-toolbar-hover-border-color:var(--editor-toolbar-border-color); + --editor-toolbar-hover-bg-color:#e0e0e6; + --editor-toolbar-hover-fg-color:var(--editor-toolbar-fg-color); + --editor-toolbar-hover-outline:none; + --editor-toolbar-focus-outline-color:#0060df; + --editor-toolbar-shadow:0 2px 6px 0 rgb(58 57 68 / 0.2); + --editor-toolbar-vert-offset:6px; + --editor-toolbar-height:28px; + --editor-toolbar-padding:2px; + + display:flex; + width:-moz-fit-content; + width:fit-content; + height:var(--editor-toolbar-height); + flex-direction:column; + justify-content:center; + align-items:center; + cursor:default; + pointer-events:auto; + box-sizing:content-box; + padding:var(--editor-toolbar-padding); + + position:absolute; + inset-inline-end:0; + inset-block-start:calc(100% + var(--editor-toolbar-vert-offset)); + + border-radius:6px; + background-color:var(--editor-toolbar-bg-color); + border:1px solid var(--editor-toolbar-border-color); + box-shadow:var(--editor-toolbar-shadow); + } + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) :is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{ + --editor-toolbar-bg-color:#2b2a33; + --editor-toolbar-fg-color:#fbfbfe; + --editor-toolbar-hover-bg-color:#52525e; + --editor-toolbar-focus-outline-color:#0df; + } + } + +:where(html.is-dark) :is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{ + --editor-toolbar-bg-color:#2b2a33; + --editor-toolbar-fg-color:#fbfbfe; + --editor-toolbar-hover-bg-color:#52525e; + --editor-toolbar-focus-outline-color:#0df; + } + +@media screen and (forced-colors: active){ + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{ + --editor-toolbar-bg-color:ButtonFace; + --editor-toolbar-fg-color:ButtonText; + --editor-toolbar-border-color:ButtonText; + --editor-toolbar-hover-border-color:AccentColor; + --editor-toolbar-hover-bg-color:ButtonFace; + --editor-toolbar-hover-fg-color:AccentColor; + --editor-toolbar-hover-outline:2px solid var(--editor-toolbar-hover-border-color); + --editor-toolbar-focus-outline-color:ButtonBorder; + --editor-toolbar-shadow:none; + } + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar.hidden{ + display:none; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar:has(:focus-visible){ + border-color:transparent; + } + +[dir="ltr"] :is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{ + transform-origin:100% 0; + } + +[dir="rtl"] :is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar{ + transform-origin:0 0; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons{ + display:flex; + justify-content:center; + align-items:center; + gap:0; + height:100%; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .divider{ + width:1px; + height:calc( + 2 * var(--editor-toolbar-padding) + var(--editor-toolbar-height) + ); + background-color:var(--editor-toolbar-border-color); + display:inline-block; + margin-inline:2px; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton{ + width:var(--editor-toolbar-height); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton::before{ + content:""; + -webkit-mask-image:var(--editor-toolbar-highlight-image); + mask-image:var(--editor-toolbar-highlight-image); + -webkit-mask-repeat:no-repeat; + mask-repeat:no-repeat; + -webkit-mask-position:center; + mask-position:center; + display:inline-block; + background-color:var(--editor-toolbar-fg-color); + width:100%; + height:100%; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .highlightButton:hover::before{ + background-color:var(--editor-toolbar-hover-fg-color); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete{ + width:var(--editor-toolbar-height); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete::before{ + content:""; + -webkit-mask-image:var(--editor-toolbar-delete-image); + mask-image:var(--editor-toolbar-delete-image); + -webkit-mask-repeat:no-repeat; + mask-repeat:no-repeat; + -webkit-mask-position:center; + mask-position:center; + display:inline-block; + background-color:var(--editor-toolbar-fg-color); + width:100%; + height:100%; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .delete:hover::before{ + background-color:var(--editor-toolbar-hover-fg-color); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > *{ + height:var(--editor-toolbar-height); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider){ + border:none; + background-color:transparent; + cursor:pointer; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover{ + border-radius:2px; + background-color:var(--editor-toolbar-hover-bg-color); + color:var(--editor-toolbar-hover-fg-color); + outline:var(--editor-toolbar-hover-outline); + outline-offset:1px; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):hover:active{ + outline:none; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons > :not(.divider):focus-visible{ + border-radius:2px; + outline:2px solid var(--editor-toolbar-focus-outline-color); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText{ + --alt-text-add-image:url(../images/altText_add.svg); + --alt-text-done-image:url(../images/altText_done.svg); + + display:flex; + align-items:center; + justify-content:center; + width:-moz-max-content; + width:max-content; + padding-inline:8px; + pointer-events:all; + font:menu; + font-weight:590; + font-size:12px; + color:var(--editor-toolbar-fg-color); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:disabled{ + pointer-events:none; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText::before{ + content:""; + -webkit-mask-image:var(--alt-text-add-image); + mask-image:var(--alt-text-add-image); + -webkit-mask-repeat:no-repeat; + mask-repeat:no-repeat; + -webkit-mask-position:center; + mask-position:center; + display:inline-block; + width:12px; + height:13px; + background-color:var(--editor-toolbar-fg-color); + margin-inline-end:4px; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText:hover::before{ + background-color:var(--editor-toolbar-hover-fg-color); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText.done::before{ + -webkit-mask-image:var(--alt-text-done-image); + mask-image:var(--alt-text-done-image); + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip{ + display:none; + } + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{ + --alt-text-tooltip-bg:#f0f0f4; + --alt-text-tooltip-fg:#15141a; + --alt-text-tooltip-border:#8f8f9d; + --alt-text-tooltip-shadow:0px 2px 6px 0px rgb(58 57 68 / 0.2); + + display:inline-flex; + flex-direction:column; + align-items:center; + justify-content:center; + position:absolute; + top:calc(100% + 2px); + inset-inline-start:0; + padding-block:2px 3px; + padding-inline:3px; + max-width:300px; + width:-moz-max-content; + width:max-content; + height:auto; + font-size:12px; + + border:0.5px solid var(--alt-text-tooltip-border); + background:var(--alt-text-tooltip-bg); + box-shadow:var(--alt-text-tooltip-shadow); + color:var(--alt-text-tooltip-fg); + + pointer-events:none; + } + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) :is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{ + --alt-text-tooltip-bg:#1c1b22; + --alt-text-tooltip-fg:#fbfbfe; + --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a; + } + } + +:where(html.is-dark) :is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{ + --alt-text-tooltip-bg:#1c1b22; + --alt-text-tooltip-fg:#fbfbfe; + --alt-text-tooltip-shadow:0px 2px 6px 0px #15141a; + } + +@media screen and (forced-colors: active){ + +:is(.annotationEditorLayer + :is(.freeTextEditor, .inkEditor, .stampEditor, .highlightEditor),.textLayer) .editToolbar .buttons .altText .tooltip.show{ + --alt-text-tooltip-bg:Canvas; + --alt-text-tooltip-fg:CanvasText; + --alt-text-tooltip-border:CanvasText; + --alt-text-tooltip-shadow:none; + } + } + +.annotationEditorLayer .freeTextEditor{ + padding:calc(var(--freetext-padding) * var(--scale-factor)); + width:auto; + height:auto; + touch-action:none; +} + +.annotationEditorLayer .freeTextEditor .internal{ + background:transparent; + border:none; + inset:0; + overflow:visible; + white-space:nowrap; + font:10px sans-serif; + line-height:var(--freetext-line-height); + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.annotationEditorLayer .freeTextEditor .overlay{ + position:absolute; + display:none; + background:transparent; + inset:0; + width:100%; + height:100%; +} + +.annotationEditorLayer freeTextEditor .overlay.enabled{ + display:block; +} + +.annotationEditorLayer .freeTextEditor .internal:empty::before{ + content:attr(default-content); + color:gray; +} + +.annotationEditorLayer .freeTextEditor .internal:focus{ + outline:none; + -webkit-user-select:auto; + -moz-user-select:auto; + user-select:auto; +} + +.annotationEditorLayer .inkEditor{ + width:100%; + height:100%; +} + +.annotationEditorLayer .inkEditor.editing{ + cursor:inherit; +} + +.annotationEditorLayer .inkEditor .inkEditorCanvas{ + position:absolute; + inset:0; + width:100%; + height:100%; + touch-action:none; +} + +.annotationEditorLayer .stampEditor{ + width:auto; + height:auto; +} + +.annotationEditorLayer .stampEditor canvas{ + position:absolute; + width:100%; + height:100%; + margin:0; + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers{ + position:absolute; + inset:0; + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers.hidden{ + display:none; + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer{ + width:var(--resizer-size); + height:var(--resizer-size); + background:content-box var(--resizer-bg-color); + border:var(--focus-outline-around); + border-radius:2px; + position:absolute; + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.topLeft{ + top:var(--resizer-shift); + left:var(--resizer-shift); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.topMiddle{ + top:var(--resizer-shift); + left:calc(50% + var(--resizer-shift)); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.topRight{ + top:var(--resizer-shift); + right:var(--resizer-shift); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.middleRight{ + top:calc(50% + var(--resizer-shift)); + right:var(--resizer-shift); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.bottomRight{ + bottom:var(--resizer-shift); + right:var(--resizer-shift); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.bottomMiddle{ + bottom:var(--resizer-shift); + left:calc(50% + var(--resizer-shift)); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.bottomLeft{ + bottom:var(--resizer-shift); + left:var(--resizer-shift); + } + +.annotationEditorLayer :is(.freeTextEditor, .inkEditor, .stampEditor) > .resizers > .resizer.middleLeft{ + top:calc(50% + var(--resizer-shift)); + left:var(--resizer-shift); + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.bottomRight, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.bottomRight, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.bottomRight, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.bottomRight{ + cursor:nwse-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.bottomMiddle, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.bottomMiddle, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.bottomMiddle, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.bottomMiddle{ + cursor:ns-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.bottomLeft, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.bottomLeft, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.bottomLeft, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.bottomLeft{ + cursor:nesw-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.middleLeft, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.middleLeft, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.middleLeft, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.middleLeft{ + cursor:ew-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.topLeft, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.bottomRight, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.bottomRight, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.bottomRight, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.bottomRight{ + cursor:nesw-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.topMiddle, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.bottomMiddle, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.bottomMiddle, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.bottomMiddle, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.bottomMiddle{ + cursor:ew-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.topRight, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.bottomLeft, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.bottomLeft, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.bottomLeft, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.bottomLeft{ + cursor:nwse-resize; + } + +.annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.middleRight, + .annotationEditorLayer[data-main-rotation="0"] + :is([data-editor-rotation="90"], [data-editor-rotation="270"]) > .resizers > .resizer.middleLeft, + .annotationEditorLayer[data-main-rotation="90"] + :is([data-editor-rotation="0"], [data-editor-rotation="180"]) > .resizers > .resizer.middleLeft, + .annotationEditorLayer[data-main-rotation="180"] + :is([data-editor-rotation="270"], [data-editor-rotation="90"]) > .resizers > .resizer.middleLeft, + .annotationEditorLayer[data-main-rotation="270"] + :is([data-editor-rotation="180"], [data-editor-rotation="0"]) > .resizers > .resizer.middleLeft{ + cursor:ns-resize; + } + +.annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="90"], + [data-main-rotation="90"] [data-editor-rotation="0"], + [data-main-rotation="180"] [data-editor-rotation="270"], + [data-main-rotation="270"] [data-editor-rotation="180"] + ) .editToolbar{ + rotate:270deg; + } + +[dir="ltr"] .annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="90"], + [data-main-rotation="90"] [data-editor-rotation="0"], + [data-main-rotation="180"] [data-editor-rotation="270"], + [data-main-rotation="270"] [data-editor-rotation="180"] + ) .editToolbar{ + inset-inline-end:calc(0px - var(--editor-toolbar-vert-offset)); + inset-block-start:0; + } + +[dir="rtl"] .annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="90"], + [data-main-rotation="90"] [data-editor-rotation="0"], + [data-main-rotation="180"] [data-editor-rotation="270"], + [data-main-rotation="270"] [data-editor-rotation="180"] + ) .editToolbar{ + inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset)); + inset-block-start:0; + } + +.annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="180"], + [data-main-rotation="90"] [data-editor-rotation="90"], + [data-main-rotation="180"] [data-editor-rotation="0"], + [data-main-rotation="270"] [data-editor-rotation="270"] + ) .editToolbar{ + rotate:180deg; + inset-inline-end:100%; + inset-block-start:calc(0pc - var(--editor-toolbar-vert-offset)); + } + +.annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="270"], + [data-main-rotation="90"] [data-editor-rotation="180"], + [data-main-rotation="180"] [data-editor-rotation="90"], + [data-main-rotation="270"] [data-editor-rotation="0"] + ) .editToolbar{ + rotate:90deg; + } + +[dir="ltr"] .annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="270"], + [data-main-rotation="90"] [data-editor-rotation="180"], + [data-main-rotation="180"] [data-editor-rotation="90"], + [data-main-rotation="270"] [data-editor-rotation="0"] + ) .editToolbar{ + inset-inline-end:calc(100% + var(--editor-toolbar-vert-offset)); + inset-block-start:100%; + } + +[dir="rtl"] .annotationEditorLayer + :is( + [data-main-rotation="0"] [data-editor-rotation="270"], + [data-main-rotation="90"] [data-editor-rotation="180"], + [data-main-rotation="180"] [data-editor-rotation="90"], + [data-main-rotation="270"] [data-editor-rotation="0"] + ) .editToolbar{ + inset-inline-start:calc(0px - var(--editor-toolbar-vert-offset)); + inset-block-start:0; + } + +.dialog.altText::backdrop{ + -webkit-mask:url(#alttext-manager-mask); + mask:url(#alttext-manager-mask); + } + +.dialog.altText.positioned{ + margin:0; + } + +.dialog.altText #altTextContainer{ + width:300px; + height:-moz-fit-content; + height:fit-content; + display:inline-flex; + flex-direction:column; + align-items:flex-start; + gap:16px; + } + +.dialog.altText #altTextContainer #overallDescription{ + display:flex; + flex-direction:column; + align-items:flex-start; + gap:4px; + align-self:stretch; + } + +.dialog.altText #altTextContainer #overallDescription span{ + align-self:stretch; + } + +.dialog.altText #altTextContainer #overallDescription .title{ + font-size:13px; + font-style:normal; + font-weight:590; + } + +.dialog.altText #altTextContainer #addDescription{ + display:flex; + flex-direction:column; + align-items:stretch; + gap:8px; + } + +.dialog.altText #altTextContainer #addDescription .descriptionArea{ + flex:1; + padding-inline:24px 10px; + } + +.dialog.altText #altTextContainer #addDescription .descriptionArea textarea{ + width:100%; + min-height:75px; + } + +.dialog.altText #altTextContainer #buttons{ + display:flex; + justify-content:flex-end; + align-items:flex-start; + gap:8px; + align-self:stretch; + } + +.colorPicker{ + --hover-outline-color:#0250bb; + --selected-outline-color:#0060df; + --swatch-border-color:#cfcfd8; +} + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) .colorPicker{ + --hover-outline-color:#80ebff; + --selected-outline-color:#aaf2ff; + --swatch-border-color:#52525e; +} + } + +:where(html.is-dark) .colorPicker{ + --hover-outline-color:#80ebff; + --selected-outline-color:#aaf2ff; + --swatch-border-color:#52525e; +} + +@media screen and (forced-colors: active){ + +.colorPicker{ + --hover-outline-color:Highlight; + --selected-outline-color:var(--hover-outline-color); + --swatch-border-color:ButtonText; +} + } + +.colorPicker .swatch{ + width:16px; + height:16px; + border:1px solid var(--swatch-border-color); + border-radius:100%; + outline-offset:2px; + box-sizing:border-box; + forced-color-adjust:none; + } + +.colorPicker button:is(:hover, .selected) > .swatch{ + border:none; + } + +.annotationEditorLayer[data-main-rotation="0"] .highlightEditor:not(.free) > .editToolbar{ + rotate:0deg; + } + +.annotationEditorLayer[data-main-rotation="90"] .highlightEditor:not(.free) > .editToolbar{ + rotate:270deg; + } + +.annotationEditorLayer[data-main-rotation="180"] .highlightEditor:not(.free) > .editToolbar{ + rotate:180deg; + } + +.annotationEditorLayer[data-main-rotation="270"] .highlightEditor:not(.free) > .editToolbar{ + rotate:90deg; + } + +.annotationEditorLayer .highlightEditor{ + position:absolute; + background:transparent; + z-index:1; + cursor:auto; + max-width:100%; + max-height:100%; + border:none; + outline:none; + pointer-events:none; + transform-origin:0 0; + } + +.annotationEditorLayer .highlightEditor:not(.free){ + transform:none; + } + +.annotationEditorLayer .highlightEditor .internal{ + position:absolute; + top:0; + left:0; + width:100%; + height:100%; + pointer-events:auto; + } + +.annotationEditorLayer .highlightEditor.disabled .internal{ + pointer-events:none; + } + +.annotationEditorLayer .highlightEditor.selectedEditor .internal{ + cursor:pointer; + } + +.annotationEditorLayer .highlightEditor .editToolbar{ + --editor-toolbar-colorpicker-arrow-image:url(../images/toolbarButton-menuArrow.svg); + + transform-origin:center !important; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker{ + position:relative; + width:auto; + display:flex; + justify-content:center; + align-items:center; + gap:4px; + padding:4px; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker::after{ + content:""; + -webkit-mask-image:var(--editor-toolbar-colorpicker-arrow-image); + mask-image:var(--editor-toolbar-colorpicker-arrow-image); + -webkit-mask-repeat:no-repeat; + mask-repeat:no-repeat; + -webkit-mask-position:center; + mask-position:center; + display:inline-block; + background-color:var(--editor-toolbar-fg-color); + width:12px; + height:12px; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:hover::after{ + background-color:var(--editor-toolbar-hover-fg-color); + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden)){ + background-color:var(--editor-toolbar-hover-bg-color); + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker:has(.dropdown:not(.hidden))::after{ + scale:-1; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown{ + position:absolute; + display:flex; + justify-content:center; + align-items:center; + flex-direction:column; + gap:11px; + padding-block:8px; + border-radius:6px; + background-color:var(--editor-toolbar-bg-color); + border:1px solid var(--editor-toolbar-border-color); + box-shadow:var(--editor-toolbar-shadow); + inset-block-start:calc(100% + 4px); + width:calc(100% + 2 * var(--editor-toolbar-padding)); + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button{ + width:100%; + height:auto; + border:none; + cursor:pointer; + display:flex; + justify-content:center; + align-items:center; + background:none; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button:is(:active, :focus-visible){ + outline:none; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button > .swatch{ + outline-offset:2px; + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button[aria-selected="true"] > .swatch{ + outline:2px solid var(--selected-outline-color); + } + +.annotationEditorLayer .highlightEditor .editToolbar .buttons .colorPicker .dropdown button:is(:hover, :active, :focus-visible) > .swatch{ + outline:2px solid var(--hover-outline-color); + } + +.editorParamsToolbar:has(#highlightParamsToolbarContainer){ + padding:unset; +} + +#highlightParamsToolbarContainer{ + height:auto; + padding-inline:10px; + padding-block:10px 16px; + gap:16px; + display:flex; + flex-direction:column; + box-sizing:border-box; +} + +#highlightParamsToolbarContainer .editorParamsLabel{ + width:-moz-fit-content; + width:fit-content; + inset-inline-start:0; + } + +#highlightParamsToolbarContainer .colorPicker{ + display:flex; + flex-direction:column; + gap:8px; + } + +#highlightParamsToolbarContainer .colorPicker .dropdown{ + display:flex; + justify-content:space-between; + align-items:center; + flex-direction:row; + height:auto; + } + +#highlightParamsToolbarContainer .colorPicker .dropdown button{ + width:auto; + height:auto; + border:none; + cursor:pointer; + display:flex; + justify-content:center; + align-items:center; + background:none; + flex:0 0 auto; + } + +#highlightParamsToolbarContainer .colorPicker .dropdown button .swatch{ + width:24px; + height:24px; + } + +#highlightParamsToolbarContainer .colorPicker .dropdown button:is(:active, :focus-visible){ + outline:none; + } + +#highlightParamsToolbarContainer .colorPicker .dropdown button[aria-selected="true"] > .swatch{ + outline:2px solid var(--selected-outline-color); + } + +#highlightParamsToolbarContainer .colorPicker .dropdown button:is(:hover, :active, :focus-visible) > .swatch{ + outline:2px solid var(--hover-outline-color); + } + +#highlightParamsToolbarContainer #editorHighlightThickness{ + display:flex; + flex-direction:column; + align-items:center; + gap:4px; + align-self:stretch; + } + +#highlightParamsToolbarContainer #editorHighlightThickness .editorParamsLabel{ + width:100%; + height:auto; + align-self:stretch; + } + +#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{ + display:flex; + justify-content:space-between; + align-items:center; + align-self:stretch; + + --example-color:#bfbfc9; + } + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{ + --example-color:#80808e; + } + } + +:where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{ + --example-color:#80808e; + } + +@media screen and (forced-colors: active){ + +#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker{ + --example-color:CanvasText; + } + } + +:is(#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker > .editorParamsSlider[disabled]){ + opacity:0.4; + } + +#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::before, + #highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{ + content:""; + width:8px; + aspect-ratio:1; + display:block; + border-radius:100%; + background-color:var(--example-color); + } + +#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker::after{ + width:24px; + } + +#highlightParamsToolbarContainer #editorHighlightThickness .thicknessPicker .editorParamsSlider{ + width:unset; + height:14px; + } + +#highlightParamsToolbarContainer #editorHighlightVisibility{ + display:flex; + flex-direction:column; + align-items:flex-start; + gap:8px; + align-self:stretch; + } + +#highlightParamsToolbarContainer #editorHighlightVisibility .divider{ + --divider-color:#d7d7db; + + margin-block:4px; + width:100%; + height:1px; + background-color:var(--divider-color); + } + +@media (prefers-color-scheme: dark){ + +:where(html:not(.is-light)) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{ + --divider-color:#8f8f9d; + } + } + +:where(html.is-dark) #highlightParamsToolbarContainer #editorHighlightVisibility .divider{ + --divider-color:#8f8f9d; + } + +@media screen and (forced-colors: active){ + +#highlightParamsToolbarContainer #editorHighlightVisibility .divider{ + --divider-color:CanvasText; + } + } + +#highlightParamsToolbarContainer #editorHighlightVisibility .toggler{ + display:flex; + justify-content:space-between; + align-items:center; + align-self:stretch; + } + +:root{ + --viewer-container-height:0; + --pdfViewer-padding-bottom:0; + --page-margin:1px auto -8px; + --page-border:9px solid transparent; + --spreadHorizontalWrapped-margin-LR:-3.5px; + --loading-icon-delay:400ms; +} + +@media screen and (forced-colors: active){ + :root{ + --pdfViewer-padding-bottom:9px; + --page-margin:8px auto -1px; + --page-border:1px solid CanvasText; + --spreadHorizontalWrapped-margin-LR:3.5px; + } +} + +[data-main-rotation="90"]{ + transform:rotate(90deg) translateY(-100%); +} +[data-main-rotation="180"]{ + transform:rotate(180deg) translate(-100%, -100%); +} +[data-main-rotation="270"]{ + transform:rotate(270deg) translateX(-100%); +} + +#hiddenCopyElement, +.hiddenCanvasElement{ + position:absolute; + top:0; + left:0; + width:0; + height:0; + display:none; +} + +.pdfViewer{ + --scale-factor:1; + + padding-bottom:var(--pdfViewer-padding-bottom); + + --hcm-highlight-filter:none; + --hcm-highlight-selected-filter:none; +} + +@media screen and (forced-colors: active){ + +.pdfViewer{ + --hcm-highlight-filter:invert(100%); +} + } + +.pdfViewer .canvasWrapper{ + overflow:hidden; + width:100%; + height:100%; + } + +.pdfViewer .canvasWrapper canvas{ + margin:0; + display:block; + } + +.pdfViewer .canvasWrapper canvas[hidden]{ + display:none; + } + +.pdfViewer .canvasWrapper canvas[zooming]{ + width:100%; + height:100%; + } + +.pdfViewer .canvasWrapper canvas .structTree{ + contain:strict; + } + +.pdfViewer .page{ + direction:ltr; + width:816px; + height:1056px; + margin:var(--page-margin); + position:relative; + overflow:visible; + border:var(--page-border); + background-clip:content-box; + background-color:rgb(255 255 255); +} + +.pdfViewer .dummyPage{ + position:relative; + width:0; + height:var(--viewer-container-height); +} + +.pdfViewer.noUserSelect{ + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.pdfViewer.removePageBorders .page{ + margin:0 auto 10px; + border:none; +} + +.pdfViewer:is(.scrollHorizontal, .scrollWrapped), +.spread{ + margin-inline:3.5px; + text-align:center; +} + +.pdfViewer.scrollHorizontal, +.spread{ + white-space:nowrap; +} + +.pdfViewer.removePageBorders, +.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .spread{ + margin-inline:0; +} + +.spread :is(.page, .dummyPage), +.pdfViewer:is(.scrollHorizontal, .scrollWrapped) :is(.page, .spread){ + display:inline-block; + vertical-align:middle; +} + +.spread .page, +.pdfViewer:is(.scrollHorizontal, .scrollWrapped) .page{ + margin-inline:var(--spreadHorizontalWrapped-margin-LR); +} + +.pdfViewer.removePageBorders .spread .page, +.pdfViewer.removePageBorders:is(.scrollHorizontal, .scrollWrapped) .page{ + margin-inline:5px; +} + +.pdfViewer .page.loadingIcon::after{ + position:absolute; + top:0; + left:0; + content:""; + width:100%; + height:100%; + background:url("../images/loading-icon.gif") center no-repeat; + display:none; + transition-property:display; + transition-delay:var(--loading-icon-delay); + z-index:5; + contain:strict; +} + +.pdfViewer .page.loading::after{ + display:block; +} + +.pdfViewer .page:not(.loading)::after{ + transition-property:none; + display:none; +} + +.pdfPresentationMode .pdfViewer{ + padding-bottom:0; +} + +.pdfPresentationMode .spread{ + margin:0; +} + +.pdfPresentationMode .pdfViewer .page{ + margin:0 auto; + border:2px solid transparent; +} + +:root{ + --dir-factor:1; + --inline-start:left; + --inline-end:right; + + --sidebar-width:200px; + --sidebar-transition-duration:200ms; + --sidebar-transition-timing-function:ease; + + --toolbar-icon-opacity:0.7; + --doorhanger-icon-opacity:0.9; + --editor-toolbar-base-offset:105px; + + --main-color:rgb(12 12 13); + --body-bg-color:rgb(212 212 215); + --progressBar-color:rgb(10 132 255); + --progressBar-bg-color:rgb(221 221 222); + --progressBar-blend-color:rgb(116 177 239); + --scrollbar-color:auto; + --scrollbar-bg-color:auto; + --toolbar-icon-bg-color:rgb(0 0 0); + --toolbar-icon-hover-bg-color:rgb(0 0 0); + + --sidebar-narrow-bg-color:rgb(212 212 215 / 0.9); + --sidebar-toolbar-bg-color:rgb(245 246 247); + --toolbar-bg-color:rgb(249 249 250); + --toolbar-border-color:rgb(184 184 184); + --toolbar-box-shadow:0 1px 0 var(--toolbar-border-color); + --toolbar-border-bottom:none; + --toolbarSidebar-box-shadow:inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25), 0 1px 0 rgb(0 0 0 / 0.15), 0 0 1px rgb(0 0 0 / 0.1); + --toolbarSidebar-border-bottom:none; + --button-hover-color:rgb(221 222 223); + --toggled-btn-color:rgb(0 0 0); + --toggled-btn-bg-color:rgb(0 0 0 / 0.3); + --toggled-hover-active-btn-color:rgb(0 0 0 / 0.4); + --toggled-hover-btn-outline:none; + --dropdown-btn-bg-color:rgb(215 215 219); + --dropdown-btn-border:none; + --separator-color:rgb(0 0 0 / 0.3); + --field-color:rgb(6 6 6); + --field-bg-color:rgb(255 255 255); + --field-border-color:rgb(187 187 188); + --treeitem-color:rgb(0 0 0 / 0.8); + --treeitem-bg-color:rgb(0 0 0 / 0.15); + --treeitem-hover-color:rgb(0 0 0 / 0.9); + --treeitem-selected-color:rgb(0 0 0 / 0.9); + --treeitem-selected-bg-color:rgb(0 0 0 / 0.25); + --thumbnail-hover-color:rgb(0 0 0 / 0.1); + --thumbnail-selected-color:rgb(0 0 0 / 0.2); + --doorhanger-bg-color:rgb(255 255 255); + --doorhanger-border-color:rgb(12 12 13 / 0.2); + --doorhanger-hover-color:rgb(12 12 13); + --doorhanger-hover-bg-color:rgb(237 237 237); + --doorhanger-separator-color:rgb(222 222 222); + --dialog-button-border:none; + --dialog-button-bg-color:rgb(12 12 13 / 0.1); + --dialog-button-hover-bg-color:rgb(12 12 13 / 0.3); + + --loading-icon:url(../images/loading.svg); + --treeitem-expanded-icon:url(../images/treeitem-expanded.svg); + --treeitem-collapsed-icon:url(../images/treeitem-collapsed.svg); + --toolbarButton-editorFreeText-icon:url(../images/toolbarButton-editorFreeText.svg); + --toolbarButton-editorHighlight-icon:url(../images/toolbarButton-editorHighlight.svg); + --toolbarButton-editorInk-icon:url(../images/toolbarButton-editorInk.svg); + --toolbarButton-editorStamp-icon:url(../images/toolbarButton-editorStamp.svg); + --toolbarButton-menuArrow-icon:url(../images/toolbarButton-menuArrow.svg); + --toolbarButton-sidebarToggle-icon:url(../images/toolbarButton-sidebarToggle.svg); + --toolbarButton-secondaryToolbarToggle-icon:url(../images/toolbarButton-secondaryToolbarToggle.svg); + --toolbarButton-pageUp-icon:url(../images/toolbarButton-pageUp.svg); + --toolbarButton-pageDown-icon:url(../images/toolbarButton-pageDown.svg); + --toolbarButton-zoomOut-icon:url(../images/toolbarButton-zoomOut.svg); + --toolbarButton-zoomIn-icon:url(../images/toolbarButton-zoomIn.svg); + --toolbarButton-presentationMode-icon:url(../images/toolbarButton-presentationMode.svg); + --toolbarButton-print-icon:url(../images/toolbarButton-print.svg); + --toolbarButton-openFile-icon:url(../images/toolbarButton-openFile.svg); + --toolbarButton-download-icon:url(../images/toolbarButton-download.svg); + --toolbarButton-bookmark-icon:url(../images/toolbarButton-bookmark.svg); + --toolbarButton-viewThumbnail-icon:url(../images/toolbarButton-viewThumbnail.svg); + --toolbarButton-viewOutline-icon:url(../images/toolbarButton-viewOutline.svg); + --toolbarButton-viewAttachments-icon:url(../images/toolbarButton-viewAttachments.svg); + --toolbarButton-viewLayers-icon:url(../images/toolbarButton-viewLayers.svg); + --toolbarButton-currentOutlineItem-icon:url(../images/toolbarButton-currentOutlineItem.svg); + --toolbarButton-search-icon:url(../images/toolbarButton-search.svg); + --toolbarButton-backToHome-icon:url(../images/toolbarButton-home.svg); + --findbarButton-previous-icon:url(../images/findbarButton-previous.svg); + --findbarButton-next-icon:url(../images/findbarButton-next.svg); + --secondaryToolbarButton-firstPage-icon:url(../images/secondaryToolbarButton-firstPage.svg); + --secondaryToolbarButton-lastPage-icon:url(../images/secondaryToolbarButton-lastPage.svg); + --secondaryToolbarButton-rotateCcw-icon:url(../images/secondaryToolbarButton-rotateCcw.svg); + --secondaryToolbarButton-rotateCw-icon:url(../images/secondaryToolbarButton-rotateCw.svg); + --secondaryToolbarButton-selectTool-icon:url(../images/secondaryToolbarButton-selectTool.svg); + --secondaryToolbarButton-handTool-icon:url(../images/secondaryToolbarButton-handTool.svg); + --secondaryToolbarButton-scrollPage-icon:url(../images/secondaryToolbarButton-scrollPage.svg); + --secondaryToolbarButton-scrollVertical-icon:url(../images/secondaryToolbarButton-scrollVertical.svg); + --secondaryToolbarButton-scrollHorizontal-icon:url(../images/secondaryToolbarButton-scrollHorizontal.svg); + --secondaryToolbarButton-scrollWrapped-icon:url(../images/secondaryToolbarButton-scrollWrapped.svg); + --secondaryToolbarButton-spreadNone-icon:url(../images/secondaryToolbarButton-spreadNone.svg); + --secondaryToolbarButton-spreadOdd-icon:url(../images/secondaryToolbarButton-spreadOdd.svg); + --secondaryToolbarButton-spreadEven-icon:url(../images/secondaryToolbarButton-spreadEven.svg); + --secondaryToolbarButton-documentProperties-icon:url(../images/secondaryToolbarButton-documentProperties.svg); + --editorParams-stampAddImage-icon:url(../images/toolbarButton-zoomIn.svg); +} + +[dir="rtl"]:root{ + --dir-factor:-1; + --inline-start:right; + --inline-end:left; +} + +@media (prefers-color-scheme: dark){ + :root:where(:not(.is-light)){ + --main-color:rgb(249 249 250); + --body-bg-color:rgb(42 42 46); + --progressBar-color:rgb(0 96 223); + --progressBar-bg-color:rgb(40 40 43); + --progressBar-blend-color:rgb(20 68 133); + --scrollbar-color:rgb(121 121 123); + --scrollbar-bg-color:rgb(35 35 39); + --toolbar-icon-bg-color:rgb(255 255 255); + --toolbar-icon-hover-bg-color:rgb(255 255 255); + + --sidebar-narrow-bg-color:rgb(42 42 46 / 0.9); + --sidebar-toolbar-bg-color:rgb(50 50 52); + --toolbar-bg-color:rgb(56 56 61); + --toolbar-border-color:rgb(12 12 13); + --button-hover-color:rgb(102 102 103); + --toggled-btn-color:rgb(255 255 255); + --toggled-btn-bg-color:rgb(0 0 0 / 0.3); + --toggled-hover-active-btn-color:rgb(0 0 0 / 0.4); + --dropdown-btn-bg-color:rgb(74 74 79); + --separator-color:rgb(0 0 0 / 0.3); + --field-color:rgb(250 250 250); + --field-bg-color:rgb(64 64 68); + --field-border-color:rgb(115 115 115); + --treeitem-color:rgb(255 255 255 / 0.8); + --treeitem-bg-color:rgb(255 255 255 / 0.15); + --treeitem-hover-color:rgb(255 255 255 / 0.9); + --treeitem-selected-color:rgb(255 255 255 / 0.9); + --treeitem-selected-bg-color:rgb(255 255 255 / 0.25); + --thumbnail-hover-color:rgb(255 255 255 / 0.1); + --thumbnail-selected-color:rgb(255 255 255 / 0.2); + --doorhanger-bg-color:rgb(74 74 79); + --doorhanger-border-color:rgb(39 39 43); + --doorhanger-hover-color:rgb(249 249 250); + --doorhanger-hover-bg-color:rgb(93 94 98); + --doorhanger-separator-color:rgb(92 92 97); + --dialog-button-bg-color:rgb(92 92 97); + --dialog-button-hover-bg-color:rgb(115 115 115); + } +} + +:root:where(.is-dark){ + --main-color:rgb(249 249 250); + --body-bg-color:rgb(42 42 46); + --progressBar-color:rgb(0 96 223); + --progressBar-bg-color:rgb(40 40 43); + --progressBar-blend-color:rgb(20 68 133); + --scrollbar-color:rgb(121 121 123); + --scrollbar-bg-color:rgb(35 35 39); + --toolbar-icon-bg-color:rgb(255 255 255); + --toolbar-icon-hover-bg-color:rgb(255 255 255); + + --sidebar-narrow-bg-color:rgb(42 42 46 / 0.9); + --sidebar-toolbar-bg-color:rgb(50 50 52); + --toolbar-bg-color:rgb(56 56 61); + --toolbar-border-color:rgb(12 12 13); + --button-hover-color:rgb(102 102 103); + --toggled-btn-color:rgb(255 255 255); + --toggled-btn-bg-color:rgb(0 0 0 / 0.3); + --toggled-hover-active-btn-color:rgb(0 0 0 / 0.4); + --dropdown-btn-bg-color:rgb(74 74 79); + --separator-color:rgb(0 0 0 / 0.3); + --field-color:rgb(250 250 250); + --field-bg-color:rgb(64 64 68); + --field-border-color:rgb(115 115 115); + --treeitem-color:rgb(255 255 255 / 0.8); + --treeitem-bg-color:rgb(255 255 255 / 0.15); + --treeitem-hover-color:rgb(255 255 255 / 0.9); + --treeitem-selected-color:rgb(255 255 255 / 0.9); + --treeitem-selected-bg-color:rgb(255 255 255 / 0.25); + --thumbnail-hover-color:rgb(255 255 255 / 0.1); + --thumbnail-selected-color:rgb(255 255 255 / 0.2); + --doorhanger-bg-color:rgb(74 74 79); + --doorhanger-border-color:rgb(39 39 43); + --doorhanger-hover-color:rgb(249 249 250); + --doorhanger-hover-bg-color:rgb(93 94 98); + --doorhanger-separator-color:rgb(92 92 97); + --dialog-button-bg-color:rgb(92 92 97); + --dialog-button-hover-bg-color:rgb(115 115 115); + } + +@media screen and (forced-colors: active){ + :root{ + --button-hover-color:Highlight; + --doorhanger-hover-bg-color:Highlight; + --toolbar-icon-opacity:1; + --toolbar-icon-bg-color:ButtonText; + --toolbar-icon-hover-bg-color:ButtonFace; + --toggled-hover-active-btn-color:ButtonText; + --toggled-hover-btn-outline:2px solid ButtonBorder; + --toolbar-border-color:CanvasText; + --toolbar-border-bottom:1px solid var(--toolbar-border-color); + --toolbar-box-shadow:none; + --toggled-btn-color:HighlightText; + --toggled-btn-bg-color:LinkText; + --doorhanger-hover-color:ButtonFace; + --doorhanger-border-color-whcm:1px solid ButtonText; + --doorhanger-triangle-opacity-whcm:0; + --dialog-button-border:1px solid Highlight; + --dialog-button-hover-bg-color:Highlight; + --dialog-button-hover-color:ButtonFace; + --dropdown-btn-border:1px solid ButtonText; + --field-border-color:ButtonText; + --main-color:CanvasText; + --separator-color:GrayText; + --doorhanger-separator-color:GrayText; + --toolbarSidebar-box-shadow:none; + --toolbarSidebar-border-bottom:1px solid var(--toolbar-border-color); + } +} + +@media screen and (prefers-reduced-motion: reduce){ + :root{ + --sidebar-transition-duration:0; + } +} + +*{ + padding:0; + margin:0; +} + +html, +body{ + height:100%; + width:100%; +} + +body{ + background-color:var(--body-bg-color); + scrollbar-color:var(--scrollbar-color) var(--scrollbar-bg-color); +} + +.hidden, +[hidden]{ + display:none !important; +} + +#viewerContainer.pdfPresentationMode:fullscreen{ + top:0; + background-color:rgb(0 0 0); + width:100%; + height:100%; + overflow:hidden; + cursor:none; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.pdfPresentationMode:fullscreen section:not([data-internal-link]){ + pointer-events:none; +} + +.pdfPresentationMode:fullscreen .textLayer span{ + cursor:none; +} + +.pdfPresentationMode.pdfPresentationModeControls > *, +.pdfPresentationMode.pdfPresentationModeControls .textLayer span{ + cursor:default; +} + +#outerContainer{ + width:100%; + height:100%; + position:relative; +} + +#sidebarContainer{ + position:absolute; + inset-block:32px 0; + inset-inline-start:calc(-1 * var(--sidebar-width)); + width:var(--sidebar-width); + visibility:hidden; + z-index:100; + font:message-box; + border-top:1px solid rgb(51 51 51); + border-inline-end:var(--doorhanger-border-color-whcm); + transition-property:inset-inline-start; + transition-duration:var(--sidebar-transition-duration); + transition-timing-function:var(--sidebar-transition-timing-function); +} + +#outerContainer:is(.sidebarMoving, .sidebarOpen) #sidebarContainer{ + visibility:visible; +} +#outerContainer.sidebarOpen #sidebarContainer{ + inset-inline-start:0; +} + +#mainContainer{ + position:absolute; + inset:0; + min-width:350px; +} + +#sidebarContent{ + inset-block:32px 0; + inset-inline-start:0; + overflow:auto; + position:absolute; + width:100%; + box-shadow:inset calc(-1px * var(--dir-factor)) 0 0 rgb(0 0 0 / 0.25); +} + +#viewerContainer{ + overflow:auto; + position:absolute; + inset:32px 0 0; + outline:none; +} +#viewerContainer:not(.pdfPresentationMode){ + transition-duration:var(--sidebar-transition-duration); + transition-timing-function:var(--sidebar-transition-timing-function); +} + +#outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode){ + inset-inline-start:var(--sidebar-width); + transition-property:inset-inline-start; +} + +.toolbar{ + position:relative; + inset-inline:0; + z-index:9999; + cursor:default; + font:message-box; +} + +:is(.toolbar, .editorParamsToolbar, .findbar, #sidebarContainer) + :is(input, button, select), +.secondaryToolbar :is(input, button, a, select){ + outline:none; + font:message-box; +} + +#toolbarContainer{ + width:100%; +} + +#toolbarSidebar{ + width:100%; + height:32px; + background-color:var(--sidebar-toolbar-bg-color); + box-shadow:var(--toolbarSidebar-box-shadow); + border-bottom:var(--toolbarSidebar-border-bottom); +} + +#sidebarResizer{ + position:absolute; + inset-block:0; + inset-inline-end:-6px; + width:6px; + z-index:200; + cursor:ew-resize; +} + +#toolbarContainer, +.findbar, +.secondaryToolbar, +.editorParamsToolbar{ + position:relative; + height:32px; + background-color:var(--toolbar-bg-color); + box-shadow:var(--toolbar-box-shadow); + border-bottom:var(--toolbar-border-bottom); +} + +#toolbarViewer{ + height:32px; +} + +#loadingBar{ + --progressBar-percent:0%; + --progressBar-end-offset:0; + + position:absolute; + inset-inline:0 var(--progressBar-end-offset); + height:4px; + background-color:var(--progressBar-bg-color); + border-bottom:1px solid var(--toolbar-border-color); + transition-property:inset-inline-start; + transition-duration:var(--sidebar-transition-duration); + transition-timing-function:var(--sidebar-transition-timing-function); +} + +#outerContainer.sidebarOpen #loadingBar{ + inset-inline-start:var(--sidebar-width); +} + +#loadingBar .progress{ + position:absolute; + top:0; + inset-inline-start:0; + width:100%; + transform:scaleX(var(--progressBar-percent)); + transform-origin:calc(50% - 50% * var(--dir-factor)) 0; + height:100%; + background-color:var(--progressBar-color); + overflow:hidden; + transition:transform 200ms; +} + +@keyframes progressIndeterminate{ + 0%{ + transform:translateX(calc(-142px * var(--dir-factor))); + } + 100%{ + transform:translateX(0); + } +} + +#loadingBar.indeterminate .progress{ + transform:none; + background-color:var(--progressBar-bg-color); + transition:none; +} + +#loadingBar.indeterminate .progress .glimmer{ + position:absolute; + top:0; + inset-inline-start:0; + height:100%; + width:calc(100% + 150px); + background:repeating-linear-gradient( + 135deg, + var(--progressBar-blend-color) 0, + var(--progressBar-bg-color) 5px, + var(--progressBar-bg-color) 45px, + var(--progressBar-color) 55px, + var(--progressBar-color) 95px, + var(--progressBar-blend-color) 100px + ); + animation:progressIndeterminate 1s linear infinite; +} + +#outerContainer.sidebarResizing + :is(#sidebarContainer, #viewerContainer, #loadingBar){ + transition-duration:0s; +} + +.findbar, +.secondaryToolbar, +.editorParamsToolbar{ + top:32px; + position:absolute; + z-index:30000; + height:auto; + padding:0 4px; + margin:4px 2px; + font:message-box; + font-size:12px; + line-height:14px; + text-align:left; + cursor:default; +} + +.findbar{ + inset-inline-start:64px; + min-width:300px; + background-color:var(--toolbar-bg-color); +} +.findbar > div{ + height:32px; +} +.findbar > div#findbarInputContainer{ + margin-inline-end:4px; +} +.findbar.wrapContainers > div, +.findbar.wrapContainers > div#findbarMessageContainer > *{ + clear:both; +} +.findbar.wrapContainers > div#findbarMessageContainer{ + height:auto; +} + +.findbar input[type="checkbox"]{ + pointer-events:none; +} + +.findbar label{ + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} + +.findbar label:hover, +.findbar input:focus-visible + label{ + color:var(--toggled-btn-color); + background-color:var(--button-hover-color); +} + +.findbar .toolbarField[type="checkbox"]:checked + .toolbarLabel{ + background-color:var(--toggled-btn-bg-color) !important; + color:var(--toggled-btn-color); +} + +#findInput{ + width:200px; +} + +#findInput::-moz-placeholder{ + font-style:normal; + } + +#findInput::placeholder{ + font-style:normal; + } + +.loadingInput:has(> #findInput[data-status="pending"])::after{ + display:block; + visibility:visible; + } + +#findInput[data-status="notFound"]{ + background-color:rgb(255 102 102); + } + +.secondaryToolbar, +.editorParamsToolbar{ + padding:6px 0 10px; + inset-inline-end:4px; + height:auto; + background-color:var(--doorhanger-bg-color); +} + +.editorParamsToolbarContainer{ + width:220px; + margin-bottom:-4px; +} + +.editorParamsToolbarContainer > .editorParamsSetter{ + min-height:26px; + display:flex; + align-items:center; + justify-content:space-between; + padding-inline:10px; +} + +.editorParamsToolbarContainer .editorParamsLabel{ + padding-inline-end:10px; + flex:none; + font:menu; + font-size:13px; + font-style:normal; + font-weight:400; + line-height:150%; + color:var(--main-color); +} + +.editorParamsToolbarContainer .editorParamsColor{ + width:32px; + height:32px; + flex:none; +} + +.editorParamsToolbarContainer .editorParamsSlider{ + background-color:transparent; + width:90px; + flex:0 1 0; +} + +.editorParamsToolbarContainer .editorParamsSlider::-moz-range-progress{ + background-color:black; +} + +.editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-runnable-track, +.editorParamsToolbarContainer .editorParamsSlider::-moz-range-track{ + background-color:black; +} + +.editorParamsToolbarContainer .editorParamsSlider::-webkit-slider-thumb, +.editorParamsToolbarContainer .editorParamsSlider::-moz-range-thumb{ + background-color:white; +} + +#secondaryToolbarButtonContainer{ + max-width:220px; + min-height:26px; + max-height:calc(var(--viewer-container-height) - 40px); + overflow-y:auto; + margin-bottom:-4px; +} + +#editorStampParamsToolbar{ + inset-inline-end:calc(var(--editor-toolbar-base-offset) + 0px); +} + +#editorInkParamsToolbar{ + inset-inline-end:calc(var(--editor-toolbar-base-offset) + 28px); +} + +#editorFreeTextParamsToolbar{ + inset-inline-end:calc(var(--editor-toolbar-base-offset) + 56px); +} + +#editorHighlightParamsToolbar{ + inset-inline-end:calc(var(--editor-toolbar-base-offset) + 84px); +} + +#editorStampAddImage::before{ + -webkit-mask-image:var(--editorParams-stampAddImage-icon); + mask-image:var(--editorParams-stampAddImage-icon); +} + +.doorHanger, +.doorHangerRight{ + border-radius:2px; + box-shadow:0 1px 5px var(--doorhanger-border-color), 0 0 0 1px var(--doorhanger-border-color); + border:var(--doorhanger-border-color-whcm); +} +:is(.doorHanger, .doorHangerRight)::after, +:is(.doorHanger, .doorHangerRight)::before{ + bottom:100%; + border:8px solid rgb(0 0 0 / 0); + content:" "; + height:0; + width:0; + position:absolute; + pointer-events:none; + opacity:var(--doorhanger-triangle-opacity-whcm); +} +.doorHanger::after{ + inset-inline-start:10px; + margin-inline-start:-8px; + border-bottom-color:var(--toolbar-bg-color); +} +.doorHangerRight::after{ + inset-inline-end:10px; + margin-inline-end:-8px; + border-bottom-color:var(--doorhanger-bg-color); +} +:is(.doorHanger, .doorHangerRight)::before{ + border-bottom-color:var(--doorhanger-border-color); + border-width:9px; +} +.doorHanger::before{ + inset-inline-start:10px; + margin-inline-start:-9px; +} +.doorHangerRight::before{ + inset-inline-end:10px; + margin-inline-end:-9px; +} + +#findResultsCount{ + background-color:rgb(217 217 217); + color:rgb(82 82 82); + text-align:center; + padding:4px 5px; + margin:5px; +} + +#findMsg[data-status="notFound"]{ + font-weight:bold; +} + +:is(#findResultsCount, #findMsg):empty{ + display:none; +} + +#toolbarViewerMiddle{ + position:absolute; + left:50%; + transform:translateX(-50%); +} + +#toolbarViewerLeft, +#toolbarSidebarLeft{ + float:var(--inline-start); +} +#toolbarViewerRight, +#toolbarSidebarRight{ + float:var(--inline-end); +} + +#toolbarViewerLeft > *, +#toolbarViewerMiddle > *, +#toolbarViewerRight > *, +#toolbarSidebarLeft *, +#toolbarSidebarRight *, +.findbar *{ + position:relative; + float:var(--inline-start); +} + +#toolbarViewerLeft{ + padding-inline-start:1px; +} +#toolbarViewerRight{ + padding-inline-end:1px; +} +#toolbarSidebarRight{ + padding-inline-end:2px; +} + +.splitToolbarButton{ + margin:2px; + display:inline-block; +} +.splitToolbarButton > .toolbarButton{ + float:var(--inline-start); +} + +.toolbarButton, +.secondaryToolbarButton, +.dialogButton{ + border:none; + background:none; + width:28px; + height:28px; + outline:none; +} + +.dialogButton:is(:hover, :focus-visible){ + background-color:var(--dialog-button-hover-bg-color); +} + +.dialogButton:is(:hover, :focus-visible) > span{ + color:var(--dialog-button-hover-color); +} + +.toolbarButton > span{ + display:inline-block; + width:0; + height:0; + overflow:hidden; +} + +:is(.toolbarButton, .secondaryToolbarButton, .dialogButton)[disabled]{ + opacity:0.5; +} + +.splitToolbarButton > .toolbarButton:is(:hover, :focus-visible), +.dropdownToolbarButton:hover{ + background-color:var(--button-hover-color); +} +.splitToolbarButton > .toolbarButton{ + position:relative; + margin:0; +} +#toolbarSidebar .splitToolbarButton > .toolbarButton{ + margin-inline-end:2px; +} + +.splitToolbarButtonSeparator{ + float:var(--inline-start); + margin:4px 0; + width:1px; + height:20px; + background-color:var(--separator-color); +} + +.toolbarButton, +.dropdownToolbarButton, +.secondaryToolbarButton, +.dialogButton{ + min-width:16px; + margin:2px 1px; + padding:2px 6px 0; + border:none; + border-radius:2px; + color:var(--main-color); + font-size:12px; + line-height:14px; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + cursor:default; + box-sizing:border-box; +} + +.toolbarButton:is(:hover, :focus-visible){ + background-color:var(--button-hover-color); +} +.secondaryToolbarButton:is(:hover, :focus-visible){ + background-color:var(--doorhanger-hover-bg-color); + color:var(--doorhanger-hover-color); +} + +:is(.toolbarButton, .secondaryToolbarButton).toggled, +.splitToolbarButton.toggled > .toolbarButton.toggled{ + background-color:var(--toggled-btn-bg-color); + color:var(--toggled-btn-color); +} + +:is(.toolbarButton, .secondaryToolbarButton).toggled:hover, +.splitToolbarButton.toggled > .toolbarButton.toggled:hover{ + outline:var(--toggled-hover-btn-outline) !important; +} + +:is(.toolbarButton, .secondaryToolbarButton).toggled::before{ + background-color:var(--toggled-btn-color); +} + +:is(.toolbarButton, .secondaryToolbarButton).toggled:hover:active, +.splitToolbarButton.toggled > .toolbarButton.toggled:hover:active{ + background-color:var(--toggled-hover-active-btn-color); +} + +.dropdownToolbarButton{ + display:flex; + width:-moz-fit-content; + width:fit-content; + min-width:140px; + padding:0; + background-color:var(--dropdown-btn-bg-color); + border:var(--dropdown-btn-border); +} +.dropdownToolbarButton::after{ + top:6px; + inset-inline-end:6px; + pointer-events:none; + -webkit-mask-image:var(--toolbarButton-menuArrow-icon); + mask-image:var(--toolbarButton-menuArrow-icon); +} + +.dropdownToolbarButton > select{ + -webkit-appearance:none; + -moz-appearance:none; + appearance:none; + width:inherit; + min-width:inherit; + height:28px; + font-size:12px; + color:var(--main-color); + margin:0; + padding-block:1px 2px; + padding-inline:6px 38px; + border:none; + background-color:var(--dropdown-btn-bg-color); +} +.dropdownToolbarButton > select:is(:hover, :focus-visible){ + background-color:var(--button-hover-color); + color:var(--toggled-btn-color); +} +.dropdownToolbarButton > select > option{ + background:var(--doorhanger-bg-color); + color:var(--main-color); +} + +.toolbarButtonSpacer{ + width:30px; + display:inline-block; + height:1px; +} + +:is(.toolbarButton, .secondaryToolbarButton, .treeItemToggler)::before, +.dropdownToolbarButton::after{ + position:absolute; + display:inline-block; + width:16px; + height:16px; + + content:""; + background-color:var(--toolbar-icon-bg-color); + -webkit-mask-size:cover; + mask-size:cover; +} + +.dropdownToolbarButton:is(:hover, :focus-visible, :active)::after{ + background-color:var(--toolbar-icon-hover-bg-color); +} + +.toolbarButton::before{ + opacity:var(--toolbar-icon-opacity); + top:6px; + left:6px; +} + +.toolbarButton:is(:hover, :focus-visible)::before, +.secondaryToolbarButton:is(:hover, :focus-visible)::before{ + background-color:var(--toolbar-icon-hover-bg-color); +} + +.secondaryToolbarButton::before{ + opacity:var(--doorhanger-icon-opacity); + top:5px; + inset-inline-start:12px; +} + +#sidebarToggle::before{ + -webkit-mask-image:var(--toolbarButton-sidebarToggle-icon); + mask-image:var(--toolbarButton-sidebarToggle-icon); + transform:scaleX(var(--dir-factor)); +} + +#secondaryToolbarToggle::before{ + -webkit-mask-image:var(--toolbarButton-secondaryToolbarToggle-icon); + mask-image:var(--toolbarButton-secondaryToolbarToggle-icon); + transform:scaleX(var(--dir-factor)); +} + +#backToHome::before { + -webkit-mask-image: var(--toolbarButton-backToHome-icon); + mask-image: var(--toolbarButton-backToHome-icon); + transform: scaleX(var(--dir-factor)); +} + +#findPrevious::before{ + -webkit-mask-image:var(--findbarButton-previous-icon); + mask-image:var(--findbarButton-previous-icon); +} + +#findNext::before{ + -webkit-mask-image:var(--findbarButton-next-icon); + mask-image:var(--findbarButton-next-icon); +} + +#previous::before{ + -webkit-mask-image:var(--toolbarButton-pageUp-icon); + mask-image:var(--toolbarButton-pageUp-icon); +} + +#next::before{ + -webkit-mask-image:var(--toolbarButton-pageDown-icon); + mask-image:var(--toolbarButton-pageDown-icon); +} + +#zoomOut::before{ + -webkit-mask-image:var(--toolbarButton-zoomOut-icon); + mask-image:var(--toolbarButton-zoomOut-icon); +} + +#zoomIn::before{ + -webkit-mask-image:var(--toolbarButton-zoomIn-icon); + mask-image:var(--toolbarButton-zoomIn-icon); +} + +#presentationMode::before{ + -webkit-mask-image:var(--toolbarButton-presentationMode-icon); + mask-image:var(--toolbarButton-presentationMode-icon); +} + +#editorFreeText::before{ + -webkit-mask-image:var(--toolbarButton-editorFreeText-icon); + mask-image:var(--toolbarButton-editorFreeText-icon); +} + +#editorHighlight::before{ + -webkit-mask-image:var(--toolbarButton-editorHighlight-icon); + mask-image:var(--toolbarButton-editorHighlight-icon); +} + +#editorInk::before{ + -webkit-mask-image:var(--toolbarButton-editorInk-icon); + mask-image:var(--toolbarButton-editorInk-icon); +} + +#editorStamp::before{ + -webkit-mask-image:var(--toolbarButton-editorStamp-icon); + mask-image:var(--toolbarButton-editorStamp-icon); +} + +:is(#print, #secondaryPrint)::before{ + -webkit-mask-image:var(--toolbarButton-print-icon); + mask-image:var(--toolbarButton-print-icon); +} + +#secondaryOpenFile::before, #openFile::before{ + -webkit-mask-image:var(--toolbarButton-openFile-icon); + mask-image:var(--toolbarButton-openFile-icon); +} + +:is(#download, #secondaryDownload)::before{ + -webkit-mask-image:var(--toolbarButton-download-icon); + mask-image:var(--toolbarButton-download-icon); +} + +a.secondaryToolbarButton{ + padding-top:5px; + text-decoration:none; +} +a:is(.toolbarButton, .secondaryToolbarButton)[href="#"]{ + opacity:0.5; + pointer-events:none; +} + +#viewBookmark::before{ + -webkit-mask-image:var(--toolbarButton-bookmark-icon); + mask-image:var(--toolbarButton-bookmark-icon); +} + +#viewThumbnail::before{ + -webkit-mask-image:var(--toolbarButton-viewThumbnail-icon); + mask-image:var(--toolbarButton-viewThumbnail-icon); +} + +#viewOutline::before{ + -webkit-mask-image:var(--toolbarButton-viewOutline-icon); + mask-image:var(--toolbarButton-viewOutline-icon); + transform:scaleX(var(--dir-factor)); +} + +#viewAttachments::before{ + -webkit-mask-image:var(--toolbarButton-viewAttachments-icon); + mask-image:var(--toolbarButton-viewAttachments-icon); +} + +#viewLayers::before{ + -webkit-mask-image:var(--toolbarButton-viewLayers-icon); + mask-image:var(--toolbarButton-viewLayers-icon); +} + +#currentOutlineItem::before{ + -webkit-mask-image:var(--toolbarButton-currentOutlineItem-icon); + mask-image:var(--toolbarButton-currentOutlineItem-icon); + transform:scaleX(var(--dir-factor)); +} + +#viewFind::before{ + -webkit-mask-image:var(--toolbarButton-search-icon); + mask-image:var(--toolbarButton-search-icon); +} + +.pdfSidebarNotification::after{ + position:absolute; + display:inline-block; + top:2px; + inset-inline-end:2px; + content:""; + background-color:rgb(112 219 85); + height:9px; + width:9px; + border-radius:50%; +} + +.secondaryToolbarButton{ + position:relative; + margin:0; + padding:0 0 1px; + padding-inline-start:36px; + height:auto; + min-height:26px; + width:auto; + min-width:100%; + text-align:start; + white-space:normal; + border-radius:0; + box-sizing:border-box; + display:inline-block; +} +.secondaryToolbarButton > span{ + padding-inline-end:4px; +} + +#firstPage::before{ + -webkit-mask-image:var(--secondaryToolbarButton-firstPage-icon); + mask-image:var(--secondaryToolbarButton-firstPage-icon); +} + +#lastPage::before{ + -webkit-mask-image:var(--secondaryToolbarButton-lastPage-icon); + mask-image:var(--secondaryToolbarButton-lastPage-icon); +} + +#pageRotateCcw::before{ + -webkit-mask-image:var(--secondaryToolbarButton-rotateCcw-icon); + mask-image:var(--secondaryToolbarButton-rotateCcw-icon); +} + +#pageRotateCw::before{ + -webkit-mask-image:var(--secondaryToolbarButton-rotateCw-icon); + mask-image:var(--secondaryToolbarButton-rotateCw-icon); +} + +#cursorSelectTool::before{ + -webkit-mask-image:var(--secondaryToolbarButton-selectTool-icon); + mask-image:var(--secondaryToolbarButton-selectTool-icon); +} + +#cursorHandTool::before{ + -webkit-mask-image:var(--secondaryToolbarButton-handTool-icon); + mask-image:var(--secondaryToolbarButton-handTool-icon); +} + +#scrollPage::before{ + -webkit-mask-image:var(--secondaryToolbarButton-scrollPage-icon); + mask-image:var(--secondaryToolbarButton-scrollPage-icon); +} + +#scrollVertical::before{ + -webkit-mask-image:var(--secondaryToolbarButton-scrollVertical-icon); + mask-image:var(--secondaryToolbarButton-scrollVertical-icon); +} + +#scrollHorizontal::before{ + -webkit-mask-image:var(--secondaryToolbarButton-scrollHorizontal-icon); + mask-image:var(--secondaryToolbarButton-scrollHorizontal-icon); +} + +#scrollWrapped::before{ + -webkit-mask-image:var(--secondaryToolbarButton-scrollWrapped-icon); + mask-image:var(--secondaryToolbarButton-scrollWrapped-icon); +} + +#spreadNone::before{ + -webkit-mask-image:var(--secondaryToolbarButton-spreadNone-icon); + mask-image:var(--secondaryToolbarButton-spreadNone-icon); +} + +#spreadOdd::before{ + -webkit-mask-image:var(--secondaryToolbarButton-spreadOdd-icon); + mask-image:var(--secondaryToolbarButton-spreadOdd-icon); +} + +#spreadEven::before{ + -webkit-mask-image:var(--secondaryToolbarButton-spreadEven-icon); + mask-image:var(--secondaryToolbarButton-spreadEven-icon); +} + +#documentProperties::before{ + -webkit-mask-image:var(--secondaryToolbarButton-documentProperties-icon); + mask-image:var(--secondaryToolbarButton-documentProperties-icon); +} + +.verticalToolbarSeparator{ + display:block; + margin:5px 2px; + width:1px; + height:22px; + background-color:var(--separator-color); +} +.horizontalToolbarSeparator{ + display:block; + margin:6px 0; + height:1px; + width:100%; + background-color:var(--doorhanger-separator-color); +} + +.toolbarField{ + padding:4px 7px; + margin:3px 0; + border-radius:2px; + background-color:var(--field-bg-color); + background-clip:padding-box; + border:1px solid var(--field-border-color); + box-shadow:none; + color:var(--field-color); + font-size:12px; + line-height:16px; + outline:none; +} + +.toolbarField[type="checkbox"]{ + opacity:0; + position:absolute !important; + left:0; + margin:10px 0 3px; + margin-inline-start:7px; +} + +#pageNumber{ + -moz-appearance:textfield; + text-align:end; + width:40px; + background-size:0 0; + transition-property:none; +} + +#pageNumber::-webkit-inner-spin-button{ + -webkit-appearance:none; + } + +.loadingInput:has(> #pageNumber.loading)::after{ + display:block; + visibility:visible; + + transition-property:visibility; + transition-delay:var(--loading-icon-delay); + } + +.loadingInput::after{ + position:absolute; + visibility:hidden; + display:none; + top:calc(50% - 8px); + width:16px; + height:16px; + + content:""; + background-color:var(--toolbar-icon-bg-color); + -webkit-mask-size:cover; + mask-size:cover; + -webkit-mask-image:var(--loading-icon); + mask-image:var(--loading-icon); + } + +.loadingInput.start::after{ + inset-inline-start:4px; + } + +.loadingInput.end::after{ + inset-inline-end:4px; + } + +.toolbarField:focus{ + border-color:#0a84ff; +} + +.toolbarLabel{ + min-width:16px; + padding:7px; + margin:2px; + border-radius:2px; + color:var(--main-color); + font-size:12px; + line-height:14px; + text-align:left; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + cursor:default; +} + +#numPages.toolbarLabel{ + padding-inline-start:3px; +} + +#thumbnailView, +#outlineView, +#attachmentsView, +#layersView{ + position:absolute; + width:calc(100% - 8px); + inset-block:0; + padding:4px 4px 0; + overflow:auto; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; +} +#thumbnailView{ + width:calc(100% - 60px); + padding:10px 30px 0; +} + +#thumbnailView > a:is(:active, :focus){ + outline:0; +} + +.thumbnail{ + --thumbnail-width:0; + --thumbnail-height:0; + + float:var(--inline-start); + width:var(--thumbnail-width); + height:var(--thumbnail-height); + margin:0 10px 5px; + padding:1px; + border:7px solid transparent; + border-radius:2px; +} + +#thumbnailView > a:last-of-type > .thumbnail{ + margin-bottom:10px; +} + +a:focus > .thumbnail, +.thumbnail:hover{ + border-color:var(--thumbnail-hover-color); +} +.thumbnail.selected{ + border-color:var(--thumbnail-selected-color) !important; +} + +.thumbnailImage{ + width:var(--thumbnail-width); + height:var(--thumbnail-height); + opacity:0.9; +} +a:focus > .thumbnail > .thumbnailImage, +.thumbnail:hover > .thumbnailImage{ + opacity:0.95; +} +.thumbnail.selected > .thumbnailImage{ + opacity:1 !important; +} + +.thumbnail:not([data-loaded]) > .thumbnailImage{ + width:calc(var(--thumbnail-width) - 2px); + height:calc(var(--thumbnail-height) - 2px); + border:1px dashed rgb(132 132 132); +} + +.treeWithDeepNesting > .treeItem, +.treeItem > .treeItems{ + margin-inline-start:20px; +} + +.treeItem > a{ + text-decoration:none; + display:inline-block; + min-width:calc(100% - 4px); + height:auto; + margin-bottom:1px; + padding:2px 0 5px; + padding-inline-start:4px; + border-radius:2px; + color:var(--treeitem-color); + font-size:13px; + line-height:15px; + -webkit-user-select:none; + -moz-user-select:none; + user-select:none; + white-space:normal; + cursor:pointer; +} + +#layersView .treeItem > a *{ + cursor:pointer; +} +#layersView .treeItem > a > label{ + padding-inline-start:4px; +} +#layersView .treeItem > a > label > input{ + float:var(--inline-start); + margin-top:1px; +} + +.treeItemToggler{ + position:relative; + float:var(--inline-start); + height:0; + width:0; + color:rgb(255 255 255 / 0.5); +} +.treeItemToggler::before{ + inset-inline-end:4px; + -webkit-mask-image:var(--treeitem-expanded-icon); + mask-image:var(--treeitem-expanded-icon); +} +.treeItemToggler.treeItemsHidden::before{ + -webkit-mask-image:var(--treeitem-collapsed-icon); + mask-image:var(--treeitem-collapsed-icon); + transform:scaleX(var(--dir-factor)); +} +.treeItemToggler.treeItemsHidden ~ .treeItems{ + display:none; +} + +.treeItem.selected > a{ + background-color:var(--treeitem-selected-bg-color); + color:var(--treeitem-selected-color); +} + +.treeItemToggler:hover, +.treeItemToggler:hover + a, +.treeItemToggler:hover ~ .treeItems, +.treeItem > a:hover{ + background-color:var(--treeitem-bg-color); + background-clip:padding-box; + border-radius:2px; + color:var(--treeitem-hover-color); +} + +#outlineOptionsContainer{ + display:none; +} + +#sidebarContainer:has(#outlineView:not(.hidden)) #outlineOptionsContainer{ + display:inherit; + } + +.dialogButton{ + width:auto; + margin:3px 4px 2px !important; + padding:2px 11px; + color:var(--main-color); + background-color:var(--dialog-button-bg-color); + border:var(--dialog-button-border) !important; +} + +dialog{ + margin:auto; + padding:15px; + border-spacing:4px; + color:var(--main-color); + font:message-box; + font-size:12px; + line-height:14px; + background-color:var(--doorhanger-bg-color); + border:1px solid rgb(0 0 0 / 0.5); + border-radius:4px; + box-shadow:0 1px 4px rgb(0 0 0 / 0.3); +} +dialog::backdrop{ + background-color:rgb(0 0 0 / 0.2); +} + +dialog > .row{ + display:table-row; +} + +dialog > .row > *{ + display:table-cell; +} + +dialog .toolbarField{ + margin:5px 0; +} + +dialog .separator{ + display:block; + margin:4px 0; + height:1px; + width:100%; + background-color:var(--separator-color); +} + +dialog .buttonRow{ + text-align:center; + vertical-align:middle; +} + +dialog :link{ + color:rgb(255 255 255); +} + +#passwordDialog{ + text-align:center; +} +#passwordDialog .toolbarField{ + width:200px; +} + +#documentPropertiesDialog{ + text-align:left; +} +#documentPropertiesDialog .row > *{ + min-width:100px; + text-align:start; +} +#documentPropertiesDialog .row > span{ + width:125px; + word-wrap:break-word; +} +#documentPropertiesDialog .row > p{ + max-width:225px; + word-wrap:break-word; +} +#documentPropertiesDialog .buttonRow{ + margin-top:10px; +} + +.grab-to-pan-grab{ + cursor:grab !important; +} +.grab-to-pan-grab + *:not(input):not(textarea):not(button):not(select):not(:link){ + cursor:inherit !important; +} +.grab-to-pan-grab:active, +.grab-to-pan-grabbing{ + cursor:grabbing !important; +} +.grab-to-pan-grabbing{ + position:fixed; + background:rgb(0 0 0 / 0); + display:block; + inset:0; + overflow:hidden; + z-index:50000; +} + +@page{ + margin:0; +} + +#printContainer{ + display:none; +} + +@media print{ + body{ + background:rgb(0 0 0 / 0) none; + } + body[data-pdfjsprinting] #outerContainer{ + display:none; + } + body[data-pdfjsprinting] #printContainer{ + display:block; + } + #printContainer{ + height:100%; + } + #printContainer > .printedPage{ + page-break-after:always; + page-break-inside:avoid; + height:100%; + width:100%; + + display:flex; + flex-direction:column; + justify-content:center; + align-items:center; + } + + #printContainer > .xfaPrintedPage .xfaPage{ + position:absolute; + } + + #printContainer > .xfaPrintedPage{ + page-break-after:always; + page-break-inside:avoid; + width:100%; + height:100%; + position:relative; + } + + #printContainer > .printedPage :is(canvas, img){ + max-width:100%; + max-height:100%; + + direction:ltr; + display:block; + } +} + +.visibleMediumView{ + display:none; +} + +@media all and (max-width: 900px){ + #toolbarViewerMiddle{ + display:table; + margin:auto; + left:auto; + position:inherit; + transform:none; + } +} + +@media all and (max-width: 840px){ + #sidebarContainer{ + background-color:var(--sidebar-narrow-bg-color); + } + #outerContainer.sidebarOpen #viewerContainer{ + inset-inline-start:0 !important; + } +} + +@media all and (max-width: 750px){ + :root{ + --editor-toolbar-base-offset:40px; + } + #outerContainer .hiddenMediumView{ + display:none; + } + #outerContainer .visibleMediumView{ + display:inherit; + } +} + +@media all and (max-width: 690px){ + .hiddenSmallView, + .hiddenSmallView *{ + display:none; + } + .toolbarButtonSpacer{ + width:0; + } + .findbar{ + inset-inline-start:34px; + } +} + +@media all and (max-width: 560px){ + #scaleSelectContainer{ + display:none; + } +} diff --git a/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf b/src/main/resources/static/pdfjs-legacy/example/Welcome.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f3812141f66f260665c4c663b7e10b19631668ae GIT binary patch literal 38223 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf b/src/main/resources/static/pdfjs-legacy/example/Welcome_old.pdf new file mode 100644 index 0000000000000000000000000000000000000000..baa49de39e4f7f59482b09b12b2c67c82fa126c1 GIT binary patch literal 35199 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

    >kdtY{#$XCWl)YMaWC?wZC|s zqMX$I<7R!v{Pu5~Pbx0^${t+1af{(qzh&w2_FQf}mpA9jZM^9AV7L3D(4MD1!jG`@ z?zzKM6OpX`?dI|Rg=g|SW-McMH;P_U7Zg~S#H#yo-}BV7uGhyrq*x zLVUa&)-DMN@vMpvc0TduG5@j2#{@NOa%Wvy`Qz-o%vCe5m`~~w7Ts_m_TKfKO9^4|vFsV5R+BcFoYC02eqHY!YpXv` z7j810Sgmy6>UT@?IhSMPSCv_7pUYfly*z5+e#xpAr*x(Dt*p52@a$Re@6tQdrPX@5 zcWN>dd|$rv7JM)YTZ( z{`*pkJwB>&%Y^c^w7(f0t(f`l%n`xhZKu{=)}OuX7yBnO>({wwvmHXO9;gxux^`hw z`p&4FKeb1tGLHXTkTLD}t%p~-rd3@l@pClLHi=uX^iSpOps!C0I*PTvrfpGIFW&n% zC-uB~xp+wUuOc5#uc%d%GE7ubR4nIk9y`=_Y}(Sh!ne8K6|cGTEZFQv*5}pyVYx42 z=K9^g_5DTa?3|lR=gs6*i&)UNcW>&p8C#+zAFW9^+2-Va`04ll>oJ#h+il#C_47>n zhYc628Mo}_-d3r-<@M3SA8+3=n?7Yq=oH@RnZh$435iC8CN0{1f{j(o@T%y|q?^*g zsTWOZ|3_^7?j6@Fe#*XW*1e#)S!=DXMpfQA^wD>pt<|!s?Ym!`blxRhGV6HhmrU8K zFO9t7&fT8#t1SGE#~ihDf6Ca(9z5B+J7Io7{qAplhkRQ9#ed||PK}!wx$5%twc1ri zd-}gm4F6-J~M=gv8`N;dQ3*K5-wdc~T<7Mn($+V=J`mp9zP~_7Cy3oj7xs z@#!SzSnk{M+{J9uBtkZBu-&}ikK-ffNhvp%tvo2cx#aVtEpvWtVXI}{lj3?v>KTVu zh`WN%-P1mEEB2l{xpYsb>YfF@t1^z5%(TwGex{H2*ky^TNJ;m%a}8cxF;P7@B`Rir z&SBQ8+;6N^Eib3#>{wcO{3q`_lgX`-8;&mN%)b*m_wqyg%C%=24{x2ZHA>=JUH#|C z+Uq5Tx@m`4PS*92&Pk2fT|RyKA@-_|ufIf!hkAu(C;rS^+bDhR)sa1W zYG#FNO`GKuuD0o@y1KfgsrGqeo%o6CZkV=lpD}xTCRr`oFD$HVQl$UNZ|~Wvw@sRu zY<@;&^Ubf!7=o>z_f@@vNxmTi}27ewVB_FB4kM}q3K znr)AN=4}4#8xd${Kl|sIwoio)@(Om=-|jA*)#q(0`{4f1%9NIy6TE-<$4ySZ@V)lg zk)>aMiq%Hd^6j}jafe%;zWRo5rlPMVeyN)O^_+Ci<@7M=BOArs5AWgJomx4&_1h*d zjl6q4Z~oX!TRZRcg?ni}CrXy2+~VyuFFtIbrnz#1c(9k}-A%mDuS-mhF__QtdCuN9 z-_6&)-@hz+vTpB_C-Y~24|!Vl!}PI{yKU*L-G#5hCTY(U>+f5$sPf~gxJOr&MfI-= zuGi9=H+Lh;BkvZYoo+L$RbK8$Evij>|7=f1d(iuYTZylaWL7arRo43HPL7K+RI`aU z4h@N|nA(;7fJeO5v3UEj1hbhzM#VCjr^D8Mol{j+q`1=9d4=(;nVy6{apYSc4dU8&^^`BYSZq#ai z^AT%JF*-gubMvuFZ9c52GcV5)4L&l@+BdmRf+vhcaGEloshKe2r$eu=?q*`VwWRT? zotRrG`|5g=Hxnk#>S>+XX2bm@5}U-R&#!vls6*EVzB)*UU#dSG>(;y?Ja(*If2(=JSK4%0K;W^0oER zuL#*CSLLao_bIdPnUVG#lZk6hC$2R$?EIN57N=rlKKVyS8mrv-%dO8Yg`QoydX{&% z>GXA3dVd93)}>AIS{q!bdoFX9`O5t8#YPMJ)1NyTJx_^wWwP~=!`2s(zAjR4yPXZo z%jSi&rZsAnT+jdgX?OYAKZ;8?7_>gCdwTZ#RvB&Cf48Q7_mBIq^`hyl^EFSK^|$Z( zR670H?rrrS&qg~R*Sr76|96}7{Ue%*Vi)_SKA(JghpmKgX!Vcl+b15Y(=nTzk}75R zSh=$^lTB<=`t~KdH@;0$f0Hftrc!Bjl}^vDn{0A(Ki^vZZs+ZHV&z{KMa0H#-WDq^ zoIU5{;(qDmwKueHdGh1b_3%BP?rmOge{|ljNzt#ana|@`To-wWyXvtf6lD= zlTzHI8Mx!z%nd2xw{vv7_E@9`udv#waa=O_LT1t$wd$%ox3f{bhPJ-n7x&m)bB=R! z%bRs`&a~eLKUtbT`tkhzvz?PB&&V@pD~sK@HsJWbn?1T$*QH4K9@{rjE`8O9?Iq21 z`h^q3{>=%WcxjH&oJFdu{t8^J>&UWq*%ik$z1rkh*lB&)uO1r~7qp~17Iz=!zZ!js z_mZKMuD({m77`{0isqS*EJ0yK~fY{uCCz zJLI2mGfUvW`+s+?9$nw^)^IY9FTQ~N z)sm*8&!vvGRZ7p_ul%ti^McLRqVG$6Pj9=f7csk%++%#G?nucrA2-(3=D zGeth#{D9Y0Te%g_K~f?%=HI+L_`<)i?N?>P=yP&O7<)8t;z!G8Xlh^xcQX2%$&cXPl{vQUnTce1+HMP zJ;=N0p2nMtw%#@eK0KHFCvuoM`kT(^G0u)W>!zzc-B3^ zecF;vcFE$3byoe46OaABm)!F=-u9Ts*4$kS|Ha!JJ7c|Q^8TAa{m*AG{9f{y>&Hp4 zTFyU9X5Z1ZS-SkD@tcck#;uOLCs)m@u$uTd`^<_-p^Lr4L}&l$NYhucY`?I~IrnLR zw`|Z`z7?MuC8q1oWB)DPx9sMtoqY4HABOIIyP4bXdy3TR5*?i^$I|;>=Uw}+w&^s- zGWJx}`WxcvVr!#cr%p1HpCr|)*Hd!ymTGIZ!sg9yax(8qxbn&scja^xi3}+24=s3N7`tP;@VnKKp3qQ;T(}QJWr3 zy)GDdBQ8Gh5MQXys&${{ajgHmcGcZSkp6eyGyVP4uW})$X^S90CzSQ3{s^55S{*o4-?SFfY_ub^XXm=v_xYL>?4mPa9 zXYVa$+k7p`T`SJEkN0R(|E#TcOM4NCB9`Bs!LSVyN~bv zlcXCw@t34&ZTk6jw&|}kW749WsuqPtUyGXeFzWKINwab#Pijh<_3r!q+j#DITl>wA z+rxIdt~Z?VrPluEPwndO`~Dm<{%h6jnBB3_aJ5B;#FjI)$`tO{j_-7*2_|p^-s?GBpZ~aeRWOso+*=pqN1W= zcBag-s{QDne)&yK?6ccPXP>XSd25BTs_3idx$1BJ1aH5)`$_Q$;d^&?-&ib8h~(sj~fK;w0b6r7t#He12Q-G3|AvetYEpm8znTCYzUC-Mnt^?j4U4 z*d|Ul|8Ch(Rda-Q{j(Q80*$(??Pu0nELgiC)#7q&;cL5#n=~(NDmi>3+(}$TKR>EC zY(d@5sj=a1&yVHSE^SiMc)XEEYS{0X5ROWL3@>fS@W-?$HE!Tn}fyo`|Q4y5fZy? za%906eN1yW9+{}A%;f)Jxl0Da*XFAgxpLS(he%-}e-SOMwv(MK#W~wDU*7~t;ZiQb>&fD0^Ik_=hPC9qmE>xeAx?QMWxA#-8<$;=e z>q|d(C$2tx@mt!A(tUBi!)BDm@B7$V@H6e{8}UODN}+EOTW>hrE`M%!&&_1w9G#}k zduo^uZFw?fiq6{PgT-fF**r`7Vg27nhqYfLq$c^Pz&?|WCi?dFeyf*lxvp|7{?W;Z zjjsbPzmiLL@=Cq=ewABPxA*zI+3z2$z3XcBy(qQvWLHeM-^+8}Qe5UcSDek8Ka=xa z)V7r>sukZp?V2=Yo2_oXX6wplr@!ZN<`rZew^=vmt*YLTftU8aUo-y`R~ zHtYE@{rN8|@4M2c!j~;I6`6Z=>h#^&$&U|yTbeex`q|#Of4wSe9njH(T3e z*_NfPtbM0eok^Ac@m7(H!NMZZo%)UZ%zJ1SY{+-lYbo}$y{z*zw+JAPXi#0Ah>Lnec z_HEwlMUhP@7gN6OJh3q8Qq7c~%c{f+wk*E0eO9ei&hpB#S^0}ut7gSE^laXg>1S4I z9QAOSW!|a}F|E%uOzh{qD-Qnt<;`Wg&36NzhY8dveqDCHr?z-=zGp;N?w;9S^Ie_G z9rxaz6qhe3&!zP3LAC3i-9OB8;y#|XOS-4pr1PzF^YzM}9V>m$vu{dRu+uK+sQSAP z3qQ3jdNk8y{<->?36o}QvI_kB>wC?ri&<%XuahowZ`#Cl=~0QX|I05|ro8Yv`9)<` zsj<~t_E|Grwi~OS&bxANq4DvE-v57Ash(SMb>^d_Ew|TlrsH=BPxS+Y9xbM)q` zORmn)$%)UK`Bz%@(B{ppBA@&{ZiH{`w?AMfY?8e(#zp#G{wDU!&Hks;*4er1bC|Vx znXS=JGup9o$qu$d|09i$Z20)=w%`qas?UyirD@H)Bn7XJyozVZn<4}53I zPlztP`9$vS`;)e}svBQ>>ecq$@k&1_w08EEjCaa;Ve*yXFOD5loWdI4{DkX-pqdt`Re`#bTCmO*vvK1D1xd)jj9u}9vu-7`3^&NSS~GTr&RJ z2&ba+;g(-`{)H}j@UmJm#WF(q|LR$RMm|at?2Ov>X#KnH@hE>1(+SQ--ib+5LM9p1 ziCpU1Q)kq$iNl|@(ecW?_V005dQ?jj?w;VB^moO@o_kF%7SEM=;G@X<;wQr|+2_h_ z2Y>za5jkP-zk1%qorY6(TIxHuteLQ9=asCWBggp{vz2>^wYok?&dIc^jp66I*->Kd6_MAFo%m78)&B4+FHyTw7GBjqs+N|0 zU;I|%yrlcuxOJwiKbdXTPrQ=s=VPsSFR$ZuscgRd6Vs*?fn+1y@1M$D=T2O+`okZN z`MK8W(Hyp_H!_Wbqh?QaE5}?uRD7~5hu`X_gwuQW9s63$rDuP>uxZ9oiFZVt#I=wt(5z_`knzG#bCi*}vvhP|ckA;)20nJ_XALJ!ZVfzgqIyyoYDZv>vTf zEKPq_JzZU8%Yoy31^Qw^U(Y<+5Fz)N<*KPiz4q2UH&%83ILBh~e(vsEzg}NITTa&H zKUx*~*M2MhFZF2m`7+Z6n`H~@u1rW(&6;2B*ICYW^|JMQ-DkCn=bZiT>GCt*t-$M; zX06EyyD4WZv(xJ9^}cyV^?taTX!>dP_ILeVUQ0vgSsJBUZ!dlK#6`>{Bx!%ED9hE2 zEyv}8zVGc=Um4OXk!quo*I8FOf2l0@ZmGb>Y=(yn`kk0+=3WY7O0hGtzdHYK{Eco) zUe+JCX5MpJwf=qR`K*4aN}i89^?Hh(ZOl3gZihUtc(#`{KU!vX@^)_V7c0sg_iXuK z^XK;8i9aR$ui5P_*S0#k+w<=HTUKY1mt4?%J?-j`&=j_f7QpGdt+XBACa53!dmX(aupkM_R4kQw=eBqf3?+o zPsGzhv(q;Ep3hFQzyA0^eWCo*T!VATxeI4LXp;Q$sod<@p15<4z4KVhkKb_rk^Jyy z^-r!Rz1zzsii=;oVRz2|`x2WY?>Q<@>-2;@wJo%oziCHk%WtlY;dfu{@~?l+c5cJs z#l@@p3$$e)?d=Z!^6+`X|5dCfey{Dj^5IfiQ1_LxJJZ(MESIa~+LNK}wM{X!_fFQ6 zCyU)?N6kB5o@Kqi{Z+vE^Y1M#x@+H?J>lIGyLHnvY|aKn2khsp-MGzkNppW-^SxUY zXT$E5D;G&Om}c2tTf}8qw?y*(k-ZBf)^n~sQe3~cO1*35Hs$!4(GMR*Ui~ci^o-QR zEZ6^~S(&Q8);<5b@#p4`*_QdUW~Z;Uy6m-1`I_YH}X3uloYi3uc8ozl) zu5i4w?x~|uSwDDgoH+U_%GGw+{M;Wtes)`x?b4p z_D|l6J=3n%EX|FnHeGe@MwWC%R$XY)@>M^wW`xb;TXj%carU#4>!|3k-U(PA=dY`!=jeFOVy4)zH)Ki^Jx)>vqL|LZa*98p}RfK zusU;YQqMD1W5LH8_r_X?XI?$!K1c9kx6b#~)_)WC8mtX3n!BNL>)GC#W%F*{{F7hJ z^>@{#q?=t&y^>d?msl9xF<%zK+uz62&vwk|u=7!`REsrR+J3PgQ}W6-5R$no{zkWN zEq7Tz+js4=$_E#IV^(%ts#uUvQRBnO|Gm9x%DjgYnHR5VJyaF9E$C$OhFu<+ye;l* zQ+6E)IA3sn=ZU*EHU>+s^nQ1{VeyuEVTVxM4gdQeR%|l7BFp!c``V_`H9^9+n-&XRbB_Gj zWn}8jYId^0$V}=5FCUxR`OvoCM~*!Ea@*d@#_rIj>Na+FCg+6-OMYxQl`rvLlf#9} z&@uJ$iw_@eEc(aZzA;Hd$w1_wk-KxPSA2qjh~0uW{Jp#y6F@Oc zp~st=Gc2!k7rM6_{7qU~=kt=A?btE*X2Dbw4%7By25$aKJUV&UHhi>g6fC%wQea~v zCgnKY`Em2Xz$-m0$1B(cQ&UPLjMIeO-aq{Cp)QqS_xhF%+vXXnnk?xtOg?bt0?TZJ zmW>;}y$i5^AHicHW|Pm;>-?Opd+D~%%BK<%UNl@X=9?}2IW0@3NwkM;!?cS5ExDBj z1}hw9OR(8~Q&tzU>UfoWIO2lcwj~Wr+>#>6hOFOtSlkRZKFIiZ;KmJ)lw42G_XYk- zDgxd)7?v$fd2`@I!T*eelm`x;3#8Rfu3D56t33 zJ@@eA8NV4*Wv-bWdowF_v*uTalgS5_mYR!5Hm>Eq+Sk(-aI0C%F@b@Lw~w#w*s%+- z-x>F%W$v6|QdUqAGRe-&>0&!CkM$+%d&Xf$c#`FBiET71V#vt)@3100;ozBX$rmmJ z_*cjrPpSKM*!jlhrhtVOj@+vjxA)IlYf-Sl>WxE6j>#2eA7{P;x=!D=_GK?nXbDW1 zd**}tOy2K&@8!Ap*{j5}^%X)|ZI2bT8H(IHe%$SWK~;0k%r)m63~V+J?Dj|Ei8_yKS$4|R&eW_-`}Q1;@{kDg5CIo$2{V(+(M!Jc9g+dt3kh9)3_wq{F4H+KDku-Xgs~&N-R!VU=@Y#r4EzSF!HHH7?D%Hl1?K#`{Tr2)?__z{ z9y=6tWzh+S&u8u)bX7Oskg#xZ&W{rkJ(?}LvvxDvc`?4(bM>l5?%AzxZ)-rBWzMURZCA`g#WhW3qocEL z-J0?&Z0WwjZ0B0uPp@XLlKOM?tMBY7y&2c9^aw1FQx}}O&0IUjVe9H&v&^nVCi`ZG z%1)Xp{aX6fZR_qSw|;$7yOyqNwKim1*tTug!+%O^MNeJ(@7mh4xuz2Pr0$wsHNUzo zY09i)vzC>`)cKwW&f2E9aLd(DGm{Sswf@ei)t(<8`uW>vlWgtVCigGbOrIh={h6m|yyDYY;+^rInLboLI3HTW_rv(X z<^%JY<}?0d`62N^`oMZ-dDXf_m-o1MDZUkWEAzUwhVzq-i~l)S|0xj{=1o#LyWPWd ziMSElPR>Q{ck>s#@qRH;$hG)qV6oQSH9pyTlb-~6>P>tyK}FoVXrhX^S5c$NbMK;n zNz9YxsGqF!{N`z-cXEb`pyxL)Bc+oYRGcUAcnM8=661MpqKeAN29>{)zIX~vSrR@; z&U2S4r^hALlX9MA-kZE9&7Cwy_avXEmFmk0DZ5o}t9LbwDP>>waIN# zk!P59klINtPcPL-&68Z7)4VtNOcL_!QjOH|oTw7#In5(T!?RK4=cFf|le9hiROCE2 zsTO)K@^~~!#e0&Er;$pb*Caj9St=_hE%BJ7)9E}(#ZyStbHWk5PTxrto{v;IrykMj zbe$yOd1lfK6+^G22`>7benM+iq&!!sxTuzdO_KEV^ZMlPX*c1C{G>hlC-1BNoUKwn z^@;wZKarE{JwLg7-kba+*7M%PC;XGZPWR+` zm7hyh)_Z@NrLup*lTgpNiBD2J<0d_E^^BYFg;hITeDoIH%%3tNRR$*6ys)%5LU1{2VfkxnQM7tkKl1Vg(*c^u!7-hD;MJ zSm+U}@Sui~omFPWsWmKf%%?`O-q25&-%uE6rWPc~xLB$9eaJJn104;CjLwTrEoj)# zP`unIi{Uv32d9L<1^os2T8pIwL{`Qz+A{58Wnn4dyrG=1J!8A~k}@uf=mUI=bD6AI za>O_IHpDyZZZKn9%M`_uBYHt+fv3ab1~$fMmYjJ-*O*_iUh%awXEx(pF}Em>@rsY7 zG{aS=8^*zR~BlIdFatk*1SM9*I5&=B7c+Uj%Ts)_$;O(%ifrrtL z@n!H!-v$%LmBBC1Hi$5uRJyFF;F+SvcDT-jQQPXwzKTfe89`NUo^B%IcUGw z%J|MJ`mB5O9+(Dx<7Qmnbtar;kIn;CM*S`={f;Z=S#9j6Zj$|QC*+jbf%7aj+D7$S z4wMt4>$Am7a)KW=G_CG(q!Pve`rr_9@N1E=E50n_iyPk=6 zls)IRuz31{RYu_KdEpK52kaOhGaX}bak;*D(a$(W<={TK0~=oCcwCVY5fCd_*HFyT z;hWQO#jMB@53ie;#?2`3&%3k3Oeg|%8 zS{wJ8GM!rfW;Vm>xSjj<*hI?q%v7BVHVM!5QRuaHzWI?Lq4)WgKH zXj$BqE1f=T8G0GC8h)fb-W}_c_NY2W{c&~df0q9YpZHJwKJnZ7(?7PK+E4T+*en0{ zpJ2b}jqQ^At$Ub%GCyJYRL}oY_S8MMU%Dq|PcT>5-}}1!uUg)Luh}QoE9`IC)3@h( z!~TXnT$QXZr#I?5#WbB?sv}Z`wmGuJwk$K-Y&!n1D;y6f6G?TSV9q+T#YORZG~bSQn`KJw zX74;u+W*w)dg5uWMGk7s_h zh&A&wO}S&Xt|xnK^1s0PCm&YK@5z(3HIb6Ny0*J-pV=zK#U^ckxAVKtjokWX|Fq(( z8Ee*-t*^gfUsQ3!{)+hvdv;--so#II^L_vQ`&9McgNOJ2`*CkloUec7cKd*PPwxls zJH7w+2fhF2KFR*u%>Vww@%I`x7j7(@R{mrA;+NY#mF@puuzUa7JxA|X?KpZr=H8Qh zr@G{yV)cg~>i#?XwDjMv!=?XxpKkpp^`bH5hS3zBwY_JTYBEn&^4nE7^YZhWvp?4b zyUz)H{@5?qsb-gUY_P<9x7D*QzbLqMH1qoM%*Vm?b5?y^DkgUI*z!LXPsKIgFL@zU ztJ!*VtIEx3YgDpjb7r3GeY;ggdljo*{L$%ey}muUddxaw&*7&RuIzcdAY4c{R73R& z+l5&-{_8ec#caK`{`3FIYv%=2F=u|yn`t)jnr`6bYnvB;d6khTUHyIQn+~aUeM0~H zHe0J{{;g2|AFt~=`Nn_k?&a%uytA6Lv(VdQ^V(#u>gRK3N?UJt;WvEuxzO&kh2vDe z_wPiZUy|JvbfBDCcn?Fj$+o;LQKkvG{Vf#&swfcEKU)}l< z5x%Bv@7ZHnlWRAgNPK;IdtUDP-t9Ydr0QFj-dyxCQfpOK?X;z*v+TE=Q_h*2l=A*Y z-k!I8J(WN8gXWgZQQfOE{jb}x32F9^ZG881$E`7~b`?wO?Y8^w@D@ zw{86YSO4RGjn#9m#`sm4PIuI6jbXB6*(p&Z_{8Z1>x9pW?27CP&mF%xe{(#hm^^_a zML&hbh)1%C$LY|7V#VhUP7@eC?3eHhwR~}^Qn)*TVF~vp_D#~8xHkzGnWeBV5x&HD zlkX52}=-9B$sAWg`&4Y>jWkbI~D#(+$S3= z6mANbyEN`lh@9Z#!FGhxvwewUkfP>D3<%8gGS4QxGozjW=qbW>Q9(Y*ekqu{>S%I`pNnU`yKxA{1krDKjFK= zd#8Jie;A9HK2@K1uaNJ2uW1iwCG)4~6Zs1J+x~EU@;>o;!gU2m@%72*iRy{&3E~R& z?Kb?Ce4mU@Y@RURX5srC<`dr)?>F0U{?vP7JwaXJep?Oq zC*Ko~CmdI}-%um_N#lv&iNh1x6)sO;SLAo-bL?~Kb6BP@d4k51x)Ze%sujOG@Hy{e z`>FLrd%|wTa>so4L*g*E1yXEJVxTF>*7iAWd zn3I`Ql*t7;1|q#!!GsH}!pSMWB3jqfz(_&Y*w9G9(8$C zlJ^nQ^>b`NoR?o#_P$vCJB`O_ezg8&p4!ygil>`C+X*W%R8`><9B2SgHPunnL|9iV~O0eGAe_3;;d+GNss-06EcEq!Dk8+q`kdm#8u~-{+sPevcChq%&%1unpvx&Y4qFULVJq5<~Qw|?N*ml*KhB--uM2I zo!`Rzb3X$wJzgmJ=!+Hi{`c83Zf6#KWey8o{SI5QGetyD2QWY7#W!QWXm{@}N zrV1veMqs|NiG_lxp_zi2AxO+p!PLl7!3cy+EV+y=!KVy>)q%uJP0baI4UECq#N1NB z#M}TZXJTroU}S2f5X%Kl?}!YdUStxbeW^yV6o0EZA3tw&9wGySw#B1Mn1x*qL1wP?YL1uhd@Su#J_ zf1hW5atXJRef|FX|3Ckn`DD-gz0dDezq37U`+c9MMqT~^SCc0Uf*nUKpU$|sE!mr2 z@kyc6j*91T`zwlmGevpEe9 zO9Yuewa9;Va>?v10m~mB%{)G3^*7Gt{I8x122HVi{PCy0@=NcQoPRpG^FQuNd$!K+ zqjT-N2}@WX6n^mCZxRr4!Ak$c6Ry;dEnd>XtGm1XJ+7#$E?=^2;(zP-Q?ofE_n0+( zH2m?8$ptIo&UG$zZug#qq_o6%$*JsDu2;&RP~RXqbzK-~_qoymP zwY{TBMR?PfdzZAkx9jh9>abC3D%QO+DV0@w&e9)CTZ1dRuj`%Dw_6z?EGxbGu{`s; z*LMzGs;*I9tAF)^RlTL|X2JE^`Eh%SKTZohJyS7GNa6WJ%T4`r{J%}+KI!`8@e|Nd z1x+^;}1w4Vrll2yd}Q{<<~&S^33>(u8fnol@C>HNg=lcf*#nNOU3Qa4C? z?R}p6^Ap!@c^dXfw8;7=+k@#Ra-W=jvieDOz<;ZV|I$xpA8_Wo_MYKf;wRS!b*wwK zh(Eo{dEc>UO3MkuBAJ@DuLZgDY+T+cl{4RCzPD%k9rt(Y{0;K*Oy}#Sf7DQqv9I>8 zvGb8rysz9p>HTE+3Gz-UHf)s-I6tZU{OF$b^PW-rwK}IduX#-o){b?4^VIe$>{mKJ zDSq<(3F0U66<@{KuKhdx!ehx7pZ8pO?fT+t^(U?`F%9!>@c*_s9u=P^VRPuialnzG`%-C>(Ame1T@*}j^4d&bPl@fSKfNL z#JSIva(+~QVo#IYBDZZ_ME|!6&R+rA!IGU;7a7LrEN4FVO6+Tq z_nl1LS;kvjjs0w#LZ9G@`-gSdOuj1dCrONbonIPPcxV9 zFWl)}KQ%w5D)igEORHm!UW#^6l@U9ZD8EPJwUT(mt+KawHrC$0_E7Qn1Bd_1_T8KJ zZrwS)=-}ykIdi%Pv{;X`f^JdBsi`X?`YrFb_w4N9> zKJPf0l_4$I%&P1d*|>1;-YM63`4TLYB$OQmBXU>&W;rT&%{S)mWhUF>{x35R&YSjh z-WU7<7qbMK{kKRRsmy!5Oi@EV%ao`4AZysWwA4t()fo#XO=ebh$v)+>TH=YD zOZJA`_eUIGduX4qUKO@gA}VH8kg(;dAm>2dr3n)gpJ{||X-sC_cVgE!4gW=3N^UKf zkYC!v`rC{*GWv3HQJZA{7K2DfSMPw6DV=${(mr{9T=8;YbNIQ}Cth>}8mCDV=g4z$ z@kx{fY>>05s5Ceyp<}j%t^51lDNI_so79|Fn`W3aY&iGtDd&y_Hu32K{QG5lcsIW!(FOS@qrqGNo9MVR;O4Mqv2uZ`6S9lR6U zScRjTQjTc$a!reje!0u#^}&f@F$z;tZs zFOTw~71p;8`#RaZiFxo*p>5*|@!%s0FNNEA^bT)eOgeGN+@*B!wzPk5WeiI4Zdo1K zqw9L|!78b3*AsO;iWXSLJd9RgyWR6Lar>rUZej83w#~nk!)@NpzL;k&GyBSdW|avY z8=4(5T^rASJh|&f){R-Y6Ylcl@-?pzzRhR#Y&u_$oK4n7nK>K#eAX;A;@P&bxvgpI=;)a%X+ZxM#+^!v4$H;U&!t7?hfbSYpv+Zm&}y2 zo5h~%{JoNGK=5sOsIJD;Do{57!}SKPWzY%#yJX(_clD#IIeBt zIQ8IFnGoq&n)@eylAgGJL5(U4+nl2bGP5T0^+_oBJ38=AEa7twT%dIH=hCGI7tT?? zB;Ho6aAg~Ft}K_EwBq;EpRE_%ck@y{a8JVKLCJ+uf!_kMtIuq=Y*)-V%(SpuSAth) zkt*kf#l5`?A96I$c_3Y&AYIR(b&&b+!9?Y`B`0jp9EucIdE2)2LD>{d{RP5PdF6Y| zLpJT@jCPz_Z`qm=AuTE4{b$rR1Z@%kbJ^ za_>6UI=%L#m)6~1m}GW#a^2y|36U=r%~Vk}Vc+`Gj9sN(W<6WqLOmOcu4f!uRUQjI z(OUUTYQydc_7?lUgdUFZI}*O~qys;@)C`rsavV8EH6KFU3TAJ-B2uaqe)qE3e+G33NFWazS*{W4V%=?$^Ixs={uyI_e?_0KotBktE zg$~c*wOLzyX!HB;T-PR7{)suatC7nx{fz%Pzm6`UO`Es;3{A>O-@b5}hOb_C5XUEt z)I{IS2kmZ8{JlhLse$rl16S4=GZ`yB?fx|5`@IRr|0H*>`6~bYqyBaN+!MiPGOzBj zv3j*^kxp%#>#<*cxog7YCeNEQZDCJWci_}5)_!$*y7rMvz0UccKCyh$C;xTLCW$ds z{xdcFRd}B`-8iEAP0_n#rkAtSsne!YKi6z`y}H2D@8UCQo>_M)|5bVKQFRTz9e*i4 zFM#{w%)cMYcFtX5VrF(s{kpkX(aKa!^-E%pUI(9k_4@Ja;1cx+OSw~DpNhVmc4Kp& z&U%S+{eml2aNu zwkzveyOKW6%&^9^qtD1o<)vp{VVLhrm`hw3a)tMb%bz;(*r@K0R)F1Eu zm7;9)Z-b7;~x-hZ^{u86ME7tQLG3zVPctGJ0DKF(=)QB!K2wH2$C%l_<> zFW8Eg&NY$pKVW^p>2cFV4#!=O@65IC;kGU>Nadb-zIo&66*CwAcVEtSy|9zZ*)K`V z|2yN?Np^;Af|B2U9g^B+Ipt97(Mt7rpZM*IS5}@0lapTCDO3?TrR;53{pU9uKVQqe zQT^M}cze(E{i->)L-%denfm;m@$6USCQsE=)HNO#2Tk5IIVm}4(qpM_wblRMG*91V z%Fg#*kO7&P`hk%U2Kz!x0!unOh(IdrivdEy*|9F{U7SMB4J6r$S;>L(L>^=qyz7p0c!%t-U- z^gZW!Ir5wQ_xNug8hH&hBRw~2wq4npD!EhAyk=MJE@k`O3ei*JoW2MAzNBp=`DP(Y zkcUmiYIaX0`GzU;S^Y&lr;7N@eSS&j;zn7vWs?)X3Xl!M7^t=!3Rj2WOeQ z6MbJBUSbk&vHyDY|EIFP;^*qu+`OEx_wH*Bi;nKQj|nbXiyV*J6MQ=FOR9 zvn%saQTC@Zx39N+pP;qYB3j2YtTg6!xOK|f9_?4}-ss5OyRNC1uV=SzOR{fT^y!n< z=g$f1aZE4!{#8|4`ctnom#|cs{F`OJ4J%)U{?ob{xM^Aqmu*3L%$%}VL&GUSztyw7 z4`0)4%`G`|Vctq!<1Hoes@ucQ6iYjcskZS)yx>gxxN7p${*YsdyY{wEsbi7M$dtTw zaYFO~r;S;biLVTMwRqZg99iCoY4rJYGxbAlFzo%lZUlu**uuBLmRf9;f?b~Q~*b@e{}onCtFF<)y#ivrVfZ$9Fi z?JK!93QcY-CN2sjZEindiuUvgaPpf=vgE zX8pXcT$-AG`cT`E*)twu3-=4ePG^*#*L7=Tl(u)8w4It&BCzgwZ)D`L2#q_cYYfe{zV0!(b8T&= zf6E7}Y4>ICx=KllOU;j1(K4A=pLtiSS4Y4)BhUSt(uPrD{2E6!71vU%~rTrF~0_{}q*gj*}d}6r5V&VOIWc zyUt20>1ThJUlt2Hckc46a}~T^9VLe{!xyz|2%dI%`v!ke@AqySwbsRa68hy)!BrFD zsW+)6WRgSwL7hcyb9^?HeD+=+-26I2?1G2-OxIk^w;G;jH|xqre?0TWZI)NbY4`j4 z4L;1DQ@Xm}Z10DV3VoF)SH-9F&#UXG%}cob@7hYy_A{d~wU-Sogxo&x6jTBq}> zuPql{fB7?FZ`~5VitP*cx|o>WzkX(N+Pa^eyZUbA&hfkPZHMcd)SE&{y9yJJ^IfQG zoEP)u7WY+If8&Pf2EU#q^v{X7d+_h)o#D&!GV1osoNijYQQqY5xv8vcX32{mh*RP5 z^qjGjn@e=U`pJ_fZ)T}I(z~}|CMNbMTy2S-T=H&7 zOV)99wqDyRU#F=*!(%tk?#cdJ&bBB1PORAU;CZ<^s|}^RvfS6d(0_UE;ibo4y1#$F z`RVni$G^?Qt~^y=lbvrfZQ9%g1-a|rYx;}0ojR-ey142YThA|v+_<1LJ9*V7+u!75 z@a3#Kvzcf8$;=gNef-|(MnBgu>A6*PZu|6Ai+sD^Z~MMf>hR_)d|2#e2=TAA= z486l6=f(uMy+7PO?cQY0PZBrQ9DQj1adBl=_0McinUhcUCwHn9{(Qr6X8!Y@<04$W ziZvdGc&}I7S#*C%;`_@2w-WBKX2xGIZ`=KEY2m||w2m9xrlFQoBaOsH1(n$bqItWX`p4g@+r0nf-|ScC{z^SD|FGl%OE1^S zyOZRn7QEhnZqkyoDv>i!DOD^FTb8jUW_l3&Nw1%|dEA~6Re$v~)K!*fJ)0i4VEt3B zXGcWUb0S)p?lMegyP8Z>2U=#*t~XM!Hj-V{}~cV)ob zC?(fg^Bb$$wzS=!(f|5P;n7vqKiw6XvVKZCAMGvt{AcSzp3Ql6PtU6TpK)~39=kIU z_UA?Kr=GkyMdqK6rp%eIUy3IR3rH0H;Jk9NUq$875)F|vhccs;Jx>Lk(owXu>{MHP zsHv$yqSQTg?OL6cXRe(1^J@{8w`YCDWrv8bVW!K!zqy}uZsVJr6Kk||y=HWU>fYP9 z&2rb4mh_Ds(+5Ix0GdUo2)cgt*>rG=8ZUgbVp z%G7L-CfPMzTg-lH+(oa=r`&d2exLeXkvm+YR!MMfjP3b+YdyvF5Zd;zgE;_3swO+?#ZJy7eUOBhS*Ff0ByK zTc;zebXv&S|MnRX+3RzE&fD2M>xvNX)UW!HCU=b{1*zp)X8C`sJiSi#4Tr%yi}J+d zJHJfkEek(-p5uSH_~9B~`&+G_Q+t!11`F+wc>L7w(TN*t9d_2dx^ji9TDVtr>CwWi z?PmFN?gs6vd-vnbv>k_*eR4|=pXw*OJZy#0t+J|XJJ-t_?ls<2SM2-h*fGhb%g0;hn3dKh?$TMNB6BanYPPD?(#5k<4`;2A z-F~Fx@l+08C;N`nND*1Vzk;qV_f{+Ea@C;!<}nNZV$em*zR4?x3sJq__3U zOX;nW`ukCzT^-N?1FdtV!WHh6ucrsH1vrX!m;AI*4Yx>eh(GG=PjoVmesn8Hu~d;5EL z@r`KFI|h$GKRonu1@CPo^G{-yA3F={W^R#TJ3fWw z$JMRQ-}*$T_sp4@@vA~tTU?cYoTdAPEmr&5C#Gug{@e!-O8=C4TUE=~ckb&hS9$rO zO~rGL-?T4oKQ^1*@V>I4-PfN}t@Y(~UT&Qsv?!%%!4(%*@hj!io`-eqYU15H zyUJXoATsvfyhAshh}5psyu2WMS=!R0OGKBZN*?WrnVg!vIMqMAQ!P$jdi8lfzw^E! zuY$iAX0{!9BV?$2JVlaC{%w5K`V;*%*ME6kez0KaNxOud zY3)l3GnOwE+;rg5=I-l7?GJ19`=?BnO}zi?Gk;r;l#{)lhp+0?XO-{%B)i_+cBFEh zXr6tAXnswV;<{B`%VNutt-c-n8@4E7lg94Q`A?UA2$+|mrR z-u__b*_%}FU;2K&eud4S?V${m&9K4y(KC>nR};vbECZK$wT}ei{JQ7^5Og?@NfEsZ+thEU$^}0 zZ|q4c@>r+V-jYATc~d{*K2I~JX!Q$o0vvPpG`@L$)%*OR8uQ}PJqMzHrnl(L6x+97 z<-Vr9`@cm_>wfHbBz{UZaB<-NzIzgX_q>|$%f`3qnbzBmZ#8e@Z>+j}l4IiJxQgf} zoqbardozA6VO^B6c4>{C4eKhQ^~tk1eQryHEl!>1@-Z?fQXy@hgVy256Z~GOmQ&Q1 zZelt$-6K`?=IMGzE%%8+ig8-*!hsnRPHFwyupw4!^~toKzk?#3y+r;7MM^IYh*6lD z?BV|CXkvZA#m;{3)IN=`_R~+(~!UvYFWsI1gA35Lg!S0!Slhb3*TWoIjn6=RF z|G&vavS+wfm%3QWc?M5BE7TCCe%U{sg8|@EP+%3@JH+sF}=8nv? z>!mq+y1y1o)SNLns1Cycg~-)KKA!NNo6JM^Qu_)F1{+vG9#FMvq0}r!)5kcAIPP> z{usK=+ICX;<|>9a0`Gj4leu1*c-=V@^sGLSzobz|U6ZM=U&MQx$VoS|Ys`Dk?fa*h z;hvwIV=-gDOXmF@H*Xzlv_AUBh<$6M#?MHf-wD?OHT*Z-3{aM`&Z~GgZ4uwnUo&e9 z&Si?p`Yk)Se#@J`?)oJE zFY0rc{ZMCz`ZCqM7v3*k^ZZnovgx8Q>;7Knwcj1?))LRJnKUi*+~EJ-;`Ly;!*SbX?H}iG|gPSySU4 za+DqNlF6xCZnA%7n*q&NGTYA?=>g?v?1EmM5 z4CC9DE;{46&3(nS$7dG5D4kNeZ0@sUvl)rgj`fJixz`$;dFHVDykT|Xw9oqK?+V^; zm^vp&C3voHPXDDkeZyY$UXh&-cvbLPGCTi(2TJgJ1^`Rxr;!`-)bRvtTe zD*5#Cvn$J|1(!Qr)T}&s^j*wmo&CFJeqR|bdtkBHEneG0xv7)R#4f+n+_m)X?n$~~ zMadPW|4;dTcE0!KNKbG|No#7y%+nWZ_&!|lf4JgcjIHKfj_^gloAXvbTw(LOcWTwT z{L1G)l-`BC$nRmAZX%xcCiCQbwPl;bcX_tGcdqbyGwqK|UvkfC$(Q#Uj4N*F9y$1h z$Gxk0&7B+mXVd@l?u*zqq4}lX+h@~?{?6DEKKIhuQZK)7q@m z>uct?B+Ae7__5CG{gQ{fw3VFFZse9sI(pmX2xs?dxzy}JPxa7*o6{%mWT}l%tGsi( z?BtVAQipz5mFm=1tah9CVMXc_&&^iL!gUN!zp?l#_*cS?m+8&A-f4xdYZ7{FU(V4k zvt+NbP(H`^pZ!VlnLo)s%^y0qmxYQQzkMSv%b`hBCu+_X!D;&cDWeF#)msM)twSUdZzYHq-7rsb*jk8d=n zJBht*pLRANn>A0nfNSCLhAVL=Y__(}b$)x{{JC=$Q!etKms`QVS?0Q%OW5+QelPAb zZ+a1-Etymt;dqPT_097s<;>f;FKB&TtQ^&l+-{|tpAsqX{B>jCkIDvLE8)VW%?HG% zo5t+blAdk2XH(vaug!nTR&M1?xjn;XSDjV8wDxzM^_zX8GKDt_PW4IMcA#rlL~qgC zhT04H4QKBkDLHoan}O`D1+t|ZH;G=Dd3Mse8~wM^H(zn8b-8|>^}cqLsiE|i%~#jl zSkJnFKg{oGe#G^zrFOYtoN+iW^nrJCaJ2$tykG*uFqKQ`6<=@^5ZL!+c$V@*%asN z^SJRTM`rTH?$!M6>gO&>Zxou-|I4gM_u&dL`-J`lQwny+e){sVY++b_lG(!7QW5ih z=1h8d@6YzVt@rf8riF)f+|65l{qg6X-$%vz%a1)S{c(3*=H?qFmYUyom;3*yP1=9@ z`KNcKy)(DIT^G1MJM7KeLSO!KXLlUYJ3dGKfw;Qu?z?^$U(THQ`I4a0)R;I`v49n( zoqzjI&g9&9*YNEZi|-8E4;vfmZeu@IQ!?)$=XU=&JyVR|ee62>?xN@R%Z8d>#!mA5 zK3czQ7}sA`z4Y{))gC=V1KVexy8dxazmY2~vipwT^)2VO`hD3MvnV_3imBN%DPi@A z+I>4~{MJ{utvdcpqWGumJJ0!%w;#94wbcHYU2smW_ZRo8jkocQ#t-unKo6^7y0 zJpNodVYeZq{l#~yV==*e@8vEU_nnU3_9<_@x`Fdezw=jml5f5JH1qt6rgaUQPdwCa zOYM^0E7xB?^^Ye13*Ki1KEE9z*H_2Ll>6*de|{u#d%e>aR=2;C^#s*s$rby*XS?kf zzCWAG&9DF9o_m=W4(ib{AhWCGY-g(0(~xs5Y3dVE<)9=2WW`ErXZk z=NnGEJTT=nw{5MSz3>C!^gVJBhOq`7^XGgy(`aZ3xP-*{b8+)Fz_k}YLr|Ey`4DNerc~P?A#NpClV?Sq|3fTqS*WWJgE4N(c zvO&#OR%y%a6mbkaru20=4AaI(~E`=IS&MF7S4O_a^zH6V$k<3#YPOX zQ&Ydr%lr^Iaks?xK$r3f9~@U7&1DZ{m;3N@Z=QOaTLqJtU}EI!8LVA*47gp?d2950 z9~z#2^JU3#!)>>!_)J89NL=}NAmjtjk939Ho}DXZZ8_hPU6i)fRdJ%DNMiXb0rTz~ zoZna6_7|R2CNRzB-NHie={hrSsq|UZYzRC5r6`NjdZ9-b>-8;_*Y+N_eJoXMeMav6 zJEJJ==6So9sD$vmOHDkuXkwRT@im*^ZPi|{F1l9#>6!IYhW~|&FLR(R=gbK+t4rgS zE{mBOx%HOaD;fFIVGGP>9AI6nu;HLlvRdIC?#M~c6mJOac1+Jo-XK~b($+mM@I>F` zD;j*$ZXPcD_HgS0?xG(xa?5W!K4$(VsnVahpILZAwUAD*i|V>dVKNhfexL8U*>x-; z&dGkxM)}hfQ)C76)HLtBcy;*fGT8ak`3>+m#wzAaNBIh(v|nMZm}KN_wU}> zZDHA~BW{>5e07?<DTVsZ~yk)W7PJ!&y`f2W1IWepnL1>TgDvi z@%$fLUZ<_-V1DZx8=JFA&3etg`D@oN-JZYW{1`%V6z*FSr*zAp3M{P4ZzGo82}p0HZTId8tmsgu19HWN7wOee^{V42{fA?oEJds56tNUC*G zKy2B)=77DtFDxc(_#$Ay+nW1*gHzj$YfnU^JmzlbyV1I};cG)_!`24VhHQq_jH?-V z8+JBWHheMGSnTj$ahnIUwFo-Azs<0|AWk-%{QJ(uKCOLa5~3+hYG2O&pFfu z>e@bt9P$^eYx==qt&%?O=VF)-qdQU&Eq&mmfBK|78xP z3+6fe;5qcw;+<7XwxC__2hEmjfpu;>xLoBAJq%Z>5qhX_NL^sv0mkXdF>M8!hg3P_ z-FH|_iR1lX*uu;qt{Bs?LH;3A%V)uFif0t(v>SA95Law?;Qm3eLhzjH495>Gm##7R zDElb-D7|sCU_aPv(6~W5QRZN)LE8ft3D*LJ9)&kfH##>kCt4peYgx;2c;S_(2E`U# zj@g25IGQ<_IsS6Y7WgGlC0He}OK_Kfm7tYC4#!&#X~A0pYdF?&=yIIp@Z}I|ackk_ zcr7R;a7}TI>k9s*SD3FTUQxQDu*PwP+X|-@E-M@~(iI98iWpxxH6hbY!_`1hLeNW~ zOR!6TOOQ+8lk>^f44(ve7N$sD*tzh@RtC!xB7&O)HwhRC8VOtyyd)4L7$h)BaFW0m z3umQs6B^D`v{JJjFK`P`bXj~xgGJRyl%t46vZ>*KasfvRG3d0ZEL*5HjI1JvEbL{6;y~?w8Pmgb4*!K4=0DmoU*V6$L(dj<0Xg>yp5uQxT>lF^WZ&`Q zy|PW$=UV+KS9m^f@Ks2t|I%Cc%Ua`&Vhg*VoWlsopNUivx z?E-y|U5*Plakv-WQaCi1K=sDA!Z($MWj|*;^*eAqdF{>hN4KQ!U-0teKfMd(4RTCX0eda2SxQ7S zI7-wnm^Z#-_{DZXaKU=!yL?|v7p!NhWqonlVLM|j=Zmlf`b@HHyI5bOU3K~PywQ&R zOXLFS20P{w+Y6-**O_XiUIaT_ckxe&=PePvptwN0an_=r-+z8Tkv8e%OC#5;v2F(u~XSmI9n&EPzxq#1!`OvNjeTSl2s#>gCqFSU{ zOgXM{gmO$>7$LP>l;bJKM~*@ctCols36@-rIY#F*1+H*twPdttu%vo;$FALw!~BQ) z0@H=n4)tumgfD16ICr1nuhfgm1 zAA`wxSqJa;+($1?nD6`;mSZn8UFa#xaN3|?qLkwh(XaJdP)JZn1ll-QX``;Q4 z96l}UFUKgv(v)o}pUANHUcdJ3mJ96{x-T?e=)KT-q4Ppxf^&xZjgAX#39cEgCtOb) zJlf51lOvL2CWj=)OO8yAl^mKY(u|xYJ#{-U+2K9&U*;FK3(5~3tY@!cf06Hy&%BrQ zi(183-Ua)a{tCX}ci7Kf#rdM#VLxk?;GW+s7alwGGydgx(e7Z+@XPMPVu$<8RV*(O z7gR3TeeiKPV=ea!iwlMeq*s3bIXUC;Uk-7F9nOUXqL0)B$`(f+6O7?V=J0C?WMMzV zaY(OaE{C69pFX9PC-9hh8#VG_T}fW3g=FaddbfXmMxa zks|E}LKl=SoKCp0ys?h2gy}`PgFoY6kr(O?_H0!`Jhl86mO9maQ*E;R{dkV$??>O5 zzxB&nChT8PyZ`SY<=<~#{eAtd{GIrf-{+rGAv2j;v zE<4k8mLDz|&pjKum%f?PV72V*{dZe`_f@<#%HKLY{`<7))dx?1d>Xgzy!E4}3$GjI z#|28i-Fs~IlxxdAPpj6Adw8d;zxG+j@q4d7R_J}Y^QiKI^8ORWTif>wd+j+Yyf$}s z-uzAf)4G(ufAn@?|01woL?~ol^-tGB6R-bpJuS4Iou`0L;!y6r-1!!pZrkO_ZQkA2 zb93`?spA#PE3dpW=)X}uv;0Q6+|9)MdH1sJm!+(>tGfUiKe%pZQf^pXgWJzVmLL^`*S`+0V^p-F_3cP)+)r&?HuS<4E>R zapxzkbT>*j`Z@EAxKaFhku;;Y^AGgBo+n+_^V)6Y+tJG2-+$%JmDR!do_mc$3%a0Y6AG4A8 z{8(b4d0Kdnx?4x@!qS7AJkvW3!?zsG+PpP2YT-hk+biB)B+$J5$!xZQYmyLB^r#?7R}r>aqE7gBHRxGetR=O4HEf^rVlwFf@3 zKWJxU_dn1uf7_2*mR%Cc`)XD*{`#T8B5_*$hA4yP1%@2?$nxuzoc7_W@2XbUFU=SEp1ph~(!m|W zE_@>5g`;k?OTB5C8OPpjvCmnL9s3d-$ntRZ{n_H%yLK<0r&l1~qVLx%eJ1oyZOGdG z+q1XE8#G0_h)h{};lgh#|GBmA+&Db9W^cJKH?8!!YCY%s)vSWSIzKhCE*aeRYkYl1 zv`MMUEAUFGWW&Y(-yXH7PLHcCJGb0xzLaZbTvcD^W|7MCF^cMEs-H~R>2_|0{|U=N z8AW@6=bWD!Ur+wFV{P?W#>eh`$xphnFaGNM*;A9Y?DN$a?&=dA76;`f*{VnyReNk) zcE`r!$yw&7o7-h-y}nI&{PW2(#@}AwCdj@N+J5`c>m!x_dpuXnF0OO=qLE={G48QE(--zlYbIQXO>340W(uYT z#tKFzrV1v877C`u<_Z>u#tNWKY{n*L3MS@83Z@pO3dW|UU^S-3ATbjKQ)448Gh+h< z6H^NXQ!^t46H8+SkQ@jbTUsa>nVBmXnVMqTs0PY1s2kNl2@oYo8YA7(>t?6`4vZju zHzNfj&^A6)rJ&n;Avur>yeCcptT~7ac1^U6jlO5Dp_zgqIN{sbap?yXd0hGd z3Xq`E4@d{!o*cxb?~|C9u92Fj8yc+1rSBaLy-^wFMPtx*L8z(z`aX%3`K2XX`T;qK z$*H-ic_sQzIr+)iT;T9>%*jm8(|1nID@iRv-USP?5o!WBl+fH&l9-p0Sd;>C8_2F8 zE+n@(DuC?|0yzxiy&%YS&oIY<(hMGxp*{wc(I}=O`xq(wjFB8lrdL5$;c*ZFuY&9c zdllp_G_M+hk_#TAp?-zr8Ke-zLX9KSuOO?SCXf-WAp6071$zwLv!JAn$84x) z4MF)2XUyt*M;oFh7eiyT(i1Hu5^Jn6nz5i{O9j`0ibdq)h?JP{L{T{Sf_no!QzHv5 z*d_M{dd9|PT>9XB@5bhqdKRV%<_6|^#>SQkCI)7DMy3kpMkacO#+In187TeX_J><$ zdTCKAD4Sx2yQ6|J$hF`IHA4*@V^Cs-nu^C8paK_H0RpxUY6KZc4dei@%M3xuDoDXd z0h|zm6igHhK~Wc^Uuw|oryCBDoD@*%1^Lqh`$e;Aut zpofcrp&_WJiK5rg%)%T!jttE#EYba8Xl{TJeun0z1}13kGc-3hL$}x1z{0`+O`Wj; zX4)_|G_b@7Q$tKUj1A3AG5l+2VSpZ1#>SvN3COz!Na?^3)DHj&B8eGey4lDKi+Kj1 zvJ6!(C{d#O%@~_r3s6ysrq>cVTuO=(GjmdlxIjg9W>un3egHS&W45-MwX_=ZmuS7rsj^8#%`8o7G@>}mKKK2<|YPic3gy&fQn6*{AA~h z)a2~q(p&|7XEP@!M`JS=XE!G!Hxm~p7jsi{Ggnt<7iR+_XCqT%P@z>^l2}v%E&_~A O3{6eBR8?L5-M9c`tl|j( literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/images/altText_add.svg b/src/main/resources/static/pdfjs-legacy/images/altText_add.svg new file mode 100644 index 0000000000..3451b536ce --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/altText_add.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/altText_done.svg b/src/main/resources/static/pdfjs-legacy/images/altText_done.svg new file mode 100644 index 0000000000..f54924ebf9 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/altText_done.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg new file mode 100644 index 0000000000..71cd16df57 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-check.svg @@ -0,0 +1,11 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg new file mode 100644 index 0000000000..86f1f17249 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-comment.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg new file mode 100644 index 0000000000..00938fefe0 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-help.svg @@ -0,0 +1,26 @@ + + + + + + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg new file mode 100644 index 0000000000..519ef6826e --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-insert.svg @@ -0,0 +1,10 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg new file mode 100644 index 0000000000..8d09d5378d --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-key.svg @@ -0,0 +1,11 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg new file mode 100644 index 0000000000..38d2497da9 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-newparagraph.svg @@ -0,0 +1,11 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg new file mode 100644 index 0000000000..c07d108083 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-noicon.svg @@ -0,0 +1,7 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg new file mode 100644 index 0000000000..70173651c7 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-note.svg @@ -0,0 +1,42 @@ + + + + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg new file mode 100644 index 0000000000..2bed2250ae --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-paperclip.svg @@ -0,0 +1,6 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg new file mode 100644 index 0000000000..6ae5212b75 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-paragraph.svg @@ -0,0 +1,16 @@ + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg b/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg new file mode 100644 index 0000000000..6e0896cf4a --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/annotation-pushpin.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg b/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg new file mode 100644 index 0000000000..513f6bdfda --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeHighlight.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg b/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg new file mode 100644 index 0000000000..de2838ef10 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/cursor-editorFreeText.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg b/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg new file mode 100644 index 0000000000..1dadb5c015 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/cursor-editorInk.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg b/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg new file mode 100644 index 0000000000..800340cb5b --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/cursor-editorTextHighlight.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg b/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg new file mode 100644 index 0000000000..f84520d85a --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/editor-toolbar-delete.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg b/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg new file mode 100644 index 0000000000..8cb39bec6f --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/findbarButton-next.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg b/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg new file mode 100644 index 0000000000..b610879daf --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/findbarButton-previous.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg b/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg new file mode 100644 index 0000000000..d56cf3ce70 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/gv-toolbarButton-download.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif b/src/main/resources/static/pdfjs-legacy/images/loading-icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c72ebb554be018511ae972c3f2361dff02dce02 GIT binary patch literal 2545 zcmZ?wbhEHblwgox_`<;O|Nnmm28MIz&i(rJ>%oHu8#Zis@!~~aU*CxnC+5tVbK}O1 z6)RR8IB?+8r%z>NWo>P3J9g~I$jD$I8Yuqf_Hzvhc6JPKHPSO+W@KPsQ2Zz5T$Gwv zlA5AWo>`KikeHQNk&~a8qL-PMmd~L0lZBI=fq_8>WCh5P46N%E6#7&c98;tCxPIC^ zSum;Pa8IC#S&L0KKfB`;VP1~I^E)1TFeEZCFI;FfiI4AfWlV0vu477I@|1J}BsjmA7YjZ6pKJ?(jU&Yj+} zqDu|jxF=xAg~j3A3xqY5tQT+;Ms&oT z=WsDKm>|^N#(A~F#=}@paic&78*8?%V4eU+VuQj&jU$8s027vvXv*ac(r#Z zbMdgU^4PcYRdp)W30VwzTb0%` za2f5Wo{~_(G=VLva*qiU(?MsQ%_fVt=PTzeRM~U<@caYqSUs@=nKdBKC~%}k@v%jUs2HwT9H@~zsprJSON*}it1HRy z9hkW20LLMQZsw+I3Wi*pg%=dw=uJ^#Zgv#l6}T!DcBI0h;OIvaOA8Ab-yr7$4vgY_ zoT*yO#tyuho?V)3TymV{B{m5!n0P@mHM;QtyFiGm zsllUy9im59JW)94Hbsi7u{z8`=Y%SAf-!HpXL~s)_}h$m*!lR_d3d{e`m`oYn$j_E ze#T5C=B@@!PC@oUlkR1j%>06a0?N$Y>1@pmOOyrp1cP_0bS+fsQQ_LP#*Xa_%Och8 zgzm*xiq3mg^BT7AI;(Q3qZNC)+5+;4gFxymGnJ+Z#}@SUCiL(aYaO-iW@6-?AS}t% zdjEt%Ku3&{+rgES-m+{GP6)W5ySDlAg%nX!fv|&0jYjip?DLcqHF$Ygc63c_crjIz zIkln1q@ps}o`aK}os)yNovqWjySKk}=1krx%H@?_+WxpNqJ1^HE2noSlku-UN-3bd$)MKN#*@~vP=KF1&+xZSw&f;6LXu=9BJ{M!ILmmd(bc9&M7}T>2B=!Y13lw*<@HF{o7e@qIoa7`l;T^H47i;*mMusQQxXtJ;bV{0@;2n>SK{RJsBv%-6tw3%;Azr& zLYaqeL9ohx-TInsHCTPH9^``yCLkXqf_=ava3q6cThHe0b37F$9OTe%@LnRI60ZA@ z(?CEY!FbMD29b+yENqW&9eTFklWnmn8WQ&RIvSvfgf}3d~eX0!%qrZptov6BhmzlOZ4|$lqtc!^+B~%p}Ms;LM%E%VWs3 zz>|5AGCQ9J2S+9+tL|JLzR3)n2Lw2oO8NO*+1Y(KxeHnNcs8F=V&cqD-KcU%#iom4 zdm&bjfRht(9+81~1tkB_}em4k=Jm4SB1uBV9#C%Z-!12gLqDe1ABk$=_)L+;Nz*}&0*uMscUFzF{|n= zH)76GX5nUMbz@=T>QUlgXXl)x%EiPK#xkG7nP(0!Q|wZ+L>1PB3|xWCJgcmXm^fn? zcp4d)cwF7MIXzjYs~xUj<6N(FcJdlG6O{|Gy~;Z(uzF)N)EiNJOqmi-7EJPD>18nl zH9-10oTdo#cG(N66bbB|!xHk!qsk>fT`A`YvxW?Ro8d;&X_b2g4?nahNpG7YGQB`& zQsLp*Q+$8@*MgKw^}K~FY`je^p!P?@6s6j!%4`ChN%oc1Oq`so)tX(!ES%iB49pzG zYpteP+A*gx@GN0))p3q7=3<@8(H_UN-I$d%nrALA)0%m#`*zG_U}M@4y!}YcjNO~; M6&b8S4Ja@M0QU?Ts{jB1 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/images/loading.svg b/src/main/resources/static/pdfjs-legacy/images/loading.svg new file mode 100644 index 0000000000..0a15ff6885 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/loading.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg new file mode 100644 index 0000000000..dd3917b91d --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-documentProperties.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg new file mode 100644 index 0000000000..f5c917f12a --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-firstPage.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg new file mode 100644 index 0000000000..b7073b5989 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-handTool.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg new file mode 100644 index 0000000000..c04f65079c --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-lastPage.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg new file mode 100644 index 0000000000..da73a1b16b --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCcw.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg new file mode 100644 index 0000000000..c41ce7365e --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-rotateCw.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg new file mode 100644 index 0000000000..fb440b9465 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollHorizontal.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg new file mode 100644 index 0000000000..64a9f50073 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollPage.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg new file mode 100644 index 0000000000..dc7e805200 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollVertical.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg new file mode 100644 index 0000000000..75fe26bcfc --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-scrollWrapped.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg new file mode 100644 index 0000000000..94d51410dd --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-selectTool.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg new file mode 100644 index 0000000000..ce201e33c0 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadEven.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg new file mode 100644 index 0000000000..e8d487fa38 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadNone.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg new file mode 100644 index 0000000000..9211a427bf --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/secondaryToolbarButton-spreadOdd.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolBarButton-home.svg b/src/main/resources/static/pdfjs-legacy/images/toolBarButton-home.svg new file mode 100644 index 0000000000..5184bc11d8 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolBarButton-home.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg new file mode 100644 index 0000000000..c4c37c9058 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-bookmark.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg new file mode 100644 index 0000000000..01e67623bf --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-currentOutlineItem.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg new file mode 100644 index 0000000000..e2e850adf7 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-download.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg new file mode 100644 index 0000000000..13a67bd9b6 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorFreeText.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg new file mode 100644 index 0000000000..b3cd7fda9c --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorHighlight.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg new file mode 100644 index 0000000000..b579eec7ee --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorInk.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg new file mode 100644 index 0000000000..a1fef4922d --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-editorStamp.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg new file mode 100644 index 0000000000..82ffeaabb9 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-menuArrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg new file mode 100644 index 0000000000..e773781d60 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-openFile.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg new file mode 100644 index 0000000000..1fc12e733d --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageDown.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg new file mode 100644 index 0000000000..0936b9a578 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-pageUp.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg new file mode 100644 index 0000000000..901d5672bc --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-presentationMode.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg new file mode 100644 index 0000000000..97a390474d --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-print.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg new file mode 100644 index 0000000000..0cc7ae21ac --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-search.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg new file mode 100644 index 0000000000..cace863728 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-secondaryToolbarToggle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg new file mode 100644 index 0000000000..1d8d0e4b23 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-sidebarToggle.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg new file mode 100644 index 0000000000..ab73f6e6e0 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewAttachments.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg new file mode 100644 index 0000000000..1d72668264 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewLayers.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg new file mode 100644 index 0000000000..7ed1bd97f2 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewOutline.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg new file mode 100644 index 0000000000..040d123266 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-viewThumbnail.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg new file mode 100644 index 0000000000..30ec51a2ff --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomIn.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg new file mode 100644 index 0000000000..f273b5995c --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/toolbarButton-zoomOut.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg b/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg new file mode 100644 index 0000000000..831cddfc86 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/treeitem-collapsed.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg b/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg new file mode 100644 index 0000000000..2d45f0c8d1 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/images/treeitem-expanded.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/js/viewer.mjs b/src/main/resources/static/pdfjs-legacy/js/viewer.mjs new file mode 100644 index 0000000000..72c9dd6ec8 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/js/viewer.mjs @@ -0,0 +1,18511 @@ +/** + * @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 + */ + +/******/ var __webpack_modules__ = ({ + +/***/ 9306: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(4901); +var tryToString = __webpack_require__(6823); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), + +/***/ 3506: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isPossiblePrototype = __webpack_require__(3925); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), + +/***/ 7080: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var has = (__webpack_require__(4402).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), + +/***/ 679: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isPrototypeOf = __webpack_require__(1625); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), + +/***/ 8551: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isObject = __webpack_require__(34); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), + +/***/ 9617: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toIndexedObject = __webpack_require__(5397); +var toAbsoluteIndex = __webpack_require__(5610); +var lengthOfArrayLike = __webpack_require__(6198); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } 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 = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), + +/***/ 4527: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var isArray = __webpack_require__(4376); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + 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 new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), + +/***/ 6319: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var anObject = __webpack_require__(8551); +var iteratorClose = __webpack_require__(9539); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), + +/***/ 4576: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), + +/***/ 6955: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(2140); +var isCallable = __webpack_require__(4901); +var classofRaw = __webpack_require__(4576); +var wellKnownSymbol = __webpack_require__(8227); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), + +/***/ 7740: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var hasOwn = __webpack_require__(9297); +var ownKeys = __webpack_require__(5031); +var getOwnPropertyDescriptorModule = __webpack_require__(7347); +var definePropertyModule = __webpack_require__(4913); + +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)); + } + } +}; + + +/***/ }), + +/***/ 2211: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(9039); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), + +/***/ 2529: +/***/ ((module) => { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), + +/***/ 6699: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var definePropertyModule = __webpack_require__(4913); +var createPropertyDescriptor = __webpack_require__(6980); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), + +/***/ 6980: +/***/ ((module) => { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), + +/***/ 4659: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var definePropertyModule = __webpack_require__(4913); +var createPropertyDescriptor = __webpack_require__(6980); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), + +/***/ 2106: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var makeBuiltIn = __webpack_require__(283); +var defineProperty = __webpack_require__(4913); + +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); +}; + + +/***/ }), + +/***/ 6840: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(4901); +var definePropertyModule = __webpack_require__(4913); +var makeBuiltIn = __webpack_require__(283); +var defineGlobalProperty = __webpack_require__(9433); + +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) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), + +/***/ 6279: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var defineBuiltIn = __webpack_require__(6840); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), + +/***/ 9433: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +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; +}; + + +/***/ }), + +/***/ 3724: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(9039); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), + +/***/ 4055: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); +var isObject = __webpack_require__(34); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), + +/***/ 6837: +/***/ ((module) => { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), + +/***/ 5002: +/***/ ((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 } +}; + + +/***/ }), + +/***/ 9392: +/***/ ((module) => { + + +module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; + + +/***/ }), + +/***/ 7388: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); +var userAgent = __webpack_require__(9392); + +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('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +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; + + +/***/ }), + +/***/ 8727: +/***/ ((module) => { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), + +/***/ 6193: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable -- safe +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; +}; + + +/***/ }), + +/***/ 6518: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); +var getOwnPropertyDescriptor = (__webpack_require__(7347).f); +var createNonEnumerableProperty = __webpack_require__(6699); +var defineBuiltIn = __webpack_require__(6840); +var defineGlobalProperty = __webpack_require__(9433); +var copyConstructorProperties = __webpack_require__(7740); +var isForced = __webpack_require__(2796); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +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] && 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); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), + +/***/ 9039: +/***/ ((module) => { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), + +/***/ 6080: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(7476); +var aCallable = __webpack_require__(9306); +var NATIVE_BIND = __webpack_require__(616); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ 616: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(9039); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), + +/***/ 9565: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_BIND = __webpack_require__(616); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), + +/***/ 350: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var hasOwn = __webpack_require__(9297); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), + +/***/ 6706: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var aCallable = __webpack_require__(9306); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), + +/***/ 7476: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var classofRaw = __webpack_require__(4576); +var uncurryThis = __webpack_require__(9504); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), + +/***/ 9504: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_BIND = __webpack_require__(616); + +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); + }; +}; + + +/***/ }), + +/***/ 7751: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); +var isCallable = __webpack_require__(4901); + +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]; +}; + + +/***/ }), + +/***/ 1767: +/***/ ((module) => { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), + +/***/ 851: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var classof = __webpack_require__(6955); +var getMethod = __webpack_require__(5966); +var isNullOrUndefined = __webpack_require__(4117); +var Iterators = __webpack_require__(6269); +var wellKnownSymbol = __webpack_require__(8227); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), + +/***/ 81: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var tryToString = __webpack_require__(6823); +var getIteratorMethod = __webpack_require__(851); + +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 new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), + +/***/ 5966: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aCallable = __webpack_require__(9306); +var isNullOrUndefined = __webpack_require__(4117); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), + +/***/ 3789: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var call = __webpack_require__(9565); +var toIntegerOrInfinity = __webpack_require__(1291); +var getIteratorDirect = __webpack_require__(1767); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), + +/***/ 4475: +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), + +/***/ 9297: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var toObject = __webpack_require__(8981); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), + +/***/ 421: +/***/ ((module) => { + + +module.exports = {}; + + +/***/ }), + +/***/ 397: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(7751); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), + +/***/ 5917: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var fails = __webpack_require__(9039); +var createElement = __webpack_require__(4055); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), + +/***/ 7055: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var fails = __webpack_require__(9039); +var classof = __webpack_require__(4576); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), + +/***/ 3167: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(4901); +var isObject = __webpack_require__(34); +var setPrototypeOf = __webpack_require__(2967); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), + +/***/ 3706: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var isCallable = __webpack_require__(4901); +var store = __webpack_require__(7629); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), + +/***/ 1181: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var NATIVE_WEAK_MAP = __webpack_require__(8622); +var global = __webpack_require__(4475); +var isObject = __webpack_require__(34); +var createNonEnumerableProperty = __webpack_require__(6699); +var hasOwn = __webpack_require__(9297); +var shared = __webpack_require__(7629); +var sharedKey = __webpack_require__(6119); +var hiddenKeys = __webpack_require__(421); + +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 new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new 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 new 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 +}; + + +/***/ }), + +/***/ 4209: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var wellKnownSymbol = __webpack_require__(8227); +var Iterators = __webpack_require__(6269); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), + +/***/ 4376: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var classof = __webpack_require__(4576); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), + +/***/ 4901: +/***/ ((module) => { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), + +/***/ 2796: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(9039); +var isCallable = __webpack_require__(4901); + +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; + + +/***/ }), + +/***/ 4117: +/***/ ((module) => { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), + +/***/ 34: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isCallable = __webpack_require__(4901); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), + +/***/ 3925: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isObject = __webpack_require__(34); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), + +/***/ 6395: +/***/ ((module) => { + + +module.exports = false; + + +/***/ }), + +/***/ 757: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(7751); +var isCallable = __webpack_require__(4901); +var isPrototypeOf = __webpack_require__(1625); +var USE_SYMBOL_AS_UID = __webpack_require__(7040); + +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)); +}; + + +/***/ }), + +/***/ 507: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); + +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; + } +}; + + +/***/ }), + +/***/ 2652: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var bind = __webpack_require__(6080); +var call = __webpack_require__(9565); +var anObject = __webpack_require__(8551); +var tryToString = __webpack_require__(6823); +var isArrayIteratorMethod = __webpack_require__(4209); +var lengthOfArrayLike = __webpack_require__(6198); +var isPrototypeOf = __webpack_require__(1625); +var getIterator = __webpack_require__(81); +var getIteratorMethod = __webpack_require__(851); +var iteratorClose = __webpack_require__(9539); + +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 new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + 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); +}; + + +/***/ }), + +/***/ 9539: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); +var anObject = __webpack_require__(8551); +var getMethod = __webpack_require__(5966); + +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; +}; + + +/***/ }), + +/***/ 9462: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); +var create = __webpack_require__(2360); +var createNonEnumerableProperty = __webpack_require__(6699); +var defineBuiltIns = __webpack_require__(6279); +var wellKnownSymbol = __webpack_require__(8227); +var InternalStateModule = __webpack_require__(1181); +var getMethod = __webpack_require__(5966); +var IteratorPrototype = (__webpack_require__(7657).IteratorPrototype); +var createIterResultObject = __webpack_require__(2529); +var iteratorClose = __webpack_require__(9539); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), + +/***/ 713: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var getIteratorDirect = __webpack_require__(1767); +var createIteratorProxy = __webpack_require__(9462); +var callWithSafeIterationClosing = __webpack_require__(6319); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), + +/***/ 7657: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var fails = __webpack_require__(9039); +var isCallable = __webpack_require__(4901); +var isObject = __webpack_require__(34); +var create = __webpack_require__(2360); +var getPrototypeOf = __webpack_require__(2787); +var defineBuiltIn = __webpack_require__(6840); +var wellKnownSymbol = __webpack_require__(8227); +var IS_PURE = __webpack_require__(6395); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), + +/***/ 6269: +/***/ ((module) => { + + +module.exports = {}; + + +/***/ }), + +/***/ 6198: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toLength = __webpack_require__(8014); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), + +/***/ 283: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var fails = __webpack_require__(9039); +var isCallable = __webpack_require__(4901); +var hasOwn = __webpack_require__(9297); +var DESCRIPTORS = __webpack_require__(3724); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(350).CONFIGURABLE); +var inspectSource = __webpack_require__(3706); +var InternalStateModule = __webpack_require__(1181); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +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 () { /* empty */ }, '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 }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), + +/***/ 741: +/***/ ((module) => { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), + +/***/ 6043: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aCallable = __webpack_require__(9306); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), + +/***/ 2603: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toString = __webpack_require__(655); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), + +/***/ 2360: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(8551); +var definePropertiesModule = __webpack_require__(6801); +var enumBugKeys = __webpack_require__(8727); +var hiddenKeys = __webpack_require__(421); +var html = __webpack_require__(397); +var documentCreateElement = __webpack_require__(4055); +var sharedKey = __webpack_require__(6119); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; // avoid memory leak + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), + +/***/ 6801: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(8686); +var definePropertyModule = __webpack_require__(4913); +var anObject = __webpack_require__(8551); +var toIndexedObject = __webpack_require__(5397); +var objectKeys = __webpack_require__(1072); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +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; +}; + + +/***/ }), + +/***/ 4913: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var IE8_DOM_DEFINE = __webpack_require__(5917); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(8686); +var anObject = __webpack_require__(8551); +var toPropertyKey = __webpack_require__(6969); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +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) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), + +/***/ 7347: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var call = __webpack_require__(9565); +var propertyIsEnumerableModule = __webpack_require__(8773); +var createPropertyDescriptor = __webpack_require__(6980); +var toIndexedObject = __webpack_require__(5397); +var toPropertyKey = __webpack_require__(6969); +var hasOwn = __webpack_require__(9297); +var IE8_DOM_DEFINE = __webpack_require__(5917); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-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) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), + +/***/ 8480: +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + +var internalObjectKeys = __webpack_require__(1828); +var enumBugKeys = __webpack_require__(8727); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ 3717: +/***/ ((__unused_webpack_module, exports) => { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), + +/***/ 2787: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var hasOwn = __webpack_require__(9297); +var isCallable = __webpack_require__(4901); +var toObject = __webpack_require__(8981); +var sharedKey = __webpack_require__(6119); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(2211); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +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; +}; + + +/***/ }), + +/***/ 1625: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), + +/***/ 1828: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var hasOwn = __webpack_require__(9297); +var toIndexedObject = __webpack_require__(5397); +var indexOf = (__webpack_require__(9617).indexOf); +var hiddenKeys = __webpack_require__(421); + +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); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), + +/***/ 1072: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var internalObjectKeys = __webpack_require__(1828); +var enumBugKeys = __webpack_require__(8727); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ 8773: +/***/ ((__unused_webpack_module, exports) => { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), + +/***/ 2967: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(6706); +var isObject = __webpack_require__(34); +var requireObjectCoercible = __webpack_require__(7750); +var aPossiblePrototype = __webpack_require__(3506); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +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) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), + +/***/ 4270: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); +var isCallable = __webpack_require__(4901); +var isObject = __webpack_require__(34); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +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 new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ 5031: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(7751); +var uncurryThis = __webpack_require__(9504); +var getOwnPropertyNamesModule = __webpack_require__(8480); +var getOwnPropertySymbolsModule = __webpack_require__(3717); +var anObject = __webpack_require__(8551); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +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; +}; + + +/***/ }), + +/***/ 8235: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var hasOwn = __webpack_require__(9297); + +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; +// eslint-disable-next-line regexp/no-control-character -- safe +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 new $SyntaxError('Bad Unicode escape at: ' + i); + value += fromCharCode($parseInt(fourHexDigits, 16)); + i += 4; + } else throw new $SyntaxError('Unknown escape sequence: "' + twoChars + '"'); + } else if (chr === '"') { + unterminated = false; + i++; + break; + } else { + if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i); + value += chr; + i++; + } + } + if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i); + return { value: value, end: i }; +}; + + +/***/ }), + +/***/ 7750: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var isNullOrUndefined = __webpack_require__(4117); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ 9286: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var SetHelpers = __webpack_require__(4402); +var iterate = __webpack_require__(8469); + +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; +}; + + +/***/ }), + +/***/ 3440: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var SetHelpers = __webpack_require__(4402); +var clone = __webpack_require__(9286); +var size = __webpack_require__(5170); +var getSetRecord = __webpack_require__(3789); +var iterateSet = __webpack_require__(8469); +var iterateSimple = __webpack_require__(507); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +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; +}; + + +/***/ }), + +/***/ 4402: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), + +/***/ 8750: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var SetHelpers = __webpack_require__(4402); +var size = __webpack_require__(5170); +var getSetRecord = __webpack_require__(3789); +var iterateSet = __webpack_require__(8469); +var iterateSimple = __webpack_require__(507); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +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; +}; + + +/***/ }), + +/***/ 4449: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var has = (__webpack_require__(4402).has); +var size = __webpack_require__(5170); +var getSetRecord = __webpack_require__(3789); +var iterateSet = __webpack_require__(8469); +var iterateSimple = __webpack_require__(507); +var iteratorClose = __webpack_require__(9539); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +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; +}; + + +/***/ }), + +/***/ 3838: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var size = __webpack_require__(5170); +var iterate = __webpack_require__(8469); +var getSetRecord = __webpack_require__(3789); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +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; +}; + + +/***/ }), + +/***/ 8527: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var has = (__webpack_require__(4402).has); +var size = __webpack_require__(5170); +var getSetRecord = __webpack_require__(3789); +var iterateSimple = __webpack_require__(507); +var iteratorClose = __webpack_require__(9539); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +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; +}; + + +/***/ }), + +/***/ 8469: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); +var iterateSimple = __webpack_require__(507); +var SetHelpers = __webpack_require__(4402); + +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); +}; + + +/***/ }), + +/***/ 4916: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var getBuiltIn = __webpack_require__(7751); + +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 { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), + +/***/ 5170: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThisAccessor = __webpack_require__(6706); +var SetHelpers = __webpack_require__(4402); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), + +/***/ 3650: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var SetHelpers = __webpack_require__(4402); +var clone = __webpack_require__(9286); +var getSetRecord = __webpack_require__(3789); +var iterateSimple = __webpack_require__(507); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +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; +}; + + +/***/ }), + +/***/ 4204: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var aSet = __webpack_require__(7080); +var add = (__webpack_require__(4402).add); +var clone = __webpack_require__(9286); +var getSetRecord = __webpack_require__(3789); +var iterateSimple = __webpack_require__(507); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +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; +}; + + +/***/ }), + +/***/ 6119: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var shared = __webpack_require__(5745); +var uid = __webpack_require__(3392); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), + +/***/ 7629: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var IS_PURE = __webpack_require__(6395); +var globalThis = __webpack_require__(4475); +var defineGlobalProperty = __webpack_require__(9433); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.37.1', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), + +/***/ 5745: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var store = __webpack_require__(7629); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), + +/***/ 4495: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(7388); +var fails = __webpack_require__(9039); +var global = __webpack_require__(4475); + +var $String = global.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), + +/***/ 5610: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toIntegerOrInfinity = __webpack_require__(1291); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ 5397: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(7055); +var requireObjectCoercible = __webpack_require__(7750); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ 1291: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var trunc = __webpack_require__(741); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), + +/***/ 8014: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toIntegerOrInfinity = __webpack_require__(1291); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ 8981: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var requireObjectCoercible = __webpack_require__(7750); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), + +/***/ 2777: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var call = __webpack_require__(9565); +var isObject = __webpack_require__(34); +var isSymbol = __webpack_require__(757); +var getMethod = __webpack_require__(5966); +var ordinaryToPrimitive = __webpack_require__(4270); +var wellKnownSymbol = __webpack_require__(8227); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-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 new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), + +/***/ 6969: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var toPrimitive = __webpack_require__(2777); +var isSymbol = __webpack_require__(757); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), + +/***/ 2140: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var wellKnownSymbol = __webpack_require__(8227); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), + +/***/ 655: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var classof = __webpack_require__(6955); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), + +/***/ 6823: +/***/ ((module) => { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), + +/***/ 3392: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var uncurryThis = __webpack_require__(9504); + +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); +}; + + +/***/ }), + +/***/ 7040: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(4495); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }), + +/***/ 8686: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var fails = __webpack_require__(9039); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), + +/***/ 2812: +/***/ ((module) => { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), + +/***/ 8622: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); +var isCallable = __webpack_require__(4901); + +var WeakMap = global.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), + +/***/ 8227: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + +var global = __webpack_require__(4475); +var shared = __webpack_require__(5745); +var hasOwn = __webpack_require__(9297); +var uid = __webpack_require__(3392); +var NATIVE_SYMBOL = __webpack_require__(4495); +var USE_SYMBOL_AS_UID = __webpack_require__(7040); + +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]; +}; + + +/***/ }), + +/***/ 4114: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var toObject = __webpack_require__(8981); +var lengthOfArrayLike = __webpack_require__(6198); +var setArrayLength = __webpack_require__(4527); +var doesNotExceedSafeInteger = __webpack_require__(6837); +var fails = __webpack_require__(9039); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + 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; + } +}); + + +/***/ }), + +/***/ 4628: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var newPromiseCapabilityModule = __webpack_require__(6043); + +// `Promise.withResolvers` method +// https://github.com/tc39/proposal-promise-with-resolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), + +/***/ 7642: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var difference = __webpack_require__(3440); +var setMethodAcceptSetLike = __webpack_require__(4916); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), + +/***/ 8004: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var fails = __webpack_require__(9039); +var intersection = __webpack_require__(8750); +var setMethodAcceptSetLike = __webpack_require__(4916); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), + +/***/ 3853: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var isDisjointFrom = __webpack_require__(4449); +var setMethodAcceptSetLike = __webpack_require__(4916); + +// `Set.prototype.isDisjointFrom` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), + +/***/ 5876: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var isSubsetOf = __webpack_require__(3838); +var setMethodAcceptSetLike = __webpack_require__(4916); + +// `Set.prototype.isSubsetOf` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), + +/***/ 2475: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var isSupersetOf = __webpack_require__(8527); +var setMethodAcceptSetLike = __webpack_require__(4916); + +// `Set.prototype.isSupersetOf` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), + +/***/ 5024: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var symmetricDifference = __webpack_require__(3650); +var setMethodAcceptSetLike = __webpack_require__(4916); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), + +/***/ 1698: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var union = __webpack_require__(4204); +var setMethodAcceptSetLike = __webpack_require__(4916); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), + +/***/ 8992: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var global = __webpack_require__(4475); +var anInstance = __webpack_require__(679); +var anObject = __webpack_require__(8551); +var isCallable = __webpack_require__(4901); +var getPrototypeOf = __webpack_require__(2787); +var defineBuiltInAccessor = __webpack_require__(2106); +var createProperty = __webpack_require__(4659); +var fails = __webpack_require__(9039); +var hasOwn = __webpack_require__(9297); +var wellKnownSymbol = __webpack_require__(8227); +var IteratorPrototype = (__webpack_require__(7657).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(3724); +var IS_PURE = __webpack_require__(6395); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = global[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://github.com/tc39/proposal-iterator-helpers +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), + +/***/ 3215: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var iterate = __webpack_require__(2652); +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var getIteratorDirect = __webpack_require__(1767); + +// `Iterator.prototype.every` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), + +/***/ 4520: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var call = __webpack_require__(9565); +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var getIteratorDirect = __webpack_require__(1767); +var createIteratorProxy = __webpack_require__(9462); +var callWithSafeIterationClosing = __webpack_require__(6319); +var IS_PURE = __webpack_require__(6395); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), + +/***/ 3949: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var iterate = __webpack_require__(2652); +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var getIteratorDirect = __webpack_require__(1767); + +// `Iterator.prototype.forEach` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), + +/***/ 1454: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var map = __webpack_require__(713); +var IS_PURE = __webpack_require__(6395); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), + +/***/ 7550: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var iterate = __webpack_require__(2652); +var aCallable = __webpack_require__(9306); +var anObject = __webpack_require__(8551); +var getIteratorDirect = __webpack_require__(1767); + +// `Iterator.prototype.some` method +// https://github.com/tc39/proposal-iterator-helpers +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), + +/***/ 8335: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var DESCRIPTORS = __webpack_require__(3724); +var global = __webpack_require__(4475); +var getBuiltIn = __webpack_require__(7751); +var uncurryThis = __webpack_require__(9504); +var call = __webpack_require__(9565); +var isCallable = __webpack_require__(4901); +var isObject = __webpack_require__(34); +var isArray = __webpack_require__(4376); +var hasOwn = __webpack_require__(9297); +var toString = __webpack_require__(655); +var lengthOfArrayLike = __webpack_require__(6198); +var createProperty = __webpack_require__(4659); +var fails = __webpack_require__(9039); +var parseJSONString = __webpack_require__(8235); +var NATIVE_SYMBOL = __webpack_require__(4495); + +var JSON = global.JSON; +var Number = global.Number; +var SyntaxError = global.SyntaxError; +var nativeParse = JSON && JSON.parse; +var enumerableOwnProperties = getBuiltIn('Object', 'keys'); +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +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 new 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; +}; + +// https://www.json.org/json-en.html +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 new 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; + } + // Parsing the key + var result = this.fork(i).string(); + var key = result.value; + i = result.end; + i = this.until([':'], i) + 1; + // Parsing value + 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 new 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 new 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 new 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 new 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 () { + // Safari 9 bug + return 1 / nativeParse('-0 \t') !== -Infinity; +}); + +// `JSON.parse` method +// https://tc39.es/ecma262/#sec-json.parse +// https://github.com/tc39/proposal-json-parse-with-source +$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, { + parse: function parse(text, reviver) { + return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver); + } +}); + + +/***/ }), + +/***/ 3375: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(7642); + + +/***/ }), + +/***/ 9225: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(8004); + + +/***/ }), + +/***/ 3972: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(3853); + + +/***/ }), + +/***/ 9209: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(5876); + + +/***/ }), + +/***/ 5714: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(2475); + + +/***/ }), + +/***/ 7561: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(5024); + + +/***/ }), + +/***/ 6197: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +// TODO: Remove from `core-js@4` +__webpack_require__(1698); + + +/***/ }), + +/***/ 4979: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var $ = __webpack_require__(6518); +var global = __webpack_require__(4475); +var getBuiltIn = __webpack_require__(7751); +var createPropertyDescriptor = __webpack_require__(6980); +var defineProperty = (__webpack_require__(4913).f); +var hasOwn = __webpack_require__(9297); +var anInstance = __webpack_require__(679); +var inheritIfRequired = __webpack_require__(3167); +var normalizeStringArgument = __webpack_require__(2603); +var DOMExceptionConstants = __webpack_require__(5002); +var clearErrorStack = __webpack_require__(6193); +var DESCRIPTORS = __webpack_require__(3724); +var IS_PURE = __webpack_require__(6395); + +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 = new 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 new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + 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)); + } + } +} + + +/***/ }), + +/***/ 4603: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var defineBuiltIn = __webpack_require__(6840); +var uncurryThis = __webpack_require__(9504); +var toString = __webpack_require__(655); +var validateArgumentsLength = __webpack_require__(2812); + +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); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + 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) { // also validates `this` + 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 }); +} + + +/***/ }), + +/***/ 7566: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var defineBuiltIn = __webpack_require__(6840); +var uncurryThis = __webpack_require__(9504); +var toString = __webpack_require__(655); +var validateArgumentsLength = __webpack_require__(2812); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + 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 }); +} + + +/***/ }), + +/***/ 8721: +/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { + + +var DESCRIPTORS = __webpack_require__(3724); +var uncurryThis = __webpack_require__(9504); +var defineBuiltInAccessor = __webpack_require__(2106); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // 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; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + PDFViewerApplication: () => (/* reexport */ PDFViewerApplication), + PDFViewerApplicationConstants: () => (/* binding */ AppConstants), + PDFViewerApplicationOptions: () => (/* reexport */ AppOptions) +}); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__(4114); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.difference.v2.js +var esnext_set_difference_v2 = __webpack_require__(3375); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.intersection.v2.js +var esnext_set_intersection_v2 = __webpack_require__(9225); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js +var esnext_set_is_disjoint_from_v2 = __webpack_require__(3972); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js +var esnext_set_is_subset_of_v2 = __webpack_require__(9209); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js +var esnext_set_is_superset_of_v2 = __webpack_require__(5714); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js +var esnext_set_symmetric_difference_v2 = __webpack_require__(7561); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.set.union.v2.js +var esnext_set_union_v2 = __webpack_require__(6197); +// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.delete.js +var web_url_search_params_delete = __webpack_require__(4603); +// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.has.js +var web_url_search_params_has = __webpack_require__(7566); +// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.size.js +var web_url_search_params_size = __webpack_require__(8721); +;// CONCATENATED MODULE: ./web/ui_utils.js + + + + + + + + + + + +const DEFAULT_SCALE_VALUE = "auto"; +const DEFAULT_SCALE = 1.0; +const DEFAULT_SCALE_DELTA = 1.1; +const MIN_SCALE = 0.1; +const MAX_SCALE = 10.0; +const UNKNOWN_SCALE = 0; +const MAX_AUTO_SCALE = 1.25; +const SCROLLBAR_PADDING = 40; +const VERTICAL_PADDING = 5; +const RenderingStates = { + INITIAL: 0, + RUNNING: 1, + PAUSED: 2, + FINISHED: 3 +}; +const PresentationModeState = { + UNKNOWN: 0, + NORMAL: 1, + CHANGING: 2, + FULLSCREEN: 3 +}; +const SidebarView = { + UNKNOWN: -1, + NONE: 0, + THUMBS: 1, + OUTLINE: 2, + ATTACHMENTS: 3, + LAYERS: 4 +}; +const TextLayerMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_PERMISSIONS: 2 +}; +const ScrollMode = { + UNKNOWN: -1, + VERTICAL: 0, + HORIZONTAL: 1, + WRAPPED: 2, + PAGE: 3 +}; +const SpreadMode = { + UNKNOWN: -1, + NONE: 0, + ODD: 1, + EVEN: 2 +}; +const CursorTool = { + SELECT: 0, + HAND: 1, + ZOOM: 2 +}; +const AutoPrintRegExp = /\bprint\s*\(/; +class OutputScale { + constructor() { + const pixelRatio = window.devicePixelRatio || 1; + this.sx = pixelRatio; + this.sy = pixelRatio; + } + get scaled() { + return this.sx !== 1 || this.sy !== 1; + } +} +function scrollIntoView(element, spot, scrollMatches = 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 InvisibleCharsRegExp = /[\x00-\x1F]/g; +function removeNullCharacters(str, replaceInvisible = false) { + if (!InvisibleCharsRegExp.test(str)) { + return str; + } + if (replaceInvisible) { + return str.replaceAll(InvisibleCharsRegExp, m => m === "\x00" ? "" : " "); + } + return str.replaceAll("\x00", ""); +} +function binarySearchFirstItem(items, condition, start = 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({ + view, + userUnit, + rotate +}) { + 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({ + scrollEl, + views, + sortByVisibility = false, + horizontal = false, + rtl = false +}) { + 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); +}); +const docStyle = document.documentElement.style; +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(delay = 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"); + } +} +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, view = null) { + button.classList.toggle("toggled", toggle); + button.setAttribute("aria-checked", toggle); + view?.classList.toggle("hidden", !toggle); +} +function toggleExpandedBtn(button, toggle, view = null) { + button.classList.toggle("toggled", toggle); + button.setAttribute("aria-expanded", toggle); + view?.classList.toggle("hidden", !toggle); +} + +;// CONCATENATED MODULE: ./web/app_options.js +{ + var compatibilityParams = Object.create(null); + 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 = { + BROWSER: 0x01, + VIEWER: 0x02, + API: 0x04, + WORKER: 0x08, + PREFERENCE: 0x80 +}; +const defaultOptions = { + canvasMaxAreaInBytes: { + value: -1, + kind: OptionKind.BROWSER + OptionKind.API + }, + isInAutomation: { + value: false, + kind: OptionKind.BROWSER + }, + supportsCaretBrowsingMode: { + value: false, + kind: OptionKind.BROWSER + }, + supportsDocumentFonts: { + value: true, + kind: OptionKind.BROWSER + }, + supportsIntegratedFind: { + value: false, + kind: OptionKind.BROWSER + }, + supportsMouseWheelZoomCtrlKey: { + value: true, + kind: OptionKind.BROWSER + }, + supportsMouseWheelZoomMetaKey: { + value: true, + kind: OptionKind.BROWSER + }, + supportsPinchToZoom: { + value: true, + kind: OptionKind.BROWSER + }, + annotationEditorMode: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + annotationMode: { + value: 2, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cursorToolOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + debuggerSrc: { + value: "./pdf-legacy/debugger.mjs", + kind: OptionKind.VIEWER + }, + 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 + }, + enableHighlightEditor: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enableHighlightFloatingButton: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enableML: { + 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 + }, + highlightEditorColors: { + value: "yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + historyUpdateUrl: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + ignoreDestinationZoom: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + imageResourcesPath: { + value: "./pdf-legacy/images/", + kind: OptionKind.VIEWER + }, + maxCanvasPixels: { + value: 2 ** 25, + 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 + }, + viewOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cMapPacked: { + value: true, + kind: OptionKind.API + }, + cMapUrl: { + value: "./pdfjs-legacy/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: "./pdfjs-legacy/standard_fonts/", + kind: OptionKind.API + }, + verbosity: { + value: 1, + kind: OptionKind.API + }, + workerPort: { + value: null, + kind: OptionKind.WORKER + }, + workerSrc: { + value: "./pdfjs-legacy/pdf.worker.mjs", + kind: OptionKind.WORKER + } +}; +{ + defaultOptions.defaultUrl = { + value: "./pdfjs-legacy/example/Welcome.pdf", + kind: OptionKind.VIEWER + }; + defaultOptions.sandboxBundleSrc = { + value: "./pdfjs-legacy/pdf.sandbox.mjs", + kind: OptionKind.VIEWER + }; + defaultOptions.viewerCssTheme = { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }; +} +{ + defaultOptions.disablePreferences = { + value: false, + kind: OptionKind.VIEWER + }; + defaultOptions.locale = { + value: navigator.language || "en-US", + kind: OptionKind.VIEWER + }; +} +const userOptions = Object.create(null); +{ + for (const name in compatibilityParams) { + userOptions[name] = compatibilityParams[name]; + } +} +class AppOptions { + constructor() { + throw new Error("Cannot initialize AppOptions."); + } + static get(name) { + return userOptions[name] ?? defaultOptions[name]?.value ?? undefined; + } + static getAll(kind = null, defaultOnly = false) { + const options = Object.create(null); + for (const name in defaultOptions) { + const defaultOption = defaultOptions[name]; + if (kind && !(kind & defaultOption.kind)) { + continue; + } + options[name] = defaultOnly ? defaultOption.value : userOptions[name] ?? defaultOption.value; + } + return options; + } + static set(name, value) { + userOptions[name] = value; + } + static setAll(options, init = false) { + if (init) { + if (this.get("disablePreferences")) { + return; + } + for (const name in userOptions) { + if (compatibilityParams[name] !== undefined) { + continue; + } + console.warn("setAll: The Preferences may override manually set AppOptions; " + 'please use the "disablePreferences"-option in order to prevent that.'); + break; + } + } + for (const name in options) { + userOptions[name] = options[name]; + } + } + static remove(name) { + delete userOptions[name]; + const val = compatibilityParams[name]; + if (val !== undefined) { + userOptions[name] = val; + } + } +} + +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.json.parse.js +var esnext_json_parse = __webpack_require__(8335); +;// CONCATENATED MODULE: ./web/pdf_link_service.js + + + +const DEFAULT_LINK_REL = "noopener noreferrer nofollow"; +const LinkTarget = { + NONE: 0, + SELF: 1, + BLANK: 2, + PARENT: 3, + TOP: 4 +}; +class PDFLinkService { + externalLinkEnabled = true; + constructor({ + eventBus, + externalLinkTarget = null, + externalLinkRel = null, + ignoreDestinationZoom = false + } = {}) { + this.eventBus = eventBus; + this.externalLinkTarget = externalLinkTarget; + this.externalLinkRel = externalLinkRel; + this._ignoreDestinationZoom = ignoreDestinationZoom; + this.baseUrl = null; + this.pdfDocument = null; + this.pdfViewer = null; + this.pdfHistory = null; + } + setDocument(pdfDocument, baseUrl = null) { + this.baseUrl = baseUrl; + this.pdfDocument = pdfDocument; + } + setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + setHistory(pdfHistory) { + this.pdfHistory = pdfHistory; + } + get pagesCount() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + } + get page() { + return this.pdfDocument ? this.pdfViewer.currentPageNumber : 1; + } + set page(value) { + if (this.pdfDocument) { + this.pdfViewer.currentPageNumber = value; + } + } + get rotation() { + return this.pdfDocument ? this.pdfViewer.pagesRotation : 0; + } + set rotation(value) { + if (this.pdfDocument) { + this.pdfViewer.pagesRotation = value; + } + } + get isInPresentationMode() { + return this.pdfDocument ? this.pdfViewer.isInPresentationMode : false; + } + async goToDestination(dest) { + if (!this.pdfDocument) { + return; + } + let namedDest, explicitDest, pageNumber; + if (typeof dest === "string") { + namedDest = dest; + explicitDest = await this.pdfDocument.getDestination(dest); + } else { + namedDest = null; + explicitDest = await dest; + } + if (!Array.isArray(explicitDest)) { + console.error(`goToDestination: "${explicitDest}" is not a valid destination array, for dest="${dest}".`); + return; + } + const [destRef] = explicitDest; + if (destRef && typeof destRef === "object") { + pageNumber = this.pdfDocument.cachedPageNumber(destRef); + if (!pageNumber) { + try { + pageNumber = (await this.pdfDocument.getPageIndex(destRef)) + 1; + } catch { + console.error(`goToDestination: "${destRef}" is not a valid page reference, for dest="${dest}".`); + return; + } + } + } else if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } + if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) { + console.error(`goToDestination: "${pageNumber}" is not a valid page number, for dest="${dest}".`); + return; + } + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.push({ + namedDest, + explicitDest, + pageNumber + }); + } + this.pdfViewer.scrollPageIntoView({ + pageNumber, + destArray: explicitDest, + ignoreDestinationZoom: this._ignoreDestinationZoom + }); + } + 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, newWindow = false) { + if (!url || typeof url !== "string") { + throw new Error('A valid "url" parameter must provided.'); + } + const target = newWindow ? LinkTarget.BLANK : this.externalLinkTarget, + rel = this.externalLinkRel; + if (this.externalLinkEnabled) { + link.href = link.title = url; + } else { + link.href = ""; + link.title = `Disabled: ${url}`; + link.onclick = () => 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; + } + 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 = 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")); + } + return; + } + dest = unescape(hash); + try { + dest = JSON.parse(dest); + if (!Array.isArray(dest)) { + dest = dest.toString(); + } + } catch {} + if (typeof dest === "string" || PDFLinkService.#isValidExplicitDest(dest)) { + this.goToDestination(dest); + return; + } + console.error(`PDFLinkService.setHash: "${unescape(hash)}" is not a valid destination.`); + } + executeNamedAction(action) { + if (!this.pdfDocument) { + return; + } + 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) { + if (!this.pdfDocument) { + return; + } + const pdfDocument = this.pdfDocument, + optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise; + if (pdfDocument !== this.pdfDocument) { + return; + } + optionalContentConfig.setOCGState(action); + this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig); + } + static #isValidExplicitDest(dest) { + if (!Array.isArray(dest) || dest.length < 2) { + return false; + } + const [page, zoom, ...args] = dest; + if (!(typeof page === "object" && Number.isInteger(page?.num) && Number.isInteger(page?.gen)) && !Number.isInteger(page)) { + return false; + } + if (!(typeof zoom === "object" && typeof zoom?.name === "string")) { + return false; + } + let allowNull = true; + switch (zoom.name) { + case "XYZ": + if (args.length !== 3) { + return false; + } + break; + case "Fit": + case "FitB": + return args.length === 0; + case "FitH": + case "FitBH": + case "FitV": + case "FitBV": + if (args.length !== 1) { + return false; + } + break; + case "FitR": + if (args.length !== 4) { + return false; + } + allowNull = false; + break; + default: + return false; + } + for (const arg of args) { + if (!(typeof arg === "number" || allowNull && arg === null)) { + return false; + } + } + return true; + } +} +class SimpleLinkService extends PDFLinkService { + setDocument(pdfDocument, baseUrl = null) {} +} + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.with-resolvers.js +var es_promise_with_resolvers = __webpack_require__(4628); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.constructor.js +var esnext_iterator_constructor = __webpack_require__(8992); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.some.js +var esnext_iterator_some = __webpack_require__(7550); +;// CONCATENATED MODULE: ./web/pdfjs.js +const { + AbortException, + AnnotationEditorLayer, + AnnotationEditorParamsType, + AnnotationEditorType, + AnnotationEditorUIManager, + AnnotationLayer, + AnnotationMode, + build, + CMapCompressionType, + ColorPicker, + createValidAbsoluteUrl, + DOMSVGFactory, + DrawLayer, + FeatureTest, + fetchData, + getDocument, + getFilenameFromUrl, + getPdfFilenameFromUrl: pdfjs_getPdfFilenameFromUrl, + getXfaPageViewport, + GlobalWorkerOptions, + ImageKind, + InvalidPDFException, + isDataScheme, + isPdfFile, + MissingPDFException, + noContextMenu, + normalizeUnicode, + OPS, + Outliner, + PasswordResponses, + PDFDataRangeTransport, + PDFDateString, + PDFWorker, + PermissionFlag, + PixelsPerInch, + RenderingCancelledException, + renderTextLayer, + setLayerDimensions, + shadow, + TextLayer, + UnexpectedResponseException, + updateTextLayer, + Util, + VerbosityLevel, + version, + XfaLayer +} = globalThis.pdfjsLib; + +;// CONCATENATED MODULE: ./web/event_utils.js + + +const WaitOnType = { + EVENT: "event", + TIMEOUT: "timeout" +}; +async function waitOnEventOrTimeout({ + target, + name, + delay = 0 +}) { + if (typeof target !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) { + throw new Error("waitOnEventOrTimeout - invalid parameters."); + } + const { + promise, + resolve + } = Promise.withResolvers(); + const ac = new AbortController(); + function handler(type) { + ac.abort(); + clearTimeout(timeout); + resolve(type); + } + const evtMethod = target instanceof EventBus ? "_on" : "addEventListener"; + target[evtMethod](name, handler.bind(null, WaitOnType.EVENT), { + signal: ac.signal + }); + const timeout = setTimeout(handler.bind(null, WaitOnType.TIMEOUT), delay); + return promise; +} +class EventBus { + #listeners = Object.create(null); + on(eventName, listener, options = null) { + this._on(eventName, listener, { + external: true, + once: options?.once, + signal: options?.signal + }); + } + off(eventName, listener, options = null) { + this._off(eventName, listener); + } + 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, options = null) { + let rmAbort = null; + if (options?.signal instanceof AbortSignal) { + const { + signal + } = options; + if (signal.aborted) { + console.error("Cannot use an `aborted` signal."); + return; + } + const onAbort = () => this._off(eventName, listener); + rmAbort = () => signal.removeEventListener("abort", onAbort); + signal.addEventListener("abort", onAbort); + } + const eventListeners = this.#listeners[eventName] ||= []; + eventListeners.push({ + listener, + external: options?.external === true, + once: options?.once === true, + rmAbort + }); + } + _off(eventName, listener, options = null) { + const eventListeners = this.#listeners[eventName]; + if (!eventListeners) { + return; + } + for (let i = 0, ii = eventListeners.length; i < ii; i++) { + const evt = eventListeners[i]; + if (evt.listener === listener) { + evt.rmAbort?.(); + eventListeners.splice(i, 1); + return; + } + } + } +} +class AutomationEventBus extends EventBus { + dispatch(eventName, data) { + throw new Error("Not implemented: AutomationEventBus.dispatch"); + } +} + +;// CONCATENATED MODULE: ./web/external_services.js +class BaseExternalServices { + constructor() { + if (this.constructor === BaseExternalServices) { + throw new Error("Cannot initialize BaseExternalServices."); + } + } + updateFindControlState(data) {} + updateFindMatchesCount(data) {} + initPassiveLoading() {} + reportTelemetry(data) {} + async createL10n() { + throw new Error("Not implemented: createL10n"); + } + createScripting() { + throw new Error("Not implemented: createScripting"); + } + updateEditorStates(data) { + throw new Error("Not implemented: updateEditorStates"); + } + async getNimbusExperimentData() {} +} + +// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-exception.stack.js +var web_dom_exception_stack = __webpack_require__(4979); +;// CONCATENATED MODULE: ./web/preferences.js + + +class BasePreferences { + #browserDefaults = Object.freeze({ + canvasMaxAreaInBytes: -1, + isInAutomation: false, + supportsCaretBrowsingMode: false, + supportsDocumentFonts: true, + supportsIntegratedFind: false, + supportsMouseWheelZoomCtrlKey: true, + supportsMouseWheelZoomMetaKey: true, + supportsPinchToZoom: true + }); + #defaults = Object.freeze({ + annotationEditorMode: 0, + annotationMode: 2, + cursorToolOnLoad: 0, + defaultZoomDelay: 400, + defaultZoomValue: "", + disablePageLabels: false, + enableHighlightEditor: false, + enableHighlightFloatingButton: false, + enableML: false, + enablePermissions: false, + enablePrintAutoRotate: true, + enableScripting: true, + enableStampEditor: true, + externalLinkTarget: 0, + highlightEditorColors: "yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F", + historyUpdateUrl: false, + ignoreDestinationZoom: false, + forcePageColors: false, + pageColorsBackground: "Canvas", + pageColorsForeground: "CanvasText", + pdfBugEnabled: false, + sidebarViewOnLoad: -1, + scrollModeOnLoad: -1, + spreadModeOnLoad: -1, + textLayerMode: 1, + viewOnLoad: 0, + disableAutoFetch: false, + disableFontFace: false, + disableRange: false, + disableStream: false, + enableXfa: true, + viewerCssTheme: 0 + }); + #prefs = Object.create(null); + #initializedPromise = null; + constructor() { + if (this.constructor === BasePreferences) { + throw new Error("Cannot initialize BasePreferences."); + } + this.#initializedPromise = this._readFromStorage(this.#defaults).then(({ + browserPrefs, + prefs + }) => { + const options = Object.create(null); + for (const [name, val] of Object.entries(this.#browserDefaults)) { + const prefVal = browserPrefs?.[name]; + options[name] = typeof prefVal === typeof val ? prefVal : val; + } + for (const [name, val] of Object.entries(this.#defaults)) { + const prefVal = prefs?.[name]; + options[name] = this.#prefs[name] = typeof prefVal === typeof val ? prefVal : val; + } + AppOptions.setAll(options, true); + }); + } + async _writeToStorage(prefObj) { + throw new Error("Not implemented: _writeToStorage"); + } + async _readFromStorage(prefObj) { + throw new Error("Not implemented: _readFromStorage"); + } + #updatePref({ + name, + value + }) { + throw new Error("Not implemented: #updatePref"); + } + async reset() { + await this.#initializedPromise; + const oldPrefs = structuredClone(this.#prefs); + this.#prefs = Object.create(null); + try { + await this._writeToStorage(this.#defaults); + } catch (reason) { + this.#prefs = oldPrefs; + throw reason; + } + } + async set(name, value) { + await this.#initializedPromise; + const defaultValue = this.#defaults[name], + oldPrefs = structuredClone(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; + try { + await this._writeToStorage(this.#prefs); + } catch (reason) { + this.#prefs = oldPrefs; + 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; + } + get initializedPromise() { + return this.#initializedPromise; + } +} + +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/types.js +class FluentType { + constructor(value) { + this.value = value; + } + valueOf() { + return this.value; + } +} +class FluentNone extends FluentType { + constructor(value = "???") { + super(value); + } + toString(scope) { + return `{${this.value}}`; + } +} +class FluentNumber extends FluentType { + constructor(value, opts = {}) { + super(value); + this.opts = opts; + } + toString(scope) { + try { + const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts); + return nf.format(this.value); + } catch (err) { + scope.reportError(err); + return this.value.toString(10); + } + } +} +class FluentDateTime extends FluentType { + constructor(value, opts = {}) { + super(value); + this.opts = opts; + } + toString(scope) { + try { + const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts); + return dtf.format(this.value); + } catch (err) { + scope.reportError(err); + return new Date(this.value).toISOString(); + } + } +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/resolver.js + + +const MAX_PLACEABLES = 100; +const FSI = "\u2068"; +const PDI = "\u2069"; +function match(scope, selector, key) { + if (key === selector) { + return true; + } + if (key instanceof FluentNumber && selector instanceof FluentNumber && key.value === selector.value) { + return true; + } + if (selector instanceof FluentNumber && typeof key === "string") { + let category = scope.memoizeIntlObject(Intl.PluralRules, selector.opts).select(selector.value); + if (key === category) { + return true; + } + } + return false; +} +function getDefault(scope, variants, star) { + if (variants[star]) { + return resolvePattern(scope, variants[star].value); + } + scope.reportError(new RangeError("No default")); + return new FluentNone(); +} +function getArguments(scope, args) { + const positional = []; + const named = Object.create(null); + for (const arg of args) { + if (arg.type === "narg") { + named[arg.name] = resolveExpression(scope, arg.value); + } else { + positional.push(resolveExpression(scope, arg)); + } + } + return { + positional, + named + }; +} +function resolveExpression(scope, expr) { + switch (expr.type) { + case "str": + return expr.value; + case "num": + return new FluentNumber(expr.value, { + minimumFractionDigits: expr.precision + }); + case "var": + return resolveVariableReference(scope, expr); + case "mesg": + return resolveMessageReference(scope, expr); + case "term": + return resolveTermReference(scope, expr); + case "func": + return resolveFunctionReference(scope, expr); + case "select": + return resolveSelectExpression(scope, expr); + default: + return new FluentNone(); + } +} +function resolveVariableReference(scope, { + name +}) { + let arg; + if (scope.params) { + if (Object.prototype.hasOwnProperty.call(scope.params, name)) { + arg = scope.params[name]; + } else { + return new FluentNone(`$${name}`); + } + } else if (scope.args && Object.prototype.hasOwnProperty.call(scope.args, name)) { + arg = scope.args[name]; + } else { + scope.reportError(new ReferenceError(`Unknown variable: $${name}`)); + return new FluentNone(`$${name}`); + } + if (arg instanceof FluentType) { + return arg; + } + switch (typeof arg) { + case "string": + return arg; + case "number": + return new FluentNumber(arg); + case "object": + if (arg instanceof Date) { + return new FluentDateTime(arg.getTime()); + } + default: + scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`)); + return new FluentNone(`$${name}`); + } +} +function resolveMessageReference(scope, { + name, + attr +}) { + const message = scope.bundle._messages.get(name); + if (!message) { + scope.reportError(new ReferenceError(`Unknown message: ${name}`)); + return new FluentNone(name); + } + if (attr) { + const attribute = message.attributes[attr]; + if (attribute) { + return resolvePattern(scope, attribute); + } + scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`)); + return new FluentNone(`${name}.${attr}`); + } + if (message.value) { + return resolvePattern(scope, message.value); + } + scope.reportError(new ReferenceError(`No value: ${name}`)); + return new FluentNone(name); +} +function resolveTermReference(scope, { + name, + attr, + args +}) { + const id = `-${name}`; + const term = scope.bundle._terms.get(id); + if (!term) { + scope.reportError(new ReferenceError(`Unknown term: ${id}`)); + return new FluentNone(id); + } + if (attr) { + const attribute = term.attributes[attr]; + if (attribute) { + scope.params = getArguments(scope, args).named; + const resolved = resolvePattern(scope, attribute); + scope.params = null; + return resolved; + } + scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`)); + return new FluentNone(`${id}.${attr}`); + } + scope.params = getArguments(scope, args).named; + const resolved = resolvePattern(scope, term.value); + scope.params = null; + return resolved; +} +function resolveFunctionReference(scope, { + name, + args +}) { + let func = scope.bundle._functions[name]; + if (!func) { + scope.reportError(new ReferenceError(`Unknown function: ${name}()`)); + return new FluentNone(`${name}()`); + } + if (typeof func !== "function") { + scope.reportError(new TypeError(`Function ${name}() is not callable`)); + return new FluentNone(`${name}()`); + } + try { + let resolved = getArguments(scope, args); + return func(resolved.positional, resolved.named); + } catch (err) { + scope.reportError(err); + return new FluentNone(`${name}()`); + } +} +function resolveSelectExpression(scope, { + selector, + variants, + star +}) { + let sel = resolveExpression(scope, selector); + if (sel instanceof FluentNone) { + return getDefault(scope, variants, star); + } + for (const variant of variants) { + const key = resolveExpression(scope, variant.key); + if (match(scope, sel, key)) { + return resolvePattern(scope, variant.value); + } + } + return getDefault(scope, variants, star); +} +function resolveComplexPattern(scope, ptn) { + if (scope.dirty.has(ptn)) { + scope.reportError(new RangeError("Cyclic reference")); + return new FluentNone(); + } + scope.dirty.add(ptn); + const result = []; + const useIsolating = scope.bundle._useIsolating && ptn.length > 1; + for (const elem of ptn) { + if (typeof elem === "string") { + result.push(scope.bundle._transform(elem)); + continue; + } + scope.placeables++; + if (scope.placeables > MAX_PLACEABLES) { + scope.dirty.delete(ptn); + throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` + `max allowed is ${MAX_PLACEABLES}`); + } + if (useIsolating) { + result.push(FSI); + } + result.push(resolveExpression(scope, elem).toString(scope)); + if (useIsolating) { + result.push(PDI); + } + } + scope.dirty.delete(ptn); + return result.join(""); +} +function resolvePattern(scope, value) { + if (typeof value === "string") { + return scope.bundle._transform(value); + } + return resolveComplexPattern(scope, value); +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/scope.js + +class Scope { + constructor(bundle, errors, args) { + this.dirty = new WeakSet(); + this.params = null; + this.placeables = 0; + this.bundle = bundle; + this.errors = errors; + this.args = args; + } + reportError(error) { + if (!this.errors || !(error instanceof Error)) { + throw error; + } + this.errors.push(error); + } + memoizeIntlObject(ctor, opts) { + let cache = this.bundle._intls.get(ctor); + if (!cache) { + cache = {}; + this.bundle._intls.set(ctor, cache); + } + let id = JSON.stringify(opts); + if (!cache[id]) { + cache[id] = new ctor(this.bundle.locales, opts); + } + return cache[id]; + } +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/builtins.js + +function values(opts, allowed) { + const unwrapped = Object.create(null); + for (const [name, opt] of Object.entries(opts)) { + if (allowed.includes(name)) { + unwrapped[name] = opt.valueOf(); + } + } + return unwrapped; +} +const NUMBER_ALLOWED = ["unitDisplay", "currencyDisplay", "useGrouping", "minimumIntegerDigits", "minimumFractionDigits", "maximumFractionDigits", "minimumSignificantDigits", "maximumSignificantDigits"]; +function NUMBER(args, opts) { + let arg = args[0]; + if (arg instanceof FluentNone) { + return new FluentNone(`NUMBER(${arg.valueOf()})`); + } + if (arg instanceof FluentNumber) { + return new FluentNumber(arg.valueOf(), { + ...arg.opts, + ...values(opts, NUMBER_ALLOWED) + }); + } + if (arg instanceof FluentDateTime) { + return new FluentNumber(arg.valueOf(), { + ...values(opts, NUMBER_ALLOWED) + }); + } + throw new TypeError("Invalid argument to NUMBER"); +} +const DATETIME_ALLOWED = ["dateStyle", "timeStyle", "fractionalSecondDigits", "dayPeriod", "hour12", "weekday", "era", "year", "month", "day", "hour", "minute", "second", "timeZoneName"]; +function DATETIME(args, opts) { + let arg = args[0]; + if (arg instanceof FluentNone) { + return new FluentNone(`DATETIME(${arg.valueOf()})`); + } + if (arg instanceof FluentDateTime) { + return new FluentDateTime(arg.valueOf(), { + ...arg.opts, + ...values(opts, DATETIME_ALLOWED) + }); + } + if (arg instanceof FluentNumber) { + return new FluentDateTime(arg.valueOf(), { + ...values(opts, DATETIME_ALLOWED) + }); + } + throw new TypeError("Invalid argument to DATETIME"); +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/memoizer.js +const cache = new Map(); +function getMemoizerForLocale(locales) { + const stringLocale = Array.isArray(locales) ? locales.join(" ") : locales; + let memoizer = cache.get(stringLocale); + if (memoizer === undefined) { + memoizer = new Map(); + cache.set(stringLocale, memoizer); + } + return memoizer; +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/bundle.js + + + + + + +class FluentBundle { + constructor(locales, { + functions, + useIsolating = true, + transform = v => v + } = {}) { + this._terms = new Map(); + this._messages = new Map(); + this.locales = Array.isArray(locales) ? locales : [locales]; + this._functions = { + NUMBER: NUMBER, + DATETIME: DATETIME, + ...functions + }; + this._useIsolating = useIsolating; + this._transform = transform; + this._intls = getMemoizerForLocale(locales); + } + hasMessage(id) { + return this._messages.has(id); + } + getMessage(id) { + return this._messages.get(id); + } + addResource(res, { + allowOverrides = false + } = {}) { + const errors = []; + for (let i = 0; i < res.body.length; i++) { + let entry = res.body[i]; + if (entry.id.startsWith("-")) { + if (allowOverrides === false && this._terms.has(entry.id)) { + errors.push(new Error(`Attempt to override an existing term: "${entry.id}"`)); + continue; + } + this._terms.set(entry.id, entry); + } else { + if (allowOverrides === false && this._messages.has(entry.id)) { + errors.push(new Error(`Attempt to override an existing message: "${entry.id}"`)); + continue; + } + this._messages.set(entry.id, entry); + } + } + return errors; + } + formatPattern(pattern, args = null, errors = null) { + if (typeof pattern === "string") { + return this._transform(pattern); + } + let scope = new Scope(this, errors, args); + try { + let value = resolveComplexPattern(scope, pattern); + return value.toString(scope); + } catch (err) { + if (scope.errors && err instanceof Error) { + scope.errors.push(err); + return new FluentNone().toString(scope); + } + throw err; + } + } +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/resource.js + +const RE_MESSAGE_START = /^(-?[a-zA-Z][\w-]*) *= */gm; +const RE_ATTRIBUTE_START = /\.([a-zA-Z][\w-]*) *= */y; +const RE_VARIANT_START = /\*?\[/y; +const RE_NUMBER_LITERAL = /(-?[0-9]+(?:\.([0-9]+))?)/y; +const RE_IDENTIFIER = /([a-zA-Z][\w-]*)/y; +const RE_REFERENCE = /([$-])?([a-zA-Z][\w-]*)(?:\.([a-zA-Z][\w-]*))?/y; +const RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/; +const RE_TEXT_RUN = /([^{}\n\r]+)/y; +const RE_STRING_RUN = /([^\\"\n\r]*)/y; +const RE_STRING_ESCAPE = /\\([\\"])/y; +const RE_UNICODE_ESCAPE = /\\u([a-fA-F0-9]{4})|\\U([a-fA-F0-9]{6})/y; +const RE_LEADING_NEWLINES = /^\n+/; +const RE_TRAILING_SPACES = / +$/; +const RE_BLANK_LINES = / *\r?\n/g; +const RE_INDENT = /( *)$/; +const TOKEN_BRACE_OPEN = /{\s*/y; +const TOKEN_BRACE_CLOSE = /\s*}/y; +const TOKEN_BRACKET_OPEN = /\[\s*/y; +const TOKEN_BRACKET_CLOSE = /\s*] */y; +const TOKEN_PAREN_OPEN = /\s*\(\s*/y; +const TOKEN_ARROW = /\s*->\s*/y; +const TOKEN_COLON = /\s*:\s*/y; +const TOKEN_COMMA = /\s*,?\s*/y; +const TOKEN_BLANK = /\s+/y; +class FluentResource { + constructor(source) { + this.body = []; + RE_MESSAGE_START.lastIndex = 0; + let cursor = 0; + while (true) { + let next = RE_MESSAGE_START.exec(source); + if (next === null) { + break; + } + cursor = RE_MESSAGE_START.lastIndex; + try { + this.body.push(parseMessage(next[1])); + } catch (err) { + if (err instanceof SyntaxError) { + continue; + } + throw err; + } + } + function test(re) { + re.lastIndex = cursor; + return re.test(source); + } + function consumeChar(char, errorClass) { + if (source[cursor] === char) { + cursor++; + return true; + } + if (errorClass) { + throw new errorClass(`Expected ${char}`); + } + return false; + } + function consumeToken(re, errorClass) { + if (test(re)) { + cursor = re.lastIndex; + return true; + } + if (errorClass) { + throw new errorClass(`Expected ${re.toString()}`); + } + return false; + } + function match(re) { + re.lastIndex = cursor; + let result = re.exec(source); + if (result === null) { + throw new SyntaxError(`Expected ${re.toString()}`); + } + cursor = re.lastIndex; + return result; + } + function match1(re) { + return match(re)[1]; + } + function parseMessage(id) { + let value = parsePattern(); + let attributes = parseAttributes(); + if (value === null && Object.keys(attributes).length === 0) { + throw new SyntaxError("Expected message value or attributes"); + } + return { + id, + value, + attributes + }; + } + function parseAttributes() { + let attrs = Object.create(null); + while (test(RE_ATTRIBUTE_START)) { + let name = match1(RE_ATTRIBUTE_START); + let value = parsePattern(); + if (value === null) { + throw new SyntaxError("Expected attribute value"); + } + attrs[name] = value; + } + return attrs; + } + function parsePattern() { + let first; + if (test(RE_TEXT_RUN)) { + first = match1(RE_TEXT_RUN); + } + if (source[cursor] === "{" || source[cursor] === "}") { + return parsePatternElements(first ? [first] : [], Infinity); + } + let indent = parseIndent(); + if (indent) { + if (first) { + return parsePatternElements([first, indent], indent.length); + } + indent.value = trim(indent.value, RE_LEADING_NEWLINES); + return parsePatternElements([indent], indent.length); + } + if (first) { + return trim(first, RE_TRAILING_SPACES); + } + return null; + } + function parsePatternElements(elements = [], commonIndent) { + while (true) { + if (test(RE_TEXT_RUN)) { + elements.push(match1(RE_TEXT_RUN)); + continue; + } + if (source[cursor] === "{") { + elements.push(parsePlaceable()); + continue; + } + if (source[cursor] === "}") { + throw new SyntaxError("Unbalanced closing brace"); + } + let indent = parseIndent(); + if (indent) { + elements.push(indent); + commonIndent = Math.min(commonIndent, indent.length); + continue; + } + break; + } + let lastIndex = elements.length - 1; + let lastElement = elements[lastIndex]; + if (typeof lastElement === "string") { + elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES); + } + let baked = []; + for (let element of elements) { + if (element instanceof Indent) { + element = element.value.slice(0, element.value.length - commonIndent); + } + if (element) { + baked.push(element); + } + } + return baked; + } + function parsePlaceable() { + consumeToken(TOKEN_BRACE_OPEN, SyntaxError); + let selector = parseInlineExpression(); + if (consumeToken(TOKEN_BRACE_CLOSE)) { + return selector; + } + if (consumeToken(TOKEN_ARROW)) { + let variants = parseVariants(); + consumeToken(TOKEN_BRACE_CLOSE, SyntaxError); + return { + type: "select", + selector, + ...variants + }; + } + throw new SyntaxError("Unclosed placeable"); + } + function parseInlineExpression() { + if (source[cursor] === "{") { + return parsePlaceable(); + } + if (test(RE_REFERENCE)) { + let [, sigil, name, attr = null] = match(RE_REFERENCE); + if (sigil === "$") { + return { + type: "var", + name + }; + } + if (consumeToken(TOKEN_PAREN_OPEN)) { + let args = parseArguments(); + if (sigil === "-") { + return { + type: "term", + name, + attr, + args + }; + } + if (RE_FUNCTION_NAME.test(name)) { + return { + type: "func", + name, + args + }; + } + throw new SyntaxError("Function names must be all upper-case"); + } + if (sigil === "-") { + return { + type: "term", + name, + attr, + args: [] + }; + } + return { + type: "mesg", + name, + attr + }; + } + return parseLiteral(); + } + function parseArguments() { + let args = []; + while (true) { + switch (source[cursor]) { + case ")": + cursor++; + return args; + case undefined: + throw new SyntaxError("Unclosed argument list"); + } + args.push(parseArgument()); + consumeToken(TOKEN_COMMA); + } + } + function parseArgument() { + let expr = parseInlineExpression(); + if (expr.type !== "mesg") { + return expr; + } + if (consumeToken(TOKEN_COLON)) { + return { + type: "narg", + name: expr.name, + value: parseLiteral() + }; + } + return expr; + } + function parseVariants() { + let variants = []; + let count = 0; + let star; + while (test(RE_VARIANT_START)) { + if (consumeChar("*")) { + star = count; + } + let key = parseVariantKey(); + let value = parsePattern(); + if (value === null) { + throw new SyntaxError("Expected variant value"); + } + variants[count++] = { + key, + value + }; + } + if (count === 0) { + return null; + } + if (star === undefined) { + throw new SyntaxError("Expected default variant"); + } + return { + variants, + star + }; + } + function parseVariantKey() { + consumeToken(TOKEN_BRACKET_OPEN, SyntaxError); + let key; + if (test(RE_NUMBER_LITERAL)) { + key = parseNumberLiteral(); + } else { + key = { + type: "str", + value: match1(RE_IDENTIFIER) + }; + } + consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError); + return key; + } + function parseLiteral() { + if (test(RE_NUMBER_LITERAL)) { + return parseNumberLiteral(); + } + if (source[cursor] === '"') { + return parseStringLiteral(); + } + throw new SyntaxError("Invalid expression"); + } + function parseNumberLiteral() { + let [, value, fraction = ""] = match(RE_NUMBER_LITERAL); + let precision = fraction.length; + return { + type: "num", + value: parseFloat(value), + precision + }; + } + function parseStringLiteral() { + consumeChar('"', SyntaxError); + let value = ""; + while (true) { + value += match1(RE_STRING_RUN); + if (source[cursor] === "\\") { + value += parseEscapeSequence(); + continue; + } + if (consumeChar('"')) { + return { + type: "str", + value + }; + } + throw new SyntaxError("Unclosed string literal"); + } + } + function parseEscapeSequence() { + if (test(RE_STRING_ESCAPE)) { + return match1(RE_STRING_ESCAPE); + } + if (test(RE_UNICODE_ESCAPE)) { + let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE); + let codepoint = parseInt(codepoint4 || codepoint6, 16); + return codepoint <= 0xd7ff || 0xe000 <= codepoint ? String.fromCodePoint(codepoint) : "�"; + } + throw new SyntaxError("Unknown escape sequence"); + } + function parseIndent() { + let start = cursor; + consumeToken(TOKEN_BLANK); + switch (source[cursor]) { + case ".": + case "[": + case "*": + case "}": + case undefined: + return false; + case "{": + return makeIndent(source.slice(start, cursor)); + } + if (source[cursor - 1] === " ") { + return makeIndent(source.slice(start, cursor)); + } + return false; + } + function trim(text, re) { + return text.replace(re, ""); + } + function makeIndent(blank) { + let value = blank.replace(RE_BLANK_LINES, "\n"); + let length = RE_INDENT.exec(blank)[1].length; + return new Indent(value, length); + } + } +} +class Indent { + constructor(value, length) { + this.value = value; + this.length = length; + } +} +;// CONCATENATED MODULE: ./node_modules/@fluent/bundle/esm/index.js + + + +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.map.js +var esnext_iterator_map = __webpack_require__(1454); +;// CONCATENATED MODULE: ./node_modules/@fluent/dom/esm/overlay.js + +const reOverlay = /<|&#?\w+;/; +const TEXT_LEVEL_ELEMENTS = { + "http://www.w3.org/1999/xhtml": ["em", "strong", "small", "s", "cite", "q", "dfn", "abbr", "data", "time", "code", "var", "samp", "kbd", "sub", "sup", "i", "b", "u", "mark", "bdi", "bdo", "span", "br", "wbr"] +}; +const LOCALIZABLE_ATTRIBUTES = { + "http://www.w3.org/1999/xhtml": { + global: ["title", "aria-label", "aria-valuetext"], + a: ["download"], + area: ["download", "alt"], + input: ["alt", "placeholder"], + menuitem: ["label"], + menu: ["label"], + optgroup: ["label"], + option: ["label"], + track: ["label"], + img: ["alt"], + textarea: ["placeholder"], + th: ["abbr"] + }, + "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul": { + global: ["accesskey", "aria-label", "aria-valuetext", "label", "title", "tooltiptext"], + description: ["value"], + key: ["key", "keycode"], + label: ["value"], + textbox: ["placeholder", "value"] + } +}; +function translateElement(element, translation) { + const { + value + } = translation; + if (typeof value === "string") { + if (element.localName === "title" && element.namespaceURI === "http://www.w3.org/1999/xhtml") { + element.textContent = value; + } else if (!reOverlay.test(value)) { + element.textContent = value; + } else { + const templateElement = element.ownerDocument.createElementNS("http://www.w3.org/1999/xhtml", "template"); + templateElement.innerHTML = value; + overlayChildNodes(templateElement.content, element); + } + } + overlayAttributes(translation, element); +} +function overlayChildNodes(fromFragment, toElement) { + for (const childNode of fromFragment.childNodes) { + if (childNode.nodeType === childNode.TEXT_NODE) { + continue; + } + if (childNode.hasAttribute("data-l10n-name")) { + const sanitized = getNodeForNamedElement(toElement, childNode); + fromFragment.replaceChild(sanitized, childNode); + continue; + } + if (isElementAllowed(childNode)) { + const sanitized = createSanitizedElement(childNode); + fromFragment.replaceChild(sanitized, childNode); + continue; + } + console.warn(`An element of forbidden type "${childNode.localName}" was found in ` + "the translation. Only safe text-level elements and elements with " + "data-l10n-name are allowed."); + fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode); + } + toElement.textContent = ""; + toElement.appendChild(fromFragment); +} +function hasAttribute(attributes, name) { + if (!attributes) { + return false; + } + for (let attr of attributes) { + if (attr.name === name) { + return true; + } + } + return false; +} +function overlayAttributes(fromElement, toElement) { + const explicitlyAllowed = toElement.hasAttribute("data-l10n-attrs") ? toElement.getAttribute("data-l10n-attrs").split(",").map(i => i.trim()) : null; + for (const attr of Array.from(toElement.attributes)) { + if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && !hasAttribute(fromElement.attributes, attr.name)) { + toElement.removeAttribute(attr.name); + } + } + if (!fromElement.attributes) { + return; + } + for (const attr of Array.from(fromElement.attributes)) { + if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) && toElement.getAttribute(attr.name) !== attr.value) { + toElement.setAttribute(attr.name, attr.value); + } + } +} +function getNodeForNamedElement(sourceElement, translatedChild) { + const childName = translatedChild.getAttribute("data-l10n-name"); + const sourceChild = sourceElement.querySelector(`[data-l10n-name="${childName}"]`); + if (!sourceChild) { + console.warn(`An element named "${childName}" wasn't found in the source.`); + return createTextNodeFromTextContent(translatedChild); + } + if (sourceChild.localName !== translatedChild.localName) { + console.warn(`An element named "${childName}" was found in the translation ` + `but its type ${translatedChild.localName} didn't match the ` + `element found in the source (${sourceChild.localName}).`); + return createTextNodeFromTextContent(translatedChild); + } + sourceElement.removeChild(sourceChild); + const clone = sourceChild.cloneNode(false); + return shallowPopulateUsing(translatedChild, clone); +} +function createSanitizedElement(element) { + const clone = element.ownerDocument.createElement(element.localName); + return shallowPopulateUsing(element, clone); +} +function createTextNodeFromTextContent(element) { + return element.ownerDocument.createTextNode(element.textContent); +} +function isElementAllowed(element) { + const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI]; + return allowed && allowed.includes(element.localName); +} +function isAttrNameLocalizable(name, element, explicitlyAllowed = null) { + if (explicitlyAllowed && explicitlyAllowed.includes(name)) { + return true; + } + const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI]; + if (!allowed) { + return false; + } + const attrName = name.toLowerCase(); + const elemName = element.localName; + if (allowed.global.includes(attrName)) { + return true; + } + if (!allowed[elemName]) { + return false; + } + if (allowed[elemName].includes(attrName)) { + return true; + } + if (element.namespaceURI === "http://www.w3.org/1999/xhtml" && elemName === "input" && attrName === "value") { + const type = element.type.toLowerCase(); + if (type === "submit" || type === "button" || type === "reset") { + return true; + } + } + return false; +} +function shallowPopulateUsing(fromElement, toElement) { + toElement.textContent = fromElement.textContent; + overlayAttributes(fromElement, toElement); + return toElement; +} +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.filter.js +var esnext_iterator_filter = __webpack_require__(4520); +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.for-each.js +var esnext_iterator_for_each = __webpack_require__(3949); +;// CONCATENATED MODULE: ./node_modules/cached-iterable/src/cached_iterable.mjs +class CachedIterable extends Array { + static from(iterable) { + if (iterable instanceof this) { + return iterable; + } + return new this(iterable); + } +} +;// CONCATENATED MODULE: ./node_modules/cached-iterable/src/cached_sync_iterable.mjs + + +class CachedSyncIterable extends CachedIterable { + constructor(iterable) { + super(); + if (Symbol.iterator in Object(iterable)) { + this.iterator = iterable[Symbol.iterator](); + } else { + throw new TypeError("Argument must implement the iteration protocol."); + } + } + [Symbol.iterator]() { + const cached = this; + let cur = 0; + return { + next() { + if (cached.length <= cur) { + cached.push(cached.iterator.next()); + } + return cached[cur++]; + } + }; + } + touchNext(count = 1) { + let idx = 0; + while (idx++ < count) { + const last = this[this.length - 1]; + if (last && last.done) { + break; + } + this.push(this.iterator.next()); + } + return this[this.length - 1]; + } +} +;// CONCATENATED MODULE: ./node_modules/cached-iterable/src/cached_async_iterable.mjs + + +class CachedAsyncIterable extends CachedIterable { + constructor(iterable) { + super(); + if (Symbol.asyncIterator in Object(iterable)) { + this.iterator = iterable[Symbol.asyncIterator](); + } else if (Symbol.iterator in Object(iterable)) { + this.iterator = iterable[Symbol.iterator](); + } else { + throw new TypeError("Argument must implement the iteration protocol."); + } + } + [Symbol.asyncIterator]() { + const cached = this; + let cur = 0; + return { + async next() { + if (cached.length <= cur) { + cached.push(cached.iterator.next()); + } + return cached[cur++]; + } + }; + } + async touchNext(count = 1) { + let idx = 0; + while (idx++ < count) { + const last = this[this.length - 1]; + if (last && (await last).done) { + break; + } + this.push(this.iterator.next()); + } + return this[this.length - 1]; + } +} +;// CONCATENATED MODULE: ./node_modules/cached-iterable/src/index.mjs + + +;// CONCATENATED MODULE: ./node_modules/@fluent/dom/esm/localization.js + + + + + + + + + + + + +class Localization { + constructor(resourceIds = [], generateBundles) { + this.resourceIds = resourceIds; + this.generateBundles = generateBundles; + this.onChange(true); + } + addResourceIds(resourceIds, eager = false) { + this.resourceIds.push(...resourceIds); + this.onChange(eager); + return this.resourceIds.length; + } + removeResourceIds(resourceIds) { + this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r)); + this.onChange(); + return this.resourceIds.length; + } + async formatWithFallback(keys, method) { + const translations = []; + let hasAtLeastOneBundle = false; + for await (const bundle of this.bundles) { + hasAtLeastOneBundle = true; + const missingIds = keysFromBundle(method, bundle, keys, translations); + if (missingIds.size === 0) { + break; + } + if (typeof console !== "undefined") { + const locale = bundle.locales[0]; + const ids = Array.from(missingIds).join(", "); + console.warn(`[fluent] Missing translations in ${locale}: ${ids}`); + } + } + if (!hasAtLeastOneBundle && typeof console !== "undefined") { + console.warn(`[fluent] Request for keys failed because no resource bundles got generated. + keys: ${JSON.stringify(keys)}. + resourceIds: ${JSON.stringify(this.resourceIds)}.`); + } + return translations; + } + formatMessages(keys) { + return this.formatWithFallback(keys, messageFromBundle); + } + formatValues(keys) { + return this.formatWithFallback(keys, valueFromBundle); + } + async formatValue(id, args) { + const [val] = await this.formatValues([{ + id, + args + }]); + return val; + } + handleEvent() { + this.onChange(); + } + onChange(eager = false) { + this.bundles = CachedAsyncIterable.from(this.generateBundles(this.resourceIds)); + if (eager) { + this.bundles.touchNext(2); + } + } +} +function valueFromBundle(bundle, errors, message, args) { + if (message.value) { + return bundle.formatPattern(message.value, args, errors); + } + return null; +} +function messageFromBundle(bundle, errors, message, args) { + const formatted = { + value: null, + attributes: null + }; + if (message.value) { + formatted.value = bundle.formatPattern(message.value, args, errors); + } + let attrNames = Object.keys(message.attributes); + if (attrNames.length > 0) { + formatted.attributes = new Array(attrNames.length); + for (let [i, name] of attrNames.entries()) { + let value = bundle.formatPattern(message.attributes[name], args, errors); + formatted.attributes[i] = { + name, + value + }; + } + } + return formatted; +} +function keysFromBundle(method, bundle, keys, translations) { + const messageErrors = []; + const missingIds = new Set(); + keys.forEach(({ + id, + args + }, i) => { + if (translations[i] !== undefined) { + return; + } + let message = bundle.getMessage(id); + if (message) { + messageErrors.length = 0; + translations[i] = method(bundle, messageErrors, message, args); + if (messageErrors.length > 0 && typeof console !== "undefined") { + const locale = bundle.locales[0]; + const errors = messageErrors.join(", "); + console.warn(`[fluent][resolver] errors in ${locale}/${id}: ${errors}.`); + } + } else { + missingIds.add(id); + } + }); + return missingIds; +} +;// CONCATENATED MODULE: ./node_modules/@fluent/dom/esm/dom_localization.js + + + + + + + + + + + + +const L10NID_ATTR_NAME = "data-l10n-id"; +const L10NARGS_ATTR_NAME = "data-l10n-args"; +const L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`; +class DOMLocalization extends Localization { + constructor(resourceIds, generateBundles) { + super(resourceIds, generateBundles); + this.roots = new Set(); + this.pendingrAF = null; + this.pendingElements = new Set(); + this.windowElement = null; + this.mutationObserver = null; + this.observerConfig = { + attributes: true, + characterData: false, + childList: true, + subtree: true, + attributeFilter: [L10NID_ATTR_NAME, L10NARGS_ATTR_NAME] + }; + } + onChange(eager = false) { + super.onChange(eager); + if (this.roots) { + this.translateRoots(); + } + } + setAttributes(element, id, args) { + element.setAttribute(L10NID_ATTR_NAME, id); + if (args) { + element.setAttribute(L10NARGS_ATTR_NAME, JSON.stringify(args)); + } else { + element.removeAttribute(L10NARGS_ATTR_NAME); + } + return element; + } + getAttributes(element) { + return { + id: element.getAttribute(L10NID_ATTR_NAME), + args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null) + }; + } + connectRoot(newRoot) { + for (const root of this.roots) { + if (root === newRoot || root.contains(newRoot) || newRoot.contains(root)) { + throw new Error("Cannot add a root that overlaps with existing root."); + } + } + if (this.windowElement) { + if (this.windowElement !== newRoot.ownerDocument.defaultView) { + throw new Error(`Cannot connect a root: + DOMLocalization already has a root from a different window.`); + } + } else { + this.windowElement = newRoot.ownerDocument.defaultView; + this.mutationObserver = new this.windowElement.MutationObserver(mutations => this.translateMutations(mutations)); + } + this.roots.add(newRoot); + this.mutationObserver.observe(newRoot, this.observerConfig); + } + disconnectRoot(root) { + this.roots.delete(root); + this.pauseObserving(); + if (this.roots.size === 0) { + this.mutationObserver = null; + this.windowElement = null; + this.pendingrAF = null; + this.pendingElements.clear(); + return true; + } + this.resumeObserving(); + return false; + } + translateRoots() { + const roots = Array.from(this.roots); + return Promise.all(roots.map(root => this.translateFragment(root))); + } + pauseObserving() { + if (!this.mutationObserver) { + return; + } + this.translateMutations(this.mutationObserver.takeRecords()); + this.mutationObserver.disconnect(); + } + resumeObserving() { + if (!this.mutationObserver) { + return; + } + for (const root of this.roots) { + this.mutationObserver.observe(root, this.observerConfig); + } + } + translateMutations(mutations) { + for (const mutation of mutations) { + switch (mutation.type) { + case "attributes": + if (mutation.target.hasAttribute("data-l10n-id")) { + this.pendingElements.add(mutation.target); + } + break; + case "childList": + for (const addedNode of mutation.addedNodes) { + if (addedNode.nodeType === addedNode.ELEMENT_NODE) { + if (addedNode.childElementCount) { + for (const element of this.getTranslatables(addedNode)) { + this.pendingElements.add(element); + } + } else if (addedNode.hasAttribute(L10NID_ATTR_NAME)) { + this.pendingElements.add(addedNode); + } + } + } + break; + } + } + if (this.pendingElements.size > 0) { + if (this.pendingrAF === null) { + this.pendingrAF = this.windowElement.requestAnimationFrame(() => { + this.translateElements(Array.from(this.pendingElements)); + this.pendingElements.clear(); + this.pendingrAF = null; + }); + } + } + } + translateFragment(frag) { + return this.translateElements(this.getTranslatables(frag)); + } + async translateElements(elements) { + if (!elements.length) { + return undefined; + } + const keys = elements.map(this.getKeysForElement); + const translations = await this.formatMessages(keys); + return this.applyTranslations(elements, translations); + } + applyTranslations(elements, translations) { + this.pauseObserving(); + for (let i = 0; i < elements.length; i++) { + if (translations[i] !== undefined) { + translateElement(elements[i], translations[i]); + } + } + this.resumeObserving(); + } + getTranslatables(element) { + const nodes = Array.from(element.querySelectorAll(L10N_ELEMENT_QUERY)); + if (typeof element.hasAttribute === "function" && element.hasAttribute(L10NID_ATTR_NAME)) { + nodes.push(element); + } + return nodes; + } + getKeysForElement(element) { + return { + id: element.getAttribute(L10NID_ATTR_NAME), + args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null) + }; + } +} +;// CONCATENATED MODULE: ./node_modules/@fluent/dom/esm/index.js + + +;// CONCATENATED MODULE: ./web/l10n.js + +class L10n { + #dir; + #lang; + #l10n; + constructor({ + lang, + isRTL + }, l10n = null) { + this.#lang = L10n.#fixupLangCode(lang); + this.#l10n = l10n; + this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? "rtl" : "ltr"; + } + _setL10n(l10n) { + this.#l10n = l10n; + } + getLanguage() { + return this.#lang; + } + getDirection() { + return this.#dir; + } + async get(ids, args = null, fallback) { + if (Array.isArray(ids)) { + ids = ids.map(id => ({ + id + })); + const messages = await this.#l10n.formatMessages(ids); + return messages.map(message => message.value); + } + const messages = await this.#l10n.formatMessages([{ + id: ids, + args + }]); + return messages?.[0].value || fallback; + } + async translate(element) { + try { + this.#l10n.connectRoot(element); + await this.#l10n.translateRoots(); + } catch {} + } + pause() { + this.#l10n.pauseObserving(); + } + resume() { + this.#l10n.resumeObserving(); + } + static #fixupLangCode(langCode) { + langCode = langCode?.toLowerCase() || "en-us"; + 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" + }; + return PARTIAL_LANG_CODES[langCode] || langCode; + } + static #isRTL(lang) { + const shortCode = lang.split("-", 1)[0]; + return ["ar", "he", "fa", "ps", "ur"].includes(shortCode); + } +} +const GenericL10n = null; + +;// CONCATENATED MODULE: ./web/genericl10n.js + + + + + + + + +function createBundle(lang, text) { + const resource = new FluentResource(text); + const bundle = new FluentBundle(lang); + const errors = bundle.addResource(resource); + if (errors.length) { + console.error("L10n errors", errors); + } + return bundle; +} +class genericl10n_GenericL10n extends L10n { + constructor(lang) { + super({ + lang + }); + const generateBundles = !lang ? genericl10n_GenericL10n.#generateBundlesFallback.bind(genericl10n_GenericL10n, this.getLanguage()) : genericl10n_GenericL10n.#generateBundles.bind(genericl10n_GenericL10n, "en-us", this.getLanguage()); + this._setL10n(new DOMLocalization([], generateBundles)); + } + static async *#generateBundles(defaultLang, baseLang) { + const { + baseURL, + paths + } = await this.#getPaths(); + const langs = [baseLang]; + if (defaultLang !== baseLang) { + const shortLang = baseLang.split("-", 1)[0]; + if (shortLang !== baseLang) { + langs.push(shortLang); + } + langs.push(defaultLang); + } + for (const lang of langs) { + const bundle = await this.#createBundle(lang, baseURL, paths); + if (bundle) { + yield bundle; + } + if (lang === "en-us") { + yield this.#createBundleFallback(lang); + } + } + } + static async #createBundle(lang, baseURL, paths) { + const path = paths[lang]; + if (!path) { + return null; + } + const url = new URL(path, baseURL); + const text = await fetchData(url, "text"); + return createBundle(lang, text); + } + static async #getPaths() { + try { + const { + href + } = document.querySelector(`link[type="application/l10n"]`); + const paths = await fetchData(href, "json"); + return { + baseURL: href.replace(/[^/]*$/, "") || "./", + paths + }; + } catch {} + return { + baseURL: "./", + paths: Object.create(null) + }; + } + static async *#generateBundlesFallback(lang) { + yield this.#createBundleFallback(lang); + } + static async #createBundleFallback(lang) { + const text = "pdfjs-previous-button =\n .title = Previous Page\npdfjs-previous-button-label = Previous\npdfjs-next-button =\n .title = Next Page\npdfjs-next-button-label = Next\npdfjs-page-input =\n .title = Page\npdfjs-of-pages = of { $pagesCount }\npdfjs-page-of-pages = ({ $pageNumber } of { $pagesCount })\npdfjs-zoom-out-button =\n .title = Zoom Out\npdfjs-zoom-out-button-label = Zoom Out\npdfjs-zoom-in-button =\n .title = Zoom In\npdfjs-zoom-in-button-label = Zoom In\npdfjs-zoom-select =\n .title = Zoom\npdfjs-presentation-mode-button =\n .title = Switch to Presentation Mode\npdfjs-presentation-mode-button-label = Presentation Mode\npdfjs-open-file-button =\n .title = Open File\npdfjs-open-file-button-label = Open\npdfjs-print-button =\n .title = Print\npdfjs-print-button-label = Print\npdfjs-save-button =\n .title = Save\npdfjs-save-button-label = Save\npdfjs-download-button =\n .title = Download\npdfjs-download-button-label = Download\npdfjs-bookmark-button =\n .title = Current Page (View URL from Current Page)\npdfjs-bookmark-button-label = Current Page\npdfjs-tools-button =\n .title = Tools\npdfjs-tools-button-label = Tools\npdfjs-first-page-button =\n .title = Go to First Page\npdfjs-first-page-button-label = Go to First Page\npdfjs-last-page-button =\n .title = Go to Last Page\npdfjs-last-page-button-label = Go to Last Page\npdfjs-page-rotate-cw-button =\n .title = Rotate Clockwise\npdfjs-page-rotate-cw-button-label = Rotate Clockwise\npdfjs-page-rotate-ccw-button =\n .title = Rotate Counterclockwise\npdfjs-page-rotate-ccw-button-label = Rotate Counterclockwise\npdfjs-cursor-text-select-tool-button =\n .title = Enable Text Selection Tool\npdfjs-cursor-text-select-tool-button-label = Text Selection Tool\npdfjs-cursor-hand-tool-button =\n .title = Enable Hand Tool\npdfjs-cursor-hand-tool-button-label = Hand Tool\npdfjs-scroll-page-button =\n .title = Use Page Scrolling\npdfjs-scroll-page-button-label = Page Scrolling\npdfjs-scroll-vertical-button =\n .title = Use Vertical Scrolling\npdfjs-scroll-vertical-button-label = Vertical Scrolling\npdfjs-scroll-horizontal-button =\n .title = Use Horizontal Scrolling\npdfjs-scroll-horizontal-button-label = Horizontal Scrolling\npdfjs-scroll-wrapped-button =\n .title = Use Wrapped Scrolling\npdfjs-scroll-wrapped-button-label = Wrapped Scrolling\npdfjs-spread-none-button =\n .title = Do not join page spreads\npdfjs-spread-none-button-label = No Spreads\npdfjs-spread-odd-button =\n .title = Join page spreads starting with odd-numbered pages\npdfjs-spread-odd-button-label = Odd Spreads\npdfjs-spread-even-button =\n .title = Join page spreads starting with even-numbered pages\npdfjs-spread-even-button-label = Even Spreads\npdfjs-document-properties-button =\n .title = Document Properties\u2026\npdfjs-document-properties-button-label = Document Properties\u2026\npdfjs-document-properties-file-name = File name:\npdfjs-document-properties-file-size = File size:\npdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)\npdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)\npdfjs-document-properties-title = Title:\npdfjs-document-properties-author = Author:\npdfjs-document-properties-subject = Subject:\npdfjs-document-properties-keywords = Keywords:\npdfjs-document-properties-creation-date = Creation Date:\npdfjs-document-properties-modification-date = Modification Date:\npdfjs-document-properties-date-string = { $date }, { $time }\npdfjs-document-properties-creator = Creator:\npdfjs-document-properties-producer = PDF Producer:\npdfjs-document-properties-version = PDF Version:\npdfjs-document-properties-page-count = Page Count:\npdfjs-document-properties-page-size = Page Size:\npdfjs-document-properties-page-size-unit-inches = in\npdfjs-document-properties-page-size-unit-millimeters = mm\npdfjs-document-properties-page-size-orientation-portrait = portrait\npdfjs-document-properties-page-size-orientation-landscape = landscape\npdfjs-document-properties-page-size-name-a-three = A3\npdfjs-document-properties-page-size-name-a-four = A4\npdfjs-document-properties-page-size-name-letter = Letter\npdfjs-document-properties-page-size-name-legal = Legal\npdfjs-document-properties-page-size-dimension-string = { $width } \xD7 { $height } { $unit } ({ $orientation })\npdfjs-document-properties-page-size-dimension-name-string = { $width } \xD7 { $height } { $unit } ({ $name }, { $orientation })\npdfjs-document-properties-linearized = Fast Web View:\npdfjs-document-properties-linearized-yes = Yes\npdfjs-document-properties-linearized-no = No\npdfjs-document-properties-close-button = Close\npdfjs-print-progress-message = Preparing document for printing\u2026\npdfjs-print-progress-percent = { $progress }%\npdfjs-print-progress-close-button = Cancel\npdfjs-printing-not-supported = Warning: Printing is not fully supported by this browser.\npdfjs-printing-not-ready = Warning: The PDF is not fully loaded for printing.\npdfjs-toggle-sidebar-button =\n .title = Toggle Sidebar\npdfjs-toggle-sidebar-notification-button =\n .title = Toggle Sidebar (document contains outline/attachments/layers)\npdfjs-toggle-sidebar-button-label = Toggle Sidebar\npdfjs-document-outline-button =\n .title = Show Document Outline (double-click to expand/collapse all items)\npdfjs-document-outline-button-label = Document Outline\npdfjs-attachments-button =\n .title = Show Attachments\npdfjs-attachments-button-label = Attachments\npdfjs-layers-button =\n .title = Show Layers (double-click to reset all layers to the default state)\npdfjs-layers-button-label = Layers\npdfjs-thumbs-button =\n .title = Show Thumbnails\npdfjs-thumbs-button-label = Thumbnails\npdfjs-current-outline-item-button =\n .title = Find Current Outline Item\npdfjs-current-outline-item-button-label = Current Outline Item\npdfjs-findbar-button =\n .title = Find in Document\npdfjs-findbar-button-label = Find\npdfjs-additional-layers = Additional Layers\npdfjs-thumb-page-title =\n .title = Page { $page }\npdfjs-thumb-page-canvas =\n .aria-label = Thumbnail of Page { $page }\npdfjs-find-input =\n .title = Find\n .placeholder = Find in document\u2026\npdfjs-find-previous-button =\n .title = Find the previous occurrence of the phrase\npdfjs-find-previous-button-label = Previous\npdfjs-find-next-button =\n .title = Find the next occurrence of the phrase\npdfjs-find-next-button-label = Next\npdfjs-find-highlight-checkbox = Highlight All\npdfjs-find-match-case-checkbox-label = Match Case\npdfjs-find-match-diacritics-checkbox-label = Match Diacritics\npdfjs-find-entire-word-checkbox-label = Whole Words\npdfjs-find-reached-top = Reached top of document, continued from bottom\npdfjs-find-reached-bottom = Reached end of document, continued from top\npdfjs-find-match-count =\n { $total ->\n [one] { $current } of { $total } match\n *[other] { $current } of { $total } matches\n }\npdfjs-find-match-count-limit =\n { $limit ->\n [one] More than { $limit } match\n *[other] More than { $limit } matches\n }\npdfjs-find-not-found = Phrase not found\npdfjs-page-scale-width = Page Width\npdfjs-page-scale-fit = Page Fit\npdfjs-page-scale-auto = Automatic Zoom\npdfjs-page-scale-actual = Actual Size\npdfjs-page-scale-percent = { $scale }%\npdfjs-page-landmark =\n .aria-label = Page { $page }\npdfjs-loading-error = An error occurred while loading the PDF.\npdfjs-invalid-file-error = Invalid or corrupted PDF file.\npdfjs-missing-file-error = Missing PDF file.\npdfjs-unexpected-response-error = Unexpected server response.\npdfjs-rendering-error = An error occurred while rendering the page.\npdfjs-annotation-date-string = { $date }, { $time }\npdfjs-text-annotation-type =\n .alt = [{ $type } Annotation]\npdfjs-password-label = Enter the password to open this PDF file.\npdfjs-password-invalid = Invalid password. Please try again.\npdfjs-password-ok-button = OK\npdfjs-password-cancel-button = Cancel\npdfjs-web-fonts-disabled = Web fonts are disabled: unable to use embedded PDF fonts.\npdfjs-editor-free-text-button =\n .title = Text\npdfjs-editor-free-text-button-label = Text\npdfjs-editor-ink-button =\n .title = Draw\npdfjs-editor-ink-button-label = Draw\npdfjs-editor-stamp-button =\n .title = Add or edit images\npdfjs-editor-stamp-button-label = Add or edit images\npdfjs-editor-highlight-button =\n .title = Highlight\npdfjs-editor-highlight-button-label = Highlight\npdfjs-highlight-floating-button1 =\n .title = Highlight\n .aria-label = Highlight\npdfjs-highlight-floating-button-label = Highlight\npdfjs-editor-remove-ink-button =\n .title = Remove drawing\npdfjs-editor-remove-freetext-button =\n .title = Remove text\npdfjs-editor-remove-stamp-button =\n .title = Remove image\npdfjs-editor-remove-highlight-button =\n .title = Remove highlight\npdfjs-editor-free-text-color-input = Color\npdfjs-editor-free-text-size-input = Size\npdfjs-editor-ink-color-input = Color\npdfjs-editor-ink-thickness-input = Thickness\npdfjs-editor-ink-opacity-input = Opacity\npdfjs-editor-stamp-add-image-button =\n .title = Add image\npdfjs-editor-stamp-add-image-button-label = Add image\npdfjs-editor-free-highlight-thickness-input = Thickness\npdfjs-editor-free-highlight-thickness-title =\n .title = Change thickness when highlighting items other than text\npdfjs-free-text =\n .aria-label = Text Editor\npdfjs-free-text-default-content = Start typing\u2026\npdfjs-ink =\n .aria-label = Draw Editor\npdfjs-ink-canvas =\n .aria-label = User-created image\npdfjs-editor-alt-text-button-label = Alt text\npdfjs-editor-alt-text-edit-button-label = Edit alt text\npdfjs-editor-alt-text-dialog-label = Choose an option\npdfjs-editor-alt-text-dialog-description = Alt text (alternative text) helps when people can\u2019t see the image or when it doesn\u2019t load.\npdfjs-editor-alt-text-add-description-label = Add a description\npdfjs-editor-alt-text-add-description-description = Aim for 1-2 sentences that describe the subject, setting, or actions.\npdfjs-editor-alt-text-mark-decorative-label = Mark as decorative\npdfjs-editor-alt-text-mark-decorative-description = This is used for ornamental images, like borders or watermarks.\npdfjs-editor-alt-text-cancel-button = Cancel\npdfjs-editor-alt-text-save-button = Save\npdfjs-editor-alt-text-decorative-tooltip = Marked as decorative\npdfjs-editor-alt-text-textarea =\n .placeholder = For example, \u201CA young man sits down at a table to eat a meal\u201D\npdfjs-editor-resizer-label-top-left = Top left corner \u2014 resize\npdfjs-editor-resizer-label-top-middle = Top middle \u2014 resize\npdfjs-editor-resizer-label-top-right = Top right corner \u2014 resize\npdfjs-editor-resizer-label-middle-right = Middle right \u2014 resize\npdfjs-editor-resizer-label-bottom-right = Bottom right corner \u2014 resize\npdfjs-editor-resizer-label-bottom-middle = Bottom middle \u2014 resize\npdfjs-editor-resizer-label-bottom-left = Bottom left corner \u2014 resize\npdfjs-editor-resizer-label-middle-left = Middle left \u2014 resize\npdfjs-editor-highlight-colorpicker-label = Highlight color\npdfjs-editor-colorpicker-button =\n .title = Change color\npdfjs-editor-colorpicker-dropdown =\n .aria-label = Color choices\npdfjs-editor-colorpicker-yellow =\n .title = Yellow\npdfjs-editor-colorpicker-green =\n .title = Green\npdfjs-editor-colorpicker-blue =\n .title = Blue\npdfjs-editor-colorpicker-pink =\n .title = Pink\npdfjs-editor-colorpicker-red =\n .title = Red\npdfjs-editor-highlight-show-all-button-label = Show all\npdfjs-editor-highlight-show-all-button =\n .title = Show all"; + return createBundle(lang, text); + } +} + +;// CONCATENATED MODULE: ./web/generic_scripting.js + +async function docProperties(pdfDocument) { + const url = "", + baseUrl = url.split("#", 1)[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 || getPdfFilenameFromUrl(url), + metadata: metadata?.getRaw(), + authors: metadata?.get("dc:creator"), + numPages: pdfDocument.numPages, + URL: url + }; +} +class GenericScripting { + constructor(sandboxBundleSrc) { + this._ready = new Promise((resolve, reject) => { + const sandbox = import( /*webpackIgnore: true*/sandboxBundleSrc); + sandbox.then(pdfjsSandbox => { + resolve(pdfjsSandbox.QuickJSSandbox()); + }).catch(reject); + }); + } + 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(); + } +} + +;// CONCATENATED MODULE: ./web/genericcom.js + + + + + + +function initCom(app) {} +class Preferences extends BasePreferences { + async _writeToStorage(prefObj) { + localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj)); + } + async _readFromStorage(prefObj) { + return { + prefs: JSON.parse(localStorage.getItem("pdfjs.preferences")) + }; + } +} +class ExternalServices extends BaseExternalServices { + async createL10n() { + return new genericl10n_GenericL10n(AppOptions.get("locale")); + } + createScripting() { + return new GenericScripting(AppOptions.get("sandboxBundleSrc")); + } +} +class MLManager { + async guess() { + return null; + } +} + +;// CONCATENATED MODULE: ./web/alt_text_manager.js + +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({ + dialog, + optionDescription, + optionDecorative, + textarea, + cancelButton, + saveButton + }, container, overlayManager, eventBus) { + 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 shadow(this, "_elements", [this.#optionDescription, this.#optionDecorative, this.#textarea, this.#saveButton, this.#cancelButton]); + } + #createSVGElement() { + if (this.#svgElement) { + return; + } + const svgFactory = new 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.#currentEditor._reportTelemetry(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.altTextFinish(); + 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; + } +} + +;// CONCATENATED MODULE: ./web/annotation_editor_params.js + +class AnnotationEditorParams { + constructor(options, eventBus) { + this.eventBus = eventBus; + this.#bindListeners(options); + } + #bindListeners({ + editorFreeTextFontSize, + editorFreeTextColor, + editorInkColor, + editorInkThickness, + editorInkOpacity, + editorStampAddImage, + editorFreeHighlightThickness, + editorHighlightShowAll + }) { + const dispatchEvent = (typeStr, value) => { + this.eventBus.dispatch("switchannotationeditorparams", { + source: this, + type: 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"); + }); + editorFreeHighlightThickness.addEventListener("input", function () { + dispatchEvent("HIGHLIGHT_THICKNESS", this.valueAsNumber); + }); + editorHighlightShowAll.addEventListener("click", function () { + const checked = this.getAttribute("aria-pressed") === "true"; + this.setAttribute("aria-pressed", !checked); + dispatchEvent("HIGHLIGHT_SHOW_ALL", !checked); + }); + this.eventBus._on("annotationeditorparamschanged", evt => { + for (const [type, value] of evt.details) { + switch (type) { + case AnnotationEditorParamsType.FREETEXT_SIZE: + editorFreeTextFontSize.value = value; + break; + case AnnotationEditorParamsType.FREETEXT_COLOR: + editorFreeTextColor.value = value; + break; + case AnnotationEditorParamsType.INK_COLOR: + editorInkColor.value = value; + break; + case AnnotationEditorParamsType.INK_THICKNESS: + editorInkThickness.value = value; + break; + case AnnotationEditorParamsType.INK_OPACITY: + editorInkOpacity.value = value; + break; + case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS: + editorFreeHighlightThickness.value = value; + break; + case AnnotationEditorParamsType.HIGHLIGHT_FREE: + editorFreeHighlightThickness.disabled = !value; + break; + case AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL: + editorHighlightShowAll.setAttribute("aria-pressed", value); + break; + } + } + }); + } +} + +;// CONCATENATED MODULE: ./web/caret_browsing.js + +const PRECISION = 1e-1; +class CaretBrowsingMode { + #mainContainer; + #toolBarHeight; + #viewerContainer; + constructor(mainContainer, viewerContainer, toolbarContainer) { + this.#mainContainer = mainContainer; + this.#viewerContainer = viewerContainer; + this.#toolBarHeight = toolbarContainer?.getBoundingClientRect().height ?? 0; + } + #isOnSameLine(rect1, rect2) { + const top1 = rect1.y; + const bot1 = rect1.bottom; + const mid1 = rect1.y + rect1.height / 2; + const top2 = rect2.y; + const bot2 = rect2.bottom; + const mid2 = rect2.y + rect2.height / 2; + return top1 <= mid2 && mid2 <= bot1 || top2 <= mid1 && mid1 <= bot2; + } + #isUnderOver(rect, x, y, isUp) { + const midY = rect.y + rect.height / 2; + return (isUp ? y >= midY : y <= midY) && rect.x - PRECISION <= x && x <= rect.right + PRECISION; + } + #isVisible(rect) { + return rect.top >= this.#toolBarHeight && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth); + } + #getCaretPosition(selection, isUp) { + const { + focusNode, + focusOffset + } = selection; + const range = document.createRange(); + range.setStart(focusNode, focusOffset); + range.setEnd(focusNode, focusOffset); + const rect = range.getBoundingClientRect(); + return [rect.x, isUp ? rect.top : rect.bottom]; + } + static #caretPositionFromPoint(x, y) { + if (!document.caretPositionFromPoint) { + const { + startContainer: offsetNode, + startOffset: offset + } = document.caretRangeFromPoint(x, y); + return { + offsetNode, + offset + }; + } + return document.caretPositionFromPoint(x, y); + } + #setCaretPositionHelper(selection, caretX, select, element, rect) { + rect ||= element.getBoundingClientRect(); + if (caretX <= rect.x + PRECISION) { + if (select) { + selection.extend(element.firstChild, 0); + } else { + selection.setPosition(element.firstChild, 0); + } + return; + } + if (rect.right - PRECISION <= caretX) { + const { + lastChild + } = element; + if (select) { + selection.extend(lastChild, lastChild.length); + } else { + selection.setPosition(lastChild, lastChild.length); + } + return; + } + const midY = rect.y + rect.height / 2; + let caretPosition = CaretBrowsingMode.#caretPositionFromPoint(caretX, midY); + let parentElement = caretPosition.offsetNode?.parentElement; + if (parentElement && parentElement !== element) { + const elementsAtPoint = document.elementsFromPoint(caretX, midY); + const savedVisibilities = []; + for (const el of elementsAtPoint) { + if (el === element) { + break; + } + const { + style + } = el; + savedVisibilities.push([el, style.visibility]); + style.visibility = "hidden"; + } + caretPosition = CaretBrowsingMode.#caretPositionFromPoint(caretX, midY); + parentElement = caretPosition.offsetNode?.parentElement; + for (const [el, visibility] of savedVisibilities) { + el.style.visibility = visibility; + } + } + if (parentElement !== element) { + if (select) { + selection.extend(element.firstChild, 0); + } else { + selection.setPosition(element.firstChild, 0); + } + return; + } + if (select) { + selection.extend(caretPosition.offsetNode, caretPosition.offset); + } else { + selection.setPosition(caretPosition.offsetNode, caretPosition.offset); + } + } + #setCaretPosition(select, selection, newLineElement, newLineElementRect, caretX) { + if (this.#isVisible(newLineElementRect)) { + this.#setCaretPositionHelper(selection, caretX, select, newLineElement, newLineElementRect); + return; + } + this.#mainContainer.addEventListener("scrollend", this.#setCaretPositionHelper.bind(this, selection, caretX, select, newLineElement, null), { + once: true + }); + newLineElement.scrollIntoView(); + } + #getNodeOnNextPage(textLayer, isUp) { + while (true) { + const page = textLayer.closest(".page"); + const pageNumber = parseInt(page.getAttribute("data-page-number")); + const nextPage = isUp ? pageNumber - 1 : pageNumber + 1; + textLayer = this.#viewerContainer.querySelector(`.page[data-page-number="${nextPage}"] .textLayer`); + if (!textLayer) { + return null; + } + const walker = document.createTreeWalker(textLayer, NodeFilter.SHOW_TEXT); + const node = isUp ? walker.lastChild() : walker.firstChild(); + if (node) { + return node; + } + } + } + moveCaret(isUp, select) { + const selection = document.getSelection(); + if (selection.rangeCount === 0) { + return; + } + const { + focusNode + } = selection; + const focusElement = focusNode.nodeType !== Node.ELEMENT_NODE ? focusNode.parentElement : focusNode; + const root = focusElement.closest(".textLayer"); + if (!root) { + return; + } + const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT); + walker.currentNode = focusNode; + const focusRect = focusElement.getBoundingClientRect(); + let newLineElement = null; + const nodeIterator = (isUp ? walker.previousSibling : walker.nextSibling).bind(walker); + while (nodeIterator()) { + const element = walker.currentNode.parentElement; + if (!this.#isOnSameLine(focusRect, element.getBoundingClientRect())) { + newLineElement = element; + break; + } + } + if (!newLineElement) { + const node = this.#getNodeOnNextPage(root, isUp); + if (!node) { + return; + } + if (select) { + const lastNode = (isUp ? walker.firstChild() : walker.lastChild()) || focusNode; + selection.extend(lastNode, isUp ? 0 : lastNode.length); + const range = document.createRange(); + range.setStart(node, isUp ? node.length : 0); + range.setEnd(node, isUp ? node.length : 0); + selection.addRange(range); + return; + } + const [caretX] = this.#getCaretPosition(selection, isUp); + const { + parentElement + } = node; + this.#setCaretPosition(select, selection, parentElement, parentElement.getBoundingClientRect(), caretX); + return; + } + const [caretX, caretY] = this.#getCaretPosition(selection, isUp); + const newLineElementRect = newLineElement.getBoundingClientRect(); + if (this.#isUnderOver(newLineElementRect, caretX, caretY, isUp)) { + this.#setCaretPosition(select, selection, newLineElement, newLineElementRect, caretX); + return; + } + while (nodeIterator()) { + const element = walker.currentNode.parentElement; + const elementRect = element.getBoundingClientRect(); + if (!this.#isOnSameLine(newLineElementRect, elementRect)) { + break; + } + if (this.#isUnderOver(elementRect, caretX, caretY, isUp)) { + this.#setCaretPosition(select, selection, element, elementRect, caretX); + return; + } + } + this.#setCaretPosition(select, selection, newLineElement, newLineElementRect, caretX); + } +} + +;// CONCATENATED MODULE: ./web/download_manager.js + + + + +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 (!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(data, filename, dest = null) { + const isPdfData = isPdfFile(filename); + const contentType = isPdfData ? "application/pdf" : ""; + if (isPdfData) { + let blobUrl = this.#openBlobUrls.get(data); + if (!blobUrl) { + blobUrl = URL.createObjectURL(new Blob([data], { + type: contentType + })); + this.#openBlobUrls.set(data, blobUrl); + } + let viewerUrl; + viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename); + if (dest) { + viewerUrl += `#${escape(dest)}`; + } + try { + window.open(viewerUrl); + return true; + } catch (ex) { + console.error(`openOrDownloadData: ${ex}`); + URL.revokeObjectURL(blobUrl); + this.#openBlobUrls.delete(data); + } + } + this.downloadData(data, filename, contentType); + return false; + } + download(blob, url, filename, _options) { + const blobUrl = URL.createObjectURL(blob); + download(blobUrl, filename); + } +} + +;// CONCATENATED MODULE: ./web/overlay_manager.js +class OverlayManager { + #overlays = new WeakMap(); + #active = null; + get active() { + return this.#active; + } + async register(dialog, canForceClose = 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(dialog = 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; + } +} + +;// CONCATENATED MODULE: ./web/password_prompt.js + + +class PasswordPrompt { + #activeCapability = null; + #updateCallback = null; + #reason = null; + constructor(options, overlayManager, isViewerEmbedded = 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._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() { + await this.#activeCapability?.promise; + this.#activeCapability = Promise.withResolvers(); + try { + await this.overlayManager.open(this.dialog); + } catch (ex) { + this.#activeCapability.resolve(); + throw ex; + } + const passwordIncorrect = this.#reason === PasswordResponses.INCORRECT_PASSWORD; + if (!this._isViewerEmbedded || passwordIncorrect) { + this.input.focus(); + } + this.label.setAttribute("data-l10n-id", `pdfjs-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; + } +} + +;// CONCATENATED MODULE: ./web/base_tree_viewer.js + +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._l10n = options.l10n; + 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 removeNullCharacters(str, true) || "\u2013"; + } + _addToggleButton(div, hidden = 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, show = false) { + this._l10n.pause(); + this._lastToggleIsShow = show; + for (const toggler of root.querySelectorAll(".treeItemToggler")) { + toggler.classList.toggle("treeItemsHidden", !show); + } + this._l10n.resume(); + } + _toggleAllTreeItems() { + this._toggleTreeItem(this.container, !this._lastToggleIsShow); + } + _finishRendering(fragment, count, hasAnyNesting = false) { + if (hasAnyNesting) { + this.container.classList.add("treeWithDeepNesting"); + this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden"); + } + this._l10n.pause(); + this.container.append(fragment); + this._l10n.resume(); + this._dispatchEvent(count); + } + render(params) { + throw new Error("Not implemented: render"); + } + _updateCurrentTreeItem(treeItem = 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; + } + this._l10n.pause(); + 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._l10n.resume(); + this._updateCurrentTreeItem(treeItem); + this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP); + } +} + +;// CONCATENATED MODULE: ./web/pdf_attachment_viewer.js + + + +class PDFAttachmentViewer extends BaseTreeViewer { + constructor(options) { + super(options); + this.downloadManager = options.downloadManager; + this.eventBus._on("fileattachmentannotation", this.#appendAttachment.bind(this)); + } + reset(keepRenderedCapability = false) { + super.reset(); + this._attachments = null; + if (!keepRenderedCapability) { + this._renderedCapability = Promise.withResolvers(); + } + this._pendingDispatchEvent = false; + } + async _dispatchEvent(attachmentsCount) { + this._renderedCapability.resolve(); + if (attachmentsCount === 0 && !this._pendingDispatchEvent) { + this._pendingDispatchEvent = true; + await waitOnEventOrTimeout({ + target: this.eventBus, + name: "annotationlayerrendered", + delay: 1000 + }); + if (!this._pendingDispatchEvent) { + return; + } + } + this._pendingDispatchEvent = false; + this.eventBus.dispatch("attachmentsloaded", { + source: this, + attachmentsCount + }); + } + _bindLink(element, { + content, + description, + filename + }) { + if (description) { + element.title = description; + } + element.onclick = () => { + this.downloadManager.openOrDownloadData(content, filename); + return false; + }; + } + render({ + attachments, + keepRenderedCapability = false + }) { + 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 div = document.createElement("div"); + div.className = "treeItem"; + const element = document.createElement("a"); + this._bindLink(element, item); + element.textContent = this._normalizeTextContent(item.filename); + div.append(element); + fragment.append(div); + attachmentsCount++; + } + this._finishRendering(fragment, attachmentsCount); + } + #appendAttachment(item) { + 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 (item.filename === name) { + return; + } + } + attachments[item.filename] = item; + this.render({ + attachments, + keepRenderedCapability: true + }); + }); + } +} + +;// CONCATENATED MODULE: ./web/grab_to_pan.js +const CSS_CLASS_GRAB = "grab-to-pan-grab"; +class GrabToPan { + constructor({ + element + }) { + 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(); + } +} + +;// CONCATENATED MODULE: ./web/pdf_cursor_tools.js + + + +class PDFCursorTools { + #active = CursorTool.SELECT; + #prevActive = null; + constructor({ + container, + eventBus, + cursorToolOnLoad = CursorTool.SELECT + }) { + 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 CursorTool.SELECT: + break; + case CursorTool.HAND: + this._handTool.deactivate(); + break; + case CursorTool.ZOOM: + } + }; + switch (tool) { + case CursorTool.SELECT: + disableActiveTool(); + break; + case CursorTool.HAND: + disableActiveTool(); + this._handTool.activate(); + break; + case 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 => { + if (!evt.reset) { + this.switchTool(evt.tool); + } else if (this.#prevActive !== null) { + annotationEditorMode = AnnotationEditorType.NONE; + presentationModeState = PresentationModeState.NORMAL; + enableActive(); + } + }); + let annotationEditorMode = AnnotationEditorType.NONE, + presentationModeState = PresentationModeState.NORMAL; + const disableActive = () => { + const prevActive = this.#active; + this.switchTool(CursorTool.SELECT); + this.#prevActive ??= prevActive; + }; + const enableActive = () => { + const prevActive = this.#prevActive; + if (prevActive !== null && annotationEditorMode === AnnotationEditorType.NONE && presentationModeState === PresentationModeState.NORMAL) { + this.#prevActive = null; + this.switchTool(prevActive); + } + }; + this.eventBus._on("annotationeditormodechanged", ({ + mode + }) => { + annotationEditorMode = mode; + if (mode === AnnotationEditorType.NONE) { + enableActive(); + } else { + disableActive(); + } + }); + this.eventBus._on("presentationmodechanged", ({ + state + }) => { + presentationModeState = state; + if (state === PresentationModeState.NORMAL) { + enableActive(); + } else if (state === PresentationModeState.FULLSCREEN) { + disableActive(); + } + }); + } + get _handTool() { + return shadow(this, "_handTool", new GrabToPan({ + element: this.container + })); + } +} + +;// CONCATENATED MODULE: ./web/pdf_document_properties.js + + + +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": "a-three", + "210x297": "a-four" +}; +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({ + dialog, + fields, + closeButton + }, overlayManager, eventBus, l10n, fileNameLookup) { + 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 = NON_METRIC_LOCALES.includes(l10n.getLanguage()); + } + 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(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 = Promise.withResolvers(); + this._currentPageNumber = 1; + this._pagesRotation = 0; + } + #updateUI(reset = 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(fileSize = 0) { + const kb = fileSize / 1024, + mb = kb / 1024; + if (!kb) { + return undefined; + } + return this.l10n.get(`pdfjs-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 = 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(`pdfjs-document-properties-page-size-unit-${this._isNonMetricLocale ? "inches" : "millimeters"}`), rawName && this.l10n.get(`pdfjs-document-properties-page-size-name-${rawName}`), this.l10n.get(`pdfjs-document-properties-page-size-orientation-${isPortrait ? "portrait" : "landscape"}`)]); + return this.l10n.get(`pdfjs-document-properties-page-size-dimension-${name ? "name-" : ""}string`, { + width: width.toLocaleString(), + height: height.toLocaleString(), + unit, + name, + orientation + }); + } + async #parseDate(inputDate) { + const dateObject = PDFDateString.toDateObject(inputDate); + if (!dateObject) { + return undefined; + } + return this.l10n.get("pdfjs-document-properties-date-string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + }); + } + #parseLinearization(isLinearized) { + return this.l10n.get(`pdfjs-document-properties-linearized-${isLinearized ? "yes" : "no"}`); + } +} + +;// CONCATENATED MODULE: ./web/pdf_find_utils.js + +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 +}; +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; +} + +;// CONCATENATED MODULE: ./web/pdf_find_controller.js + + + + + + + + + + + + + + +const FindState = { + FOUND: 0, + NOT_FOUND: 1, + WRAPPED: 2, + PENDING: 3 +}; +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 = 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 = binarySearchFirstItem(diffs, x => x[0] >= start); + if (diffs[i][0] > start) { + --i; + } + let j = 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({ + linkService, + eventBus, + updateMatchesCountOnProgress = true + }) { + 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; + } + 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({ + element = null, + selectedLeft = 0, + pageIndex = -1, + matchIndex = -1 + }) { + 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 + }; + 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 = Promise.withResolvers(); + } + 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 (getCharacterType(first) === 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 (getCharacterType(last) === 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 deferred = Promise.resolve(); + const textOptions = { + disableNormalization: true + }; + for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) { + const { + promise, + resolve + } = Promise.withResolvers(); + this._extractTextPromises[i] = promise; + deferred = deferred.then(() => { + return this._pdfDocument.getPage(i + 1).then(pdfPage => 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("")); + 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; + 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(found = 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, previous = 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 + }); + } +} + +;// CONCATENATED MODULE: ./web/pdf_find_bar.js + + +const MATCHES_COUNT_LIMIT = 1000; +class PDFFindBar { + #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this)); + constructor(options, eventBus) { + 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.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"); + }); + } + reset() { + this.updateUIState(); + } + dispatchEvent(type, findPrev = 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) { + const { + findField, + findMsg + } = this; + let findMsgId = "", + status = ""; + switch (state) { + case FindState.FOUND: + break; + case FindState.PENDING: + status = "pending"; + break; + case FindState.NOT_FOUND: + findMsgId = "pdfjs-find-not-found"; + status = "notFound"; + break; + case FindState.WRAPPED: + findMsgId = `pdfjs-find-reached-${previous ? "top" : "bottom"}`; + break; + } + findField.setAttribute("data-status", status); + findField.setAttribute("aria-invalid", state === FindState.NOT_FOUND); + findMsg.setAttribute("data-status", status); + if (findMsgId) { + findMsg.setAttribute("data-l10n-id", findMsgId); + } else { + findMsg.removeAttribute("data-l10n-id"); + findMsg.textContent = ""; + } + this.updateResultsCount(matchesCount); + } + updateResultsCount({ + current = 0, + total = 0 + } = {}) { + const { + findResultsCount + } = this; + if (total > 0) { + const limit = MATCHES_COUNT_LIMIT; + findResultsCount.setAttribute("data-l10n-id", `pdfjs-find-match-count${total > limit ? "-limit" : ""}`); + findResultsCount.setAttribute("data-l10n-args", JSON.stringify({ + limit, + current, + total + })); + } else { + findResultsCount.removeAttribute("data-l10n-id"); + findResultsCount.textContent = ""; + } + } + open() { + if (!this.opened) { + this.#resizeObserver.observe(this.bar.parentNode); + this.#resizeObserver.observe(this.bar); + this.opened = true; + toggleExpandedBtn(this.toggleButton, true, this.bar); + } + this.findField.select(); + this.findField.focus(); + } + close() { + if (!this.opened) { + return; + } + this.#resizeObserver.disconnect(); + this.opened = false; + toggleExpandedBtn(this.toggleButton, false, this.bar); + this.eventBus.dispatch("findbarclose", { + source: this + }); + } + toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } + #resizeObserverCallback(entries) { + const { + bar + } = this; + bar.classList.remove("wrapContainers"); + const findbarHeight = bar.clientHeight; + const inputContainerHeight = bar.firstElementChild.clientHeight; + if (findbarHeight > inputContainerHeight) { + bar.classList.add("wrapContainers"); + } + } +} + +;// CONCATENATED MODULE: ./web/pdf_history.js + + +const HASH_CHANGE_TIMEOUT = 1000; +const POSITION_UPDATED_THRESHOLD = 50; +const UPDATE_VIEWAREA_TIMEOUT = 1000; +function getCurrentHash() { + return document.location.hash; +} +class PDFHistory { + #eventAbortController = null; + constructor({ + linkService, + eventBus + }) { + this.linkService = linkService; + this.eventBus = eventBus; + this._initialized = false; + this._fingerprint = ""; + this.reset(); + this.eventBus._on("pagesinit", () => { + this._isPagesLoaded = false; + this.eventBus._on("pagesloaded", evt => { + this._isPagesLoaded = !!evt.pagesCount; + }, { + once: true + }); + }); + } + initialize({ + fingerprint, + resetHistory = false, + updateUrl = false + }) { + 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({ + namedDest = null, + explicitDest, + pageNumber + }) { + 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, forceReplace = 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("#", 1)[0]; + if (!baseUrl.startsWith("file://")) { + newUrl = `${baseUrl}#${destination.hash}`; + } + } + if (shouldReplace) { + window.history.replaceState(newState, "", newUrl); + } else { + window.history.pushState(newState, "", newUrl); + } + } + #tryPushCurrentPosition(temporary = 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, checkReload = 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, removeTemporary = 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(checkNameddest = false) { + const hash = unescape(getCurrentHash()).substring(1); + const params = 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({ + location + }) { + 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({ + state + }) { + 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++; + waitOnEventOrTimeout({ + target: window, + name: "hashchange", + delay: HASH_CHANGE_TIMEOUT + }).then(() => { + this._blockHashChange--; + }); + } + const destination = state.destination; + this.#updateInternalState(destination, state.uid, true); + if (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.#eventAbortController) { + return; + } + this.#eventAbortController = new AbortController(); + const { + signal + } = this.#eventAbortController; + this.eventBus._on("updateviewarea", this.#updateViewarea.bind(this), { + signal + }); + window.addEventListener("popstate", this.#popState.bind(this), { + signal + }); + window.addEventListener("pagehide", this.#pageHide.bind(this), { + signal + }); + } + #unbindEvents() { + this.#eventAbortController?.abort(); + this.#eventAbortController = null; + } +} +function isDestHashesEqual(destHash, pushHash) { + if (typeof destHash !== "string" || typeof pushHash !== "string") { + return false; + } + if (destHash === pushHash) { + return true; + } + const nameddest = 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; +} + +;// CONCATENATED MODULE: ./web/pdf_layer_viewer.js + + +class PDFLayerViewer extends BaseTreeViewer { + constructor(options) { + super(options); + 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, { + groupId, + input + }) { + 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, { + name = null + }) { + if (typeof name === "string") { + element.textContent = this._normalizeTextContent(name); + return; + } + element.textContent = await this._l10n.get("pdfjs-additional-layers"); + element.style.fontStyle = "italic"; + } + _addToggleButton(div, { + name = null + }) { + super._addToggleButton(div, name === null); + } + _toggleAllTreeItems() { + if (!this._optionalContentConfig) { + return; + } + super._toggleAllTreeItems(); + } + render({ + optionalContentConfig, + pdfDocument + }) { + 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(promise = null) { + if (!this._optionalContentConfig) { + return; + } + const pdfDocument = this._pdfDocument; + const optionalContentConfig = await (promise || pdfDocument.getOptionalContentConfig({ + intent: "display" + })); + 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 + }); + } +} + +;// CONCATENATED MODULE: ./web/pdf_outline_viewer.js + + + + +class PDFOutlineViewer extends 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; + 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; + this._currentOutlineItemCapability?.resolve(false); + this._currentOutlineItemCapability = null; + } + _dispatchEvent(outlineCount) { + this._currentOutlineItemCapability = Promise.withResolvers(); + 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, { + url, + newWindow, + action, + attachment, + dest, + setOCGState + }) { + 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(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, { + bold, + italic + }) { + if (bold) { + element.style.fontWeight = "bold"; + } + if (italic) { + element.style.fontStyle = "italic"; + } + } + _addToggleButton(div, { + count, + items + }) { + 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({ + outline, + pdfDocument + }) { + 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 !== 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 = Promise.withResolvers(); + 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 (destRef && typeof destRef === "object") { + pageNumber = pdfDocument.cachedPageNumber(destRef); + } 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; + } +} + +;// CONCATENATED MODULE: ./web/pdf_presentation_mode.js + + +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 = PresentationModeState.UNKNOWN; + #args = null; + #fullscreenChangeAbortController = null; + #windowAbortController = null; + constructor({ + container, + pdfViewer, + eventBus + }) { + 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(PresentationModeState.CHANGING); + const promise = container.requestFullscreen(); + this.#args = { + pageNumber: pdfViewer.currentPageNumber, + scaleValue: pdfViewer.currentScaleValue, + scrollMode: pdfViewer.scrollMode, + spreadMode: null, + annotationEditorMode: null + }; + if (pdfViewer.spreadMode !== 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 !== AnnotationEditorType.DISABLE) { + this.#args.annotationEditorMode = pdfViewer.annotationEditorMode; + } + try { + await promise; + pdfViewer.focus(); + return true; + } catch { + this.#removeFullscreenChangeListeners(); + this.#notifyStateChange(PresentationModeState.NORMAL); + } + return false; + } + get active() { + return this.#state === PresentationModeState.CHANGING || this.#state === PresentationModeState.FULLSCREEN; + } + #mouseWheel(evt) { + if (!this.active) { + return; + } + evt.preventDefault(); + const delta = 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(PresentationModeState.FULLSCREEN); + this.container.classList.add(ACTIVE_SELECTOR); + setTimeout(() => { + this.pdfViewer.scrollMode = ScrollMode.PAGE; + if (this.#args.spreadMode !== null) { + this.pdfViewer.spreadMode = SpreadMode.NONE; + } + this.pdfViewer.currentPageNumber = this.#args.pageNumber; + this.pdfViewer.currentScaleValue = "page-fit"; + if (this.#args.annotationEditorMode !== null) { + this.pdfViewer.annotationEditorMode = { + mode: AnnotationEditorType.NONE + }; + } + }, 0); + this.#addWindowListeners(); + this.#showControls(); + this.contextMenuOpen = false; + document.getSelection().empty(); + } + #exit() { + const pageNumber = this.pdfViewer.currentPageNumber; + this.container.classList.remove(ACTIVE_SELECTOR); + setTimeout(() => { + this.#removeFullscreenChangeListeners(); + this.#notifyStateChange(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() { + if (this.#windowAbortController) { + return; + } + this.#windowAbortController = new AbortController(); + const { + signal + } = this.#windowAbortController; + const touchSwipeBind = this.#touchSwipe.bind(this); + window.addEventListener("mousemove", this.#showControls.bind(this), { + signal + }); + window.addEventListener("mousedown", this.#mouseDown.bind(this), { + signal + }); + window.addEventListener("wheel", this.#mouseWheel.bind(this), { + passive: false, + signal + }); + window.addEventListener("keydown", this.#resetMouseScrollState.bind(this), { + signal + }); + window.addEventListener("contextmenu", this.#contextMenu.bind(this), { + signal + }); + window.addEventListener("touchstart", touchSwipeBind, { + signal + }); + window.addEventListener("touchmove", touchSwipeBind, { + signal + }); + window.addEventListener("touchend", touchSwipeBind, { + signal + }); + } + #removeWindowListeners() { + this.#windowAbortController?.abort(); + this.#windowAbortController = null; + } + #addFullscreenChangeListeners() { + if (this.#fullscreenChangeAbortController) { + return; + } + this.#fullscreenChangeAbortController = new AbortController(); + window.addEventListener("fullscreenchange", () => { + if (document.fullscreenElement) { + this.#enter(); + } else { + this.#exit(); + } + }, { + signal: this.#fullscreenChangeAbortController.signal + }); + } + #removeFullscreenChangeListeners() { + this.#fullscreenChangeAbortController?.abort(); + this.#fullscreenChangeAbortController = null; + } +} + +// EXTERNAL MODULE: ./node_modules/core-js/modules/esnext.iterator.every.js +var esnext_iterator_every = __webpack_require__(3215); +;// CONCATENATED MODULE: ./web/xfa_layer_builder.js + +class XfaLayerBuilder { + constructor({ + pdfPage, + annotationStorage = null, + linkService, + xfaHtml = null + }) { + this.pdfPage = pdfPage; + this.annotationStorage = annotationStorage; + this.linkService = linkService; + this.xfaHtml = xfaHtml; + this.div = null; + this._cancelled = false; + } + async render(viewport, intent = "display") { + if (intent === "print") { + const parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: this.div, + xfaHtml: this.xfaHtml, + annotationStorage: this.annotationStorage, + linkService: this.linkService, + intent + }; + this.div = document.createElement("div"); + parameters.div = this.div; + return 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 XfaLayer.update(parameters); + } + this.div = document.createElement("div"); + parameters.div = this.div; + return XfaLayer.render(parameters); + } + cancel() { + this._cancelled = true; + } + hide() { + if (!this.div) { + return; + } + this.div.hidden = true; + } +} + +;// CONCATENATED MODULE: ./web/print_utils.js + + + +function getXfaHtmlForPrinting(printContainer, pdfDocument) { + const xfaHtml = pdfDocument.allXfaHtml; + const linkService = new SimpleLinkService(); + const scale = Math.round(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 XfaLayerBuilder({ + pdfPage: null, + annotationStorage: pdfDocument.annotationStorage, + linkService, + xfaHtml: xfaPage + }); + const viewport = getXfaPageViewport(xfaPage, { + scale + }); + builder.render(viewport, "print"); + page.append(builder.div); + } +} + +;// CONCATENATED MODULE: ./web/pdf_print_service.js + + + + + + + +let activeService = null; +let dialog = null; +let overlayManager = null; +let viewerApp = { + initialized: false +}; +function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise, printAnnotationStoragePromise) { + const scratchCanvas = activeService.scratchCanvas; + const PRINT_UNITS = printResolution / 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 ([pdfPage, printAnnotationStorage]) { + const renderContext = { + canvasContext: ctx, + transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], + viewport: pdfPage.getViewport({ + scale: 1, + rotation: size.rotation + }), + intent: "print", + annotationMode: AnnotationMode.ENABLE_STORAGE, + optionalContentConfigPromise, + printAnnotationStorage + }; + const renderTask = pdfPage.render(renderContext); + return renderTask.promise.catch(reason => { + if (!(reason instanceof RenderingCancelledException)) { + console.error(reason); + } + throw reason; + }); + }); +} +class PDFPrintService { + constructor({ + pdfDocument, + pagesOverview, + printContainer, + printResolution, + printAnnotationStoragePromise = null + }) { + this.pdfDocument = pdfDocument; + this.pagesOverview = pagesOverview; + this.printContainer = printContainer; + this._printResolution = printResolution || 150; + this._optionalContentConfigPromise = pdfDocument.getOptionalContentConfig({ + intent: "print" + }); + this._printAnnotationStoragePromise = printAnnotationStoragePromise || Promise.resolve(); + 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) { + 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); + resolve(); + return; + } + const index = this.currentPage; + renderProgress(index, pageCount); + 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."); + } + } +} +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) { + 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; + progressPerc.setAttribute("data-l10n-args", JSON.stringify({ + progress + })); +} +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 = viewerApp.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; +} +class PDFPrintServiceFactory { + static initGlobals(app) { + viewerApp = app; + } + static get supportsPrinting() { + return shadow(this, "supportsPrinting", true); + } + static createPrintService(params) { + if (activeService) { + throw new Error("The print service is created and active."); + } + return activeService = new PDFPrintService(params); + } +} + +;// CONCATENATED MODULE: ./web/pdf_rendering_queue.js + + +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, preRenderExtra = 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 === RenderingStates.FINISHED; + } + renderView(view) { + switch (view.renderingState) { + case RenderingStates.FINISHED: + return false; + case RenderingStates.PAUSED: + this.highestPriorityPage = view.renderingId; + view.resume(); + break; + case RenderingStates.RUNNING: + this.highestPriorityPage = view.renderingId; + break; + case RenderingStates.INITIAL: + this.highestPriorityPage = view.renderingId; + view.draw().finally(() => { + this.renderHighestPriority(); + }).catch(reason => { + if (reason instanceof RenderingCancelledException) { + return; + } + console.error(`renderView: "${reason}"`); + }); + break; + } + return true; + } +} + +;// CONCATENATED MODULE: ./web/pdf_scripting_manager.js + + + + + + + + + + +class PDFScriptingManager { + #closeCapability = null; + #destroyCapability = null; + #docProperties = null; + #eventAbortController = null; + #eventBus = null; + #externalServices = null; + #pdfDocument = null; + #pdfViewer = null; + #ready = false; + #scripting = null; + #willPrintCapability = null; + constructor({ + eventBus, + externalServices = null, + docProperties = null + }) { + this.#eventBus = eventBus; + 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; + } + const eventBus = this.#eventBus; + this.#eventAbortController = new AbortController(); + const { + signal + } = this.#eventAbortController; + eventBus._on("updatefromsandbox", event => { + if (event?.source === window) { + this.#updateFromSandbox(event.detail); + } + }, { + signal + }); + eventBus._on("dispatcheventinsandbox", event => { + this.#scripting?.dispatchEventInSandbox(event.detail); + }, { + signal + }); + eventBus._on("pagechanging", ({ + pageNumber, + previous + }) => { + if (pageNumber === previous) { + return; + } + this.#dispatchPageClose(previous); + this.#dispatchPageOpen(pageNumber); + }, { + signal + }); + eventBus._on("pagerendered", ({ + pageNumber + }) => { + if (!this._pageOpenPending.has(pageNumber)) { + return; + } + if (pageNumber !== this.#pdfViewer.currentPageNumber) { + return; + } + this.#dispatchPageOpen(pageNumber); + }, { + signal + }); + eventBus._on("pagesdestroy", async () => { + await this.#dispatchPageClose(this.#pdfViewer.currentPageNumber); + await this.#scripting?.dispatchEventInSandbox({ + id: "doc", + name: "WillClose" + }); + this.#closeCapability?.resolve(); + }, { + signal + }); + 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 + } + }); + 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 = Promise.withResolvers(); + 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 _pageOpenPending() { + return shadow(this, "_pageOpenPending", new Set()); + } + get _visitedPages() { + return 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 = 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, initialize = false) { + const pdfDocument = this.#pdfDocument, + visitedPages = this._visitedPages; + if (initialize) { + this.#closeCapability = Promise.withResolvers(); + } + if (!this.#closeCapability) { + return; + } + const pageView = this.#pdfViewer.getPageView(pageNumber - 1); + if (pageView?.renderingState !== 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 = Promise.withResolvers(); + if (this.#scripting) { + throw new Error("#initScripting: Scripting already exists."); + } + return this.#externalServices.createScripting(); + } + 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; + this.#eventAbortController?.abort(); + this.#eventAbortController = null; + this._pageOpenPending.clear(); + this._visitedPages.clear(); + this.#scripting = null; + this.#ready = false; + this.#destroyCapability?.resolve(); + } +} + +;// CONCATENATED MODULE: ./web/pdf_sidebar.js + +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({ + elements, + eventBus, + l10n + }) { + this.isOpen = false; + this.active = 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._currentOutlineItemButton = elements.currentOutlineItemButton; + this.eventBus = eventBus; + this.#isRTL = l10n.getDirection() === "rtl"; + this.#addEventListeners(); + } + reset() { + this.isInitialViewSet = false; + this.isInitialEventDispatched = false; + this.#hideUINotification(true); + this.switchView(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 : SidebarView.NONE; + } + setInitialView(view = SidebarView.NONE) { + if (this.isInitialViewSet) { + return; + } + this.isInitialViewSet = true; + if (view === SidebarView.NONE || view === SidebarView.UNKNOWN) { + this.#dispatchEvent(); + return; + } + this.switchView(view, true); + if (!this.isInitialEventDispatched) { + this.#dispatchEvent(); + } + } + switchView(view, forceOpen = false) { + const isViewChanged = view !== this.active; + let forceRendering = false; + switch (view) { + case SidebarView.NONE: + if (this.isOpen) { + this.close(); + } + return; + case SidebarView.THUMBS: + if (this.isOpen && isViewChanged) { + forceRendering = true; + } + break; + case SidebarView.OUTLINE: + if (this.outlineButton.disabled) { + return; + } + break; + case SidebarView.ATTACHMENTS: + if (this.attachmentsButton.disabled) { + return; + } + break; + case SidebarView.LAYERS: + if (this.layersButton.disabled) { + return; + } + break; + default: + console.error(`PDFSidebar.switchView: "${view}" is not a valid view.`); + return; + } + this.active = view; + toggleCheckedBtn(this.thumbnailButton, view === SidebarView.THUMBS, this.thumbnailView); + toggleCheckedBtn(this.outlineButton, view === SidebarView.OUTLINE, this.outlineView); + toggleCheckedBtn(this.attachmentsButton, view === SidebarView.ATTACHMENTS, this.attachmentsView); + toggleCheckedBtn(this.layersButton, view === SidebarView.LAYERS, this.layersView); + 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; + toggleExpandedBtn(this.toggleButton, true); + this.outerContainer.classList.add("sidebarMoving", "sidebarOpen"); + if (this.active === SidebarView.THUMBS) { + this.onUpdateThumbnails(); + } + this.onToggled(); + this.#dispatchEvent(); + this.#hideUINotification(); + } + close(evt = null) { + if (!this.isOpen) { + return; + } + this.isOpen = false; + toggleExpandedBtn(this.toggleButton, false); + this.outerContainer.classList.add("sidebarMoving"); + this.outerContainer.classList.remove("sidebarOpen"); + this.onToggled(); + this.#dispatchEvent(); + if (evt?.detail > 0) { + this.toggleButton.blur(); + } + } + toggle(evt = null) { + if (this.isOpen) { + this.close(evt); + } 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", "pdfjs-toggle-sidebar-notification-button"); + if (!this.isOpen) { + this.toggleButton.classList.add(UI_NOTIFICATION_CLASS); + } + } + #hideUINotification(reset = false) { + if (this.isOpen || reset) { + this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS); + } + if (reset) { + this.toggleButton.setAttribute("data-l10n-id", "pdfjs-toggle-sidebar-button"); + } + } + #addEventListeners() { + this.sidebarContainer.addEventListener("transitionend", evt => { + if (evt.target === this.sidebarContainer) { + this.outerContainer.classList.remove("sidebarMoving"); + this.eventBus.dispatch("resize", { + source: this + }); + } + }); + this.toggleButton.addEventListener("click", evt => { + this.toggle(evt); + }); + this.thumbnailButton.addEventListener("click", () => { + this.switchView(SidebarView.THUMBS); + }); + this.outlineButton.addEventListener("click", () => { + this.switchView(SidebarView.OUTLINE); + }); + this.outlineButton.addEventListener("dblclick", () => { + this.eventBus.dispatch("toggleoutlinetree", { + source: this + }); + }); + this.attachmentsButton.addEventListener("click", () => { + this.switchView(SidebarView.ATTACHMENTS); + }); + this.layersButton.addEventListener("click", () => { + this.switchView(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(SidebarView.THUMBS); + } + }; + this.eventBus._on("outlineloaded", evt => { + onTreeLoaded(evt.outlineCount, this.outlineButton, SidebarView.OUTLINE); + evt.currentOutlineItemPromise.then(enabled => { + if (!this.isInitialViewSet) { + return; + } + this._currentOutlineItemButton.disabled = !enabled; + }); + }); + this.eventBus._on("attachmentsloaded", evt => { + onTreeLoaded(evt.attachmentsCount, this.attachmentsButton, SidebarView.ATTACHMENTS); + }); + this.eventBus._on("layersloaded", evt => { + onTreeLoaded(evt.layersCount, this.layersButton, SidebarView.LAYERS); + }); + this.eventBus._on("presentationmodechanged", evt => { + if (evt.state === PresentationModeState.NORMAL && this.visibleView === 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(width = 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; + 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); + } +} + +;// CONCATENATED MODULE: ./web/pdf_thumbnail_view.js + + +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; + } +} +class PDFThumbnailView { + constructor({ + container, + eventBus, + id, + defaultViewport, + optionalContentConfigPromise, + linkService, + renderingQueue, + pageColors + }) { + 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 = RenderingStates.INITIAL; + this.resume = null; + const anchor = document.createElement("a"); + anchor.href = linkService.getAnchorUrl("#page=" + id); + anchor.setAttribute("data-l10n-id", "pdfjs-thumb-page-title"); + anchor.setAttribute("data-l10n-args", this.#pageL10nArgs); + 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 = 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({ + rotation = null + }) { + 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(upscaleFactor = 1) { + const canvas = document.createElement("canvas"); + const ctx = canvas.getContext("2d", { + alpha: false + }); + const outputScale = new 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 !== RenderingStates.FINISHED) { + throw new Error("#convertCanvasToImage: Rendering has not finished."); + } + const reducedCanvas = this.#reduceImage(canvas); + const image = document.createElement("img"); + image.className = "thumbnailImage"; + image.setAttribute("data-l10n-id", "pdfjs-thumb-page-canvas"); + image.setAttribute("data-l10n-args", this.#pageL10nArgs); + 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, error = null) { + if (renderTask === this.renderTask) { + this.renderTask = null; + } + if (error instanceof RenderingCancelledException) { + return; + } + this.renderingState = RenderingStates.FINISHED; + this.#convertCanvasToImage(canvas); + if (error) { + throw error; + } + } + async draw() { + if (this.renderingState !== RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + return undefined; + } + const { + pdfPage + } = this; + if (!pdfPage) { + this.renderingState = RenderingStates.FINISHED; + throw new Error("pdfPage is not loaded"); + } + this.renderingState = 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 = RenderingStates.PAUSED; + this.resume = () => { + this.renderingState = 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 !== 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 = 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 #pageL10nArgs() { + return JSON.stringify({ + page: this.pageLabel ?? this.id + }); + } + setPageLabel(label) { + this.pageLabel = typeof label === "string" ? label : null; + this.anchor.setAttribute("data-l10n-args", this.#pageL10nArgs); + if (this.renderingState !== RenderingStates.FINISHED) { + return; + } + this.image?.setAttribute("data-l10n-args", this.#pageL10nArgs); + } +} + +;// CONCATENATED MODULE: ./web/pdf_thumbnail_viewer.js + + + +const THUMBNAIL_SCROLL_MARGIN = -19; +const THUMBNAIL_SELECTED_CLASS = "selected"; +class PDFThumbnailViewer { + constructor({ + container, + eventBus, + linkService, + renderingQueue, + pageColors + }) { + this.container = container; + this.eventBus = eventBus; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.pageColors = pageColors || null; + this.scroll = watchScroll(this.container, this.#scrollUpdated.bind(this)); + this.#resetView(); + } + #scrollUpdated() { + this.renderingQueue.renderHighestPriority(); + } + getThumbnail(index) { + return this._thumbnails[index]; + } + #getVisibleThumbs() { + return 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) { + scrollIntoView(thumbnailView.div, { + top: THUMBNAIL_SCROLL_MARGIN + }); + } + } + this._currentPageNumber = pageNumber; + } + get pagesRotation() { + return this._pagesRotation; + } + set pagesRotation(rotation) { + if (!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 !== RenderingStates.FINISHED) { + thumbnail.reset(); + } + } + 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({ + intent: "display" + }); + firstPagePromise.then(firstPdfPage => { + const pagesCount = pdfDocument.numPages; + const viewport = firstPdfPage.getViewport({ + scale: 1 + }); + for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) { + const thumbnail = new PDFThumbnailView({ + container: this.container, + eventBus: this.eventBus, + id: pageNum, + defaultViewport: viewport.clone(), + optionalContentConfigPromise, + linkService: this.linkService, + renderingQueue: this.renderingQueue, + 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; + } +} + +;// CONCATENATED MODULE: ./web/annotation_editor_layer_builder.js + + +class AnnotationEditorLayerBuilder { + #annotationLayer = null; + #drawLayer = null; + #onAppend = null; + #textLayer = null; + #uiManager; + constructor(options) { + this.pdfPage = options.pdfPage; + this.accessibilityManager = options.accessibilityManager; + this.l10n = options.l10n; + this.l10n ||= new genericl10n_GenericL10n(); + this.annotationEditorLayer = null; + this.div = null; + this._cancelled = false; + this.#uiManager = options.uiManager; + this.#annotationLayer = options.annotationLayer || null; + this.#textLayer = options.textLayer || null; + this.#drawLayer = options.drawLayer || null; + this.#onAppend = options.onAppend || null; + } + async render(viewport, intent = "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.hidden = true; + div.dir = this.#uiManager.direction; + this.#onAppend?.(div); + this.annotationEditorLayer = new AnnotationEditorLayer({ + uiManager: this.#uiManager, + div, + accessibilityManager: this.accessibilityManager, + pageIndex: this.pdfPage.pageNumber - 1, + l10n: this.l10n, + viewport: clonedViewport, + annotationLayer: this.#annotationLayer, + textLayer: this.#textLayer, + drawLayer: this.#drawLayer + }); + const parameters = { + viewport: clonedViewport, + div, + annotations: null, + intent + }; + this.annotationEditorLayer.render(parameters); + this.show(); + } + cancel() { + this._cancelled = true; + if (!this.div) { + return; + } + this.annotationEditorLayer.destroy(); + } + hide() { + if (!this.div) { + return; + } + this.div.hidden = true; + } + show() { + if (!this.div || this.annotationEditorLayer.isInvisible) { + return; + } + this.div.hidden = false; + } +} + +;// CONCATENATED MODULE: ./web/annotation_layer_builder.js + + +class AnnotationLayerBuilder { + #onAppend = null; + #eventAbortController = null; + constructor({ + pdfPage, + linkService, + downloadManager, + annotationStorage = null, + imageResourcesPath = "", + renderForms = true, + enableScripting = false, + hasJSActionsPromise = null, + fieldObjectsPromise = null, + annotationCanvasMap = null, + accessibilityManager = null, + annotationEditorUIManager = null, + onAppend = null + }) { + this.pdfPage = pdfPage; + this.linkService = linkService; + this.downloadManager = downloadManager; + this.imageResourcesPath = imageResourcesPath; + this.renderForms = renderForms; + 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._annotationEditorUIManager = annotationEditorUIManager; + this.#onAppend = onAppend; + this.annotationLayer = null; + this.div = null; + this._cancelled = false; + this._eventBus = linkService.eventBus; + } + async render(viewport, intent = "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.#onAppend?.(div); + if (annotations.length === 0) { + this.hide(); + return; + } + this.annotationLayer = new AnnotationLayer({ + div, + accessibilityManager: this._accessibilityManager, + annotationCanvasMap: this._annotationCanvasMap, + annotationEditorUIManager: this._annotationEditorUIManager, + 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(PresentationModeState.FULLSCREEN); + } + if (!this.#eventAbortController) { + this.#eventAbortController = new AbortController(); + this._eventBus?._on("presentationmodechanged", evt => { + this.#updatePresentationModeState(evt.state); + }, { + signal: this.#eventAbortController.signal + }); + } + } + cancel() { + this._cancelled = true; + this.#eventAbortController?.abort(); + this.#eventAbortController = null; + } + hide() { + if (!this.div) { + return; + } + this.div.hidden = true; + } + #updatePresentationModeState(state) { + if (!this.div) { + return; + } + let disableFormElements = false; + switch (state) { + case PresentationModeState.FULLSCREEN: + disableFormElements = true; + break; + case PresentationModeState.NORMAL: + break; + default: + return; + } + for (const section of this.div.childNodes) { + if (section.hasAttribute("data-internal-link")) { + continue; + } + section.inert = disableFormElements; + } + } +} + +;// CONCATENATED MODULE: ./web/draw_layer_builder.js + +class DrawLayerBuilder { + #drawLayer = null; + constructor(options) { + this.pageIndex = options.pageIndex; + } + async render(intent = "display") { + if (intent !== "display" || this.#drawLayer || this._cancelled) { + return; + } + this.#drawLayer = new DrawLayer({ + pageIndex: this.pageIndex + }); + } + cancel() { + this._cancelled = true; + if (!this.#drawLayer) { + return; + } + this.#drawLayer.destroy(); + this.#drawLayer = null; + } + setParent(parent) { + this.#drawLayer?.setParent(parent); + } + getDrawLayer() { + return this.#drawLayer; + } +} + +;// CONCATENATED MODULE: ./web/struct_tree_layer_builder.js + +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", removeNullCharacters(alt)); + } + if (id !== undefined) { + htmlElement.setAttribute("aria-owns", id); + } + if (lang !== undefined) { + htmlElement.setAttribute("lang", 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; + } +} + +;// CONCATENATED MODULE: ./web/text_accessibility.js + + + +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 = 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 = binarySearchFirstItem(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0); + if (index === 0) { + children[0].before(element); + } else { + children[index - 1].after(element); + } + return id; + } +} + +;// CONCATENATED MODULE: ./web/text_highlighter.js + +class TextHighlighter { + #eventAbortController = null; + constructor({ + findController, + eventBus, + pageIndex + }) { + this.findController = findController; + this.matches = []; + this.eventBus = eventBus; + this.pageIdx = pageIndex; + 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.#eventAbortController) { + this.#eventAbortController = new AbortController(); + this.eventBus._on("updatetextlayermatches", evt => { + if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) { + this._updateMatches(); + } + }, { + signal: this.#eventAbortController.signal + }); + } + this._updateMatches(); + } + disable() { + if (!this.enabled) { + return; + } + this.enabled = false; + this.#eventAbortController?.abort(); + this.#eventAbortController = 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(reset = 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); + } +} + +;// CONCATENATED MODULE: ./web/text_layer_builder.js + + + + + + + + + + + +class TextLayerBuilder { + #enablePermissions = false; + #onAppend = null; + #renderingDone = false; + #textLayer = null; + static #textLayers = new Map(); + static #selectionChangeAbortController = null; + constructor({ + pdfPage, + highlighter = null, + accessibilityManager = null, + enablePermissions = false, + onAppend = null + }) { + this.pdfPage = pdfPage; + this.highlighter = highlighter; + this.accessibilityManager = accessibilityManager; + this.#enablePermissions = enablePermissions === true; + this.#onAppend = onAppend; + this.div = document.createElement("div"); + this.div.tabIndex = 0; + this.div.className = "textLayer"; + } + #finishRendering() { + this.#renderingDone = true; + const endOfContent = document.createElement("div"); + endOfContent.className = "endOfContent"; + this.div.append(endOfContent); + this.#bindMouse(endOfContent); + } + async render(viewport, textContentParams = null) { + if (this.#renderingDone && this.#textLayer) { + this.#textLayer.update({ + viewport, + onBefore: this.hide.bind(this) + }); + this.show(); + return; + } + this.cancel(); + this.#textLayer = new TextLayer({ + textContentSource: this.pdfPage.streamTextContent(textContentParams || { + includeMarkedContent: true, + disableNormalization: true + }), + container: this.div, + viewport + }); + const { + textDivs, + textContentItemsStr + } = this.#textLayer; + this.highlighter?.setTextMapping(textDivs, textContentItemsStr); + this.accessibilityManager?.setTextMapping(textDivs); + await this.#textLayer.render(); + this.#finishRendering(); + this.#onAppend?.(this.div); + this.highlighter?.enable(); + this.accessibilityManager?.enable(); + } + hide() { + if (!this.div.hidden && this.#renderingDone) { + this.highlighter?.disable(); + this.div.hidden = true; + } + } + show() { + if (this.div.hidden && this.#renderingDone) { + this.div.hidden = false; + this.highlighter?.enable(); + } + } + cancel() { + this.#textLayer?.cancel(); + this.#textLayer = null; + this.highlighter?.disable(); + this.accessibilityManager?.disable(); + TextLayerBuilder.#removeGlobalSelectionListener(this.div); + } + #bindMouse(end) { + const { + div + } = this; + div.addEventListener("mousedown", evt => { + end.classList.add("active"); + }); + div.addEventListener("copy", event => { + if (!this.#enablePermissions) { + const selection = document.getSelection(); + event.clipboardData.setData("text/plain", removeNullCharacters(normalizeUnicode(selection.toString()))); + } + event.preventDefault(); + event.stopPropagation(); + }); + TextLayerBuilder.#textLayers.set(div, end); + TextLayerBuilder.#enableGlobalSelectionListener(); + } + static #removeGlobalSelectionListener(textLayerDiv) { + this.#textLayers.delete(textLayerDiv); + if (this.#textLayers.size === 0) { + this.#selectionChangeAbortController?.abort(); + this.#selectionChangeAbortController = null; + } + } + static #enableGlobalSelectionListener() { + if (this.#selectionChangeAbortController) { + return; + } + this.#selectionChangeAbortController = new AbortController(); + const { + signal + } = this.#selectionChangeAbortController; + const reset = (end, textLayer) => { + textLayer.append(end); + end.style.width = ""; + end.style.height = ""; + end.classList.remove("active"); + }; + document.addEventListener("pointerup", () => { + this.#textLayers.forEach(reset); + }, { + signal + }); + var isFirefox, prevRange; + document.addEventListener("selectionchange", () => { + const selection = document.getSelection(); + if (selection.rangeCount === 0) { + this.#textLayers.forEach(reset); + return; + } + const activeTextLayers = new Set(); + for (let i = 0; i < selection.rangeCount; i++) { + const range = selection.getRangeAt(i); + for (const textLayerDiv of this.#textLayers.keys()) { + if (!activeTextLayers.has(textLayerDiv) && range.intersectsNode(textLayerDiv)) { + activeTextLayers.add(textLayerDiv); + } + } + } + for (const [textLayerDiv, endDiv] of this.#textLayers) { + if (activeTextLayers.has(textLayerDiv)) { + endDiv.classList.add("active"); + } else { + reset(endDiv, textLayerDiv); + } + } + isFirefox ??= getComputedStyle(this.#textLayers.values().next().value).getPropertyValue("-moz-user-select") === "none"; + if (isFirefox) { + return; + } + const range = selection.getRangeAt(0); + const modifyStart = prevRange && (range.compareBoundaryPoints(Range.END_TO_END, prevRange) === 0 || range.compareBoundaryPoints(Range.START_TO_END, prevRange) === 0); + let anchor = modifyStart ? range.startContainer : range.endContainer; + if (anchor.nodeType === Node.TEXT_NODE) { + anchor = anchor.parentNode; + } + const parentTextLayer = anchor.parentElement.closest(".textLayer"); + const endDiv = this.#textLayers.get(parentTextLayer); + if (endDiv) { + endDiv.style.width = parentTextLayer.style.width; + endDiv.style.height = parentTextLayer.style.height; + anchor.parentElement.insertBefore(endDiv, modifyStart ? anchor : anchor.nextSibling); + } + prevRange = range.cloneRange(); + }, { + signal + }); + } +} + +;// CONCATENATED MODULE: ./web/pdf_page_view.js + + + + + + + + + + + + + + +const DEFAULT_LAYER_PROPERTIES = null; +const LAYERS_ORDER = new Map([["canvasWrapper", 0], ["textLayer", 1], ["annotationLayer", 2], ["annotationEditorLayer", 3], ["xfaLayer", 3]]); +class PDFPageView { + #annotationMode = AnnotationMode.ENABLE_FORMS; + #hasRestrictedScaling = false; + #layerProperties = null; + #loadingId = null; + #previousRotation = null; + #renderError = null; + #renderingState = RenderingStates.INITIAL; + #textLayerMode = TextLayerMode.ENABLE; + #useThumbnailCanvas = { + directDrawing: true, + initialOptionalContent: true, + regularAnnotations: true + }; + #viewportMap = new WeakMap(); + #layers = [null, null, null, null]; + 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 || DEFAULT_SCALE; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = options.optionalContentConfigPromise || null; + this.#textLayerMode = options.textLayerMode ?? TextLayerMode.ENABLE; + this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS; + this.imageResourcesPath = options.imageResourcesPath || ""; + this.maxCanvasPixels = options.maxCanvasPixels ?? AppOptions.get("maxCanvasPixels"); + this.pageColors = options.pageColors || null; + this.eventBus = options.eventBus; + this.renderingQueue = options.renderingQueue; + this.l10n = options.l10n; + this.l10n ||= new genericl10n_GenericL10n(); + this.renderTask = null; + this.resume = null; + this._isStandalone = !this.renderingQueue?.hasViewer(); + this._container = container; + this._annotationCanvasMap = null; + this.annotationLayer = null; + this.annotationEditorLayer = null; + this.textLayer = null; + this.zoomLayer = null; + this.xfaLayer = null; + this.structTreeLayer = null; + this.drawLayer = null; + const div = document.createElement("div"); + div.className = "page"; + div.setAttribute("data-page-number", this.id); + div.setAttribute("role", "region"); + div.setAttribute("data-l10n-id", "pdfjs-page-landmark"); + div.setAttribute("data-l10n-args", JSON.stringify({ + page: this.id + })); + this.div = div; + this.#setDimensions(); + container?.append(div); + if (this._isStandalone) { + container?.style.setProperty("--scale-factor", this.scale * PixelsPerInch.PDF_TO_CSS_UNITS); + const { + optionalContentConfigPromise + } = options; + if (optionalContentConfigPromise) { + optionalContentConfigPromise.then(optionalContentConfig => { + if (optionalContentConfigPromise !== this._optionalContentConfigPromise) { + return; + } + this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility; + }); + } + if (!options.l10n) { + this.l10n.translate(this.div); + } + } + } + #addLayer(div, name) { + const pos = LAYERS_ORDER.get(name); + const oldDiv = this.#layers[pos]; + this.#layers[pos] = div; + if (oldDiv) { + oldDiv.replaceWith(div); + return; + } + for (let i = pos - 1; i >= 0; i--) { + const layer = this.#layers[i]; + if (layer) { + layer.after(div); + return; + } + } + this.div.prepend(div); + } + 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 RenderingStates.PAUSED: + this.div.classList.remove("loading"); + break; + case RenderingStates.RUNNING: + this.div.classList.add("loadingIcon"); + this.#loadingId = setTimeout(() => { + this.div.classList.add("loading"); + this.#loadingId = null; + }, 0); + break; + case RenderingStates.INITIAL: + case 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; + } + setLayerDimensions(this.div, viewport, true, false); + } + setPdfPage(pdfPage) { + if (this._isStandalone && (this.pageColors?.foreground === "CanvasText" || this.pageColors?.background === "Canvas")) { + this._container?.style.setProperty("--hcm-highlight-filter", pdfPage.filterFactory.addHighlightHCMFilter("highlight", "CanvasText", "Canvas", "HighlightText", "Highlight")); + this._container?.style.setProperty("--hcm-highlight-selected-filter", pdfPage.filterFactory.addHighlightHCMFilter("highlight_selected", "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 * PixelsPerInch.PDF_TO_CSS_UNITS, + rotation: totalRotation + }); + this.#setDimensions(); + this.reset(); + } + destroy() { + this.reset(); + this.pdfPage?.cleanup(); + } + get _textHighlighter() { + return shadow(this, "_textHighlighter", new TextHighlighter({ + pageIndex: this.id - 1, + eventBus: this.eventBus, + findController: this.#layerProperties.findController + })); + } + #dispatchLayerRendered(name, error) { + this.eventBus.dispatch(name, { + source: this, + pageNumber: this.id, + error + }); + } + async #renderAnnotationLayer() { + let error = null; + try { + await this.annotationLayer.render(this.viewport, "display"); + } catch (ex) { + console.error(`#renderAnnotationLayer: "${ex}".`); + error = ex; + } finally { + this.#dispatchLayerRendered("annotationlayerrendered", error); + } + } + async #renderAnnotationEditorLayer() { + let error = null; + try { + await this.annotationEditorLayer.render(this.viewport, "display"); + } catch (ex) { + console.error(`#renderAnnotationEditorLayer: "${ex}".`); + error = ex; + } finally { + this.#dispatchLayerRendered("annotationeditorlayerrendered", error); + } + } + async #renderDrawLayer() { + try { + await this.drawLayer.render("display"); + } catch (ex) { + console.error(`#renderDrawLayer: "${ex}".`); + } + } + 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 { + if (this.xfaLayer?.div) { + this.l10n.pause(); + this.#addLayer(this.xfaLayer.div, "xfaLayer"); + this.l10n.resume(); + } + this.#dispatchLayerRendered("xfalayerrendered", error); + } + } + async #renderTextLayer() { + if (!this.textLayer) { + return; + } + let error = null; + try { + await this.textLayer.render(this.viewport); + } catch (ex) { + if (ex instanceof AbortException) { + return; + } + console.error(`#renderTextLayer: "${ex}".`); + error = ex; + } + this.#dispatchLayerRendered("textlayerrendered", error); + this.#renderStructTreeLayer(); + } + async #renderStructTreeLayer() { + if (!this.textLayer) { + return; + } + this.structTreeLayer ||= new StructTreeLayerBuilder(); + const tree = await (!this.structTreeLayer.renderingDone ? this.pdfPage.getStructTree() : null); + const treeDom = this.structTreeLayer?.render(tree); + if (treeDom) { + this.l10n.pause(); + this.canvas?.append(treeDom); + this.l10n.resume(); + } + 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(removeFromDOM = 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({ + keepZoomLayer = false, + keepAnnotationLayer = false, + keepAnnotationEditorLayer = false, + keepXfaLayer = false, + keepTextLayer = false + } = {}) { + this.cancelRendering({ + keepAnnotationLayer, + keepAnnotationEditorLayer, + keepXfaLayer, + keepTextLayer + }); + this.renderingState = 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(); + const layerIndex = this.#layers.indexOf(node); + if (layerIndex >= 0) { + this.#layers[layerIndex] = null; + } + } + 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({ + scale = 0, + rotation = null, + optionalContentConfigPromise = null, + drawingDelay = -1 + }) { + 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 * 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 = drawingDelay >= 0 && drawingDelay < 1000; + if (postponeDrawing || onlyCssZoom) { + if (postponeDrawing && !onlyCssZoom && this.renderingState !== RenderingStates.FINISHED) { + this.cancelRendering({ + keepZoomLayer: true, + keepAnnotationLayer: true, + keepAnnotationEditorLayer: true, + keepXfaLayer: true, + keepTextLayer: true, + cancelExtraDelay: drawingDelay + }); + this.renderingState = 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({ + keepAnnotationLayer = false, + keepAnnotationEditorLayer = false, + keepXfaLayer = false, + keepTextLayer = false, + cancelExtraDelay = 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)) { + if (this.drawLayer) { + this.drawLayer.cancel(); + this.drawLayer = null; + } + this.annotationEditorLayer.cancel(); + this.annotationEditorLayer = null; + } + if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) { + this.xfaLayer.cancel(); + this.xfaLayer = null; + this._textHighlighter?.disable(); + } + } + cssTransform({ + target, + redrawAnnotationLayer = false, + redrawAnnotationEditorLayer = false, + redrawXfaLayer = false, + redrawTextLayer = false, + hideTextLayer = false + }) { + 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) { + if (this.drawLayer) { + this.#renderDrawLayer(); + } + 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, error = null) { + if (renderTask === this.renderTask) { + this.renderTask = null; + } + if (error instanceof RenderingCancelledException) { + this.#renderError = null; + return; + } + this.#renderError = error; + this.renderingState = 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 !== RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + this.reset(); + } + const { + div, + l10n, + pageColors, + pdfPage, + viewport + } = this; + if (!pdfPage) { + this.renderingState = RenderingStates.FINISHED; + throw new Error("pdfPage is not loaded"); + } + this.renderingState = RenderingStates.RUNNING; + const canvasWrapper = document.createElement("div"); + canvasWrapper.classList.add("canvasWrapper"); + this.#addLayer(canvasWrapper, "canvasWrapper"); + if (!this.textLayer && this.#textLayerMode !== TextLayerMode.DISABLE && !pdfPage.isPureXfa) { + this._accessibilityManager ||= new TextAccessibilityManager(); + this.textLayer = new TextLayerBuilder({ + pdfPage, + highlighter: this._textHighlighter, + accessibilityManager: this._accessibilityManager, + enablePermissions: this.#textLayerMode === TextLayerMode.ENABLE_PERMISSIONS, + onAppend: textLayerDiv => { + this.l10n.pause(); + this.#addLayer(textLayerDiv, "textLayer"); + this.l10n.resume(); + } + }); + } + if (!this.annotationLayer && this.#annotationMode !== AnnotationMode.DISABLE) { + const { + annotationStorage, + annotationEditorUIManager, + downloadManager, + enableScripting, + fieldObjectsPromise, + hasJSActionsPromise, + linkService + } = this.#layerProperties; + this._annotationCanvasMap ||= new Map(); + this.annotationLayer = new AnnotationLayerBuilder({ + pdfPage, + annotationStorage, + imageResourcesPath: this.imageResourcesPath, + renderForms: this.#annotationMode === AnnotationMode.ENABLE_FORMS, + linkService, + downloadManager, + enableScripting, + hasJSActionsPromise, + fieldObjectsPromise, + annotationCanvasMap: this._annotationCanvasMap, + accessibilityManager: this._accessibilityManager, + annotationEditorUIManager, + onAppend: annotationLayerDiv => { + this.#addLayer(annotationLayerDiv, "annotationLayer"); + } + }); + } + const renderContinueCallback = cont => { + showCanvas?.(false); + if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) { + this.renderingState = RenderingStates.PAUSED; + this.resume = () => { + this.renderingState = 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 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 = approximateFraction(outputScale.sx); + const sfy = approximateFraction(outputScale.sy); + canvas.width = roundToDivide(width * outputScale.sx, sfx[0]); + canvas.height = roundToDivide(height * outputScale.sy, sfy[0]); + const { + style + } = canvas; + style.width = roundToDivide(width, sfx[1]) + "px"; + style.height = 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 = 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(); + } + const { + annotationEditorUIManager + } = this.#layerProperties; + if (!annotationEditorUIManager) { + return; + } + this.drawLayer ||= new DrawLayerBuilder({ + pageIndex: this.id + }); + await this.#renderDrawLayer(); + this.drawLayer.setParent(canvasWrapper); + if (!this.annotationEditorLayer) { + this.annotationEditorLayer = new AnnotationEditorLayerBuilder({ + uiManager: annotationEditorUIManager, + pdfPage, + l10n, + accessibilityManager: this._accessibilityManager, + annotationLayer: this.annotationLayer?.annotationLayer, + textLayer: this.textLayer, + drawLayer: this.drawLayer.getDrawLayer(), + onAppend: annotationEditorLayerDiv => { + this.#addLayer(annotationEditorLayerDiv, "annotationEditorLayer"); + } + }); + } + this.#renderAnnotationEditorLayer(); + }, error => { + if (!(error instanceof RenderingCancelledException)) { + showCanvas?.(true); + } + return this.#finishRenderTask(renderTask, error); + }); + if (pdfPage.isPureXfa) { + if (!this.xfaLayer) { + const { + annotationStorage, + linkService + } = this.#layerProperties; + this.xfaLayer = new XfaLayerBuilder({ + pdfPage, + annotationStorage, + linkService + }); + } + 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; + this.div.setAttribute("data-l10n-args", JSON.stringify({ + page: this.pageLabel ?? this.id + })); + 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; + } +} + +;// CONCATENATED MODULE: ./web/pdf_viewer.js + + + + + + + + + + + + + + + + + + +const DEFAULT_CACHE_SIZE = 10; +const PagesCountLimit = { + FORCE_SCROLL_MODE_PAGE: 15000, + FORCE_LAZY_PAGE_INIT: 7500, + PAUSE_EAGER_PAGE_INIT: 250 +}; +function isValidAnnotationEditorMode(mode) { + return Object.values(AnnotationEditorType).includes(mode) && mode !== 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, idsToKeep = 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); + } +} +class PDFViewer { + #buffer = null; + #altTextManager = null; + #annotationEditorHighlightColors = null; + #annotationEditorMode = AnnotationEditorType.NONE; + #annotationEditorUIManager = null; + #annotationMode = AnnotationMode.ENABLE_FORMS; + #containerTopLeft = null; + #enableHighlightFloatingButton = false; + #enablePermissions = false; + #eventAbortController = null; + #mlManager = null; + #getAllTextInProgress = false; + #hiddenCopyElement = null; + #interruptCopyCondition = false; + #previousContainerHeight = 0; + #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this)); + #scrollModePageState = null; + #scaleTimeoutId = null; + #textLayerMode = TextLayerMode.ENABLE; + constructor(options) { + const viewerVersion = "4.3.136"; + if (version !== viewerVersion) { + throw new Error(`The API version "${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 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 ?? TextLayerMode.ENABLE; + this.#annotationMode = options.annotationMode ?? AnnotationMode.ENABLE_FORMS; + this.#annotationEditorMode = options.annotationEditorMode ?? AnnotationEditorType.NONE; + this.#annotationEditorHighlightColors = options.annotationEditorHighlightColors || null; + this.#enableHighlightFloatingButton = options.enableHighlightFloatingButton === true; + this.imageResourcesPath = options.imageResourcesPath || ""; + this.enablePrintAutoRotate = options.enablePrintAutoRotate || false; + this.removePageBorders = options.removePageBorders || false; + this.maxCanvasPixels = options.maxCanvasPixels; + this.l10n = options.l10n; + this.l10n ||= new genericl10n_GenericL10n(); + this.#enablePermissions = options.enablePermissions || false; + this.pageColors = options.pageColors || null; + this.#mlManager = options.mlManager || null; + this.defaultRenderingQueue = !options.renderingQueue; + if (this.defaultRenderingQueue) { + this.renderingQueue = new PDFRenderingQueue(); + this.renderingQueue.setViewer(this); + } else { + this.renderingQueue = options.renderingQueue; + } + this.scroll = watchScroll(this.container, this._scrollUpdate.bind(this)); + this.presentationModeState = PresentationModeState.UNKNOWN; + this._resetView(); + if (this.removePageBorders) { + this.viewer.classList.add("removePageBorders"); + } + this.#updateContainerHeightCss(); + this.eventBus._on("thumbnailrendered", ({ + pageNumber, + pdfPage + }) => { + const pageView = this._pages[pageNumber - 1]; + if (!this.#buffer.has(pageView)) { + pdfPage?.cleanup(); + } + }); + if (!options.l10n) { + this.l10n.translate(this.container); + } + } + get pagesCount() { + return this._pages.length; + } + getPageView(index) { + return this._pages[index]; + } + getCachedPageViews() { + return new Set(this.#buffer); + } + get pageViewsReady() { + return this._pages.every(pageView => pageView?.pdfPage); + } + get renderForms() { + return this.#annotationMode === 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, resetCurrentPageView = 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 !== UNKNOWN_SCALE ? this._currentScale : 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 (!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; + } + get _layerProperties() { + const self = this; + return shadow(this, "_layerProperties", { + 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(PermissionFlag.COPY) && this.#textLayerMode === TextLayerMode.ENABLE) { + params.textLayerMode = TextLayerMode.ENABLE_PERMISSIONS; + } + if (!permissions.includes(PermissionFlag.MODIFY_CONTENTS)) { + params.annotationEditorMode = AnnotationEditorType.DISABLE; + } + if (!permissions.includes(PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === AnnotationMode.ENABLE_FORMS) { + params.annotationMode = AnnotationMode.ENABLE; + } + return params; + } + async #onePageRenderedOrForceFetch(signal) { + if (document.visibilityState === "hidden" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) { + return; + } + const hiddenCapability = Promise.withResolvers(); + function onVisibilityChange() { + if (document.visibilityState === "hidden") { + hiddenCapability.resolve(); + } + } + document.addEventListener("visibilitychange", onVisibilityChange, { + signal + }); + await Promise.race([this._onePageRenderedCapability.promise, hiddenCapability.promise]); + document.removeEventListener("visibilitychange", onVisibilityChange); + } + 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(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 === 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({ + intent: "display" + }); + const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve(); + const { + eventBus, + pageColors, + viewer + } = this; + this.#eventAbortController = new AbortController(); + const { + signal + } = this.#eventAbortController; + 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 = ScrollMode.PAGE; + eventBus.dispatch("scrollmodechanged", { + source: this, + mode + }); + } + this._pagesCapability.promise.then(() => { + eventBus.dispatch("pagesloaded", { + source: this, + pagesCount + }); + }, () => {}); + const onBeforeDraw = evt => { + const pageView = this._pages[evt.pageNumber - 1]; + if (!pageView) { + return; + } + this.#buffer.push(pageView); + }; + eventBus._on("pagerender", onBeforeDraw, { + signal + }); + const onAfterDraw = evt => { + if (evt.cssTransform) { + return; + } + this._onePageRenderedCapability.resolve({ + timestamp: evt.timestamp + }); + eventBus._off("pagerendered", onAfterDraw); + }; + eventBus._on("pagerendered", onAfterDraw, { + signal + }); + Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => { + if (pdfDocument !== this.pdfDocument) { + return; + } + this._firstPageCapability.resolve(firstPdfPage); + this._optionalContentConfigPromise = optionalContentConfigPromise; + const { + annotationEditorMode, + annotationMode, + textLayerMode + } = this.#initializePermissions(permissions); + if (textLayerMode !== TextLayerMode.DISABLE) { + const element = this.#hiddenCopyElement = document.createElement("div"); + element.id = "hiddenCopyElement"; + viewer.before(element); + } + if (annotationEditorMode !== AnnotationEditorType.DISABLE) { + const mode = annotationEditorMode; + if (pdfDocument.isPureXfa) { + console.warn("Warning: XFA-editing is not implemented."); + } else if (isValidAnnotationEditorMode(mode)) { + this.#annotationEditorUIManager = new AnnotationEditorUIManager(this.container, viewer, this.#altTextManager, eventBus, pdfDocument, pageColors, this.#annotationEditorHighlightColors, this.#enableHighlightFloatingButton, this.#mlManager); + eventBus.dispatch("annotationeditoruimanager", { + source: this, + uiManager: this.#annotationEditorUIManager + }); + if (mode !== AnnotationEditorType.NONE) { + this.#annotationEditorUIManager.updateMode(mode); + } + } else { + console.error(`Invalid AnnotationEditor mode: ${mode}`); + } + } + const viewerElement = this._scrollMode === ScrollMode.PAGE ? null : viewer; + const scale = this.currentScale; + const viewport = firstPdfPage.getViewport({ + scale: scale * PixelsPerInch.PDF_TO_CSS_UNITS + }); + viewer.style.setProperty("--scale-factor", viewport.scale); + if (pageColors?.foreground === "CanvasText" || pageColors?.background === "Canvas") { + viewer.style.setProperty("--hcm-highlight-filter", pdfDocument.filterFactory.addHighlightHCMFilter("highlight", "CanvasText", "Canvas", "HighlightText", "Highlight")); + viewer.style.setProperty("--hcm-highlight-selected-filter", pdfDocument.filterFactory.addHighlightHCMFilter("highlight_selected", "CanvasText", "Canvas", "HighlightText", "ButtonText")); + } + for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) { + const pageView = new PDFPageView({ + container: viewerElement, + eventBus, + id: pageNum, + scale, + defaultViewport: viewport.clone(), + optionalContentConfigPromise, + renderingQueue: this.renderingQueue, + textLayerMode, + annotationMode, + imageResourcesPath: this.imageResourcesPath, + maxCanvasPixels: this.maxCanvasPixels, + pageColors, + l10n: this.l10n, + layerProperties: this._layerProperties + }); + this._pages.push(pageView); + } + this._pages[0]?.setPdfPage(firstPdfPage); + if (this._scrollMode === ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + } else if (this._spreadMode !== SpreadMode.NONE) { + this._updateSpreadMode(); + } + this.#onePageRenderedOrForceFetch(signal).then(async () => { + if (pdfDocument !== this.pdfDocument) { + return; + } + this.findController?.setDocument(pdfDocument); + this._scriptingManager?.setDocument(pdfDocument); + if (this.#hiddenCopyElement) { + document.addEventListener("copy", this.#copyCallback.bind(this, textLayerMode), { + signal + }); + } + if (this.#annotationEditorUIManager) { + 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); + } + 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; + } + } + }); + eventBus.dispatch("pagesinit", { + source: this + }); + pdfDocument.getMetadata().then(({ + info + }) => { + if (pdfDocument !== this.pdfDocument) { + return; + } + if (info.Language) { + 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 = 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 = Promise.withResolvers(); + this._onePageRenderedCapability = Promise.withResolvers(); + this._pagesCapability = Promise.withResolvers(); + this._scrollMode = ScrollMode.VERTICAL; + this._previousScrollMode = ScrollMode.UNKNOWN; + this._spreadMode = SpreadMode.NONE; + this.#scrollModePageState = { + previousPageNumber: 1, + scrollDown: true, + pages: [] + }; + this.#eventAbortController?.abort(); + this.#eventAbortController = null; + this.viewer.textContent = ""; + this._updateScrollMode(); + this.viewer.removeAttribute("lang"); + this.#hiddenCopyElement?.remove(); + this.#hiddenCopyElement = null; + } + #ensurePageViewVisible() { + if (this._scrollMode !== 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 === 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, pageSpot = null) { + const { + div, + id + } = pageView; + if (this._currentPageNumber !== id) { + this._setCurrentPageNumber(id); + } + if (this._scrollMode === 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 === ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) { + pageSpot = { + left: 0, + top: 0 + }; + } + } + 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, { + noScroll = false, + preset = false, + drawingDelay = -1, + origin = null + }) { + 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 * 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); + } + const previousScale = this._currentScale; + 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 + }); + if (Array.isArray(origin)) { + const scaleDiff = newScale / previousScale - 1; + const [top, left] = this.containerTopLeft; + this.container.scrollLeft += (origin[0] - left) * scaleDiff; + this.container.scrollTop += (origin[1] - top) * scaleDiff; + } + } + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: preset ? newValue : undefined + }); + if (this.defaultRenderingQueue) { + this.update(); + } + } + get #pageWidthScaleFactor() { + if (this._spreadMode !== SpreadMode.NONE && this._scrollMode !== 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 = SCROLLBAR_PADDING, + vPadding = VERTICAL_PADDING; + if (this.isInPresentationMode) { + hPadding = vPadding = 4; + if (this._spreadMode !== SpreadMode.NONE) { + hPadding *= 2; + } + } else if (this.removePageBorders) { + hPadding = vPadding = 0; + } else if (this._scrollMode === 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 = isPortraitOrientation(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale); + scale = Math.min(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({ + pageNumber, + destArray = null, + allowNegativeOffset = false, + ignoreDestinationZoom = false + }) { + 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 / PixelsPerInch.PDF_TO_CSS_UNITS; + const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / 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 = SCROLLBAR_PADDING, + vPadding = VERTICAL_PADDING; + if (this.removePageBorders) { + hPadding = vPadding = 0; + } + widthScale = (this.container.clientWidth - hPadding) / width / PixelsPerInch.PDF_TO_CSS_UNITS; + heightScale = (this.container.clientHeight - vPadding) / height / 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 === UNKNOWN_SCALE) { + this.currentScaleValue = 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 === SpreadMode.NONE && (this._scrollMode === ScrollMode.PAGE || this._scrollMode === 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 === PresentationModeState.FULLSCREEN; + } + get isChangingPresentationMode() { + return this.presentationModeState === 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 === ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages, + horizontal = this._scrollMode === ScrollMode.HORIZONTAL, + rtl = horizontal && this._isContainerRtl; + return getVisibleElements({ + scrollEl: this.container, + views, + sortByVisibility: true, + horizontal, + rtl + }); + } + cleanup() { + for (const pageView of this._pages) { + if (pageView.renderingState !== 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); + } + 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 ScrollMode.PAGE: + return this.#scrollModePageState.scrollDown; + case 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 !== SpreadMode.NONE && this._scrollMode !== 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 = 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({ + intent: "display" + }); + } + 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 (!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(pageNumber = null) { + const scrollMode = this._scrollMode, + viewer = this.viewer; + viewer.classList.toggle("scrollHorizontal", scrollMode === ScrollMode.HORIZONTAL); + viewer.classList.toggle("scrollWrapped", scrollMode === ScrollMode.WRAPPED); + if (!this.pdfDocument || !pageNumber) { + return; + } + if (scrollMode === ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + } else if (this._previousScrollMode === 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 (!isValidSpreadMode(mode)) { + throw new Error(`Invalid spread mode: ${mode}`); + } + this._spreadMode = mode; + this.eventBus.dispatch("spreadmodechanged", { + source: this, + mode + }); + this._updateSpreadMode(this._currentPageNumber); + } + _updateSpreadMode(pageNumber = null) { + if (!this.pdfDocument) { + return; + } + const viewer = this.viewer, + pages = this._pages; + if (this._scrollMode === ScrollMode.PAGE) { + this.#ensurePageViewVisible(); + } else { + viewer.textContent = ""; + if (this._spreadMode === 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, previous = false) { + switch (this._scrollMode) { + case 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 ScrollMode.HORIZONTAL: + { + break; + } + case ScrollMode.PAGE: + case ScrollMode.VERTICAL: + { + if (this._spreadMode === 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; + } + updateScale({ + drawingDelay, + scaleFactor = null, + steps = null, + origin + }) { + if (steps === null && scaleFactor === null) { + throw new Error("Invalid updateScale options: either `steps` or `scaleFactor` must be provided."); + } + if (!this.pdfDocument) { + return; + } + let newScale = this._currentScale; + if (scaleFactor > 0 && scaleFactor !== 1) { + newScale = Math.round(newScale * scaleFactor * 100) / 100; + } else if (steps) { + const delta = steps > 0 ? DEFAULT_SCALE_DELTA : 1 / DEFAULT_SCALE_DELTA; + const round = steps > 0 ? Math.ceil : Math.floor; + steps = Math.abs(steps); + do { + newScale = round((newScale * delta).toFixed(2) * 10) / 10; + } while (--steps > 0); + } + newScale = Math.max(MIN_SCALE, Math.min(MAX_SCALE, newScale)); + this.#setScale(newScale, { + noScroll: false, + drawingDelay, + origin + }); + } + increaseScale(options = {}) { + this.updateScale({ + ...options, + steps: options.steps ?? 1 + }); + } + decreaseScale(options = {}) { + this.updateScale({ + ...options, + steps: -(options.steps ?? 1) + }); + } + #updateContainerHeightCss(height = this.container.clientHeight) { + if (height !== this.#previousContainerHeight) { + this.#previousContainerHeight = height; + 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 : AnnotationEditorType.DISABLE; + } + set annotationEditorMode({ + mode, + editId = null, + isFromKeyboard = false + }) { + 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, isFromKeyboard); + } + set annotationEditorParams({ + type, + value + }) { + if (!this.#annotationEditorUIManager) { + throw new Error(`The AnnotationEditor is not enabled.`); + } + this.#annotationEditorUIManager.updateParams(type, value); + } + refresh(noUpdate = false, updateArgs = 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(); + } + } +} + +;// CONCATENATED MODULE: ./web/secondary_toolbar.js + + + +class SecondaryToolbar { + #opts; + constructor(options, eventBus) { + this.#opts = options; + const 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: CursorTool.SELECT + }, + close: true + }, { + element: options.cursorHandToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: CursorTool.HAND + }, + close: true + }, { + element: options.scrollPageButton, + eventName: "switchscrollmode", + eventDetails: { + mode: ScrollMode.PAGE + }, + close: true + }, { + element: options.scrollVerticalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: ScrollMode.VERTICAL + }, + close: true + }, { + element: options.scrollHorizontalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: ScrollMode.HORIZONTAL + }, + close: true + }, { + element: options.scrollWrappedButton, + eventName: "switchscrollmode", + eventDetails: { + mode: ScrollMode.WRAPPED + }, + close: true + }, { + element: options.spreadNoneButton, + eventName: "switchspreadmode", + eventDetails: { + mode: SpreadMode.NONE + }, + close: true + }, { + element: options.spreadOddButton, + eventName: "switchspreadmode", + eventDetails: { + mode: SpreadMode.ODD + }, + close: true + }, { + element: options.spreadEvenButton, + eventName: "switchspreadmode", + eventDetails: { + mode: SpreadMode.EVEN + }, + close: true + }, { + element: options.documentPropertiesButton, + eventName: "documentproperties", + close: true + }]; + buttons.push({ + element: options.openFileButton, + eventName: "openfile", + close: true + }); + this.eventBus = eventBus; + this.opened = false; + this.#bindListeners(buttons); + 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("switchcursortool", { + source: this, + reset: true + }); + this.#scrollModeChanged({ + mode: ScrollMode.VERTICAL + }); + this.#spreadModeChanged({ + mode: SpreadMode.NONE + }); + } + #updateUIState() { + const { + firstPageButton, + lastPageButton, + pageRotateCwButton, + pageRotateCcwButton + } = this.#opts; + firstPageButton.disabled = this.pageNumber <= 1; + lastPageButton.disabled = this.pageNumber >= this.pagesCount; + pageRotateCwButton.disabled = this.pagesCount === 0; + pageRotateCcwButton.disabled = this.pagesCount === 0; + } + #bindListeners(buttons) { + const { + eventBus + } = this; + const { + toggleButton + } = this.#opts; + toggleButton.addEventListener("click", this.toggle.bind(this)); + for (const { + element, + eventName, + close, + eventDetails + } of buttons) { + element.addEventListener("click", evt => { + if (eventName !== null) { + eventBus.dispatch(eventName, { + source: this, + ...eventDetails + }); + } + if (close) { + this.close(); + } + eventBus.dispatch("reporttelemetry", { + source: this, + details: { + type: "buttons", + data: { + id: element.id + } + } + }); + }); + } + eventBus._on("cursortoolchanged", this.#cursorToolChanged.bind(this)); + eventBus._on("scrollmodechanged", this.#scrollModeChanged.bind(this)); + eventBus._on("spreadmodechanged", this.#spreadModeChanged.bind(this)); + } + #cursorToolChanged({ + tool + }) { + const { + cursorSelectToolButton, + cursorHandToolButton + } = this.#opts; + toggleCheckedBtn(cursorSelectToolButton, tool === CursorTool.SELECT); + toggleCheckedBtn(cursorHandToolButton, tool === CursorTool.HAND); + } + #scrollModeChanged({ + mode + }) { + const { + scrollPageButton, + scrollVerticalButton, + scrollHorizontalButton, + scrollWrappedButton, + spreadNoneButton, + spreadOddButton, + spreadEvenButton + } = this.#opts; + toggleCheckedBtn(scrollPageButton, mode === ScrollMode.PAGE); + toggleCheckedBtn(scrollVerticalButton, mode === ScrollMode.VERTICAL); + toggleCheckedBtn(scrollHorizontalButton, mode === ScrollMode.HORIZONTAL); + toggleCheckedBtn(scrollWrappedButton, mode === ScrollMode.WRAPPED); + const forceScrollModePage = this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE; + scrollPageButton.disabled = forceScrollModePage; + scrollVerticalButton.disabled = forceScrollModePage; + scrollHorizontalButton.disabled = forceScrollModePage; + scrollWrappedButton.disabled = forceScrollModePage; + const isHorizontal = mode === ScrollMode.HORIZONTAL; + spreadNoneButton.disabled = isHorizontal; + spreadOddButton.disabled = isHorizontal; + spreadEvenButton.disabled = isHorizontal; + } + #spreadModeChanged({ + mode + }) { + const { + spreadNoneButton, + spreadOddButton, + spreadEvenButton + } = this.#opts; + toggleCheckedBtn(spreadNoneButton, mode === SpreadMode.NONE); + toggleCheckedBtn(spreadOddButton, mode === SpreadMode.ODD); + toggleCheckedBtn(spreadEvenButton, mode === SpreadMode.EVEN); + } + open() { + if (this.opened) { + return; + } + this.opened = true; + const { + toggleButton, + toolbar + } = this.#opts; + toggleExpandedBtn(toggleButton, true, toolbar); + } + close() { + if (!this.opened) { + return; + } + this.opened = false; + const { + toggleButton, + toolbar + } = this.#opts; + toggleExpandedBtn(toggleButton, false, toolbar); + } + toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } +} + +;// CONCATENATED MODULE: ./web/toolbar.js + + +class Toolbar { + #opts; + constructor(options, eventBus) { + this.#opts = options; + this.eventBus = eventBus; + const 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") ? AnnotationEditorType.NONE : AnnotationEditorType.FREETEXT; + } + } + }, { + element: options.editorHighlightButton, + eventName: "switchannotationeditormode", + eventDetails: { + get mode() { + const { + classList + } = options.editorHighlightButton; + return classList.contains("toggled") ? AnnotationEditorType.NONE : AnnotationEditorType.HIGHLIGHT; + } + } + }, { + element: options.editorInkButton, + eventName: "switchannotationeditormode", + eventDetails: { + get mode() { + const { + classList + } = options.editorInkButton; + return classList.contains("toggled") ? AnnotationEditorType.NONE : AnnotationEditorType.INK; + } + } + }, { + element: options.editorStampButton, + eventName: "switchannotationeditormode", + eventDetails: { + get mode() { + const { + classList + } = options.editorStampButton; + return classList.contains("toggled") ? AnnotationEditorType.NONE : AnnotationEditorType.STAMP; + } + } + }, { + element: options.openFile, + eventName: "openfile" + }]; + this.#bindListeners(buttons); + if (options.editorHighlightColorPicker) { + eventBus._on("annotationeditoruimanager", ({ + uiManager + }) => { + this.#setAnnotationEditorUIManager(uiManager, options.editorHighlightColorPicker); + }, { + once: true + }); + } + eventBus._on("showannotationeditorui", ({ + mode + }) => { + switch (mode) { + case AnnotationEditorType.HIGHLIGHT: + options.editorHighlightButton.click(); + break; + } + }); + this.reset(); + } + #setAnnotationEditorUIManager(uiManager, parentContainer) { + const colorPicker = new ColorPicker({ + uiManager + }); + uiManager.setMainHighlightColorPicker(colorPicker); + parentContainer.append(colorPicker.renderMainDropdown()); + } + 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 = DEFAULT_SCALE_VALUE; + this.pageScale = DEFAULT_SCALE; + this.#updateUIState(true); + this.updateLoadingIndicatorState(); + this.#editorModeChanged({ + mode: AnnotationEditorType.DISABLE + }); + } + #bindListeners(buttons) { + const { + eventBus + } = this; + const { + pageNumber, + scaleSelect + } = this.#opts; + const self = this; + for (const { + element, + eventName, + eventDetails + } of buttons) { + element.addEventListener("click", evt => { + if (eventName !== null) { + eventBus.dispatch(eventName, { + source: this, + ...eventDetails, + isFromKeyboard: evt.detail === 0 + }); + } + }); + } + pageNumber.addEventListener("click", function () { + this.select(); + }); + pageNumber.addEventListener("change", function () { + eventBus.dispatch("pagenumberchanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("change", function () { + if (this.value === "custom") { + return; + } + eventBus.dispatch("scalechanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("click", function ({ + target + }) { + if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") { + this.blur(); + } + }); + scaleSelect.oncontextmenu = noContextMenu; + eventBus._on("annotationeditormodechanged", this.#editorModeChanged.bind(this)); + } + #editorModeChanged({ + mode + }) { + const { + editorFreeTextButton, + editorFreeTextParamsToolbar, + editorHighlightButton, + editorHighlightParamsToolbar, + editorInkButton, + editorInkParamsToolbar, + editorStampButton, + editorStampParamsToolbar + } = this.#opts; + toggleCheckedBtn(editorFreeTextButton, mode === AnnotationEditorType.FREETEXT, editorFreeTextParamsToolbar); + toggleCheckedBtn(editorHighlightButton, mode === AnnotationEditorType.HIGHLIGHT, editorHighlightParamsToolbar); + toggleCheckedBtn(editorInkButton, mode === AnnotationEditorType.INK, editorInkParamsToolbar); + toggleCheckedBtn(editorStampButton, mode === AnnotationEditorType.STAMP, editorStampParamsToolbar); + const isDisable = mode === AnnotationEditorType.DISABLE; + editorFreeTextButton.disabled = isDisable; + editorHighlightButton.disabled = isDisable; + editorInkButton.disabled = isDisable; + editorStampButton.disabled = isDisable; + } + #updateUIState(resetNumPages = false) { + const { + pageNumber, + pagesCount, + pageScaleValue, + pageScale + } = this; + const opts = this.#opts; + if (resetNumPages) { + if (this.hasPageLabels) { + opts.pageNumber.type = "text"; + opts.numPages.setAttribute("data-l10n-id", "pdfjs-page-of-pages"); + } else { + opts.pageNumber.type = "number"; + opts.numPages.setAttribute("data-l10n-id", "pdfjs-of-pages"); + opts.numPages.setAttribute("data-l10n-args", JSON.stringify({ + pagesCount + })); + } + opts.pageNumber.max = pagesCount; + } + if (this.hasPageLabels) { + opts.pageNumber.value = this.pageLabel; + opts.numPages.setAttribute("data-l10n-args", JSON.stringify({ + pageNumber, + pagesCount + })); + } else { + opts.pageNumber.value = pageNumber; + } + opts.previous.disabled = pageNumber <= 1; + opts.next.disabled = pageNumber >= pagesCount; + opts.zoomOut.disabled = pageScale <= MIN_SCALE; + opts.zoomIn.disabled = pageScale >= MAX_SCALE; + let predefinedValueFound = false; + for (const option of opts.scaleSelect.options) { + if (option.value !== pageScaleValue) { + option.selected = false; + continue; + } + option.selected = true; + predefinedValueFound = true; + } + if (!predefinedValueFound) { + opts.customScaleOption.selected = true; + opts.customScaleOption.setAttribute("data-l10n-args", JSON.stringify({ + scale: Math.round(pageScale * 10000) / 100 + })); + } + } + updateLoadingIndicatorState(loading = false) { + const { + pageNumber + } = this.#opts; + pageNumber.classList.toggle("loading", loading); + } +} + +;// CONCATENATED MODULE: ./web/view_history.js + + +const DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; +class ViewHistory { + constructor(fingerprint, cacheSize = 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; + } +} + +;// CONCATENATED MODULE: ./web/app.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +const FORCE_PAGES_LOADED_TIMEOUT = 10000; +const WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; +const ViewOnLoad = { + UNKNOWN: -1, + PREVIOUS: 0, + INITIAL: 1 +}; +const PDFViewerApplication = { + initialBookmark: document.location.hash.substring(1), + _initializedCapability: { + ...Promise.withResolvers(), + settled: false + }, + 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: "", + _eventBusAbortController: null, + _windowAbortController: 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, + _caretBrowsing: null, + _isScrolling: false, + async initialize(appConfig) { + let l10nPromise; + this.appConfig = appConfig; + try { + await this.preferences.initializedPromise; + } catch (ex) { + console.error(`initialize: "${ex.message}".`); + } + if (AppOptions.get("pdfBugEnabled")) { + await this._parseHashParams(); + } + let mode; + switch (AppOptions.get("viewerCssTheme")) { + case 1: + mode = "is-light"; + break; + case 2: + mode = "is-dark"; + break; + } + if (mode) { + document.documentElement.classList.add(mode); + } + l10nPromise = this.externalServices.createL10n(); + this.l10n = await l10nPromise; + document.getElementsByTagName("html")[0].dir = this.l10n.getDirection(); + this.l10n.translate(appConfig.appContainer || document.documentElement); + if (this.isViewerEmbedded && AppOptions.get("externalLinkTarget") === LinkTarget.NONE) { + AppOptions.set("externalLinkTarget", LinkTarget.TOP); + } + await this._initializeViewerComponents(); + this.bindEvents(); + this.bindWindowEvents(); + this._initializedCapability.settled = true; + this._initializedCapability.resolve(); + }, + async _parseHashParams() { + const hash = document.location.hash.substring(1); + if (!hash) { + return; + } + const { + mainContainer, + viewerContainer + } = this.appConfig, + params = parseQueryString(hash); + const loadPDFBug = async () => { + if (this._PDFBug) { + return; + } + const { + PDFBug + } = await import( /*webpackIgnore: true*/AppOptions.get("debuggerSrc")); + this._PDFBug = PDFBug; + }; + if (params.get("disableworker") === "true") { + try { + GlobalWorkerOptions.workerSrc ||= AppOptions.get("workerSrc"); + await import( /*webpackIgnore: true*/PDFWorker.workerSrc); + } catch (ex) { + console.error(`_parseHashParams: "${ex.message}".`); + } + } + if (params.has("disablerange")) { + AppOptions.set("disableRange", params.get("disablerange") === "true"); + } + if (params.has("disablestream")) { + AppOptions.set("disableStream", params.get("disablestream") === "true"); + } + if (params.has("disableautofetch")) { + AppOptions.set("disableAutoFetch", params.get("disableautofetch") === "true"); + } + if (params.has("disablefontface")) { + AppOptions.set("disableFontFace", params.get("disablefontface") === "true"); + } + if (params.has("disablehistory")) { + AppOptions.set("disableHistory", params.get("disablehistory") === "true"); + } + if (params.has("verbosity")) { + AppOptions.set("verbosity", params.get("verbosity") | 0); + } + if (params.has("textlayer")) { + switch (params.get("textlayer")) { + case "off": + AppOptions.set("textLayerMode", TextLayerMode.DISABLE); + break; + case "visible": + case "shadow": + case "hover": + viewerContainer.classList.add(`textLayer-${params.get("textlayer")}`); + try { + await loadPDFBug(); + this._PDFBug.loadCSS(); + } catch (ex) { + console.error(`_parseHashParams: "${ex.message}".`); + } + break; + } + } + if (params.has("pdfbug")) { + AppOptions.setAll({ + pdfBug: true, + fontExtraProperties: true + }); + const enabled = params.get("pdfbug").split(","); + try { + await loadPDFBug(); + this._PDFBug.init(mainContainer, enabled); + } catch (ex) { + console.error(`_parseHashParams: "${ex.message}".`); + } + } + if (params.has("locale")) { + AppOptions.set("locale", params.get("locale")); + } + }, + async _initializeViewerComponents() { + const { + appConfig, + externalServices, + l10n + } = this; + const eventBus = AppOptions.get("isInAutomation") ? new AutomationEventBus() : new EventBus(); + this.eventBus = eventBus; + this.overlayManager = new OverlayManager(); + const pdfRenderingQueue = new PDFRenderingQueue(); + pdfRenderingQueue.onIdle = this._cleanup.bind(this); + this.pdfRenderingQueue = pdfRenderingQueue; + const pdfLinkService = new PDFLinkService({ + eventBus, + externalLinkTarget: AppOptions.get("externalLinkTarget"), + externalLinkRel: AppOptions.get("externalLinkRel"), + ignoreDestinationZoom: AppOptions.get("ignoreDestinationZoom") + }); + this.pdfLinkService = pdfLinkService; + const downloadManager = this.downloadManager = new DownloadManager(); + const findController = new PDFFindController({ + linkService: pdfLinkService, + eventBus, + updateMatchesCountOnProgress: true + }); + this.findController = findController; + const pdfScriptingManager = new PDFScriptingManager({ + eventBus, + externalServices, + docProperties: this._scriptingDocProperties.bind(this) + }); + this.pdfScriptingManager = pdfScriptingManager; + const container = appConfig.mainContainer, + viewer = appConfig.viewerContainer; + const annotationEditorMode = AppOptions.get("annotationEditorMode"); + const pageColors = AppOptions.get("forcePageColors") || window.matchMedia("(forced-colors: active)").matches ? { + background: AppOptions.get("pageColorsBackground"), + foreground: AppOptions.get("pageColorsForeground") + } : null; + const altTextManager = appConfig.altTextDialog ? new AltTextManager(appConfig.altTextDialog, container, this.overlayManager, eventBus) : null; + const pdfViewer = new PDFViewer({ + container, + viewer, + eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + downloadManager, + altTextManager, + findController, + scriptingManager: AppOptions.get("enableScripting") && pdfScriptingManager, + l10n, + textLayerMode: AppOptions.get("textLayerMode"), + annotationMode: AppOptions.get("annotationMode"), + annotationEditorMode, + annotationEditorHighlightColors: AppOptions.get("highlightEditorColors"), + enableHighlightFloatingButton: AppOptions.get("enableHighlightFloatingButton"), + imageResourcesPath: AppOptions.get("imageResourcesPath"), + enablePrintAutoRotate: AppOptions.get("enablePrintAutoRotate"), + maxCanvasPixels: AppOptions.get("maxCanvasPixels"), + enablePermissions: AppOptions.get("enablePermissions"), + pageColors, + mlManager: this.mlManager + }); + this.pdfViewer = pdfViewer; + pdfRenderingQueue.setViewer(pdfViewer); + pdfLinkService.setViewer(pdfViewer); + pdfScriptingManager.setViewer(pdfViewer); + if (appConfig.sidebar?.thumbnailView) { + this.pdfThumbnailViewer = new PDFThumbnailViewer({ + container: appConfig.sidebar.thumbnailView, + eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + pageColors + }); + pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer); + } + if (!this.isViewerEmbedded && !AppOptions.get("disableHistory")) { + this.pdfHistory = new PDFHistory({ + linkService: pdfLinkService, + eventBus + }); + pdfLinkService.setHistory(this.pdfHistory); + } + if (!this.supportsIntegratedFind && appConfig.findBar) { + this.findBar = new PDFFindBar(appConfig.findBar, eventBus); + } + if (appConfig.annotationEditorParams) { + if (annotationEditorMode !== AnnotationEditorType.DISABLE) { + if (AppOptions.get("enableStampEditor")) { + appConfig.toolbar?.editorStampButton?.classList.remove("hidden"); + } + const editorHighlightButton = appConfig.toolbar?.editorHighlightButton; + if (editorHighlightButton && AppOptions.get("enableHighlightEditor")) { + editorHighlightButton.hidden = false; + } + this.annotationEditorParams = new AnnotationEditorParams(appConfig.annotationEditorParams, eventBus); + } else { + for (const id of ["editorModeButtons", "editorModeSeparator"]) { + document.getElementById(id)?.classList.add("hidden"); + } + } + } + if (appConfig.documentProperties) { + this.pdfDocumentProperties = new PDFDocumentProperties(appConfig.documentProperties, this.overlayManager, eventBus, l10n, () => this._docFilename); + } + if (appConfig.secondaryToolbar?.cursorHandToolButton) { + this.pdfCursorTools = new PDFCursorTools({ + container, + eventBus, + cursorToolOnLoad: AppOptions.get("cursorToolOnLoad") + }); + } + if (appConfig.toolbar) { + this.toolbar = new Toolbar(appConfig.toolbar, eventBus); + } + if (appConfig.secondaryToolbar) { + this.secondaryToolbar = new SecondaryToolbar(appConfig.secondaryToolbar, eventBus); + } + if (this.supportsFullscreen && appConfig.secondaryToolbar?.presentationModeButton) { + this.pdfPresentationMode = new PDFPresentationMode({ + container, + pdfViewer, + eventBus + }); + } + if (appConfig.passwordOverlay) { + this.passwordPrompt = new PasswordPrompt(appConfig.passwordOverlay, this.overlayManager, this.isViewerEmbedded); + } + if (appConfig.sidebar?.outlineView) { + this.pdfOutlineViewer = new PDFOutlineViewer({ + container: appConfig.sidebar.outlineView, + eventBus, + l10n, + linkService: pdfLinkService, + downloadManager + }); + } + if (appConfig.sidebar?.attachmentsView) { + this.pdfAttachmentViewer = new PDFAttachmentViewer({ + container: appConfig.sidebar.attachmentsView, + eventBus, + l10n, + downloadManager + }); + } + if (appConfig.sidebar?.layersView) { + this.pdfLayerViewer = new PDFLayerViewer({ + container: appConfig.sidebar.layersView, + eventBus, + l10n + }); + } + if (appConfig.sidebar) { + this.pdfSidebar = new 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 === RenderingStates.FINISHED) { + this.pdfThumbnailViewer.getThumbnail(pageView.id - 1)?.setImage(pageView); + } + } + this.pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); + }; + } + }, + async run(config) { + this.preferences = new Preferences(); + await this.initialize(config); + const { + appConfig, + eventBus + } = this; + let file; + const queryString = document.location.search.substring(1); + const params = parseQueryString(queryString); + file = params.get("file") ?? AppOptions.get("defaultUrl"); + validateFileURL(file); + const fileInput = this._openFileInput = document.createElement("input"); + fileInput.id = "fileInput"; + fileInput.hidden = true; + fileInput.type = "file"; + fileInput.value = null; + document.body.append(fileInput); + 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 (!AppOptions.get("supportsDocumentFonts")) { + AppOptions.set("disableFontFace", true); + this.l10n.get("pdfjs-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"); + } + if (file) { + this.open({ + url: file + }); + } else { + this._hideViewBookmark(); + } + }, + get externalServices() { + return shadow(this, "externalServices", new ExternalServices()); + }, + get mlManager() { + return shadow(this, "mlManager", AppOptions.get("enableML") === true ? new MLManager() : null); + }, + get initialized() { + return this._initializedCapability.settled; + }, + get initializedPromise() { + return this._initializedCapability.promise; + }, + updateZoom(steps, scaleFactor, origin) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + this.pdfViewer.updateScale({ + drawingDelay: AppOptions.get("defaultZoomDelay"), + steps, + scaleFactor, + origin + }); + }, + zoomIn() { + this.updateZoom(1); + }, + zoomOut() { + this.updateZoom(-1); + }, + zoomReset() { + if (this.pdfViewer.isInPresentationMode) { + return; + } + this.pdfViewer.currentScaleValue = 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.supportsPrinting; + }, + get supportsFullscreen() { + return shadow(this, "supportsFullscreen", document.fullscreenEnabled); + }, + get supportsPinchToZoom() { + return shadow(this, "supportsPinchToZoom", AppOptions.get("supportsPinchToZoom")); + }, + get supportsIntegratedFind() { + return shadow(this, "supportsIntegratedFind", AppOptions.get("supportsIntegratedFind")); + }, + get loadingBar() { + const barElement = document.getElementById("loadingBar"); + const bar = barElement ? new ProgressBar(barElement) : null; + return shadow(this, "loadingBar", bar); + }, + get supportsMouseWheelZoomCtrlKey() { + return shadow(this, "supportsMouseWheelZoomCtrlKey", AppOptions.get("supportsMouseWheelZoomCtrlKey")); + }, + get supportsMouseWheelZoomMetaKey() { + return shadow(this, "supportsMouseWheelZoomMetaKey", AppOptions.get("supportsMouseWheelZoomMetaKey")); + }, + get supportsCaretBrowsingMode() { + return AppOptions.get("supportsCaretBrowsingMode"); + }, + moveCaret(isUp, select) { + this._caretBrowsing ||= new CaretBrowsingMode(this.appConfig.mainContainer, this.appConfig.viewerContainer, this.appConfig.toolbar?.container); + this._caretBrowsing.moveCaret(isUp, select); + }, + setTitleUsingUrl(url = "", downloadUrl = null) { + this.url = url; + this.baseUrl = url.split("#", 1)[0]; + if (downloadUrl) { + this._downloadUrl = downloadUrl === url ? this.baseUrl : downloadUrl.split("#", 1)[0]; + } + if (isDataScheme(url)) { + this._hideViewBookmark(); + } + let title = pdfjs_getPdfFilenameFromUrl(url, ""); + if (!title) { + try { + title = decodeURIComponent(getFilenameFromUrl(url)) || url; + } catch { + title = url; + } + } + this.setTitle(title); + }, + setTitle(title = 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 || pdfjs_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) { + if (this.pdfLoadingTask) { + await this.close(); + } + const workerParams = AppOptions.getAll(OptionKind.WORKER); + Object.assign(GlobalWorkerOptions, workerParams); + if (args.url) { + this.setTitleUsingUrl(args.originalUrl || args.url, args.url); + } + const apiParams = AppOptions.getAll(OptionKind.API); + const loadingTask = getDocument({ + ...apiParams, + ...args + }); + 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 = ({ + loaded, + total + }) => { + this.progress(loaded / total); + }; + return loadingTask.promise.then(pdfDocument => { + this.load(pdfDocument); + }, reason => { + if (loadingTask !== this.pdfLoadingTask) { + return undefined; + } + let key = "pdfjs-loading-error"; + if (reason instanceof InvalidPDFException) { + key = "pdfjs-invalid-file-error"; + } else if (reason instanceof MissingPDFException) { + key = "pdfjs-missing-file-error"; + } else if (reason instanceof UnexpectedResponseException) { + key = "pdfjs-unexpected-response-error"; + } + return this._documentError(key, { + message: reason.message + }).then(() => { + throw reason; + }); + }); + }, + _ensureDownloadComplete() { + if (this.pdfDocument && this.downloadComplete) { + return; + } + throw new Error("PDF document not downloaded."); + }, + async download(options = {}) { + 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(options = {}) { + 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", + stats: this.pdfDocument?.annotationStorage.editorStats + } + }); + } + }, + downloadOrSave(options = {}) { + if (this.pdfDocument?.annotationStorage.size > 0) { + this.save(options); + } else { + this.download(options); + } + }, + async _documentError(key, moreInfo = null) { + this._unblockDocumentLoadEvent(); + const message = await this._otherError(key || "pdfjs-loading-error", moreInfo); + this.eventBus.dispatch("documenterror", { + source: this, + message, + reason: moreInfo?.message ?? null + }); + }, + async _otherError(key, moreInfo = null) { + const message = await this.l10n.get(key); + const moreInfoText = [`PDF.js v${version || "?"} (build: ${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")}`); + return message; + }, + 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 ?? AppOptions.get("disableAutoFetch")) { + this.loadingBar.setDisableAutoFetch(); + } + }, + load(pdfDocument) { + this.pdfDocument = pdfDocument; + pdfDocument.getDownloadInfo().then(({ + length + }) => { + 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 ViewHistory(pdfDocument.fingerprints[0])).getMultiple({ + page: null, + zoom: DEFAULT_SCALE_VALUE, + scrollLeft: "0", + scrollTop: "0", + rotation: null, + sidebarView: SidebarView.UNKNOWN, + scrollMode: ScrollMode.UNKNOWN, + spreadMode: SpreadMode.UNKNOWN + }).catch(() => {}); + firstPagePromise.then(pdfPage => { + this.loadingBar?.setWidth(this.appConfig.viewerContainer); + this._initializeAnnotationStorageCallbacks(pdfDocument); + Promise.all([animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then(async ([timeStamp, stored, pageLayout, pageMode, openAction]) => { + const viewOnLoad = AppOptions.get("viewOnLoad"); + this._initializePdfHistory({ + fingerprint: pdfDocument.fingerprints[0], + viewOnLoad, + initialDest: openAction?.dest + }); + const initialBookmark = this.initialBookmark; + const zoom = AppOptions.get("defaultZoomValue"); + let hash = zoom ? `zoom=${zoom}` : null; + let rotation = null; + let sidebarView = AppOptions.get("sidebarViewOnLoad"); + let scrollMode = AppOptions.get("scrollModeOnLoad"); + let spreadMode = 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 === SidebarView.UNKNOWN) { + sidebarView = stored.sidebarView | 0; + } + if (scrollMode === ScrollMode.UNKNOWN) { + scrollMode = stored.scrollMode | 0; + } + if (spreadMode === SpreadMode.UNKNOWN) { + spreadMode = stored.spreadMode | 0; + } + } + if (pageMode && sidebarView === SidebarView.UNKNOWN) { + sidebarView = apiPageModeToSidebarView(pageMode); + } + if (pageLayout && scrollMode === ScrollMode.UNKNOWN && spreadMode === SpreadMode.UNKNOWN) { + const modes = 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._documentError("pdfjs-loading-error", { + 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 => 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: ${version || "?"} [${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 || 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({ + fingerprint, + viewOnLoad, + initialDest = null + }) { + if (!this.pdfHistory) { + return; + } + this.pdfHistory.initialize({ + fingerprint, + resetHistory: viewOnLoad === ViewOnLoad.INITIAL, + updateUrl: 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(); + }; + }, + setInitialView(storedHash, { + rotation, + sidebarView, + scrollMode, + spreadMode + } = {}) { + const setRotation = angle => { + if (isValidRotation(angle)) { + this.pdfViewer.pagesRotation = angle; + } + }; + const setViewerModes = (scroll, spread) => { + if (isValidScrollMode(scroll)) { + this.pdfViewer.scrollMode = scroll; + } + if (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 = DEFAULT_SCALE_VALUE; + } + }, + _cleanup() { + if (!this.pdfDocument) { + return; + } + this.pdfViewer.cleanup(); + this.pdfThumbnailViewer?.cleanup(); + this.pdfDocument.cleanup(AppOptions.get("fontExtraProperties")); + }, + forceRendering() { + this.pdfRenderingQueue.printing = !!this.printService; + this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar?.visibleView === SidebarView.THUMBS; + this.pdfRenderingQueue.renderHighestPriority(); + }, + beforePrint() { + this._printAnnotationStoragePromise = this.pdfScriptingManager.dispatchWillPrint().catch(() => {}).then(() => this.pdfDocument?.annotationStorage.print); + if (this.printService) { + return; + } + if (!this.supportsPrinting) { + this._otherError("pdfjs-printing-not-supported"); + return; + } + if (!this.pdfViewer.pageViewsReady) { + this.l10n.get("pdfjs-printing-not-ready").then(msg => { + window.alert(msg); + }); + return; + } + this.printService = PDFPrintServiceFactory.createPrintService({ + pdfDocument: this.pdfDocument, + pagesOverview: this.pdfViewer.getPagesOverview(), + printContainer: this.appConfig.printContainer, + printResolution: AppOptions.get("printResolution"), + printAnnotationStoragePromise: this._printAnnotationStoragePromise + }); + this.forceRendering(); + this.setTitle(); + this.printService.layout(); + if (this._hasAnnotationEditors) { + this.externalServices.reportTelemetry({ + type: "editing", + data: { + type: "print", + stats: this.pdfDocument?.annotationStorage.editorStats + } + }); + } + }, + 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() { + if (this._eventBusAbortController) { + return; + } + this._eventBusAbortController = new AbortController(); + const { + eventBus, + _eventBusAbortController: { + signal + } + } = this; + eventBus._on("resize", webViewerResize, { + signal + }); + eventBus._on("hashchange", webViewerHashchange, { + signal + }); + eventBus._on("beforeprint", this.beforePrint.bind(this), { + signal + }); + eventBus._on("afterprint", this.afterPrint.bind(this), { + signal + }); + eventBus._on("pagerender", webViewerPageRender, { + signal + }); + eventBus._on("pagerendered", webViewerPageRendered, { + signal + }); + eventBus._on("updateviewarea", webViewerUpdateViewarea, { + signal + }); + eventBus._on("pagechanging", webViewerPageChanging, { + signal + }); + eventBus._on("scalechanging", webViewerScaleChanging, { + signal + }); + eventBus._on("rotationchanging", webViewerRotationChanging, { + signal + }); + eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged, { + signal + }); + eventBus._on("pagemode", webViewerPageMode, { + signal + }); + eventBus._on("namedaction", webViewerNamedAction, { + signal + }); + eventBus._on("presentationmodechanged", webViewerPresentationModeChanged, { + signal + }); + eventBus._on("presentationmode", webViewerPresentationMode, { + signal + }); + eventBus._on("switchannotationeditormode", webViewerSwitchAnnotationEditorMode, { + signal + }); + eventBus._on("switchannotationeditorparams", webViewerSwitchAnnotationEditorParams, { + signal + }); + eventBus._on("print", webViewerPrint, { + signal + }); + eventBus._on("download", webViewerDownload, { + signal + }); + eventBus._on("firstpage", webViewerFirstPage, { + signal + }); + eventBus._on("lastpage", webViewerLastPage, { + signal + }); + eventBus._on("nextpage", webViewerNextPage, { + signal + }); + eventBus._on("previouspage", webViewerPreviousPage, { + signal + }); + eventBus._on("zoomin", webViewerZoomIn, { + signal + }); + eventBus._on("zoomout", webViewerZoomOut, { + signal + }); + eventBus._on("zoomreset", webViewerZoomReset, { + signal + }); + eventBus._on("pagenumberchanged", webViewerPageNumberChanged, { + signal + }); + eventBus._on("scalechanged", webViewerScaleChanged, { + signal + }); + eventBus._on("rotatecw", webViewerRotateCw, { + signal + }); + eventBus._on("rotateccw", webViewerRotateCcw, { + signal + }); + eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig, { + signal + }); + eventBus._on("switchscrollmode", webViewerSwitchScrollMode, { + signal + }); + eventBus._on("scrollmodechanged", webViewerScrollModeChanged, { + signal + }); + eventBus._on("switchspreadmode", webViewerSwitchSpreadMode, { + signal + }); + eventBus._on("spreadmodechanged", webViewerSpreadModeChanged, { + signal + }); + eventBus._on("documentproperties", webViewerDocumentProperties, { + signal + }); + eventBus._on("findfromurlhash", webViewerFindFromUrlHash, { + signal + }); + eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount, { + signal + }); + eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState, { + signal + }); + eventBus._on("fileinputchange", webViewerFileInputChange, { + signal + }); + eventBus._on("openfile", webViewerOpenFile, { + signal + }); + }, + bindWindowEvents() { + if (this._windowAbortController) { + return; + } + this._windowAbortController = new AbortController(); + const { + eventBus, + appConfig: { + mainContainer + }, + _windowAbortController: { + signal + } + } = this; + function addWindowResolutionChange(evt = null) { + if (evt) { + webViewerResolutionChange(evt); + } + const mediaQueryList = window.matchMedia(`(resolution: ${window.devicePixelRatio || 1}dppx)`); + mediaQueryList.addEventListener("change", addWindowResolutionChange, { + once: true, + signal + }); + } + addWindowResolutionChange(); + window.addEventListener("visibilitychange", webViewerVisibilityChange, { + signal + }); + window.addEventListener("wheel", webViewerWheel, { + passive: false, + signal + }); + window.addEventListener("touchstart", webViewerTouchStart, { + passive: false, + signal + }); + window.addEventListener("touchmove", webViewerTouchMove, { + passive: false, + signal + }); + window.addEventListener("touchend", webViewerTouchEnd, { + passive: false, + signal + }); + window.addEventListener("click", webViewerClick, { + signal + }); + window.addEventListener("keydown", webViewerKeyDown, { + signal + }); + window.addEventListener("keyup", webViewerKeyUp, { + signal + }); + window.addEventListener("resize", () => { + eventBus.dispatch("resize", { + source: window + }); + }, { + signal + }); + window.addEventListener("hashchange", () => { + eventBus.dispatch("hashchange", { + source: window, + hash: document.location.hash.substring(1) + }); + }, { + signal + }); + window.addEventListener("beforeprint", () => { + eventBus.dispatch("beforeprint", { + source: window + }); + }, { + signal + }); + window.addEventListener("afterprint", () => { + eventBus.dispatch("afterprint", { + source: window + }); + }, { + signal + }); + window.addEventListener("updatefromsandbox", event => { + eventBus.dispatch("updatefromsandbox", { + source: window, + detail: event.detail + }); + }, { + signal + }); + if (!("onscrollend" in document.documentElement)) { + return; + } + ({ + scrollTop: this._lastScrollTop, + scrollLeft: this._lastScrollLeft + } = mainContainer); + const scrollend = () => { + ({ + scrollTop: this._lastScrollTop, + scrollLeft: this._lastScrollLeft + } = mainContainer); + this._isScrolling = false; + mainContainer.addEventListener("scroll", scroll, { + passive: true, + signal + }); + mainContainer.removeEventListener("scrollend", scrollend); + mainContainer.removeEventListener("blur", scrollend); + }; + const scroll = () => { + if (this._isCtrlKeyDown) { + return; + } + if (this._lastScrollTop === mainContainer.scrollTop && this._lastScrollLeft === mainContainer.scrollLeft) { + return; + } + mainContainer.removeEventListener("scroll", scroll, { + passive: true + }); + this._isScrolling = true; + mainContainer.addEventListener("scrollend", scrollend, { + signal + }); + mainContainer.addEventListener("blur", scrollend, { + signal + }); + }; + mainContainer.addEventListener("scroll", scroll, { + passive: true, + signal + }); + }, + unbindEvents() { + this._eventBusAbortController?.abort(); + this._eventBusAbortController = null; + }, + unbindWindowEvents() { + this._windowAbortController?.abort(); + this._windowAbortController = 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; + }, + _unblockDocumentLoadEvent() { + document.blockUnblockOnload?.(false); + this._unblockDocumentLoadEvent = () => {}; + }, + get scriptingReady() { + return this.pdfScriptingManager.ready; + } +}; +initCom(PDFViewerApplication); +{ + PDFPrintServiceFactory.initGlobals(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._documentError("pdfjs-loading-error", { + message: ex.message + }); + throw ex; + } + }; +} +function webViewerPageRender({ + pageNumber +}) { + if (pageNumber === PDFViewerApplication.page) { + PDFViewerApplication.toolbar?.updateLoadingIndicatorState(true); + } +} +function webViewerPageRendered({ + pageNumber, + error +}) { + if (pageNumber === PDFViewerApplication.page) { + PDFViewerApplication.toolbar?.updateLoadingIndicatorState(false); + } + if (PDFViewerApplication.pdfSidebar?.visibleView === SidebarView.THUMBS) { + const pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + const thumbnailView = PDFViewerApplication.pdfThumbnailViewer?.getThumbnail(pageNumber - 1); + if (pageView) { + thumbnailView?.setImage(pageView); + } + } + if (error) { + PDFViewerApplication._otherError("pdfjs-rendering-error", error); + } +} +function webViewerPageMode({ + mode +}) { + let view; + switch (mode) { + case "thumbs": + view = SidebarView.THUMBS; + break; + case "bookmarks": + case "outline": + view = SidebarView.OUTLINE; + break; + case "attachments": + view = SidebarView.ATTACHMENTS; + break; + case "layers": + view = SidebarView.LAYERS; + break; + case "none": + view = 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({ + view +}) { + PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = view === SidebarView.THUMBS; + if (PDFViewerApplication.isInitialViewSet) { + PDFViewerApplication.store?.set("sidebarView", view).catch(() => {}); + } +} +function webViewerUpdateViewarea({ + location +}) { + 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) { + PDFViewerApplication._openFileInput?.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 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({ + matchesCount +}) { + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount); + } else { + PDFViewerApplication.findBar?.updateResultsCount(matchesCount); + } +} +function webViewerUpdateFindControlState({ + state, + previous, + matchesCount, + rawQuery +}) { + 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({ + pageNumber, + pageLabel +}) { + PDFViewerApplication.toolbar?.setPageNumber(pageNumber, pageLabel); + PDFViewerApplication.secondaryToolbar?.setPageNumber(pageNumber); + if (PDFViewerApplication.pdfSidebar?.visibleView === SidebarView.THUMBS) { + PDFViewerApplication.pdfThumbnailViewer?.scrollThumbnailIntoView(pageNumber); + } + const currentPage = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + PDFViewerApplication.toolbar?.updateLoadingIndicatorState(currentPage?.renderingState === 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, + supportsMouseWheelZoomCtrlKey, + supportsMouseWheelZoomMetaKey, + 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; + const origin = [evt.clientX, evt.clientY]; + if (isPinchToZoom || evt.ctrlKey && supportsMouseWheelZoomCtrlKey || evt.metaKey && supportsMouseWheelZoomMetaKey) { + evt.preventDefault(); + if (PDFViewerApplication._isScrolling || zoomDisabledTimeout || document.visibilityState === "hidden" || PDFViewerApplication.overlayManager.active) { + return; + } + if (isPinchToZoom && supportsPinchToZoom) { + scaleFactor = PDFViewerApplication._accumulateFactor(pdfViewer.currentScale, scaleFactor, "_wheelUnusedFactor"); + PDFViewerApplication.updateZoom(null, scaleFactor, origin); + } else { + const delta = 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"); + } + PDFViewerApplication.updateZoom(ticks, null, origin); + } + } +} +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 origin = [(page0X + page1X) / 2, (page0Y + page1Y) / 2]; + const distance = Math.hypot(page0X - page1X, page0Y - page1Y) || 1; + const pDistance = Math.hypot(pTouch0X - pTouch1X, pTouch0Y - pTouch1Y) || 1; + if (supportsPinchToZoom) { + const newScaleFactor = PDFViewerApplication._accumulateFactor(pdfViewer.currentScale, distance / pDistance, "_touchUnusedFactor"); + PDFViewerApplication.updateZoom(null, newScaleFactor, origin); + } else { + const PIXELS_PER_LINE_SCALE = 30; + const ticks = PDFViewerApplication._accumulateTicks((distance - pDistance) / PIXELS_PER_LINE_SCALE, "_touchUnusedTicks"); + PDFViewerApplication.updateZoom(ticks, null, origin); + } +} +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 = getActiveOrFocusedElement(); + const curElementTagName = curElement?.tagName.toUpperCase(); + if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElementTagName === "BUTTON" && (evt.keyCode === 13 || evt.keyCode === 32) || curElement?.isContentEditable) { + if (evt.keyCode !== 27) { + return; + } + } + if (cmd === 0) { + let turnPage = 0, + turnOnlyIfPageFit = false; + switch (evt.keyCode) { + case 38: + if (PDFViewerApplication.supportsCaretBrowsingMode) { + PDFViewerApplication.moveCaret(true, false); + handled = true; + break; + } + case 33: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + turnPage = -1; + break; + case 8: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + turnPage = -1; + break; + case 37: + if (PDFViewerApplication.supportsCaretBrowsingMode) { + return; + } + 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: + if (PDFViewerApplication.supportsCaretBrowsingMode) { + PDFViewerApplication.moveCaret(false, false); + handled = true; + break; + } + case 34: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + turnPage = 1; + break; + case 13: + case 32: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + turnPage = 1; + break; + case 39: + if (PDFViewerApplication.supportsCaretBrowsingMode) { + return; + } + 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(CursorTool.SELECT); + break; + case 72: + PDFViewerApplication.pdfCursorTools?.switchTool(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 38: + PDFViewerApplication.moveCaret(true, true); + handled = true; + break; + case 40: + PDFViewerApplication.moveCaret(false, true); + 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({ + details +}) { + PDFViewerApplication.externalServices.reportTelemetry(details); +} + +;// CONCATENATED MODULE: ./web/viewer.js + + + + +const pdfjsVersion = "4.3.136"; +const pdfjsBuild = "0cec64437"; +const AppConstants = { + LinkTarget: LinkTarget, + RenderingStates: RenderingStates, + ScrollMode: ScrollMode, + SpreadMode: SpreadMode +}; +window.PDFViewerApplication = PDFViewerApplication; +window.PDFViewerApplicationConstants = AppConstants; +window.PDFViewerApplicationOptions = 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"), + editorHighlightButton: document.getElementById("editorHighlight"), + editorHighlightParamsToolbar: document.getElementById("editorHighlightParamsToolbar"), + editorHighlightColorPicker: document.getElementById("editorHighlightColorPicker"), + 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"), + 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"), + editorFreeHighlightThickness: document.getElementById("editorFreeHighlightThickness"), + editorHighlightShowAll: document.getElementById("editorHighlightShowAll") + }, + printContainer: document.getElementById("printContainer") + }; +} +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); + } + PDFViewerApplication.run(config); +} +document.blockUnblockOnload?.(true); +if (document.readyState === "interactive" || document.readyState === "complete") { + webViewerLoad(); +} else { + document.addEventListener("DOMContentLoaded", webViewerLoad, true); +} + +})(); + +var __webpack_exports__PDFViewerApplication = __webpack_exports__.PDFViewerApplication; +var __webpack_exports__PDFViewerApplicationConstants = __webpack_exports__.PDFViewerApplicationConstants; +var __webpack_exports__PDFViewerApplicationOptions = __webpack_exports__.PDFViewerApplicationOptions; +export { __webpack_exports__PDFViewerApplication as PDFViewerApplication, __webpack_exports__PDFViewerApplicationConstants as PDFViewerApplicationConstants, __webpack_exports__PDFViewerApplicationOptions as PDFViewerApplicationOptions }; + +//# sourceMappingURL=viewer.mjs.map \ No newline at end of file diff --git a/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map b/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map new file mode 100644 index 0000000000..568ad024c6 --- /dev/null +++ b/src/main/resources/static/pdfjs-legacy/js/viewer.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"viewer.mjs","mappings":"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C;;AAElE;AACA;AACA,IAAI,6CAA6C;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,oCAAoC;AAC7C;AACA,CAAC;;;;;;;;ACnBY;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,kBAAkB,mBAAO,CAAC,IAA0B;AACpD,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,kBAAkB,mBAAO,CAAC,IAAoC;AAC9D,WAAW,mBAAO,CAAC,IAA4B;AAC/C,iBAAiB,mBAAO,CAAC,IAA0B;AACnD,eAAe,mBAAO,CAAC,EAAwB;AAC/C,cAAc,mBAAO,CAAC,IAAuB;AAC7C,aAAa,mBAAO,CAAC,IAA+B;AACpD,eAAe,mBAAO,CAAC,GAAwB;AAC/C,wBAAwB,mBAAO,CAAC,IAAmC;AACnE,qBAAqB,mBAAO,CAAC,IAA8B;AAC3D,YAAY,mBAAO,CAAC,IAAoB;AACxC,sBAAsB,mBAAO,CAAC,IAAgC;AAC9D,oBAAoB,mBAAO,CAAC,IAA2C;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;;AAEA;AACA;AACA;AACA,iEAAiE,sBAAsB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,QAAQ,mBAAmB;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,IAAI,uDAAuD;AAC3D;AACA;AACA;AACA,CAAC;;;;;;;;AC1PY;AACb;AACA,mBAAO,CAAC,IAAiC;;;;;;;;ACF5B;AACb;AACA,mBAAO,CAAC,IAAmC;;;;;;;;ACF9B;AACb;AACA,mBAAO,CAAC,IAAuC;;;;;;;;ACFlC;AACb;AACA,mBAAO,CAAC,IAAmC;;;;;;;;ACF9B;AACb;AACA,mBAAO,CAAC,IAAqC;;;;;;;;ACFhC;AACb;AACA,mBAAO,CAAC,IAA2C;;;;;;;;ACFtC;AACb;AACA,mBAAO,CAAC,IAA4B;;;;;;;;ACFvB;AACb,QAAQ,mBAAO,CAAC,IAAqB;AACrC,aAAa,mBAAO,CAAC,IAAqB;AAC1C,iBAAiB,mBAAO,CAAC,IAA2B;AACpD,+BAA+B,mBAAO,CAAC,IAAyC;AAChF,qBAAqB,6BAAgD;AACrE,aAAa,mBAAO,CAAC,IAA+B;AACpD,iBAAiB,mBAAO,CAAC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","sources":["webpack://pdf.js/./node_modules/core-js/internals/a-callable.js","webpack://pdf.js/./node_modules/core-js/internals/a-possible-prototype.js","webpack://pdf.js/./node_modules/core-js/internals/a-set.js","webpack://pdf.js/./node_modules/core-js/internals/an-instance.js","webpack://pdf.js/./node_modules/core-js/internals/an-object.js","webpack://pdf.js/./node_modules/core-js/internals/array-includes.js","webpack://pdf.js/./node_modules/core-js/internals/array-set-length.js","webpack://pdf.js/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdf.js/./node_modules/core-js/internals/classof-raw.js","webpack://pdf.js/./node_modules/core-js/internals/classof.js","webpack://pdf.js/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdf.js/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdf.js/./node_modules/core-js/internals/create-iter-result-object.js","webpack://pdf.js/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdf.js/./node_modules/core-js/internals/create-property-descriptor.js","webpack://pdf.js/./node_modules/core-js/internals/create-property.js","webpack://pdf.js/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://pdf.js/./node_modules/core-js/internals/define-built-in.js","webpack://pdf.js/./node_modules/core-js/internals/define-built-ins.js","webpack://pdf.js/./node_modules/core-js/internals/define-global-property.js","webpack://pdf.js/./node_modules/core-js/internals/descriptors.js","webpack://pdf.js/./node_modules/core-js/internals/document-create-element.js","webpack://pdf.js/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://pdf.js/./node_modules/core-js/internals/dom-exception-constants.js","webpack://pdf.js/./node_modules/core-js/internals/engine-user-agent.js","webpack://pdf.js/./node_modules/core-js/internals/engine-v8-version.js","webpack://pdf.js/./node_modules/core-js/internals/enum-bug-keys.js","webpack://pdf.js/./node_modules/core-js/internals/error-stack-clear.js","webpack://pdf.js/./node_modules/core-js/internals/export.js","webpack://pdf.js/./node_modules/core-js/internals/fails.js","webpack://pdf.js/./node_modules/core-js/internals/function-bind-context.js","webpack://pdf.js/./node_modules/core-js/internals/function-bind-native.js","webpack://pdf.js/./node_modules/core-js/internals/function-call.js","webpack://pdf.js/./node_modules/core-js/internals/function-name.js","webpack://pdf.js/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://pdf.js/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://pdf.js/./node_modules/core-js/internals/function-uncurry-this.js","webpack://pdf.js/./node_modules/core-js/internals/get-built-in.js","webpack://pdf.js/./node_modules/core-js/internals/get-iterator-direct.js","webpack://pdf.js/./node_modules/core-js/internals/get-iterator-method.js","webpack://pdf.js/./node_modules/core-js/internals/get-iterator.js","webpack://pdf.js/./node_modules/core-js/internals/get-method.js","webpack://pdf.js/./node_modules/core-js/internals/get-set-record.js","webpack://pdf.js/./node_modules/core-js/internals/global.js","webpack://pdf.js/./node_modules/core-js/internals/has-own-property.js","webpack://pdf.js/./node_modules/core-js/internals/hidden-keys.js","webpack://pdf.js/./node_modules/core-js/internals/html.js","webpack://pdf.js/./node_modules/core-js/internals/ie8-dom-define.js","webpack://pdf.js/./node_modules/core-js/internals/indexed-object.js","webpack://pdf.js/./node_modules/core-js/internals/inherit-if-required.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/is-array-iterator-method.js","webpack://pdf.js/./node_modules/core-js/internals/is-array.js","webpack://pdf.js/./node_modules/core-js/internals/is-callable.js","webpack://pdf.js/./node_modules/core-js/internals/is-forced.js","webpack://pdf.js/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://pdf.js/./node_modules/core-js/internals/is-object.js","webpack://pdf.js/./node_modules/core-js/internals/is-possible-prototype.js","webpack://pdf.js/./node_modules/core-js/internals/is-pure.js","webpack://pdf.js/./node_modules/core-js/internals/is-symbol.js","webpack://pdf.js/./node_modules/core-js/internals/iterate-simple.js","webpack://pdf.js/./node_modules/core-js/internals/iterate.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-close.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-create-proxy.js","webpack://pdf.js/./node_modules/core-js/internals/iterator-map.js","webpack://pdf.js/./node_modules/core-js/internals/iterators-core.js","webpack://pdf.js/./node_modules/core-js/internals/iterators.js","webpack://pdf.js/./node_modules/core-js/internals/length-of-array-like.js","webpack://pdf.js/./node_modules/core-js/internals/make-built-in.js","webpack://pdf.js/./node_modules/core-js/internals/math-trunc.js","webpack://pdf.js/./node_modules/core-js/internals/new-promise-capability.js","webpack://pdf.js/./node_modules/core-js/internals/normalize-string-argument.js","webpack://pdf.js/./node_modules/core-js/internals/object-create.js","webpack://pdf.js/./node_modules/core-js/internals/object-define-properties.js","webpack://pdf.js/./node_modules/core-js/internals/object-define-property.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdf.js/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdf.js/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdf.js/./node_modules/core-js/internals/object-keys-internal.js","webpack://pdf.js/./node_modules/core-js/internals/object-keys.js","webpack://pdf.js/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdf.js/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdf.js/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdf.js/./node_modules/core-js/internals/own-keys.js","webpack://pdf.js/./node_modules/core-js/internals/parse-json-string.js","webpack://pdf.js/./node_modules/core-js/internals/require-object-coercible.js","webpack://pdf.js/./node_modules/core-js/internals/set-clone.js","webpack://pdf.js/./node_modules/core-js/internals/set-difference.js","webpack://pdf.js/./node_modules/core-js/internals/set-helpers.js","webpack://pdf.js/./node_modules/core-js/internals/set-intersection.js","webpack://pdf.js/./node_modules/core-js/internals/set-is-disjoint-from.js","webpack://pdf.js/./node_modules/core-js/internals/set-is-subset-of.js","webpack://pdf.js/./node_modules/core-js/internals/set-is-superset-of.js","webpack://pdf.js/./node_modules/core-js/internals/set-iterate.js","webpack://pdf.js/./node_modules/core-js/internals/set-method-accept-set-like.js","webpack://pdf.js/./node_modules/core-js/internals/set-size.js","webpack://pdf.js/./node_modules/core-js/internals/set-symmetric-difference.js","webpack://pdf.js/./node_modules/core-js/internals/set-union.js","webpack://pdf.js/./node_modules/core-js/internals/shared-key.js","webpack://pdf.js/./node_modules/core-js/internals/shared-store.js","webpack://pdf.js/./node_modules/core-js/internals/shared.js","webpack://pdf.js/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://pdf.js/./node_modules/core-js/internals/to-absolute-index.js","webpack://pdf.js/./node_modules/core-js/internals/to-indexed-object.js","webpack://pdf.js/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdf.js/./node_modules/core-js/internals/to-length.js","webpack://pdf.js/./node_modules/core-js/internals/to-object.js","webpack://pdf.js/./node_modules/core-js/internals/to-primitive.js","webpack://pdf.js/./node_modules/core-js/internals/to-property-key.js","webpack://pdf.js/./node_modules/core-js/internals/to-string-tag-support.js","webpack://pdf.js/./node_modules/core-js/internals/to-string.js","webpack://pdf.js/./node_modules/core-js/internals/try-to-string.js","webpack://pdf.js/./node_modules/core-js/internals/uid.js","webpack://pdf.js/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdf.js/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://pdf.js/./node_modules/core-js/internals/validate-arguments-length.js","webpack://pdf.js/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://pdf.js/./node_modules/core-js/internals/well-known-symbol.js","webpack://pdf.js/./node_modules/core-js/modules/es.array.push.js","webpack://pdf.js/./node_modules/core-js/modules/es.promise.with-resolvers.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.difference.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.intersection.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.is-subset-of.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.is-superset-of.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.symmetric-difference.v2.js","webpack://pdf.js/./node_modules/core-js/modules/es.set.union.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.iterator.constructor.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.iterator.every.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.iterator.filter.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.iterator.for-each.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.iterator.map.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.iterator.some.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.json.parse.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://pdf.js/./node_modules/core-js/modules/esnext.set.union.v2.js","webpack://pdf.js/./node_modules/core-js/modules/web.dom-exception.stack.js","webpack://pdf.js/./node_modules/core-js/modules/web.url-search-params.delete.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/webpack/bootstrap","webpack://pdf.js/webpack/runtime/define property getters","webpack://pdf.js/webpack/runtime/hasOwnProperty shorthand","webpack://pdf.js/./web/ui_utils.js","webpack://pdf.js/./web/app_options.js","webpack://pdf.js/./web/pdf_link_service.js","webpack://pdf.js/./web/pdfjs.js","webpack://pdf.js/./web/event_utils.js","webpack://pdf.js/./web/external_services.js","webpack://pdf.js/./web/preferences.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/types.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/resolver.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/scope.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/builtins.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/memoizer.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/bundle.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/resource.js","webpack://pdf.js/./node_modules/@fluent/bundle/esm/index.js","webpack://pdf.js/./node_modules/@fluent/dom/esm/overlay.js","webpack://pdf.js/./node_modules/cached-iterable/src/cached_iterable.mjs","webpack://pdf.js/./node_modules/cached-iterable/src/cached_sync_iterable.mjs","webpack://pdf.js/./node_modules/cached-iterable/src/cached_async_iterable.mjs","webpack://pdf.js/./node_modules/cached-iterable/src/index.mjs","webpack://pdf.js/./node_modules/@fluent/dom/esm/localization.js","webpack://pdf.js/./node_modules/@fluent/dom/esm/dom_localization.js","webpack://pdf.js/./node_modules/@fluent/dom/esm/index.js","webpack://pdf.js/./web/l10n.js","webpack://pdf.js/./web/genericl10n.js","webpack://pdf.js/./web/generic_scripting.js","webpack://pdf.js/./web/genericcom.js","webpack://pdf.js/./web/alt_text_manager.js","webpack://pdf.js/./web/annotation_editor_params.js","webpack://pdf.js/./web/caret_browsing.js","webpack://pdf.js/./web/download_manager.js","webpack://pdf.js/./web/overlay_manager.js","webpack://pdf.js/./web/password_prompt.js","webpack://pdf.js/./web/base_tree_viewer.js","webpack://pdf.js/./web/pdf_attachment_viewer.js","webpack://pdf.js/./web/grab_to_pan.js","webpack://pdf.js/./web/pdf_cursor_tools.js","webpack://pdf.js/./web/pdf_document_properties.js","webpack://pdf.js/./web/pdf_find_utils.js","webpack://pdf.js/./web/pdf_find_controller.js","webpack://pdf.js/./web/pdf_find_bar.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/xfa_layer_builder.js","webpack://pdf.js/./web/print_utils.js","webpack://pdf.js/./web/pdf_print_service.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_view.js","webpack://pdf.js/./web/pdf_thumbnail_viewer.js","webpack://pdf.js/./web/annotation_editor_layer_builder.js","webpack://pdf.js/./web/annotation_layer_builder.js","webpack://pdf.js/./web/draw_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/pdf_page_view.js","webpack://pdf.js/./web/pdf_viewer.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/app.js","webpack://pdf.js/./web/viewer.js"],"sourcesContent":["'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 new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar has = require('../internals/set-helpers').has;\n\n// Perform ? RequireInternalSlot(M, [[SetData]])\nmodule.exports = function (it) {\n has(it);\n return it;\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\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 new $TypeError($String(argument) + ' is not an object');\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 if (length === 0) return !IS_INCLUDES && -1;\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 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 new $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 anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\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 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 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 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';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\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';\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';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\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 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 defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\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 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';\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 $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';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\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';\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';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $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 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] && 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';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\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 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 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 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 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 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 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 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';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\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 aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, intSize) {\n this.set = set;\n this.size = max(intSize, 0);\n this.has = aCallable(set.has);\n this.keys = aCallable(set.keys);\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw new $RangeError(INVALID_SIZE);\n return new SetRecord(obj, intSize);\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 check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\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';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\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 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 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 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 new 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 new 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 new 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 wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\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';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\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';\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 isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\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 call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getMethod = require('../internals/get-method');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ITERATOR_HELPER = 'IteratorHelper';\nvar WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';\nvar setInternalState = InternalStateModule.set;\n\nvar createIteratorProxyPrototype = function (IS_ITERATOR) {\n var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);\n\n return defineBuiltIns(create(IteratorPrototype), {\n next: function next() {\n var state = getInternalState(this);\n // for simplification:\n // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject`\n // for `%IteratorHelperPrototype%.next` - just a value\n if (IS_ITERATOR) return state.nextHandler();\n try {\n var result = state.done ? undefined : state.nextHandler();\n return createIterResultObject(result, state.done);\n } catch (error) {\n state.done = true;\n throw error;\n }\n },\n 'return': function () {\n var state = getInternalState(this);\n var iterator = state.iterator;\n state.done = true;\n if (IS_ITERATOR) {\n var returnMethod = getMethod(iterator, 'return');\n return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);\n }\n if (state.inner) try {\n iteratorClose(state.inner.iterator, 'normal');\n } catch (error) {\n return iteratorClose(iterator, 'throw', error);\n }\n iteratorClose(iterator, 'normal');\n return createIterResultObject(undefined, true);\n }\n });\n};\n\nvar WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);\nvar IteratorHelperPrototype = createIteratorProxyPrototype(false);\n\ncreateNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');\n\nmodule.exports = function (nextHandler, IS_ITERATOR) {\n var IteratorProxy = function Iterator(record, state) {\n if (state) {\n state.iterator = record.iterator;\n state.next = record.next;\n } else state = record;\n state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;\n state.nextHandler = nextHandler;\n state.counter = 0;\n state.done = false;\n setInternalState(this, state);\n };\n\n IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;\n\n return IteratorProxy;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var result = anObject(call(this.next, iterator));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);\n});\n\n// `Iterator.prototype.map` method\n// https://github.com/tc39/proposal-iterator-helpers\nmodule.exports = function map(mapper) {\n anObject(this);\n aCallable(mapper);\n return new IteratorProxy(getIteratorDirect(this), {\n mapper: mapper\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\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 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 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 aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\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';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\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 new $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 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 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';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\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 uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\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 internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\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';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\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 requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\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 new $TypeError(\"Can't convert object to primitive value\");\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 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 new $SyntaxError('Bad Unicode escape at: ' + i);\n value += fromCharCode($parseInt(fourHexDigits, 16));\n i += 4;\n } else throw new $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 new $SyntaxError('Bad control character in string literal at: ' + i);\n value += chr;\n i++;\n }\n }\n if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i);\n return { value: value, end: i };\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 new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(O) <= otherRec.size) iterateSet(O, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) remove(result, e);\n });\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nmodule.exports = function (name) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n return true;\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\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';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.37.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\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 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';\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 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 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 var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\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 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 new $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 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 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 classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\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 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';\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';\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 $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\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 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 $ = 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 <= 121 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 $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\n// `Promise.withResolvers` method\n// https://github.com/tc39/proposal-promise-with-resolvers\n$({ target: 'Promise', stat: true }, {\n withResolvers: function withResolvers() {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n return {\n promise: promiseCapability.promise,\n resolve: promiseCapability.resolve,\n reject: promiseCapability.reject\n };\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {\n difference: difference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set -- testing\n return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isDisjointFrom` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSubsetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSupersetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {\n union: union\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar anInstance = require('../internals/an-instance');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar createProperty = require('../internals/create-property');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar CONSTRUCTOR = 'constructor';\nvar ITERATOR = 'Iterator';\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar $TypeError = TypeError;\nvar NativeIterator = global[ITERATOR];\n\n// FF56- have non-standard global helper `Iterator`\nvar FORCED = IS_PURE\n || !isCallable(NativeIterator)\n || NativeIterator.prototype !== IteratorPrototype\n // FF44- non-standard `Iterator` passes previous tests\n || !fails(function () { NativeIterator({}); });\n\nvar IteratorConstructor = function Iterator() {\n anInstance(this, IteratorPrototype);\n if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable');\n};\n\nvar defineIteratorPrototypeAccessor = function (key, value) {\n if (DESCRIPTORS) {\n defineBuiltInAccessor(IteratorPrototype, key, {\n configurable: true,\n get: function () {\n return value;\n },\n set: function (replacement) {\n anObject(this);\n if (this === IteratorPrototype) throw new $TypeError(\"You can't redefine this property\");\n if (hasOwn(this, key)) this[key] = replacement;\n else createProperty(this, key, replacement);\n }\n });\n } else IteratorPrototype[key] = value;\n};\n\nif (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR);\n\nif (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) {\n defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor);\n}\n\nIteratorConstructor.prototype = IteratorPrototype;\n\n// `Iterator` constructor\n// https://github.com/tc39/proposal-iterator-helpers\n$({ global: true, constructor: true, forced: FORCED }, {\n Iterator: IteratorConstructor\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.every` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n every: function every(predicate) {\n anObject(this);\n aCallable(predicate);\n var record = getIteratorDirect(this);\n var counter = 0;\n return !iterate(record, function (value, stop) {\n if (!predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar IS_PURE = require('../internals/is-pure');\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var predicate = this.predicate;\n var next = this.next;\n var result, done, value;\n while (true) {\n result = anObject(call(next, iterator));\n done = this.done = !!result.done;\n if (done) return;\n value = result.value;\n if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;\n }\n});\n\n// `Iterator.prototype.filter` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, {\n filter: function filter(predicate) {\n anObject(this);\n aCallable(predicate);\n return new IteratorProxy(getIteratorDirect(this), {\n predicate: predicate\n });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.forEach` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n forEach: function forEach(fn) {\n anObject(this);\n aCallable(fn);\n var record = getIteratorDirect(this);\n var counter = 0;\n iterate(record, function (value) {\n fn(value, counter++);\n }, { IS_RECORD: true });\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar map = require('../internals/iterator-map');\nvar IS_PURE = require('../internals/is-pure');\n\n// `Iterator.prototype.map` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, {\n map: map\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\n// `Iterator.prototype.some` method\n// https://github.com/tc39/proposal-iterator-helpers\n$({ target: 'Iterator', proto: true, real: true }, {\n some: function some(predicate) {\n anObject(this);\n aCallable(predicate);\n var record = getIteratorDirect(this);\n var counter = 0;\n return iterate(record, function (value, stop) {\n if (predicate(value, counter++)) return stop();\n }, { IS_RECORD: true, INTERRUPTED: true }).stopped;\n }\n});\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 new 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 new 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 new 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 new 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 new 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 new 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';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.difference.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.intersection.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.is-disjoint-from.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.is-subset-of.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.is-superset-of.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.symmetric-difference.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.union.v2');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = new Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\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 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","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/* 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\nconst DEFAULT_SCALE_VALUE = \"auto\";\nconst DEFAULT_SCALE = 1.0;\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst MIN_SCALE = 0.1;\nconst MAX_SCALE = 10.0;\nconst UNKNOWN_SCALE = 0;\nconst MAX_AUTO_SCALE = 1.25;\nconst SCROLLBAR_PADDING = 40;\nconst VERTICAL_PADDING = 5;\n\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3,\n};\n\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3,\n};\n\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1, // Default value.\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4,\n};\n\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2,\n};\n\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0, // Default value.\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3,\n};\n\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0, // Default value.\n ODD: 1,\n EVEN: 2,\n};\n\nconst CursorTool = {\n SELECT: 0, // The default value.\n HAND: 1,\n ZOOM: 2,\n};\n\n// Used by `PDFViewerApplication`, and by the API unit-tests.\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\n\n/**\n * Scale factors for the canvas, necessary with HiDPI displays.\n */\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n\n /**\n * @type {number} Horizontal scale.\n */\n this.sx = pixelRatio;\n\n /**\n * @type {number} Vertical scale.\n */\n this.sy = pixelRatio;\n }\n\n /**\n * @type {boolean} Returns `true` when scaling is required, `false` otherwise.\n */\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n}\n\n/**\n * Scrolls specified element into view of its parent.\n * @param {HTMLElement} element - The element to be visible.\n * @param {Object} [spot] - An object with optional top and left properties,\n * specifying the offset from the top left edge.\n * @param {number} [spot.left]\n * @param {number} [spot.top]\n * @param {boolean} [scrollMatches] - When scrolling search results into view,\n * ignore elements that either: Contains marked content identifiers,\n * or have the CSS-rule `overflow: hidden;` set. The default value is `false`.\n */\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n // Assuming offsetParent is available (it's not available when viewer is in\n // hidden iframe or object). We have to scroll: if the offsetParent is not set\n // producing the error. See also animationStarted.\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (\n (parent.clientHeight === parent.scrollHeight &&\n parent.clientWidth === parent.scrollWidth) ||\n (scrollMatches &&\n (parent.classList.contains(\"markedContent\") ||\n getComputedStyle(parent).overflow === \"hidden\"))\n ) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n\n parent = parent.offsetParent;\n if (!parent) {\n return; // no need to scroll\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\n\n/**\n * Helper function to start monitoring the scroll event and converting them into\n * PDF.js friendly one: with scroll debounce and scroll direction.\n */\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n // schedule an invocation of scroll for next animation frame.\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll,\n };\n\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\n/**\n * Helper function to parse query string (e.g. ?param1=value¶m2=...).\n * @param {string} query\n * @returns {Map}\n */\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\n\nconst InvisibleCharsRegExp = /[\\x00-\\x1F]/g;\n\n/**\n * @param {string} str\n * @param {boolean} [replaceInvisible]\n */\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (!InvisibleCharsRegExp.test(str)) {\n return str;\n }\n if (replaceInvisible) {\n return str.replaceAll(InvisibleCharsRegExp, m => (m === \"\\x00\" ? \"\" : \" \"));\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\n\n/**\n * Use binary search to find the index of the first item in a given array which\n * passes a given condition. The items are expected to be sorted in the sense\n * that if the condition is true for one item in the array, then it is also true\n * for all following items.\n *\n * @returns {number} Index of the first array element to pass the test,\n * or |items.length| if no such element exists.\n */\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = (minIndex + maxIndex) >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex; /* === maxIndex */\n}\n\n/**\n * Approximates float number as a fraction using Farey sequence (max order\n * of 8).\n * @param {number} x - Positive float number.\n * @returns {Array} Estimated fraction: the first array item is a numerator,\n * the second one is a denominator.\n */\nfunction approximateFraction(x) {\n // Fast paths for int numbers or their inversions.\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n // a/b and c/d are neighbours in Farey sequence.\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n // Limiting search to order 8.\n while (true) {\n // Generating next term in sequence (order of q).\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n // Select closest of the neighbours to x.\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\n/**\n * @typedef {Object} GetPageSizeInchesParameters\n * @property {number[]} view\n * @property {number} userUnit\n * @property {number} rotate\n */\n\n/**\n * @typedef {Object} PageSize\n * @property {number} width - In inches.\n * @property {number} height - In inches.\n */\n\n/**\n * Gets the size of the specified page, converted from PDF units to inches.\n * @param {GetPageSizeInchesParameters} params\n * @returns {PageSize}\n */\nfunction getPageSizeInches({ view, userUnit, rotate }) {\n const [x1, y1, x2, y2] = view;\n // We need to take the page rotation into account as well.\n const changeOrientation = rotate % 180 !== 0;\n\n const width = ((x2 - x1) / 72) * userUnit;\n const height = ((y2 - y1) / 72) * userUnit;\n\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height,\n };\n}\n\n/**\n * Helper function for getVisibleElements.\n *\n * @param {number} index - initial guess at the first visible element\n * @param {Array} views - array of pages, into which `index` is an index\n * @param {number} top - the top of the scroll pane\n * @returns {number} less than or equal to `index` that is definitely at or\n * before the first visible element in `views`, but not by too much. (Usually,\n * this will be the first element in the first partially visible row in\n * `views`, although sometimes it goes back one row further.)\n */\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n // binarySearchFirstItem's assumption is that the input is ordered, with only\n // one index where the conditions flips from false to true: [false ...,\n // true...]. With vertical scrolling and spreads, it is possible to have\n // [false ..., true, false, true ...]. With wrapped scrolling we can have a\n // similar sequence, with many more mixed true and false in the middle.\n //\n // So there is no guarantee that the binary search yields the index of the\n // first visible element. It could have been any of the other visible elements\n // that were preceded by a hidden element.\n\n // Of course, if either this element or the previous (hidden) element is also\n // the first element, there's nothing to worry about.\n if (index < 2) {\n return index;\n }\n\n // That aside, the possible cases are represented below.\n //\n // **** = fully hidden\n // A*B* = mix of partially visible and/or hidden pages\n // CDEF = fully visible\n //\n // (1) Binary search could have returned A, in which case we can stop.\n // (2) Binary search could also have returned B, in which case we need to\n // check the whole row.\n // (3) Binary search could also have returned C, in which case we need to\n // check the whole previous row.\n //\n // There's one other possibility:\n //\n // **** = fully hidden\n // ABCD = mix of fully and/or partially visible pages\n //\n // (4) Binary search could only have returned A.\n\n // Initially assume that we need to find the beginning of the current row\n // (case 1, 2, or 4), which means finding a page that is above the current\n // page's top. If the found page is partially visible, we're definitely not in\n // case 3, and this assumption is correct.\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n // The found page is fully visible, so we're actually either in case 3 or 4,\n // and unfortunately we can't tell the difference between them without\n // scanning the entire previous row, so we just conservatively assume that\n // we do need to backtrack to that row. In both cases, the previous page is\n // in the previous row, so use its top instead.\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n // Now we backtrack to the first page that still has its bottom below\n // `pageTop`, which is the top of a page in the first visible row (unless\n // we're in case 4, in which case it's the row before that).\n // `index` is found by binary search, so the page at `index - 1` is\n // invisible and we can start looking for potentially visible pages from\n // `index - 2`. (However, if this loop terminates on its first iteration,\n // which is the case when pages are stacked vertically, `index` should remain\n // unchanged, so we use a distinct loop variable.)\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n // We have reached the previous row, so stop now.\n // This loop is expected to terminate relatively quickly because the\n // number of pages per row is expected to be small.\n break;\n }\n index = i;\n }\n return index;\n}\n\n/**\n * @typedef {Object} GetVisibleElementsParameters\n * @property {HTMLElement} scrollEl - A container that can possibly scroll.\n * @property {Array} views - Objects with a `div` property that contains an\n * HTMLElement, which should all be descendants of `scrollEl` satisfying the\n * relevant layout assumptions.\n * @property {boolean} sortByVisibility - If `true`, the returned elements are\n * sorted in descending order of the percent of their padding box that is\n * visible. The default value is `false`.\n * @property {boolean} horizontal - If `true`, the elements are assumed to be\n * laid out horizontally instead of vertically. The default value is `false`.\n * @property {boolean} rtl - If `true`, the `scrollEl` container is assumed to\n * be in right-to-left mode. The default value is `false`.\n */\n\n/**\n * Generic helper to find out what elements are visible within a scroll pane.\n *\n * Well, pretty generic. There are some assumptions placed on the elements\n * referenced by `views`:\n * - If `horizontal`, no left of any earlier element is to the right of the\n * left of any later element.\n * - Otherwise, `views` can be split into contiguous rows where, within a row,\n * no top of any element is below the bottom of any other element, and\n * between rows, no bottom of any element in an earlier row is below the\n * top of any element in a later row.\n *\n * (Here, top, left, etc. all refer to the padding edge of the element in\n * question. For pages, that ends up being equivalent to the bounding box of the\n * rendering canvas. Earlier and later refer to index in `views`, not page\n * layout.)\n *\n * @param {GetVisibleElementsParameters} params\n * @returns {Object} `{ first, last, views: [{ id, x, y, view, percent }] }`\n */\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false,\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n // Throughout this \"generic\" function, comments will assume we're working with\n // PDF document pages, which is the most important and complex case. In this\n // case, the visible elements we're actually interested is the page canvas,\n // which is contained in a wrapper which adds no padding/border/margin, which\n // is itself contained in `view.div` which adds no padding (but does add a\n // border). So, as specified in this function's doc comment, this function\n // does all of its work on the padding edge of the provided views, starting at\n // offsetLeft/Top (which includes margin) and adding clientLeft/Top (which is\n // the border). Adding clientWidth/Height gets us the bottom-right corner of\n // the padding edge.\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom =\n element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(\n views,\n horizontal\n ? isElementNextAfterViewHorizontally\n : isElementBottomAfterViewTop\n );\n\n // Please note the return value of the `binarySearchFirstItem` function when\n // no valid element is found (hence the `firstVisibleElementInd` check below).\n if (\n firstVisibleElementInd > 0 &&\n firstVisibleElementInd < numViews &&\n !horizontal\n ) {\n // In wrapped scrolling (or vertical scrolling with spreads), with some page\n // sizes, isElementBottomAfterViewTop doesn't satisfy the binary search\n // condition: there can be pages with bottoms above the view top between\n // pages with bottoms below. This function detects and corrects that error;\n // see it for more comments.\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(\n firstVisibleElementInd,\n views,\n top\n );\n }\n\n // lastEdge acts as a cutoff for us to stop looping, because we know all\n // subsequent pages will be hidden.\n //\n // When using wrapped scrolling or vertical scrolling with spreads, we can't\n // simply stop the first time we reach a page below the bottom of the view;\n // the tops of subsequent pages on the same row could still be visible. In\n // horizontal scrolling, we don't have that issue, so we can stop as soon as\n // we pass `right`, without needing the code below that handles the -1 case.\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n // As commented above, this is only needed in non-horizontal cases.\n // Setting lastEdge to the bottom of the first page that is partially\n // visible ensures that the next page fully below lastEdge is on the\n // next row, which has to be fully hidden along with all subsequent rows.\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (\n viewBottom <= top ||\n currentHeight >= bottom ||\n viewRight <= left ||\n currentWidth >= right\n ) {\n continue;\n }\n\n const hiddenHeight =\n Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth =\n Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = (fractionHeight * fractionWidth * 100) | 0;\n\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: (fractionWidth * 100) | 0,\n });\n ids.add(view.id);\n }\n\n const first = visible[0],\n last = visible.at(-1);\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id; // ensure stability\n });\n }\n return { first, last, views: visible, ids };\n}\n\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n // All that is left-up oriented has to change the sign.\n delta = -delta;\n }\n return delta;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode; // Avoid being affected by bug 1392460.\n let delta = normalizeWheelEventDirection(evt);\n\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n // Converts delta to per-page units\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(ScrollMode).includes(mode) &&\n mode !== ScrollMode.UNKNOWN\n );\n}\n\nfunction isValidSpreadMode(mode) {\n return (\n Number.isInteger(mode) &&\n Object.values(SpreadMode).includes(mode) &&\n mode !== SpreadMode.UNKNOWN\n );\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\n/**\n * Promise that is resolved when DOM window becomes visible.\n */\nconst animationStarted = new Promise(function (resolve) {\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof window === \"undefined\"\n ) {\n // Prevent \"ReferenceError: window is not defined\" errors when running the\n // unit-tests in Node.js environments.\n setTimeout(resolve, 20);\n return;\n }\n window.requestAnimationFrame(resolve);\n});\n\nconst docStyle =\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof document === \"undefined\"\n ? null\n : document.documentElement.style;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n #classList = null;\n\n #disableAutoFetchTimeout = null;\n\n #percent = 0;\n\n #style = null;\n\n #visible = true;\n\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n\n get percent() {\n return this.#percent;\n }\n\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\n \"--progressBar-end-offset\",\n `${scrollbarWidth}px`\n );\n }\n }\n\n setDisableAutoFetch(delay = /* ms = */ 5000) {\n if (isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\n\n/**\n * Get the active or focused element in current DOM.\n *\n * Recursively search for the truly active or focused element in case there are\n * shadow DOMs.\n *\n * @returns {Element} the truly active or focused element.\n */\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused =\n curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n\n return curActiveOrFocused;\n}\n\n/**\n * Converts API PageLayout values to the format used by `BaseViewer`.\n * @param {string} layout - The API PageLayout value.\n * @returns {Object}\n */\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n /* falls through */\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return { scrollMode, spreadMode };\n}\n\n/**\n * Converts API PageMode values to the format used by `PDFSidebar`.\n * NOTE: There's also a \"FullScreen\" parameter which is not possible to support,\n * since the Fullscreen API used in browsers requires that entering\n * fullscreen mode only occurs as a result of a user-initiated event.\n * @param {string} mode - The API PageMode value.\n * @returns {number} A value from {SidebarView}.\n */\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE; // Default value.\n}\n\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\nfunction toggleExpandedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-expanded\", toggle);\n\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\nexport {\n animationStarted,\n apiPageLayoutToViewerModes,\n apiPageModeToSidebarView,\n approximateFraction,\n AutoPrintRegExp,\n backtrackBeforeAllVisibleElements, // only exported for testing\n binarySearchFirstItem,\n CursorTool,\n DEFAULT_SCALE,\n DEFAULT_SCALE_DELTA,\n DEFAULT_SCALE_VALUE,\n docStyle,\n getActiveOrFocusedElement,\n getPageSizeInches,\n getVisibleElements,\n isPortraitOrientation,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_AUTO_SCALE,\n MAX_SCALE,\n MIN_SCALE,\n normalizeWheelEventDelta,\n normalizeWheelEventDirection,\n OutputScale,\n parseQueryString,\n PresentationModeState,\n ProgressBar,\n removeNullCharacters,\n RenderingStates,\n roundToDivide,\n SCROLLBAR_PADDING,\n scrollIntoView,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n toggleCheckedBtn,\n toggleExpandedBtn,\n UNKNOWN_SCALE,\n VERTICAL_PADDING,\n watchScroll,\n};\n","/* Copyright 2018 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\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-var\n var compatibilityParams = Object.create(null);\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"LIB\") &&\n typeof navigator === \"undefined\"\n ) {\n globalThis.navigator = Object.create(null);\n }\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n\n const isAndroid = /Android/.test(userAgent);\n const isIOS =\n /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) ||\n (platform === \"MacIntel\" && maxTouchPoints > 1);\n\n // Limit canvas size to 5 mega-pixels on mobile.\n // Support: Android, iOS\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\n\nconst OptionKind = {\n BROWSER: 0x01,\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80,\n};\n\n/**\n * NOTE: These options are used to generate the `default_preferences.json` file,\n * see `OptionKind.PREFERENCE`, hence the values below must use only\n * primitive types and cannot rely on any imported types.\n */\nconst defaultOptions = {\n canvasMaxAreaInBytes: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.BROWSER + OptionKind.API,\n },\n isInAutomation: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.BROWSER,\n },\n supportsCaretBrowsingMode: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.BROWSER,\n },\n supportsDocumentFonts: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n supportsIntegratedFind: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.BROWSER,\n },\n supportsMouseWheelZoomCtrlKey: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n supportsMouseWheelZoomMetaKey: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n supportsPinchToZoom: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.BROWSER,\n },\n\n annotationEditorMode: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n annotationMode: {\n /** @type {number} */\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n cursorToolOnLoad: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n debuggerSrc: {\n /** @type {string} */\n value: \"./debugger.mjs\",\n kind: OptionKind.VIEWER,\n },\n defaultZoomDelay: {\n /** @type {number} */\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n defaultZoomValue: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n disableHistory: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER,\n },\n disablePageLabels: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableHighlightEditor: {\n // We'll probably want to make some experiments before enabling this\n // in Firefox release, but it has to be temporary.\n // TODO: remove it when unnecessary.\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableHighlightFloatingButton: {\n // We'll probably want to make some experiments before enabling this\n // in Firefox release, but it has to be temporary.\n // TODO: remove it when unnecessary.\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableML: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePermissions: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePrintAutoRotate: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableScripting: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"CHROME\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableStampEditor: {\n // We'll probably want to make some experiments before enabling this\n // in Firefox release, but it has to be temporary.\n // TODO: remove it when unnecessary.\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n externalLinkRel: {\n /** @type {string} */\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER,\n },\n externalLinkTarget: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n highlightEditorColors: {\n /** @type {string} */\n value: \"yellow=#FFFF98,green=#53FFBC,blue=#80EBFF,pink=#FFCBE6,red=#FF4F5F\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n historyUpdateUrl: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ignoreDestinationZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n imageResourcesPath: {\n /** @type {string} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/images/\"\n : \"./images/\",\n kind: OptionKind.VIEWER,\n },\n maxCanvasPixels: {\n /** @type {number} */\n value: 2 ** 25,\n kind: OptionKind.VIEWER,\n },\n forcePageColors: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pageColorsBackground: {\n /** @type {string} */\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pageColorsForeground: {\n /** @type {string} */\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n pdfBugEnabled: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n printResolution: {\n /** @type {number} */\n value: 150,\n kind: OptionKind.VIEWER,\n },\n sidebarViewOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n scrollModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n spreadModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n textLayerMode: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewOnLoad: {\n /** @type {boolean} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n\n cMapPacked: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n cMapUrl: {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../external/bcmaps/\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/cmaps/\"\n : \"../web/cmaps/\",\n kind: OptionKind.API,\n },\n disableAutoFetch: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableFontFace: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableRange: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableStream: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n docBaseUrl: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.API,\n },\n enableXfa: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n fontExtraProperties: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n isEvalSupported: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n isOffscreenCanvasSupported: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n maxImageSize: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.API,\n },\n pdfBug: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n standardFontDataUrl: {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../external/standard_fonts/\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/web/standard_fonts/\"\n : \"../web/standard_fonts/\",\n kind: OptionKind.API,\n },\n verbosity: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.API,\n },\n\n workerPort: {\n /** @type {Object} */\n value: null,\n kind: OptionKind.WORKER,\n },\n workerSrc: {\n /** @type {string} */\n value:\n // eslint-disable-next-line no-nested-ternary\n typeof PDFJSDev === \"undefined\"\n ? \"../src/pdf.worker.js\"\n : PDFJSDev.test(\"MOZCENTRAL\")\n ? \"resource://pdf.js/build/pdf.worker.mjs\"\n : \"../build/pdf.worker.mjs\",\n kind: OptionKind.WORKER,\n },\n};\nif (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n defaultOptions.defaultUrl = {\n /** @type {string} */\n value:\n typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")\n ? \"\"\n : \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\"\n ? \"../build/dev-sandbox/pdf.sandbox.mjs\"\n : \"../build/pdf.sandbox.mjs\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.viewerCssTheme = {\n /** @type {number} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\") ? 2 : 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n };\n}\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n defaultOptions.disablePreferences = {\n /** @type {boolean} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER,\n };\n defaultOptions.locale = {\n /** @type {string} */\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER,\n };\n} else if (PDFJSDev.test(\"CHROME\")) {\n defaultOptions.disableTelemetry = {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n };\n}\n\nconst userOptions = Object.create(null);\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // Apply any compatibility-values to the user-options,\n // see also `AppOptions.remove` below.\n for (const name in compatibilityParams) {\n userOptions[name] = compatibilityParams[name];\n }\n}\n\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"TESTING || LIB\")) {\n // Ensure that the `defaultOptions` are correctly specified.\n for (const name in defaultOptions) {\n const { value, kind } = defaultOptions[name];\n\n if (kind & OptionKind.PREFERENCE) {\n if (kind === OptionKind.PREFERENCE) {\n throw new Error(`Cannot use only \"PREFERENCE\" kind: ${name}`);\n }\n if (kind & OptionKind.BROWSER) {\n throw new Error(`Cannot mix \"PREFERENCE\" and \"BROWSER\" kind: ${name}`);\n }\n if (\n typeof compatibilityParams === \"object\" &&\n compatibilityParams[name] !== undefined\n ) {\n throw new Error(\n `Should not have compatibility-value for \"PREFERENCE\" kind: ${name}`\n );\n }\n // Only \"simple\" preference-values are allowed.\n if (\n typeof value !== \"boolean\" &&\n typeof value !== \"string\" &&\n !Number.isInteger(value)\n ) {\n throw new Error(`Invalid value for \"PREFERENCE\" kind: ${name}`);\n }\n }\n }\n}\n\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n static get(name) {\n return userOptions[name] ?? defaultOptions[name]?.value ?? undefined;\n }\n\n static getAll(kind = null, defaultOnly = false) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n\n if (kind && !(kind & defaultOption.kind)) {\n continue;\n }\n options[name] = defaultOnly\n ? defaultOption.value\n : userOptions[name] ?? defaultOption.value;\n }\n return options;\n }\n\n static set(name, value) {\n userOptions[name] = value;\n }\n\n static setAll(options, init = false) {\n if ((typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && init) {\n if (this.get(\"disablePreferences\")) {\n // Give custom implementations of the default viewer a simpler way to\n // opt-out of having the `Preferences` override existing `AppOptions`.\n return;\n }\n for (const name in userOptions) {\n // Ignore any compatibility-values in the user-options.\n if (compatibilityParams[name] !== undefined) {\n continue;\n }\n console.warn(\n \"setAll: The Preferences may override manually set AppOptions; \" +\n 'please use the \"disablePreferences\"-option in order to prevent that.'\n );\n break;\n }\n }\n\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n\n static remove(name) {\n delete userOptions[name];\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // Re-apply a compatibility-value, if it exists, to the user-options.\n const val = compatibilityParams[name];\n if (val !== undefined) {\n userOptions[name] = val;\n }\n }\n }\n}\n\nexport { AppOptions, OptionKind };\n","/* Copyright 2015 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/** @typedef {import(\"./event_utils\").EventBus} EventBus */\n/** @typedef {import(\"./interfaces\").IPDFLinkService} IPDFLinkService */\n\nimport { parseQueryString } from \"./ui_utils.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef {Object} PDFLinkServiceOptions\n * @property {EventBus} eventBus - The application event bus.\n * @property {number} [externalLinkTarget] - Specifies the `target` attribute\n * for external links. Must use one of the values from {LinkTarget}.\n * Defaults to using no target.\n * @property {string} [externalLinkRel] - Specifies the `rel` attribute for\n * external links. Defaults to stripping the referrer.\n * @property {boolean} [ignoreDestinationZoom] - Ignores the zoom argument,\n * thus preserving the current zoom level in the viewer, when navigating\n * to internal destinations. The default value is `false`.\n */\n\n/**\n * Performs navigation functions inside PDF, such as opening specified page,\n * or destination.\n * @implements {IPDFLinkService}\n */\nclass PDFLinkService {\n externalLinkEnabled = true;\n\n /**\n * @param {PDFLinkServiceOptions} options\n */\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false,\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n /**\n * @type {number}\n */\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n /**\n * @type {number}\n */\n get page() {\n return this.pdfDocument ? this.pdfViewer.currentPageNumber : 1;\n }\n\n /**\n * @param {number} value\n */\n set page(value) {\n if (this.pdfDocument) {\n this.pdfViewer.currentPageNumber = value;\n }\n }\n\n /**\n * @type {number}\n */\n get rotation() {\n return this.pdfDocument ? this.pdfViewer.pagesRotation : 0;\n }\n\n /**\n * @param {number} value\n */\n set rotation(value) {\n if (this.pdfDocument) {\n this.pdfViewer.pagesRotation = value;\n }\n }\n\n /**\n * @type {boolean}\n */\n get isInPresentationMode() {\n return this.pdfDocument ? this.pdfViewer.isInPresentationMode : false;\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {string|Array} dest - The named, or explicit, PDF destination.\n */\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest, pageNumber;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(\n `goToDestination: \"${explicitDest}\" is not a valid destination array, for dest=\"${dest}\".`\n );\n return;\n }\n // Dest array looks like that: \n const [destRef] = explicitDest;\n\n if (destRef && typeof destRef === \"object\") {\n pageNumber = this.pdfDocument.cachedPageNumber(destRef);\n\n if (!pageNumber) {\n // Fetch the page reference if it's not yet available. This could\n // only occur during loading, before all pages have been resolved.\n try {\n pageNumber = (await this.pdfDocument.getPageIndex(destRef)) + 1;\n } catch {\n console.error(\n `goToDestination: \"${destRef}\" is not a valid page reference, for dest=\"${dest}\".`\n );\n return;\n }\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(\n `goToDestination: \"${pageNumber}\" is not a valid page number, for dest=\"${dest}\".`\n );\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new destination into\n // view, to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({ namedDest, explicitDest, pageNumber });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom,\n });\n }\n\n /**\n * This method will, when available, also update the browser history.\n *\n * @param {number|string} val - The page number, or page label.\n */\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber =\n (typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val)) ||\n val | 0;\n if (\n !(\n Number.isInteger(pageNumber) &&\n pageNumber > 0 &&\n pageNumber <= this.pagesCount\n )\n ) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n\n if (this.pdfHistory) {\n // Update the browser history before scrolling the new page into view,\n // to be able to accurately capture the current document position.\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n\n this.pdfViewer.scrollPageIntoView({ pageNumber });\n }\n\n /**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLAnchorElement} link\n * @param {string} url\n * @param {boolean} [newWindow]\n */\n addLinkAttributes(link, url, newWindow = false) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const target = newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel = this.externalLinkRel;\n\n if (this.externalLinkEnabled) {\n link.href = link.title = url;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${url}`;\n link.onclick = () => false;\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n\n /**\n * @param {string|Array} dest - The PDF destination object.\n * @returns {string} The hyperlink to the PDF object.\n */\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n\n /**\n * Prefix the full url on anchor links to make sure that links are resolved\n * relative to the current URL instead of the one defined in .\n * @param {string} anchor - The anchor hash, including the #.\n * @returns {string} The hyperlink to the PDF object.\n */\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n\n /**\n * @param {string} hash\n */\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = parseQueryString(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g),\n });\n }\n // borrowing syntax from \"Parameters for Opening PDF Files\"\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n // Build the destination array.\n const zoomArgs = params.get(\"zoom\").split(\",\"); // scale,left,top\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n // If the zoomArg is a number, it has to get divided by 100. If it's\n // a string, it should stay as it is.\n dest = [\n null,\n { name: \"XYZ\" },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n zoomArgs.length > 2 ? zoomArgs[2] | 0 : null,\n zoomArgNumber ? zoomArgNumber / 100 : zoomArg,\n ];\n } else if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, { name: zoomArg }];\n } else if (\n zoomArg === \"FitH\" ||\n zoomArg === \"FitBH\" ||\n zoomArg === \"FitV\" ||\n zoomArg === \"FitBV\"\n ) {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs.length > 1 ? zoomArgs[1] | 0 : null,\n ];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error(\n 'PDFLinkService.setHash: Not enough parameters for \"FitR\".'\n );\n } else {\n dest = [\n null,\n { name: zoomArg },\n zoomArgs[1] | 0,\n zoomArgs[2] | 0,\n zoomArgs[3] | 0,\n zoomArgs[4] | 0,\n ];\n }\n } else {\n console.error(\n `PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`\n );\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true,\n });\n } else if (pageNumber) {\n this.page = pageNumber; // simple page\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\"),\n });\n }\n // Ensure that this parameter is *always* handled last, in order to\n // guarantee that it won't be overridden (e.g. by the \"page\" parameter).\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n return;\n }\n // Support opening of PDF attachments in the Firefox PDF Viewer,\n // which uses a couple of non-standard hash parameters; refer to\n // `DownloadManager.openOrDownloadData` in the firefoxcom.js file.\n if (!params.has(\"filename\") || !params.has(\"filedest\")) {\n return;\n }\n hash = params.get(\"filedest\");\n }\n\n // Named (or explicit) destination.\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n // Avoid incorrectly rejecting a valid named destination, such as\n // e.g. \"4.3\" or \"true\", because `JSON.parse` converted its type.\n dest = dest.toString();\n }\n } catch {}\n\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDest(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(\n `PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`\n );\n }\n\n /**\n * @param {string} action\n */\n executeNamedAction(action) {\n if (!this.pdfDocument) {\n return;\n }\n // See PDF reference, table 8.45 - Named action\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break; // No action according to spec\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action,\n });\n }\n\n /**\n * @param {Object} action\n */\n async executeSetOCGState(action) {\n if (!this.pdfDocument) {\n return;\n }\n const pdfDocument = this.pdfDocument,\n optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n\n if (pdfDocument !== this.pdfDocument) {\n return; // The document was closed while the optional content resolved.\n }\n optionalContentConfig.setOCGState(action);\n\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(\n optionalContentConfig\n );\n }\n\n static #isValidExplicitDest(dest) {\n if (!Array.isArray(dest) || dest.length < 2) {\n return false;\n }\n const [page, zoom, ...args] = dest;\n if (\n !(\n typeof page === \"object\" &&\n Number.isInteger(page?.num) &&\n Number.isInteger(page?.gen)\n ) &&\n !Number.isInteger(page)\n ) {\n return false;\n }\n if (!(typeof zoom === \"object\" && typeof zoom?.name === \"string\")) {\n return false;\n }\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (args.length !== 3) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return args.length === 0;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (args.length !== 1) {\n return false;\n }\n break;\n case \"FitR\":\n if (args.length !== 4) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (const arg of args) {\n if (!(typeof arg === \"number\" || (allowNull && arg === null))) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * @implements {IPDFLinkService}\n */\nclass SimpleLinkService extends PDFLinkService {\n setDocument(pdfDocument, baseUrl = null) {}\n}\n\nexport { LinkTarget, PDFLinkService, SimpleLinkService };\n","/* Copyright 2016 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\nconst {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n build,\n CMapCompressionType,\n ColorPicker,\n createValidAbsoluteUrl,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getXfaPageViewport,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n MissingPDFException,\n noContextMenu,\n normalizeUnicode,\n OPS,\n Outliner,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n renderTextLayer,\n setLayerDimensions,\n shadow,\n TextLayer,\n UnexpectedResponseException,\n updateTextLayer,\n Util,\n VerbosityLevel,\n version,\n XfaLayer,\n} = globalThis.pdfjsLib;\n\nexport {\n AbortException,\n AnnotationEditorLayer,\n AnnotationEditorParamsType,\n AnnotationEditorType,\n AnnotationEditorUIManager,\n AnnotationLayer,\n AnnotationMode,\n build,\n CMapCompressionType,\n ColorPicker,\n createValidAbsoluteUrl,\n DOMSVGFactory,\n DrawLayer,\n FeatureTest,\n fetchData,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n getXfaPageViewport,\n GlobalWorkerOptions,\n ImageKind,\n InvalidPDFException,\n isDataScheme,\n isPdfFile,\n MissingPDFException,\n noContextMenu,\n normalizeUnicode,\n OPS,\n Outliner,\n PasswordResponses,\n PDFDataRangeTransport,\n PDFDateString,\n PDFWorker,\n PermissionFlag,\n PixelsPerInch,\n RenderingCancelledException,\n renderTextLayer,\n setLayerDimensions,\n shadow,\n TextLayer,\n UnexpectedResponseException,\n updateTextLayer,\n Util,\n VerbosityLevel,\n version,\n XfaLayer,\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\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\",\n};\n\n/**\n * @typedef {Object} WaitOnEventOrTimeoutParameters\n * @property {Object} target - The event target, can for example be:\n * `window`, `document`, a DOM element, or an {EventBus} instance.\n * @property {string} name - The name of the event.\n * @property {number} delay - The delay, in milliseconds, after which the\n * timeout occurs (if the event wasn't already dispatched).\n */\n\n/**\n * Allows waiting for an event or a timeout, whichever occurs first.\n * Can be used to ensure that an action always occurs, even when an event\n * arrives late or not at all.\n *\n * @param {WaitOnEventOrTimeoutParameters}\n * @returns {Promise} A promise that is resolved with a {WaitOnType} value.\n */\nasync function waitOnEventOrTimeout({ target, name, delay = 0 }) {\n if (\n typeof target !== \"object\" ||\n !(name && typeof name === \"string\") ||\n !(Number.isInteger(delay) && delay >= 0)\n ) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n const { promise, resolve } = Promise.withResolvers();\n const ac = new AbortController();\n\n function handler(type) {\n ac.abort(); // Remove event listener.\n clearTimeout(timeout);\n\n resolve(type);\n }\n\n const evtMethod = target instanceof EventBus ? \"_on\" : \"addEventListener\";\n target[evtMethod](name, handler.bind(null, WaitOnType.EVENT), {\n signal: ac.signal,\n });\n\n const timeout = setTimeout(handler.bind(null, WaitOnType.TIMEOUT), delay);\n\n return promise;\n}\n\n/**\n * Simple event bus for an application. Listeners are attached using the `on`\n * and `off` methods. To raise an event, the `dispatch` method shall be used.\n */\nclass EventBus {\n #listeners = Object.create(null);\n\n /**\n * @param {string} eventName\n * @param {function} listener\n * @param {Object} [options]\n */\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once,\n signal: options?.signal,\n });\n }\n\n /**\n * @param {string} eventName\n * @param {function} listener\n * @param {Object} [options]\n */\n off(eventName, listener, options = null) {\n this._off(eventName, listener);\n }\n\n /**\n * @param {string} eventName\n * @param {Object} data\n */\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n let externalListeners;\n // Making copy of the listeners array in case if it will be modified\n // during dispatch.\n for (const { listener, external, once } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n listener(data);\n }\n // Dispatch any \"external\" listeners *after* the internal ones, to give the\n // viewer components time to handle events and update their state first.\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n externalListeners = null;\n }\n }\n\n /**\n * @ignore\n */\n _on(eventName, listener, options = null) {\n let rmAbort = null;\n if (options?.signal instanceof AbortSignal) {\n const { signal } = options;\n if (signal.aborted) {\n console.error(\"Cannot use an `aborted` signal.\");\n return;\n }\n const onAbort = () => this._off(eventName, listener);\n rmAbort = () => signal.removeEventListener(\"abort\", onAbort);\n\n signal.addEventListener(\"abort\", onAbort);\n }\n\n const eventListeners = (this.#listeners[eventName] ||= []);\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true,\n rmAbort,\n });\n }\n\n /**\n * @ignore\n */\n _off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n const evt = eventListeners[i];\n if (evt.listener === listener) {\n evt.rmAbort?.(); // Ensure that the `AbortSignal` listener is removed.\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n}\n\n/**\n * NOTE: Only used to support various PDF viewer tests in `mozilla-central`.\n */\nclass AutomationEventBus extends EventBus {\n dispatch(eventName, data) {\n if (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: AutomationEventBus.dispatch\");\n }\n super.dispatch(eventName, data);\n\n const detail = Object.create(null);\n if (data) {\n for (const key in data) {\n const value = data[key];\n if (key === \"source\") {\n if (value === window || value === document) {\n return; // No need to re-dispatch (already) global events.\n }\n continue; // Ignore the `source` property.\n }\n detail[key] = value;\n }\n }\n const event = new CustomEvent(eventName, {\n bubbles: true,\n cancelable: true,\n detail,\n });\n document.dispatchEvent(event);\n }\n}\n\nexport { AutomationEventBus, EventBus, waitOnEventOrTimeout, WaitOnType };\n","/* Copyright 2024 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/** @typedef {import(\"./interfaces.js\").IL10n} IL10n */\n\nclass BaseExternalServices {\n constructor() {\n if (this.constructor === BaseExternalServices) {\n throw new Error(\"Cannot initialize BaseExternalServices.\");\n }\n }\n\n updateFindControlState(data) {}\n\n updateFindMatchesCount(data) {}\n\n initPassiveLoading() {}\n\n reportTelemetry(data) {}\n\n /**\n * @returns {Promise}\n */\n async createL10n() {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n createScripting() {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n updateEditorStates(data) {\n throw new Error(\"Not implemented: updateEditorStates\");\n }\n\n async getNimbusExperimentData() {}\n}\n\nexport { BaseExternalServices };\n","/* Copyright 2013 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 { AppOptions, OptionKind } from \"./app_options.js\";\n\n/**\n * BasePreferences - Abstract base class for storing persistent settings.\n * Used for settings that should be applied to all opened documents,\n * or every time the viewer is loaded.\n */\nclass BasePreferences {\n #browserDefaults = Object.freeze(\n typeof PDFJSDev === \"undefined\"\n ? AppOptions.getAll(OptionKind.BROWSER, /* defaultOnly = */ true)\n : PDFJSDev.eval(\"BROWSER_PREFERENCES\")\n );\n\n #defaults = Object.freeze(\n typeof PDFJSDev === \"undefined\"\n ? AppOptions.getAll(OptionKind.PREFERENCE, /* defaultOnly = */ true)\n : PDFJSDev.eval(\"DEFAULT_PREFERENCES\")\n );\n\n #prefs = Object.create(null);\n\n #initializedPromise = null;\n\n constructor() {\n if (this.constructor === BasePreferences) {\n throw new Error(\"Cannot initialize BasePreferences.\");\n }\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"CHROME\")) {\n Object.defineProperty(this, \"defaults\", {\n get() {\n return this.#defaults;\n },\n });\n }\n\n this.#initializedPromise = this._readFromStorage(this.#defaults).then(\n ({ browserPrefs, prefs }) => {\n const options = Object.create(null);\n\n for (const [name, val] of Object.entries(this.#browserDefaults)) {\n const prefVal = browserPrefs?.[name];\n options[name] = typeof prefVal === typeof val ? prefVal : val;\n }\n for (const [name, val] of Object.entries(this.#defaults)) {\n const prefVal = prefs?.[name];\n // Ignore preferences whose types don't match the default values.\n options[name] = this.#prefs[name] =\n typeof prefVal === typeof val ? prefVal : val;\n }\n AppOptions.setAll(options, /* init = */ true);\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n window.addEventListener(\"updatedPreference\", evt => {\n this.#updatePref(evt.detail);\n });\n }\n }\n );\n }\n\n /**\n * Stub function for writing preferences to storage.\n * @param {Object} prefObj The preferences that should be written to storage.\n * @returns {Promise} A promise that is resolved when the preference values\n * have been written.\n */\n async _writeToStorage(prefObj) {\n throw new Error(\"Not implemented: _writeToStorage\");\n }\n\n /**\n * Stub function for reading preferences from storage.\n * @param {Object} prefObj The preferences that should be read from storage.\n * @returns {Promise} A promise that is resolved with an {Object} containing\n * the preferences that have been read.\n */\n async _readFromStorage(prefObj) {\n throw new Error(\"Not implemented: _readFromStorage\");\n }\n\n #updatePref({ name, value }) {\n if (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: #updatePref\");\n }\n\n if (name in this.#browserDefaults) {\n if (typeof value !== typeof this.#browserDefaults[name]) {\n return; // Invalid preference value.\n }\n } else if (name in this.#defaults) {\n if (typeof value !== typeof this.#defaults[name]) {\n return; // Invalid preference value.\n }\n this.#prefs[name] = value;\n } else {\n return; // Invalid preference.\n }\n AppOptions.set(name, value);\n }\n\n /**\n * Reset the preferences to their default values and update storage.\n * @returns {Promise} A promise that is resolved when the preference values\n * have been reset.\n */\n async reset() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Please use `about:config` to change preferences.\");\n }\n await this.#initializedPromise;\n const oldPrefs = structuredClone(this.#prefs);\n\n this.#prefs = Object.create(null);\n try {\n await this._writeToStorage(this.#defaults);\n } catch (reason) {\n // Revert all preference values, since writing to storage failed.\n this.#prefs = oldPrefs;\n throw reason;\n }\n }\n\n /**\n * Set the value of a preference.\n * @param {string} name The name of the preference that should be changed.\n * @param {boolean|number|string} value The new value of the preference.\n * @returns {Promise} A promise that is resolved when the value has been set,\n * provided that the preference exists and the types match.\n */\n async set(name, value) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Please use `about:config` to change preferences.\");\n }\n await this.#initializedPromise;\n const defaultValue = this.#defaults[name],\n oldPrefs = structuredClone(this.#prefs);\n\n if (defaultValue === undefined) {\n throw new Error(`Set preference: \"${name}\" is undefined.`);\n } else if (value === undefined) {\n throw new Error(\"Set preference: no value is specified.\");\n }\n const valueType = typeof value,\n defaultType = typeof defaultValue;\n\n if (valueType !== defaultType) {\n if (valueType === \"number\" && defaultType === \"string\") {\n value = value.toString();\n } else {\n throw new Error(\n `Set preference: \"${value}\" is a ${valueType}, expected a ${defaultType}.`\n );\n }\n } else if (valueType === \"number\" && !Number.isInteger(value)) {\n throw new Error(`Set preference: \"${value}\" must be an integer.`);\n }\n\n this.#prefs[name] = value;\n try {\n await this._writeToStorage(this.#prefs);\n } catch (reason) {\n // Revert all preference values, since writing to storage failed.\n this.#prefs = oldPrefs;\n throw reason;\n }\n }\n\n /**\n * Get the value of a preference.\n * @param {string} name The name of the preference whose value is requested.\n * @returns {Promise} A promise resolved with a {boolean|number|string}\n * containing the value of the preference.\n */\n async get(name) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) {\n throw new Error(\"Not implemented: get\");\n }\n await this.#initializedPromise;\n const defaultValue = this.#defaults[name];\n\n if (defaultValue === undefined) {\n throw new Error(`Get preference: \"${name}\" is undefined.`);\n }\n return this.#prefs[name] ?? defaultValue;\n }\n\n get initializedPromise() {\n return this.#initializedPromise;\n }\n}\n\nexport { BasePreferences };\n","/**\n * The `FluentType` class is the base of Fluent's type system.\n *\n * Fluent types wrap JavaScript values and store additional configuration for\n * them, which can then be used in the `toString` method together with a proper\n * `Intl` formatter.\n */\nexport class FluentType {\n /**\n * Create a `FluentType` instance.\n *\n * @param value The JavaScript value to wrap.\n */\n constructor(value) {\n this.value = value;\n }\n /**\n * Unwrap the raw value stored by this `FluentType`.\n */\n valueOf() {\n return this.value;\n }\n}\n/**\n * A `FluentType` representing no correct value.\n */\nexport class FluentNone extends FluentType {\n /**\n * Create an instance of `FluentNone` with an optional fallback value.\n * @param value The fallback value of this `FluentNone`.\n */\n constructor(value = \"???\") {\n super(value);\n }\n /**\n * Format this `FluentNone` to the fallback string.\n */\n toString(scope) {\n return `{${this.value}}`;\n }\n}\n/**\n * A `FluentType` representing a number.\n *\n * A `FluentNumber` instance stores the number value of the number it\n * represents. It may also store an option bag of options which will be passed\n * to `Intl.NumerFormat` when the `FluentNumber` is formatted to a string.\n */\nexport class FluentNumber extends FluentType {\n /**\n * Create an instance of `FluentNumber` with options to the\n * `Intl.NumberFormat` constructor.\n *\n * @param value The number value of this `FluentNumber`.\n * @param opts Options which will be passed to `Intl.NumberFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentNumber` to a string.\n */\n toString(scope) {\n try {\n const nf = scope.memoizeIntlObject(Intl.NumberFormat, this.opts);\n return nf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n return this.value.toString(10);\n }\n }\n}\n/**\n * A `FluentType` representing a date and time.\n *\n * A `FluentDateTime` instance stores the number value of the date it\n * represents, as a numerical timestamp in milliseconds. It may also store an\n * option bag of options which will be passed to `Intl.DateTimeFormat` when the\n * `FluentDateTime` is formatted to a string.\n */\nexport class FluentDateTime extends FluentType {\n /**\n * Create an instance of `FluentDateTime` with options to the\n * `Intl.DateTimeFormat` constructor.\n *\n * @param value The number value of this `FluentDateTime`, in milliseconds.\n * @param opts Options which will be passed to `Intl.DateTimeFormat`.\n */\n constructor(value, opts = {}) {\n super(value);\n this.opts = opts;\n }\n /**\n * Format this `FluentDateTime` to a string.\n */\n toString(scope) {\n try {\n const dtf = scope.memoizeIntlObject(Intl.DateTimeFormat, this.opts);\n return dtf.format(this.value);\n }\n catch (err) {\n scope.reportError(err);\n return new Date(this.value).toISOString();\n }\n }\n}\n","/* global Intl */\n/**\n * @overview\n *\n * The role of the Fluent resolver is to format a `Pattern` to an instance of\n * `FluentValue`. For performance reasons, primitive strings are considered\n * such instances, too.\n *\n * Translations can contain references to other messages or variables,\n * conditional logic in form of select expressions, traits which describe their\n * grammatical features, and can use Fluent builtins which make use of the\n * `Intl` formatters to format numbers and dates into the bundle's languages.\n * See the documentation of the Fluent syntax for more information.\n *\n * In case of errors the resolver will try to salvage as much of the\n * translation as possible. In rare situations where the resolver didn't know\n * how to recover from an error it will return an instance of `FluentNone`.\n *\n * All expressions resolve to an instance of `FluentValue`. The caller should\n * use the `toString` method to convert the instance to a native value.\n *\n * Functions in this file pass around an instance of the `Scope` class, which\n * stores the data required for successful resolution and error recovery.\n */\nimport { FluentType, FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\n/**\n * The maximum number of placeables which can be expanded in a single call to\n * `formatPattern`. The limit protects against the Billion Laughs and Quadratic\n * Blowup attacks. See https://msdn.microsoft.com/en-us/magazine/ee335713.aspx.\n */\nconst MAX_PLACEABLES = 100;\n/** Unicode bidi isolation characters. */\nconst FSI = \"\\u2068\";\nconst PDI = \"\\u2069\";\n/** Helper: match a variant key to the given selector. */\nfunction match(scope, selector, key) {\n if (key === selector) {\n // Both are strings.\n return true;\n }\n // XXX Consider comparing options too, e.g. minimumFractionDigits.\n if (key instanceof FluentNumber &&\n selector instanceof FluentNumber &&\n key.value === selector.value) {\n return true;\n }\n if (selector instanceof FluentNumber && typeof key === \"string\") {\n let category = scope\n .memoizeIntlObject(Intl.PluralRules, selector.opts)\n .select(selector.value);\n if (key === category) {\n return true;\n }\n }\n return false;\n}\n/** Helper: resolve the default variant from a list of variants. */\nfunction getDefault(scope, variants, star) {\n if (variants[star]) {\n return resolvePattern(scope, variants[star].value);\n }\n scope.reportError(new RangeError(\"No default\"));\n return new FluentNone();\n}\n/** Helper: resolve arguments to a call expression. */\nfunction getArguments(scope, args) {\n const positional = [];\n const named = Object.create(null);\n for (const arg of args) {\n if (arg.type === \"narg\") {\n named[arg.name] = resolveExpression(scope, arg.value);\n }\n else {\n positional.push(resolveExpression(scope, arg));\n }\n }\n return { positional, named };\n}\n/** Resolve an expression to a Fluent type. */\nfunction resolveExpression(scope, expr) {\n switch (expr.type) {\n case \"str\":\n return expr.value;\n case \"num\":\n return new FluentNumber(expr.value, {\n minimumFractionDigits: expr.precision,\n });\n case \"var\":\n return resolveVariableReference(scope, expr);\n case \"mesg\":\n return resolveMessageReference(scope, expr);\n case \"term\":\n return resolveTermReference(scope, expr);\n case \"func\":\n return resolveFunctionReference(scope, expr);\n case \"select\":\n return resolveSelectExpression(scope, expr);\n default:\n return new FluentNone();\n }\n}\n/** Resolve a reference to a variable. */\nfunction resolveVariableReference(scope, { name }) {\n let arg;\n if (scope.params) {\n // We're inside a TermReference. It's OK to reference undefined parameters.\n if (Object.prototype.hasOwnProperty.call(scope.params, name)) {\n arg = scope.params[name];\n }\n else {\n return new FluentNone(`$${name}`);\n }\n }\n else if (scope.args &&\n Object.prototype.hasOwnProperty.call(scope.args, name)) {\n // We're in the top-level Pattern or inside a MessageReference. Missing\n // variables references produce ReferenceErrors.\n arg = scope.args[name];\n }\n else {\n scope.reportError(new ReferenceError(`Unknown variable: $${name}`));\n return new FluentNone(`$${name}`);\n }\n // Return early if the argument already is an instance of FluentType.\n if (arg instanceof FluentType) {\n return arg;\n }\n // Convert the argument to a Fluent type.\n switch (typeof arg) {\n case \"string\":\n return arg;\n case \"number\":\n return new FluentNumber(arg);\n case \"object\":\n if (arg instanceof Date) {\n return new FluentDateTime(arg.getTime());\n }\n // eslint-disable-next-line no-fallthrough\n default:\n scope.reportError(new TypeError(`Variable type not supported: $${name}, ${typeof arg}`));\n return new FluentNone(`$${name}`);\n }\n}\n/** Resolve a reference to another message. */\nfunction resolveMessageReference(scope, { name, attr }) {\n const message = scope.bundle._messages.get(name);\n if (!message) {\n scope.reportError(new ReferenceError(`Unknown message: ${name}`));\n return new FluentNone(name);\n }\n if (attr) {\n const attribute = message.attributes[attr];\n if (attribute) {\n return resolvePattern(scope, attribute);\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${name}.${attr}`);\n }\n if (message.value) {\n return resolvePattern(scope, message.value);\n }\n scope.reportError(new ReferenceError(`No value: ${name}`));\n return new FluentNone(name);\n}\n/** Resolve a call to a Term with key-value arguments. */\nfunction resolveTermReference(scope, { name, attr, args }) {\n const id = `-${name}`;\n const term = scope.bundle._terms.get(id);\n if (!term) {\n scope.reportError(new ReferenceError(`Unknown term: ${id}`));\n return new FluentNone(id);\n }\n if (attr) {\n const attribute = term.attributes[attr];\n if (attribute) {\n // Every TermReference has its own variables.\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, attribute);\n scope.params = null;\n return resolved;\n }\n scope.reportError(new ReferenceError(`Unknown attribute: ${attr}`));\n return new FluentNone(`${id}.${attr}`);\n }\n scope.params = getArguments(scope, args).named;\n const resolved = resolvePattern(scope, term.value);\n scope.params = null;\n return resolved;\n}\n/** Resolve a call to a Function with positional and key-value arguments. */\nfunction resolveFunctionReference(scope, { name, args }) {\n // Some functions are built-in. Others may be provided by the runtime via\n // the `FluentBundle` constructor.\n let func = scope.bundle._functions[name];\n if (!func) {\n scope.reportError(new ReferenceError(`Unknown function: ${name}()`));\n return new FluentNone(`${name}()`);\n }\n if (typeof func !== \"function\") {\n scope.reportError(new TypeError(`Function ${name}() is not callable`));\n return new FluentNone(`${name}()`);\n }\n try {\n let resolved = getArguments(scope, args);\n return func(resolved.positional, resolved.named);\n }\n catch (err) {\n scope.reportError(err);\n return new FluentNone(`${name}()`);\n }\n}\n/** Resolve a select expression to the member object. */\nfunction resolveSelectExpression(scope, { selector, variants, star }) {\n let sel = resolveExpression(scope, selector);\n if (sel instanceof FluentNone) {\n return getDefault(scope, variants, star);\n }\n // Match the selector against keys of each variant, in order.\n for (const variant of variants) {\n const key = resolveExpression(scope, variant.key);\n if (match(scope, sel, key)) {\n return resolvePattern(scope, variant.value);\n }\n }\n return getDefault(scope, variants, star);\n}\n/** Resolve a pattern (a complex string with placeables). */\nexport function resolveComplexPattern(scope, ptn) {\n if (scope.dirty.has(ptn)) {\n scope.reportError(new RangeError(\"Cyclic reference\"));\n return new FluentNone();\n }\n // Tag the pattern as dirty for the purpose of the current resolution.\n scope.dirty.add(ptn);\n const result = [];\n // Wrap interpolations with Directional Isolate Formatting characters\n // only when the pattern has more than one element.\n const useIsolating = scope.bundle._useIsolating && ptn.length > 1;\n for (const elem of ptn) {\n if (typeof elem === \"string\") {\n result.push(scope.bundle._transform(elem));\n continue;\n }\n scope.placeables++;\n if (scope.placeables > MAX_PLACEABLES) {\n scope.dirty.delete(ptn);\n // This is a fatal error which causes the resolver to instantly bail out\n // on this pattern. The length check protects against excessive memory\n // usage, and throwing protects against eating up the CPU when long\n // placeables are deeply nested.\n throw new RangeError(`Too many placeables expanded: ${scope.placeables}, ` +\n `max allowed is ${MAX_PLACEABLES}`);\n }\n if (useIsolating) {\n result.push(FSI);\n }\n result.push(resolveExpression(scope, elem).toString(scope));\n if (useIsolating) {\n result.push(PDI);\n }\n }\n scope.dirty.delete(ptn);\n return result.join(\"\");\n}\n/**\n * Resolve a simple or a complex Pattern to a FluentString\n * (which is really the string primitive).\n */\nfunction resolvePattern(scope, value) {\n // Resolve a simple pattern.\n if (typeof value === \"string\") {\n return scope.bundle._transform(value);\n }\n return resolveComplexPattern(scope, value);\n}\n","export class Scope {\n constructor(bundle, errors, args) {\n /**\n * The Set of patterns already encountered during this resolution.\n * Used to detect and prevent cyclic resolutions.\n * @ignore\n */\n this.dirty = new WeakSet();\n /** A dict of parameters passed to a TermReference. */\n this.params = null;\n /**\n * The running count of placeables resolved so far.\n * Used to detect the Billion Laughs and Quadratic Blowup attacks.\n * @ignore\n */\n this.placeables = 0;\n this.bundle = bundle;\n this.errors = errors;\n this.args = args;\n }\n reportError(error) {\n if (!this.errors || !(error instanceof Error)) {\n throw error;\n }\n this.errors.push(error);\n }\n memoizeIntlObject(ctor, opts) {\n let cache = this.bundle._intls.get(ctor);\n if (!cache) {\n cache = {};\n this.bundle._intls.set(ctor, cache);\n }\n let id = JSON.stringify(opts);\n if (!cache[id]) {\n cache[id] = new ctor(this.bundle.locales, opts);\n }\n return cache[id];\n }\n}\n","/**\n * @overview\n *\n * The FTL resolver ships with a number of functions built-in.\n *\n * Each function take two arguments:\n * - args - an array of positional args\n * - opts - an object of key-value args\n *\n * Arguments to functions are guaranteed to already be instances of\n * `FluentValue`. Functions must return `FluentValues` as well.\n */\nimport { FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\nfunction values(opts, allowed) {\n const unwrapped = Object.create(null);\n for (const [name, opt] of Object.entries(opts)) {\n if (allowed.includes(name)) {\n unwrapped[name] = opt.valueOf();\n }\n }\n return unwrapped;\n}\nconst NUMBER_ALLOWED = [\n \"unitDisplay\",\n \"currencyDisplay\",\n \"useGrouping\",\n \"minimumIntegerDigits\",\n \"minimumFractionDigits\",\n \"maximumFractionDigits\",\n \"minimumSignificantDigits\",\n \"maximumSignificantDigits\",\n];\n/**\n * The implementation of the `NUMBER()` builtin available to translations.\n *\n * Translations may call the `NUMBER()` builtin in order to specify formatting\n * options of a number. For example:\n *\n * pi = The value of π is {NUMBER($pi, maximumFractionDigits: 2)}.\n *\n * The implementation expects an array of `FluentValues` representing the\n * positional arguments, and an object of named `FluentValues` representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * unitDisplay\n * currencyDisplay\n * useGrouping\n * minimumIntegerDigits\n * minimumFractionDigits\n * maximumFractionDigits\n * minimumSignificantDigits\n * maximumSignificantDigits\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `NUMBER()`.\n * @param opts The named argments passed to this `NUMBER()`.\n */\nexport function NUMBER(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`NUMBER(${arg.valueOf()})`);\n }\n if (arg instanceof FluentNumber) {\n return new FluentNumber(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, NUMBER_ALLOWED),\n });\n }\n if (arg instanceof FluentDateTime) {\n return new FluentNumber(arg.valueOf(), {\n ...values(opts, NUMBER_ALLOWED),\n });\n }\n throw new TypeError(\"Invalid argument to NUMBER\");\n}\nconst DATETIME_ALLOWED = [\n \"dateStyle\",\n \"timeStyle\",\n \"fractionalSecondDigits\",\n \"dayPeriod\",\n \"hour12\",\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n];\n/**\n * The implementation of the `DATETIME()` builtin available to translations.\n *\n * Translations may call the `DATETIME()` builtin in order to specify\n * formatting options of a number. For example:\n *\n * now = It's {DATETIME($today, month: \"long\")}.\n *\n * The implementation expects an array of `FluentValues` representing the\n * positional arguments, and an object of named `FluentValues` representing the\n * named parameters.\n *\n * The following options are recognized:\n *\n * dateStyle\n * timeStyle\n * fractionalSecondDigits\n * dayPeriod\n * hour12\n * weekday\n * era\n * year\n * month\n * day\n * hour\n * minute\n * second\n * timeZoneName\n *\n * Other options are ignored.\n *\n * @param args The positional arguments passed to this `DATETIME()`.\n * @param opts The named argments passed to this `DATETIME()`.\n */\nexport function DATETIME(args, opts) {\n let arg = args[0];\n if (arg instanceof FluentNone) {\n return new FluentNone(`DATETIME(${arg.valueOf()})`);\n }\n if (arg instanceof FluentDateTime) {\n return new FluentDateTime(arg.valueOf(), {\n ...arg.opts,\n ...values(opts, DATETIME_ALLOWED),\n });\n }\n if (arg instanceof FluentNumber) {\n return new FluentDateTime(arg.valueOf(), {\n ...values(opts, DATETIME_ALLOWED),\n });\n }\n throw new TypeError(\"Invalid argument to DATETIME\");\n}\n","const cache = new Map();\nexport function getMemoizerForLocale(locales) {\n const stringLocale = Array.isArray(locales) ? locales.join(\" \") : locales;\n let memoizer = cache.get(stringLocale);\n if (memoizer === undefined) {\n memoizer = new Map();\n cache.set(stringLocale, memoizer);\n }\n return memoizer;\n}\n","import { resolveComplexPattern } from \"./resolver.js\";\nimport { Scope } from \"./scope.js\";\nimport { FluentNone } from \"./types.js\";\nimport { NUMBER, DATETIME } from \"./builtins.js\";\nimport { getMemoizerForLocale } from \"./memoizer.js\";\n/**\n * Message bundles are single-language stores of translation resources. They are\n * responsible for formatting message values and attributes to strings.\n */\nexport class FluentBundle {\n /**\n * Create an instance of `FluentBundle`.\n *\n * @example\n * ```js\n * let bundle = new FluentBundle([\"en-US\", \"en\"]);\n *\n * let bundle = new FluentBundle(locales, {useIsolating: false});\n *\n * let bundle = new FluentBundle(locales, {\n * useIsolating: true,\n * functions: {\n * NODE_ENV: () => process.env.NODE_ENV\n * }\n * });\n * ```\n *\n * @param locales - Used to instantiate `Intl` formatters used by translations.\n * @param options - Optional configuration for the bundle.\n */\n constructor(locales, { functions, useIsolating = true, transform = (v) => v, } = {}) {\n /** @ignore */\n this._terms = new Map();\n /** @ignore */\n this._messages = new Map();\n this.locales = Array.isArray(locales) ? locales : [locales];\n this._functions = {\n NUMBER,\n DATETIME,\n ...functions,\n };\n this._useIsolating = useIsolating;\n this._transform = transform;\n this._intls = getMemoizerForLocale(locales);\n }\n /**\n * Check if a message is present in the bundle.\n *\n * @param id - The identifier of the message to check.\n */\n hasMessage(id) {\n return this._messages.has(id);\n }\n /**\n * Return a raw unformatted message object from the bundle.\n *\n * Raw messages are `{value, attributes}` shapes containing translation units\n * called `Patterns`. `Patterns` are implementation-specific; they should be\n * treated as black boxes and formatted with `FluentBundle.formatPattern`.\n *\n * @param id - The identifier of the message to check.\n */\n getMessage(id) {\n return this._messages.get(id);\n }\n /**\n * Add a translation resource to the bundle.\n *\n * @example\n * ```js\n * let res = new FluentResource(\"foo = Foo\");\n * bundle.addResource(res);\n * bundle.getMessage(\"foo\");\n * // → {value: .., attributes: {..}}\n * ```\n *\n * @param res\n * @param options\n */\n addResource(res, { allowOverrides = false, } = {}) {\n const errors = [];\n for (let i = 0; i < res.body.length; i++) {\n let entry = res.body[i];\n if (entry.id.startsWith(\"-\")) {\n // Identifiers starting with a dash (-) define terms. Terms are private\n // and cannot be retrieved from FluentBundle.\n if (allowOverrides === false && this._terms.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing term: \"${entry.id}\"`));\n continue;\n }\n this._terms.set(entry.id, entry);\n }\n else {\n if (allowOverrides === false && this._messages.has(entry.id)) {\n errors.push(new Error(`Attempt to override an existing message: \"${entry.id}\"`));\n continue;\n }\n this._messages.set(entry.id, entry);\n }\n }\n return errors;\n }\n /**\n * Format a `Pattern` to a string.\n *\n * Format a raw `Pattern` into a string. `args` will be used to resolve\n * references to variables passed as arguments to the translation.\n *\n * In case of errors `formatPattern` will try to salvage as much of the\n * translation as possible and will still return a string. For performance\n * reasons, the encountered errors are not returned but instead are appended\n * to the `errors` array passed as the third argument.\n *\n * If `errors` is omitted, the first encountered error will be thrown.\n *\n * @example\n * ```js\n * let errors = [];\n * bundle.addResource(\n * new FluentResource(\"hello = Hello, {$name}!\"));\n *\n * let hello = bundle.getMessage(\"hello\");\n * if (hello.value) {\n * bundle.formatPattern(hello.value, {name: \"Jane\"}, errors);\n * // Returns \"Hello, Jane!\" and `errors` is empty.\n *\n * bundle.formatPattern(hello.value, undefined, errors);\n * // Returns \"Hello, {$name}!\" and `errors` is now:\n * // []\n * }\n * ```\n */\n formatPattern(pattern, args = null, errors = null) {\n // Resolve a simple pattern without creating a scope. No error handling is\n // required; by definition simple patterns don't have placeables.\n if (typeof pattern === \"string\") {\n return this._transform(pattern);\n }\n // Resolve a complex pattern.\n let scope = new Scope(this, errors, args);\n try {\n let value = resolveComplexPattern(scope, pattern);\n return value.toString(scope);\n }\n catch (err) {\n if (scope.errors && err instanceof Error) {\n scope.errors.push(err);\n return new FluentNone().toString(scope);\n }\n throw err;\n }\n }\n}\n","// This regex is used to iterate through the beginnings of messages and terms.\n// With the /m flag, the ^ matches at the beginning of every line.\nconst RE_MESSAGE_START = /^(-?[a-zA-Z][\\w-]*) *= */gm;\n// Both Attributes and Variants are parsed in while loops. These regexes are\n// used to break out of them.\nconst RE_ATTRIBUTE_START = /\\.([a-zA-Z][\\w-]*) *= */y;\nconst RE_VARIANT_START = /\\*?\\[/y;\nconst RE_NUMBER_LITERAL = /(-?[0-9]+(?:\\.([0-9]+))?)/y;\nconst RE_IDENTIFIER = /([a-zA-Z][\\w-]*)/y;\nconst RE_REFERENCE = /([$-])?([a-zA-Z][\\w-]*)(?:\\.([a-zA-Z][\\w-]*))?/y;\nconst RE_FUNCTION_NAME = /^[A-Z][A-Z0-9_-]*$/;\n// A \"run\" is a sequence of text or string literal characters which don't\n// require any special handling. For TextElements such special characters are: {\n// (starts a placeable), and line breaks which require additional logic to check\n// if the next line is indented. For StringLiterals they are: \\ (starts an\n// escape sequence), \" (ends the literal), and line breaks which are not allowed\n// in StringLiterals. Note that string runs may be empty; text runs may not.\nconst RE_TEXT_RUN = /([^{}\\n\\r]+)/y;\nconst RE_STRING_RUN = /([^\\\\\"\\n\\r]*)/y;\n// Escape sequences.\nconst RE_STRING_ESCAPE = /\\\\([\\\\\"])/y;\nconst RE_UNICODE_ESCAPE = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{6})/y;\n// Used for trimming TextElements and indents.\nconst RE_LEADING_NEWLINES = /^\\n+/;\nconst RE_TRAILING_SPACES = / +$/;\n// Used in makeIndent to strip spaces from blank lines and normalize CRLF to LF.\nconst RE_BLANK_LINES = / *\\r?\\n/g;\n// Used in makeIndent to measure the indentation.\nconst RE_INDENT = /( *)$/;\n// Common tokens.\nconst TOKEN_BRACE_OPEN = /{\\s*/y;\nconst TOKEN_BRACE_CLOSE = /\\s*}/y;\nconst TOKEN_BRACKET_OPEN = /\\[\\s*/y;\nconst TOKEN_BRACKET_CLOSE = /\\s*] */y;\nconst TOKEN_PAREN_OPEN = /\\s*\\(\\s*/y;\nconst TOKEN_ARROW = /\\s*->\\s*/y;\nconst TOKEN_COLON = /\\s*:\\s*/y;\n// Note the optional comma. As a deviation from the Fluent EBNF, the parser\n// doesn't enforce commas between call arguments.\nconst TOKEN_COMMA = /\\s*,?\\s*/y;\nconst TOKEN_BLANK = /\\s+/y;\n/**\n * Fluent Resource is a structure storing parsed localization entries.\n */\nexport class FluentResource {\n constructor(source) {\n this.body = [];\n RE_MESSAGE_START.lastIndex = 0;\n let cursor = 0;\n // Iterate over the beginnings of messages and terms to efficiently skip\n // comments and recover from errors.\n while (true) {\n let next = RE_MESSAGE_START.exec(source);\n if (next === null) {\n break;\n }\n cursor = RE_MESSAGE_START.lastIndex;\n try {\n this.body.push(parseMessage(next[1]));\n }\n catch (err) {\n if (err instanceof SyntaxError) {\n // Don't report any Fluent syntax errors. Skip directly to the\n // beginning of the next message or term.\n continue;\n }\n throw err;\n }\n }\n // The parser implementation is inlined below for performance reasons,\n // as well as for convenience of accessing `source` and `cursor`.\n // The parser focuses on minimizing the number of false negatives at the\n // expense of increasing the risk of false positives. In other words, it\n // aims at parsing valid Fluent messages with a success rate of 100%, but it\n // may also parse a few invalid messages which the reference parser would\n // reject. The parser doesn't perform any validation and may produce entries\n // which wouldn't make sense in the real world. For best results users are\n // advised to validate translations with the fluent-syntax parser\n // pre-runtime.\n // The parser makes an extensive use of sticky regexes which can be anchored\n // to any offset of the source string without slicing it. Errors are thrown\n // to bail out of parsing of ill-formed messages.\n function test(re) {\n re.lastIndex = cursor;\n return re.test(source);\n }\n // Advance the cursor by the char if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeChar(char, errorClass) {\n if (source[cursor] === char) {\n cursor++;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${char}`);\n }\n return false;\n }\n // Advance the cursor by the token if it matches. May be used as a predicate\n // (was the match found?) or, if errorClass is passed, as an assertion.\n function consumeToken(re, errorClass) {\n if (test(re)) {\n cursor = re.lastIndex;\n return true;\n }\n if (errorClass) {\n throw new errorClass(`Expected ${re.toString()}`);\n }\n return false;\n }\n // Execute a regex, advance the cursor, and return all capture groups.\n function match(re) {\n re.lastIndex = cursor;\n let result = re.exec(source);\n if (result === null) {\n throw new SyntaxError(`Expected ${re.toString()}`);\n }\n cursor = re.lastIndex;\n return result;\n }\n // Execute a regex, advance the cursor, and return the capture group.\n function match1(re) {\n return match(re)[1];\n }\n function parseMessage(id) {\n let value = parsePattern();\n let attributes = parseAttributes();\n if (value === null && Object.keys(attributes).length === 0) {\n throw new SyntaxError(\"Expected message value or attributes\");\n }\n return { id, value, attributes };\n }\n function parseAttributes() {\n let attrs = Object.create(null);\n while (test(RE_ATTRIBUTE_START)) {\n let name = match1(RE_ATTRIBUTE_START);\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected attribute value\");\n }\n attrs[name] = value;\n }\n return attrs;\n }\n function parsePattern() {\n let first;\n // First try to parse any simple text on the same line as the id.\n if (test(RE_TEXT_RUN)) {\n first = match1(RE_TEXT_RUN);\n }\n // If there's a placeable on the first line, parse a complex pattern.\n if (source[cursor] === \"{\" || source[cursor] === \"}\") {\n // Re-use the text parsed above, if possible.\n return parsePatternElements(first ? [first] : [], Infinity);\n }\n // RE_TEXT_VALUE stops at newlines. Only continue parsing the pattern if\n // what comes after the newline is indented.\n let indent = parseIndent();\n if (indent) {\n if (first) {\n // If there's text on the first line, the blank block is part of the\n // translation content in its entirety.\n return parsePatternElements([first, indent], indent.length);\n }\n // Otherwise, we're dealing with a block pattern, i.e. a pattern which\n // starts on a new line. Discrad the leading newlines but keep the\n // inline indent; it will be used by the dedentation logic.\n indent.value = trim(indent.value, RE_LEADING_NEWLINES);\n return parsePatternElements([indent], indent.length);\n }\n if (first) {\n // It was just a simple inline text after all.\n return trim(first, RE_TRAILING_SPACES);\n }\n return null;\n }\n // Parse a complex pattern as an array of elements.\n function parsePatternElements(elements = [], commonIndent) {\n while (true) {\n if (test(RE_TEXT_RUN)) {\n elements.push(match1(RE_TEXT_RUN));\n continue;\n }\n if (source[cursor] === \"{\") {\n elements.push(parsePlaceable());\n continue;\n }\n if (source[cursor] === \"}\") {\n throw new SyntaxError(\"Unbalanced closing brace\");\n }\n let indent = parseIndent();\n if (indent) {\n elements.push(indent);\n commonIndent = Math.min(commonIndent, indent.length);\n continue;\n }\n break;\n }\n let lastIndex = elements.length - 1;\n let lastElement = elements[lastIndex];\n // Trim the trailing spaces in the last element if it's a TextElement.\n if (typeof lastElement === \"string\") {\n elements[lastIndex] = trim(lastElement, RE_TRAILING_SPACES);\n }\n let baked = [];\n for (let element of elements) {\n if (element instanceof Indent) {\n // Dedent indented lines by the maximum common indent.\n element = element.value.slice(0, element.value.length - commonIndent);\n }\n if (element) {\n baked.push(element);\n }\n }\n return baked;\n }\n function parsePlaceable() {\n consumeToken(TOKEN_BRACE_OPEN, SyntaxError);\n let selector = parseInlineExpression();\n if (consumeToken(TOKEN_BRACE_CLOSE)) {\n return selector;\n }\n if (consumeToken(TOKEN_ARROW)) {\n let variants = parseVariants();\n consumeToken(TOKEN_BRACE_CLOSE, SyntaxError);\n return {\n type: \"select\",\n selector,\n ...variants,\n };\n }\n throw new SyntaxError(\"Unclosed placeable\");\n }\n function parseInlineExpression() {\n if (source[cursor] === \"{\") {\n // It's a nested placeable.\n return parsePlaceable();\n }\n if (test(RE_REFERENCE)) {\n let [, sigil, name, attr = null] = match(RE_REFERENCE);\n if (sigil === \"$\") {\n return { type: \"var\", name };\n }\n if (consumeToken(TOKEN_PAREN_OPEN)) {\n let args = parseArguments();\n if (sigil === \"-\") {\n // A parameterized term: -term(...).\n return { type: \"term\", name, attr, args };\n }\n if (RE_FUNCTION_NAME.test(name)) {\n return { type: \"func\", name, args };\n }\n throw new SyntaxError(\"Function names must be all upper-case\");\n }\n if (sigil === \"-\") {\n // A non-parameterized term: -term.\n return {\n type: \"term\",\n name,\n attr,\n args: [],\n };\n }\n return { type: \"mesg\", name, attr };\n }\n return parseLiteral();\n }\n function parseArguments() {\n let args = [];\n while (true) {\n switch (source[cursor]) {\n case \")\": // End of the argument list.\n cursor++;\n return args;\n case undefined: // EOF\n throw new SyntaxError(\"Unclosed argument list\");\n }\n args.push(parseArgument());\n // Commas between arguments are treated as whitespace.\n consumeToken(TOKEN_COMMA);\n }\n }\n function parseArgument() {\n let expr = parseInlineExpression();\n if (expr.type !== \"mesg\") {\n return expr;\n }\n if (consumeToken(TOKEN_COLON)) {\n // The reference is the beginning of a named argument.\n return {\n type: \"narg\",\n name: expr.name,\n value: parseLiteral(),\n };\n }\n // It's a regular message reference.\n return expr;\n }\n function parseVariants() {\n let variants = [];\n let count = 0;\n let star;\n while (test(RE_VARIANT_START)) {\n if (consumeChar(\"*\")) {\n star = count;\n }\n let key = parseVariantKey();\n let value = parsePattern();\n if (value === null) {\n throw new SyntaxError(\"Expected variant value\");\n }\n variants[count++] = { key, value };\n }\n if (count === 0) {\n return null;\n }\n if (star === undefined) {\n throw new SyntaxError(\"Expected default variant\");\n }\n return { variants, star };\n }\n function parseVariantKey() {\n consumeToken(TOKEN_BRACKET_OPEN, SyntaxError);\n let key;\n if (test(RE_NUMBER_LITERAL)) {\n key = parseNumberLiteral();\n }\n else {\n key = {\n type: \"str\",\n value: match1(RE_IDENTIFIER),\n };\n }\n consumeToken(TOKEN_BRACKET_CLOSE, SyntaxError);\n return key;\n }\n function parseLiteral() {\n if (test(RE_NUMBER_LITERAL)) {\n return parseNumberLiteral();\n }\n if (source[cursor] === '\"') {\n return parseStringLiteral();\n }\n throw new SyntaxError(\"Invalid expression\");\n }\n function parseNumberLiteral() {\n let [, value, fraction = \"\"] = match(RE_NUMBER_LITERAL);\n let precision = fraction.length;\n return {\n type: \"num\",\n value: parseFloat(value),\n precision,\n };\n }\n function parseStringLiteral() {\n consumeChar('\"', SyntaxError);\n let value = \"\";\n while (true) {\n value += match1(RE_STRING_RUN);\n if (source[cursor] === \"\\\\\") {\n value += parseEscapeSequence();\n continue;\n }\n if (consumeChar('\"')) {\n return { type: \"str\", value };\n }\n // We've reached an EOL of EOF.\n throw new SyntaxError(\"Unclosed string literal\");\n }\n }\n // Unescape known escape sequences.\n function parseEscapeSequence() {\n if (test(RE_STRING_ESCAPE)) {\n return match1(RE_STRING_ESCAPE);\n }\n if (test(RE_UNICODE_ESCAPE)) {\n let [, codepoint4, codepoint6] = match(RE_UNICODE_ESCAPE);\n let codepoint = parseInt(codepoint4 || codepoint6, 16);\n return codepoint <= 0xd7ff || 0xe000 <= codepoint\n ? // It's a Unicode scalar value.\n String.fromCodePoint(codepoint)\n : // Lonely surrogates can cause trouble when the parsing result is\n // saved using UTF-8. Use U+FFFD REPLACEMENT CHARACTER instead.\n \"�\";\n }\n throw new SyntaxError(\"Unknown escape sequence\");\n }\n // Parse blank space. Return it if it looks like indent before a pattern\n // line. Skip it othwerwise.\n function parseIndent() {\n let start = cursor;\n consumeToken(TOKEN_BLANK);\n // Check the first non-blank character after the indent.\n switch (source[cursor]) {\n case \".\":\n case \"[\":\n case \"*\":\n case \"}\":\n case undefined: // EOF\n // A special character. End the Pattern.\n return false;\n case \"{\":\n // Placeables don't require indentation (in EBNF: block-placeable).\n // Continue the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // If the first character on the line is not one of the special characters\n // listed above, it's a regular text character. Check if there's at least\n // one space of indent before it.\n if (source[cursor - 1] === \" \") {\n // It's an indented text character (in EBNF: indented-char). Continue\n // the Pattern.\n return makeIndent(source.slice(start, cursor));\n }\n // A not-indented text character is likely the identifier of the next\n // message. End the Pattern.\n return false;\n }\n // Trim blanks in text according to the given regex.\n function trim(text, re) {\n return text.replace(re, \"\");\n }\n // Normalize a blank block and extract the indent details.\n function makeIndent(blank) {\n let value = blank.replace(RE_BLANK_LINES, \"\\n\");\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n let length = RE_INDENT.exec(blank)[1].length;\n return new Indent(value, length);\n }\n }\n}\nclass Indent {\n constructor(value, length) {\n this.value = value;\n this.length = length;\n }\n}\n","/**\n * @module fluent\n * @overview\n *\n * `fluent` is a JavaScript implementation of Project Fluent, a localization\n * framework designed to unleash the expressive power of the natural language.\n *\n */\nexport { FluentBundle } from \"./bundle.js\";\nexport { FluentResource } from \"./resource.js\";\nexport { FluentType, FluentNone, FluentNumber, FluentDateTime, } from \"./types.js\";\n","/* eslint no-console: [\"error\", {allow: [\"warn\"]}] */\n/* global console */\n// Match the opening angle bracket (<) in HTML tags, and HTML entities like\n// &, &, &.\nconst reOverlay = /<|&#?\\w+;/;\n/**\n * Elements allowed in translations even if they are not present in the source\n * HTML. They are text-level elements as defined by the HTML5 spec:\n * https://www.w3.org/TR/html5/text-level-semantics.html with the exception of:\n *\n * - a - because we don't allow href on it anyways,\n * - ruby, rt, rp - because we don't allow nested elements to be inserted.\n */\nconst TEXT_LEVEL_ELEMENTS = {\n \"http://www.w3.org/1999/xhtml\": [\n \"em\",\n \"strong\",\n \"small\",\n \"s\",\n \"cite\",\n \"q\",\n \"dfn\",\n \"abbr\",\n \"data\",\n \"time\",\n \"code\",\n \"var\",\n \"samp\",\n \"kbd\",\n \"sub\",\n \"sup\",\n \"i\",\n \"b\",\n \"u\",\n \"mark\",\n \"bdi\",\n \"bdo\",\n \"span\",\n \"br\",\n \"wbr\",\n ],\n};\nconst LOCALIZABLE_ATTRIBUTES = {\n \"http://www.w3.org/1999/xhtml\": {\n global: [\"title\", \"aria-label\", \"aria-valuetext\"],\n a: [\"download\"],\n area: [\"download\", \"alt\"],\n // value is special-cased in isAttrNameLocalizable\n input: [\"alt\", \"placeholder\"],\n menuitem: [\"label\"],\n menu: [\"label\"],\n optgroup: [\"label\"],\n option: [\"label\"],\n track: [\"label\"],\n img: [\"alt\"],\n textarea: [\"placeholder\"],\n th: [\"abbr\"],\n },\n \"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul\": {\n global: [\n \"accesskey\",\n \"aria-label\",\n \"aria-valuetext\",\n \"label\",\n \"title\",\n \"tooltiptext\",\n ],\n description: [\"value\"],\n key: [\"key\", \"keycode\"],\n label: [\"value\"],\n textbox: [\"placeholder\", \"value\"],\n },\n};\n/**\n * Translate an element.\n *\n * Translate the element's text content and attributes. Some HTML markup is\n * allowed in the translation. The element's children with the data-l10n-name\n * attribute will be treated as arguments to the translation. If the\n * translation defines the same children, their attributes and text contents\n * will be used for translating the matching source child.\n *\n * @param {Element} element\n * @param {Object} translation\n * @private\n */\nexport default function translateElement(element, translation) {\n const { value } = translation;\n if (typeof value === \"string\") {\n if (element.localName === \"title\" &&\n element.namespaceURI === \"http://www.w3.org/1999/xhtml\") {\n // A special case for the HTML title element whose content must be text.\n element.textContent = value;\n }\n else if (!reOverlay.test(value)) {\n // If the translation doesn't contain any markup skip the overlay logic.\n element.textContent = value;\n }\n else {\n // Else parse the translation's HTML using an inert template element,\n // sanitize it and replace the element's content.\n const templateElement = element.ownerDocument.createElementNS(\"http://www.w3.org/1999/xhtml\", \"template\");\n templateElement.innerHTML = value;\n overlayChildNodes(templateElement.content, element);\n }\n }\n // Even if the translation doesn't define any localizable attributes, run\n // overlayAttributes to remove any localizable attributes set by previous\n // translations.\n overlayAttributes(translation, element);\n}\n/**\n * Replace child nodes of an element with child nodes of another element.\n *\n * The contents of the target element will be cleared and fully replaced with\n * sanitized contents of the source element.\n *\n * @param {DocumentFragment} fromFragment - The source of children to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayChildNodes(fromFragment, toElement) {\n for (const childNode of fromFragment.childNodes) {\n if (childNode.nodeType === childNode.TEXT_NODE) {\n // Keep the translated text node.\n continue;\n }\n if (childNode.hasAttribute(\"data-l10n-name\")) {\n const sanitized = getNodeForNamedElement(toElement, childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n if (isElementAllowed(childNode)) {\n const sanitized = createSanitizedElement(childNode);\n fromFragment.replaceChild(sanitized, childNode);\n continue;\n }\n console.warn(`An element of forbidden type \"${childNode.localName}\" was found in ` +\n \"the translation. Only safe text-level elements and elements with \" +\n \"data-l10n-name are allowed.\");\n // If all else fails, replace the element with its text content.\n fromFragment.replaceChild(createTextNodeFromTextContent(childNode), childNode);\n }\n toElement.textContent = \"\";\n toElement.appendChild(fromFragment);\n}\nfunction hasAttribute(attributes, name) {\n if (!attributes) {\n return false;\n }\n for (let attr of attributes) {\n if (attr.name === name) {\n return true;\n }\n }\n return false;\n}\n/**\n * Transplant localizable attributes of an element to another element.\n *\n * Any localizable attributes already set on the target element will be\n * cleared.\n *\n * @param {Element|Object} fromElement - The source of child nodes to overlay.\n * @param {Element} toElement - The target of the overlay.\n * @private\n */\nfunction overlayAttributes(fromElement, toElement) {\n const explicitlyAllowed = toElement.hasAttribute(\"data-l10n-attrs\")\n ? toElement\n .getAttribute(\"data-l10n-attrs\")\n .split(\",\")\n .map(i => i.trim())\n : null;\n // Remove existing localizable attributes if they\n // will not be used in the new translation.\n for (const attr of Array.from(toElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n !hasAttribute(fromElement.attributes, attr.name)) {\n toElement.removeAttribute(attr.name);\n }\n }\n // fromElement might be a {value, attributes} object as returned by\n // Localization.messageFromBundle. In which case attributes may be null to\n // save GC cycles.\n if (!fromElement.attributes) {\n return;\n }\n // Set localizable attributes.\n for (const attr of Array.from(fromElement.attributes)) {\n if (isAttrNameLocalizable(attr.name, toElement, explicitlyAllowed) &&\n toElement.getAttribute(attr.name) !== attr.value) {\n toElement.setAttribute(attr.name, attr.value);\n }\n }\n}\n/**\n * Sanitize a child element created by the translation.\n *\n * Try to find a corresponding child in sourceElement and use it as the base\n * for the sanitization. This will preserve functional attribtues defined on\n * the child element in the source HTML.\n *\n * @param {Element} sourceElement - The source for data-l10n-name lookups.\n * @param {Element} translatedChild - The translated child to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction getNodeForNamedElement(sourceElement, translatedChild) {\n const childName = translatedChild.getAttribute(\"data-l10n-name\");\n const sourceChild = sourceElement.querySelector(`[data-l10n-name=\"${childName}\"]`);\n if (!sourceChild) {\n console.warn(`An element named \"${childName}\" wasn't found in the source.`);\n return createTextNodeFromTextContent(translatedChild);\n }\n if (sourceChild.localName !== translatedChild.localName) {\n console.warn(`An element named \"${childName}\" was found in the translation ` +\n `but its type ${translatedChild.localName} didn't match the ` +\n `element found in the source (${sourceChild.localName}).`);\n return createTextNodeFromTextContent(translatedChild);\n }\n // Remove it from sourceElement so that the translation cannot use\n // the same reference name again.\n sourceElement.removeChild(sourceChild);\n // We can't currently guarantee that a translation won't remove\n // sourceChild from the element completely, which could break the app if\n // it relies on an event handler attached to the sourceChild. Let's make\n // this limitation explicit for now by breaking the identitiy of the\n // sourceChild by cloning it. This will destroy all event handlers\n // attached to sourceChild via addEventListener and via on\n // properties.\n const clone = sourceChild.cloneNode(false);\n return shallowPopulateUsing(translatedChild, clone);\n}\n/**\n * Sanitize an allowed element.\n *\n * Text-level elements allowed in translations may only use safe attributes\n * and will have any nested markup stripped to text content.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Element}\n * @private\n */\nfunction createSanitizedElement(element) {\n // Start with an empty element of the same type to remove nested children\n // and non-localizable attributes defined by the translation.\n const clone = element.ownerDocument.createElement(element.localName);\n return shallowPopulateUsing(element, clone);\n}\n/**\n * Convert an element to a text node.\n *\n * @param {Element} element - The element to be sanitized.\n * @returns {Node}\n * @private\n */\nfunction createTextNodeFromTextContent(element) {\n return element.ownerDocument.createTextNode(element.textContent);\n}\n/**\n * Check if element is allowed in the translation.\n *\n * This method is used by the sanitizer when the translation markup contains\n * an element which is not present in the source code.\n *\n * @param {Element} element\n * @returns {boolean}\n * @private\n */\nfunction isElementAllowed(element) {\n const allowed = TEXT_LEVEL_ELEMENTS[element.namespaceURI];\n return allowed && allowed.includes(element.localName);\n}\n/**\n * Check if attribute is allowed for the given element.\n *\n * This method is used by the sanitizer when the translation markup contains\n * DOM attributes, or when the translation has traits which map to DOM\n * attributes.\n *\n * `explicitlyAllowed` can be passed as a list of attributes explicitly\n * allowed on this element.\n *\n * @param {string} name\n * @param {Element} element\n * @param {Array} explicitlyAllowed\n * @returns {boolean}\n * @private\n */\nfunction isAttrNameLocalizable(name, element, explicitlyAllowed = null) {\n if (explicitlyAllowed && explicitlyAllowed.includes(name)) {\n return true;\n }\n const allowed = LOCALIZABLE_ATTRIBUTES[element.namespaceURI];\n if (!allowed) {\n return false;\n }\n const attrName = name.toLowerCase();\n const elemName = element.localName;\n // Is it a globally safe attribute?\n if (allowed.global.includes(attrName)) {\n return true;\n }\n // Are there no allowed attributes for this element?\n if (!allowed[elemName]) {\n return false;\n }\n // Is it allowed on this element?\n if (allowed[elemName].includes(attrName)) {\n return true;\n }\n // Special case for value on HTML inputs with type button, reset, submit\n if (element.namespaceURI === \"http://www.w3.org/1999/xhtml\" &&\n elemName === \"input\" &&\n attrName === \"value\") {\n const type = element.type.toLowerCase();\n if (type === \"submit\" || type === \"button\" || type === \"reset\") {\n return true;\n }\n }\n return false;\n}\n/**\n * Helper to set textContent and localizable attributes on an element.\n *\n * @param {Element} fromElement\n * @param {Element} toElement\n * @returns {Element}\n * @private\n */\nfunction shallowPopulateUsing(fromElement, toElement) {\n toElement.textContent = fromElement.textContent;\n overlayAttributes(fromElement, toElement);\n return toElement;\n}\n","/*\n * Base CachedIterable class.\n */\nexport default class CachedIterable extends Array {\n /**\n * Create a `CachedIterable` instance from an iterable or, if another\n * instance of `CachedIterable` is passed, return it without any\n * modifications.\n *\n * @param {Iterable} iterable\n * @returns {CachedIterable}\n */\n static from(iterable) {\n if (iterable instanceof this) {\n return iterable;\n }\n\n return new this(iterable);\n }\n}\n","import CachedIterable from \"./cached_iterable.mjs\";\n\n/*\n * CachedSyncIterable caches the elements yielded by an iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nexport default class CachedSyncIterable extends CachedIterable {\n /**\n * Create an `CachedSyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedSyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n [Symbol.iterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && last.done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n","import CachedIterable from \"./cached_iterable.mjs\";\n\n/*\n * CachedAsyncIterable caches the elements yielded by an async iterable.\n *\n * It can be used to iterate over an iterable many times without depleting the\n * iterable.\n */\nexport default class CachedAsyncIterable extends CachedIterable {\n /**\n * Create an `CachedAsyncIterable` instance.\n *\n * @param {Iterable} iterable\n * @returns {CachedAsyncIterable}\n */\n constructor(iterable) {\n super();\n\n if (Symbol.asyncIterator in Object(iterable)) {\n this.iterator = iterable[Symbol.asyncIterator]();\n } else if (Symbol.iterator in Object(iterable)) {\n this.iterator = iterable[Symbol.iterator]();\n } else {\n throw new TypeError(\"Argument must implement the iteration protocol.\");\n }\n }\n\n /**\n * Asynchronous iterator caching the yielded elements.\n *\n * Elements yielded by the original iterable will be cached and available\n * synchronously. Returns an async generator object implementing the\n * iterator protocol over the elements of the original (async or sync)\n * iterable.\n */\n [Symbol.asyncIterator]() {\n const cached = this;\n let cur = 0;\n\n return {\n async next() {\n if (cached.length <= cur) {\n cached.push(cached.iterator.next());\n }\n return cached[cur++];\n }\n };\n }\n\n /**\n * This method allows user to consume the next element from the iterator\n * into the cache.\n *\n * @param {number} count - number of elements to consume\n */\n async touchNext(count = 1) {\n let idx = 0;\n while (idx++ < count) {\n const last = this[this.length - 1];\n if (last && (await last).done) {\n break;\n }\n this.push(this.iterator.next());\n }\n // Return the last cached {value, done} object to allow the calling\n // code to decide if it needs to call touchNext again.\n return this[this.length - 1];\n }\n}\n","export {default as CachedSyncIterable} from \"./cached_sync_iterable.mjs\";\nexport {default as CachedAsyncIterable} from \"./cached_async_iterable.mjs\";\n","/* eslint no-console: [\"error\", { allow: [\"warn\", \"error\"] }] */\n/* global console */\nimport { CachedAsyncIterable } from \"cached-iterable\";\n/**\n * The `Localization` class is a central high-level API for vanilla\n * JavaScript use of Fluent.\n * It combines language negotiation, FluentBundle and I/O to\n * provide a scriptable API to format translations.\n */\nexport default class Localization {\n /**\n * @param {Array} resourceIds - List of resource IDs\n * @param {Function} generateBundles - Function that returns a\n * generator over FluentBundles\n *\n * @returns {Localization}\n */\n constructor(resourceIds = [], generateBundles) {\n this.resourceIds = resourceIds;\n this.generateBundles = generateBundles;\n this.onChange(true);\n }\n addResourceIds(resourceIds, eager = false) {\n this.resourceIds.push(...resourceIds);\n this.onChange(eager);\n return this.resourceIds.length;\n }\n removeResourceIds(resourceIds) {\n this.resourceIds = this.resourceIds.filter(r => !resourceIds.includes(r));\n this.onChange();\n return this.resourceIds.length;\n }\n /**\n * Format translations and handle fallback if needed.\n *\n * Format translations for `keys` from `FluentBundle` instances on this\n * DOMLocalization. In case of errors, fetch the next context in the\n * fallback chain.\n *\n * @param {Array} keys - Translation keys to format.\n * @param {Function} method - Formatting function.\n * @returns {Promise>}\n * @private\n */\n async formatWithFallback(keys, method) {\n const translations = [];\n let hasAtLeastOneBundle = false;\n for await (const bundle of this.bundles) {\n hasAtLeastOneBundle = true;\n const missingIds = keysFromBundle(method, bundle, keys, translations);\n if (missingIds.size === 0) {\n break;\n }\n if (typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const ids = Array.from(missingIds).join(\", \");\n console.warn(`[fluent] Missing translations in ${locale}: ${ids}`);\n }\n }\n if (!hasAtLeastOneBundle && typeof console !== \"undefined\") {\n // eslint-disable-next-line max-len\n console.warn(`[fluent] Request for keys failed because no resource bundles got generated.\n keys: ${JSON.stringify(keys)}.\n resourceIds: ${JSON.stringify(this.resourceIds)}.`);\n }\n return translations;\n }\n /**\n * Format translations into `{value, attributes}` objects.\n *\n * The fallback logic is the same as in `formatValues`\n * but it returns `{value, attributes}` objects\n * which are suitable for the translation of DOM elements.\n *\n * Returns a Promise resolving to an array of the translation strings.\n *\n * @example\n * ```js\n * docL10n.formatMessages([\n * {id: 'hello', args: { who: 'Mary' }},\n * {id: 'welcome'}\n * ]).then(console.log);\n *\n * // [\n * // { value: 'Hello, Mary!', attributes: null },\n * // {\n * // value: 'Welcome!',\n * // attributes: [ { name: \"title\", value: 'Hello' } ]\n * // }\n * // ]\n * ```\n *\n * @param {Array} keys\n * @returns {Promise>}\n * @private\n */\n formatMessages(keys) {\n return this.formatWithFallback(keys, messageFromBundle);\n }\n /**\n * Retrieve translations corresponding to the passed keys.\n *\n * A generalized version of `DOMLocalization.formatValue`. Keys must\n * be `{id, args}` objects.\n *\n * Returns a Promise resolving to an array of the translation strings.\n *\n * @example\n * ```js\n * docL10n.formatValues([\n * {id: 'hello', args: { who: 'Mary' }},\n * {id: 'hello', args: { who: 'John' }},\n * {id: 'welcome'}\n * ]).then(console.log);\n *\n * // ['Hello, Mary!', 'Hello, John!', 'Welcome!']\n * ```\n *\n * @param {Array} keys\n * @returns {Promise>}\n */\n formatValues(keys) {\n return this.formatWithFallback(keys, valueFromBundle);\n }\n /**\n * Retrieve the translation corresponding to the `id` identifier.\n *\n * If passed, `args` is a simple hash object with a list of variables that\n * will be interpolated in the value of the translation.\n *\n * Returns a Promise resolving to the translation string.\n *\n * Use this sparingly for one-off messages which don't need to be\n * retranslated when the user changes their language preferences, e.g. in\n * notifications.\n *\n * @example\n * ```js\n * docL10n.formatValue(\n * 'hello', { who: 'world' }\n * ).then(console.log);\n *\n * // 'Hello, world!'\n * ```\n *\n * @param {string} id - Identifier of the translation to format\n * @param {Object} [args] - Optional external arguments\n * @returns {Promise}\n */\n async formatValue(id, args) {\n const [val] = await this.formatValues([{ id, args }]);\n return val;\n }\n handleEvent() {\n this.onChange();\n }\n /**\n * This method should be called when there's a reason to believe\n * that language negotiation or available resources changed.\n */\n onChange(eager = false) {\n this.bundles = CachedAsyncIterable.from(this.generateBundles(this.resourceIds));\n if (eager) {\n this.bundles.touchNext(2);\n }\n }\n}\n/**\n * Format the value of a message into a string or `null`.\n *\n * This function is passed as a method to `keysFromBundle` and resolve\n * a value of a single L10n Entity using provided `FluentBundle`.\n *\n * If the message doesn't have a value, return `null`.\n *\n * @param {FluentBundle} bundle\n * @param {Array} errors\n * @param {Object} message\n * @param {Object} args\n * @returns {string|null}\n * @private\n */\nfunction valueFromBundle(bundle, errors, message, args) {\n if (message.value) {\n return bundle.formatPattern(message.value, args, errors);\n }\n return null;\n}\n/**\n * Format all public values of a message into a {value, attributes} object.\n *\n * This function is passed as a method to `keysFromBundle` and resolve\n * a single L10n Entity using provided `FluentBundle`.\n *\n * The function will return an object with a value and attributes of the\n * entity.\n *\n * @param {FluentBundle} bundle\n * @param {Array} errors\n * @param {Object} message\n * @param {Object} args\n * @returns {Object}\n * @private\n */\nfunction messageFromBundle(bundle, errors, message, args) {\n const formatted = {\n value: null,\n attributes: null,\n };\n if (message.value) {\n formatted.value = bundle.formatPattern(message.value, args, errors);\n }\n let attrNames = Object.keys(message.attributes);\n if (attrNames.length > 0) {\n formatted.attributes = new Array(attrNames.length);\n for (let [i, name] of attrNames.entries()) {\n let value = bundle.formatPattern(message.attributes[name], args, errors);\n formatted.attributes[i] = { name, value };\n }\n }\n return formatted;\n}\n/**\n * This function is an inner function for `Localization.formatWithFallback`.\n *\n * It takes a `FluentBundle`, list of l10n-ids and a method to be used for\n * key resolution (either `valueFromBundle` or `messageFromBundle`) and\n * optionally a value returned from `keysFromBundle` executed against\n * another `FluentBundle`.\n *\n * The idea here is that if the previous `FluentBundle` did not resolve\n * all keys, we're calling this function with the next context to resolve\n * the remaining ones.\n *\n * In the function, we loop over `keys` and check if we have the `prev`\n * passed and if it has an error entry for the position we're in.\n *\n * If it doesn't, it means that we have a good translation for this key and\n * we return it. If it does, we'll try to resolve the key using the passed\n * `FluentBundle`.\n *\n * In the end, we fill the translations array, and return the Set with\n * missing ids.\n *\n * See `Localization.formatWithFallback` for more info on how this is used.\n *\n * @param {Function} method\n * @param {FluentBundle} bundle\n * @param {Array} keys\n * @param {{Array<{value: string, attributes: Object}>}} translations\n *\n * @returns {Set}\n * @private\n */\nfunction keysFromBundle(method, bundle, keys, translations) {\n const messageErrors = [];\n const missingIds = new Set();\n keys.forEach(({ id, args }, i) => {\n if (translations[i] !== undefined) {\n return;\n }\n let message = bundle.getMessage(id);\n if (message) {\n messageErrors.length = 0;\n translations[i] = method(bundle, messageErrors, message, args);\n if (messageErrors.length > 0 && typeof console !== \"undefined\") {\n const locale = bundle.locales[0];\n const errors = messageErrors.join(\", \");\n // eslint-disable-next-line max-len\n console.warn(`[fluent][resolver] errors in ${locale}/${id}: ${errors}.`);\n }\n }\n else {\n missingIds.add(id);\n }\n });\n return missingIds;\n}\n","import translateElement from \"./overlay.js\";\nimport Localization from \"./localization.js\";\nconst L10NID_ATTR_NAME = \"data-l10n-id\";\nconst L10NARGS_ATTR_NAME = \"data-l10n-args\";\nconst L10N_ELEMENT_QUERY = `[${L10NID_ATTR_NAME}]`;\n/**\n * The `DOMLocalization` class is responsible for fetching resources and\n * formatting translations.\n *\n * It implements the fallback strategy in case of errors encountered during the\n * formatting of translations and methods for observing DOM\n * trees with a `MutationObserver`.\n */\nexport default class DOMLocalization extends Localization {\n /**\n * @param {Array} resourceIds - List of resource IDs\n * @param {Function} generateBundles - Function that returns a\n * generator over FluentBundles\n * @returns {DOMLocalization}\n */\n constructor(resourceIds, generateBundles) {\n super(resourceIds, generateBundles);\n // A Set of DOM trees observed by the `MutationObserver`.\n this.roots = new Set();\n // requestAnimationFrame handler.\n this.pendingrAF = null;\n // list of elements pending for translation.\n this.pendingElements = new Set();\n this.windowElement = null;\n this.mutationObserver = null;\n this.observerConfig = {\n attributes: true,\n characterData: false,\n childList: true,\n subtree: true,\n attributeFilter: [L10NID_ATTR_NAME, L10NARGS_ATTR_NAME],\n };\n }\n onChange(eager = false) {\n super.onChange(eager);\n if (this.roots) {\n this.translateRoots();\n }\n }\n /**\n * Set the `data-l10n-id` and `data-l10n-args` attributes on DOM elements.\n * FluentDOM makes use of mutation observers to detect changes\n * to `data-l10n-*` attributes and translate elements asynchronously.\n * `setAttributes` is a convenience method which allows to translate\n * DOM elements declaratively.\n *\n * You should always prefer to use `data-l10n-id` on elements (statically in\n * HTML or dynamically via `setAttributes`) over manually retrieving\n * translations with `format`. The use of attributes ensures that the\n * elements can be retranslated when the user changes their language\n * preferences.\n *\n * ```javascript\n * localization.setAttributes(\n * document.querySelector('#welcome'), 'hello', { who: 'world' }\n * );\n * ```\n *\n * This will set the following attributes on the `#welcome` element.\n * The MutationObserver will pick up this change and will localize the element\n * asynchronously.\n *\n * ```html\n *

    \n *

    \n * ```\n *\n * @param {Element} element - Element to set attributes on\n * @param {string} id - l10n-id string\n * @param {Object} args - KVP list of l10n arguments\n * @returns {Element}\n */\n setAttributes(element, id, args) {\n element.setAttribute(L10NID_ATTR_NAME, id);\n if (args) {\n element.setAttribute(L10NARGS_ATTR_NAME, JSON.stringify(args));\n }\n else {\n element.removeAttribute(L10NARGS_ATTR_NAME);\n }\n return element;\n }\n /**\n * Get the `data-l10n-*` attributes from DOM elements.\n *\n * ```javascript\n * localization.getAttributes(\n * document.querySelector('#welcome')\n * );\n * // -> { id: 'hello', args: { who: 'world' } }\n * ```\n *\n * @param {Element} element - HTML element\n * @returns {{id: string, args: Object}}\n */\n getAttributes(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null),\n };\n }\n /**\n * Add `newRoot` to the list of roots managed by this `DOMLocalization`.\n *\n * Additionally, if this `DOMLocalization` has an observer, start observing\n * `newRoot` in order to translate mutations in it.\n *\n * @param {Element} newRoot - Root to observe.\n */\n connectRoot(newRoot) {\n for (const root of this.roots) {\n if (root === newRoot ||\n root.contains(newRoot) ||\n newRoot.contains(root)) {\n throw new Error(\"Cannot add a root that overlaps with existing root.\");\n }\n }\n if (this.windowElement) {\n if (this.windowElement !== newRoot.ownerDocument.defaultView) {\n throw new Error(`Cannot connect a root:\n DOMLocalization already has a root from a different window.`);\n }\n }\n else {\n this.windowElement = newRoot.ownerDocument.defaultView;\n this.mutationObserver = new this.windowElement.MutationObserver(mutations => this.translateMutations(mutations));\n }\n this.roots.add(newRoot);\n this.mutationObserver.observe(newRoot, this.observerConfig);\n }\n /**\n * Remove `root` from the list of roots managed by this `DOMLocalization`.\n *\n * Additionally, if this `DOMLocalization` has an observer, stop observing\n * `root`.\n *\n * Returns `true` if the root was the last one managed by this\n * `DOMLocalization`.\n *\n * @param {Element} root - Root to disconnect.\n * @returns {boolean}\n */\n disconnectRoot(root) {\n this.roots.delete(root);\n // Pause the mutation observer to stop observing `root`.\n this.pauseObserving();\n if (this.roots.size === 0) {\n this.mutationObserver = null;\n this.windowElement = null;\n this.pendingrAF = null;\n this.pendingElements.clear();\n return true;\n }\n // Resume observing all other roots.\n this.resumeObserving();\n return false;\n }\n /**\n * Translate all roots associated with this `DOMLocalization`.\n *\n * @returns {Promise}\n */\n translateRoots() {\n const roots = Array.from(this.roots);\n return Promise.all(roots.map(root => this.translateFragment(root)));\n }\n /**\n * Pauses the `MutationObserver`.\n *\n * @private\n */\n pauseObserving() {\n if (!this.mutationObserver) {\n return;\n }\n this.translateMutations(this.mutationObserver.takeRecords());\n this.mutationObserver.disconnect();\n }\n /**\n * Resumes the `MutationObserver`.\n *\n * @private\n */\n resumeObserving() {\n if (!this.mutationObserver) {\n return;\n }\n for (const root of this.roots) {\n this.mutationObserver.observe(root, this.observerConfig);\n }\n }\n /**\n * Translate mutations detected by the `MutationObserver`.\n *\n * @private\n */\n translateMutations(mutations) {\n for (const mutation of mutations) {\n switch (mutation.type) {\n case \"attributes\":\n if (mutation.target.hasAttribute(\"data-l10n-id\")) {\n this.pendingElements.add(mutation.target);\n }\n break;\n case \"childList\":\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType === addedNode.ELEMENT_NODE) {\n if (addedNode.childElementCount) {\n for (const element of this.getTranslatables(addedNode)) {\n this.pendingElements.add(element);\n }\n }\n else if (addedNode.hasAttribute(L10NID_ATTR_NAME)) {\n this.pendingElements.add(addedNode);\n }\n }\n }\n break;\n }\n }\n // This fragment allows us to coalesce all pending translations\n // into a single requestAnimationFrame.\n if (this.pendingElements.size > 0) {\n if (this.pendingrAF === null) {\n this.pendingrAF = this.windowElement.requestAnimationFrame(() => {\n this.translateElements(Array.from(this.pendingElements));\n this.pendingElements.clear();\n this.pendingrAF = null;\n });\n }\n }\n }\n /**\n * Translate a DOM element or fragment asynchronously using this\n * `DOMLocalization` object.\n *\n * Manually trigger the translation (or re-translation) of a DOM fragment.\n * Use the `data-l10n-id` and `data-l10n-args` attributes to mark up the DOM\n * with information about which translations to use.\n *\n * Returns a `Promise` that gets resolved once the translation is complete.\n *\n * @param {DOMFragment} frag - Element or DocumentFragment to be translated\n * @returns {Promise}\n */\n translateFragment(frag) {\n return this.translateElements(this.getTranslatables(frag));\n }\n /**\n * Translate a list of DOM elements asynchronously using this\n * `DOMLocalization` object.\n *\n * Manually trigger the translation (or re-translation) of a list of elements.\n * Use the `data-l10n-id` and `data-l10n-args` attributes to mark up the DOM\n * with information about which translations to use.\n *\n * Returns a `Promise` that gets resolved once the translation is complete.\n *\n * @param {Array} elements - List of elements to be translated\n * @returns {Promise}\n */\n async translateElements(elements) {\n if (!elements.length) {\n return undefined;\n }\n const keys = elements.map(this.getKeysForElement);\n const translations = await this.formatMessages(keys);\n return this.applyTranslations(elements, translations);\n }\n /**\n * Applies translations onto elements.\n *\n * @param {Array} elements\n * @param {Array} translations\n * @private\n */\n applyTranslations(elements, translations) {\n this.pauseObserving();\n for (let i = 0; i < elements.length; i++) {\n if (translations[i] !== undefined) {\n translateElement(elements[i], translations[i]);\n }\n }\n this.resumeObserving();\n }\n /**\n * Collects all translatable child elements of the element.\n *\n * @param {Element} element\n * @returns {Array}\n * @private\n */\n getTranslatables(element) {\n const nodes = Array.from(element.querySelectorAll(L10N_ELEMENT_QUERY));\n if (typeof element.hasAttribute === \"function\" &&\n element.hasAttribute(L10NID_ATTR_NAME)) {\n nodes.push(element);\n }\n return nodes;\n }\n /**\n * Get the `data-l10n-*` attributes from DOM elements as a two-element\n * array.\n *\n * @param {Element} element\n * @returns {Object}\n * @private\n */\n getKeysForElement(element) {\n return {\n id: element.getAttribute(L10NID_ATTR_NAME),\n args: JSON.parse(element.getAttribute(L10NARGS_ATTR_NAME) || null),\n };\n }\n}\n","export { default as DOMLocalization } from \"./dom_localization.js\";\nexport { default as Localization } from \"./localization.js\";\n","/* Copyright 2023 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/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n\n/**\n * NOTE: The L10n-implementations should use lowercase language-codes\n * internally.\n * @implements {IL10n}\n */\nclass L10n {\n #dir;\n\n #lang;\n\n #l10n;\n\n constructor({ lang, isRTL }, l10n = null) {\n this.#lang = L10n.#fixupLangCode(lang);\n this.#l10n = l10n;\n this.#dir = isRTL ?? L10n.#isRTL(this.#lang) ? \"rtl\" : \"ltr\";\n }\n\n _setL10n(l10n) {\n this.#l10n = l10n;\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\")) {\n document.l10n = l10n;\n }\n }\n\n /** @inheritdoc */\n getLanguage() {\n return this.#lang;\n }\n\n /** @inheritdoc */\n getDirection() {\n return this.#dir;\n }\n\n /** @inheritdoc */\n async get(ids, args = null, fallback) {\n if (Array.isArray(ids)) {\n ids = ids.map(id => ({ id }));\n const messages = await this.#l10n.formatMessages(ids);\n return messages.map(message => message.value);\n }\n\n const messages = await this.#l10n.formatMessages([\n {\n id: ids,\n args,\n },\n ]);\n return messages?.[0].value || fallback;\n }\n\n /** @inheritdoc */\n async translate(element) {\n try {\n this.#l10n.connectRoot(element);\n await this.#l10n.translateRoots();\n } catch {\n // Element is under an existing root, so there is no need to add it again.\n }\n }\n\n /** @inheritdoc */\n pause() {\n this.#l10n.pauseObserving();\n }\n\n /** @inheritdoc */\n resume() {\n this.#l10n.resumeObserving();\n }\n\n static #fixupLangCode(langCode) {\n // Use only lowercase language-codes internally, and fallback to English.\n langCode = langCode?.toLowerCase() || \"en-us\";\n\n // Try to support \"incompletely\" specified language codes (see issue 13689).\n const PARTIAL_LANG_CODES = {\n en: \"en-us\",\n es: \"es-es\",\n fy: \"fy-nl\",\n ga: \"ga-ie\",\n gu: \"gu-in\",\n hi: \"hi-in\",\n hy: \"hy-am\",\n nb: \"nb-no\",\n ne: \"ne-np\",\n nn: \"nn-no\",\n pa: \"pa-in\",\n pt: \"pt-pt\",\n sv: \"sv-se\",\n zh: \"zh-cn\",\n };\n return PARTIAL_LANG_CODES[langCode] || langCode;\n }\n\n static #isRTL(lang) {\n const shortCode = lang.split(\"-\", 1)[0];\n return [\"ar\", \"he\", \"fa\", \"ps\", \"ur\"].includes(shortCode);\n }\n}\n\nconst GenericL10n = null;\n\nexport { GenericL10n, L10n };\n","/* 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\n/** @typedef {import(\"./interfaces\").IL10n} IL10n */\n\nimport { FluentBundle, FluentResource } from \"fluent-bundle\";\nimport { DOMLocalization } from \"fluent-dom\";\nimport { fetchData } from \"pdfjs-lib\";\nimport { L10n } from \"./l10n.js\";\n\nfunction createBundle(lang, text) {\n const resource = new FluentResource(text);\n const bundle = new FluentBundle(lang);\n const errors = bundle.addResource(resource);\n if (errors.length) {\n console.error(\"L10n errors\", errors);\n }\n return bundle;\n}\n\n/**\n * @implements {IL10n}\n */\nclass GenericL10n extends L10n {\n constructor(lang) {\n super({ lang });\n\n const generateBundles = !lang\n ? GenericL10n.#generateBundlesFallback.bind(\n GenericL10n,\n this.getLanguage()\n )\n : GenericL10n.#generateBundles.bind(\n GenericL10n,\n \"en-us\",\n this.getLanguage()\n );\n this._setL10n(new DOMLocalization([], generateBundles));\n }\n\n /**\n * Generate the bundles for Fluent.\n * @param {String} defaultLang - The fallback language to use for\n * translations.\n * @param {String} baseLang - The base language to use for translations.\n */\n static async *#generateBundles(defaultLang, baseLang) {\n const { baseURL, paths } = await this.#getPaths();\n\n const langs = [baseLang];\n if (defaultLang !== baseLang) {\n // Also fallback to the short-format of the base language\n // (see issue 17269).\n const shortLang = baseLang.split(\"-\", 1)[0];\n\n if (shortLang !== baseLang) {\n langs.push(shortLang);\n }\n langs.push(defaultLang);\n }\n for (const lang of langs) {\n const bundle = await this.#createBundle(lang, baseURL, paths);\n if (bundle) {\n yield bundle;\n }\n if (lang === \"en-us\") {\n yield this.#createBundleFallback(lang);\n }\n }\n }\n\n static async #createBundle(lang, baseURL, paths) {\n const path = paths[lang];\n if (!path) {\n return null;\n }\n const url = new URL(path, baseURL);\n const text = await fetchData(url, /* type = */ \"text\");\n\n return createBundle(lang, text);\n }\n\n static async #getPaths() {\n try {\n const { href } = document.querySelector(`link[type=\"application/l10n\"]`);\n const paths = await fetchData(href, /* type = */ \"json\");\n\n return { baseURL: href.replace(/[^/]*$/, \"\") || \"./\", paths };\n } catch {}\n return { baseURL: \"./\", paths: Object.create(null) };\n }\n\n static async *#generateBundlesFallback(lang) {\n yield this.#createBundleFallback(lang);\n }\n\n static async #createBundleFallback(lang) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\")) {\n throw new Error(\"Not implemented: #createBundleFallback\");\n }\n const text =\n typeof PDFJSDev === \"undefined\"\n ? await fetchData(\n new URL(\"../l10n/en-US/viewer.ftl\", window.location.href),\n /* type = */ \"text\"\n )\n : PDFJSDev.eval(\"DEFAULT_FTL\");\n\n return createBundle(lang, text);\n }\n}\n\nexport { GenericL10n };\n","/* Copyright 2020 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 { getPdfFilenameFromUrl } from \"pdfjs-lib\";\n\nasync function docProperties(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\", 1)[0];\n // eslint-disable-next-line prefer-const\n let { info, metadata, contentDispositionFilename, contentLength } =\n await pdfDocument.getMetadata();\n\n if (!contentLength) {\n const { length } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n\n return {\n ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || getPdfFilenameFromUrl(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url,\n };\n}\n\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = new Promise((resolve, reject) => {\n const sandbox =\n typeof PDFJSDev === \"undefined\"\n ? import(sandboxBundleSrc) // eslint-disable-line no-unsanitized/method\n : __non_webpack_import__(sandboxBundleSrc);\n sandbox\n .then(pdfjsSandbox => {\n resolve(pdfjsSandbox.QuickJSSandbox());\n })\n .catch(reject);\n });\n }\n\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n}\n\nexport { docProperties, GenericScripting };\n","/* 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 { AppOptions } from \"./app_options.js\";\nimport { BaseExternalServices } from \"./external_services.js\";\nimport { BasePreferences } from \"./preferences.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\nfunction initCom(app) {}\n\nclass Preferences extends BasePreferences {\n async _writeToStorage(prefObj) {\n localStorage.setItem(\"pdfjs.preferences\", JSON.stringify(prefObj));\n }\n\n async _readFromStorage(prefObj) {\n return { prefs: JSON.parse(localStorage.getItem(\"pdfjs.preferences\")) };\n }\n}\n\nclass ExternalServices extends BaseExternalServices {\n async createL10n() {\n return new GenericL10n(AppOptions.get(\"locale\"));\n }\n\n createScripting() {\n return new GenericScripting(AppOptions.get(\"sandboxBundleSrc\"));\n }\n}\n\nclass MLManager {\n async guess() {\n return null;\n }\n}\n\nexport { ExternalServices, initCom, MLManager, Preferences };\n","/* Copyright 2023 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 { DOMSVGFactory, shadow } from \"pdfjs-lib\";\n\nclass AltTextManager {\n #boundUpdateUIState = this.#updateUIState.bind(this);\n\n #boundSetPosition = this.#setPosition.bind(this);\n\n #boundOnClick = this.#onClick.bind(this);\n\n #currentEditor = null;\n\n #cancelButton;\n\n #dialog;\n\n #eventBus;\n\n #hasUsedPointer = false;\n\n #optionDescription;\n\n #optionDecorative;\n\n #overlayManager;\n\n #saveButton;\n\n #textarea;\n\n #uiManager;\n\n #previousAltText = null;\n\n #svgElement = null;\n\n #rectElement = null;\n\n #container;\n\n #telemetryData = null;\n\n constructor(\n {\n dialog,\n optionDescription,\n optionDecorative,\n textarea,\n cancelButton,\n saveButton,\n },\n container,\n overlayManager,\n eventBus\n ) {\n this.#dialog = dialog;\n this.#optionDescription = optionDescription;\n this.#optionDecorative = optionDecorative;\n this.#textarea = textarea;\n this.#cancelButton = cancelButton;\n this.#saveButton = saveButton;\n this.#overlayManager = overlayManager;\n this.#eventBus = eventBus;\n this.#container = container;\n\n dialog.addEventListener(\"close\", this.#close.bind(this));\n dialog.addEventListener(\"contextmenu\", event => {\n if (event.target !== this.#textarea) {\n event.preventDefault();\n }\n });\n cancelButton.addEventListener(\"click\", this.#finish.bind(this));\n saveButton.addEventListener(\"click\", this.#save.bind(this));\n optionDescription.addEventListener(\"change\", this.#boundUpdateUIState);\n optionDecorative.addEventListener(\"change\", this.#boundUpdateUIState);\n\n this.#overlayManager.register(dialog);\n }\n\n get _elements() {\n return shadow(this, \"_elements\", [\n this.#optionDescription,\n this.#optionDecorative,\n this.#textarea,\n this.#saveButton,\n this.#cancelButton,\n ]);\n }\n\n #createSVGElement() {\n if (this.#svgElement) {\n return;\n }\n\n // We create a mask to add to the dialog backdrop: the idea is to have a\n // darken background everywhere except on the editor to clearly see the\n // picture to describe.\n\n const svgFactory = new DOMSVGFactory();\n const svg = (this.#svgElement = svgFactory.createElement(\"svg\"));\n svg.setAttribute(\"width\", \"0\");\n svg.setAttribute(\"height\", \"0\");\n const defs = svgFactory.createElement(\"defs\");\n svg.append(defs);\n const mask = svgFactory.createElement(\"mask\");\n defs.append(mask);\n mask.setAttribute(\"id\", \"alttext-manager-mask\");\n mask.setAttribute(\"maskContentUnits\", \"objectBoundingBox\");\n let rect = svgFactory.createElement(\"rect\");\n mask.append(rect);\n rect.setAttribute(\"fill\", \"white\");\n rect.setAttribute(\"width\", \"1\");\n rect.setAttribute(\"height\", \"1\");\n rect.setAttribute(\"x\", \"0\");\n rect.setAttribute(\"y\", \"0\");\n\n rect = this.#rectElement = svgFactory.createElement(\"rect\");\n mask.append(rect);\n rect.setAttribute(\"fill\", \"black\");\n this.#dialog.append(svg);\n }\n\n async editAltText(uiManager, editor) {\n if (this.#currentEditor || !editor) {\n return;\n }\n\n this.#createSVGElement();\n\n this.#hasUsedPointer = false;\n for (const element of this._elements) {\n element.addEventListener(\"click\", this.#boundOnClick);\n }\n\n const { altText, decorative } = editor.altTextData;\n if (decorative === true) {\n this.#optionDecorative.checked = true;\n this.#optionDescription.checked = false;\n } else {\n this.#optionDecorative.checked = false;\n this.#optionDescription.checked = true;\n }\n this.#previousAltText = this.#textarea.value = altText?.trim() || \"\";\n this.#updateUIState();\n\n this.#currentEditor = editor;\n this.#uiManager = uiManager;\n this.#uiManager.removeEditListeners();\n this.#eventBus._on(\"resize\", this.#boundSetPosition);\n\n try {\n await this.#overlayManager.open(this.#dialog);\n this.#setPosition();\n } catch (ex) {\n this.#close();\n throw ex;\n }\n }\n\n #setPosition() {\n if (!this.#currentEditor) {\n return;\n }\n const dialog = this.#dialog;\n const { style } = dialog;\n const {\n x: containerX,\n y: containerY,\n width: containerW,\n height: containerH,\n } = this.#container.getBoundingClientRect();\n const { innerWidth: windowW, innerHeight: windowH } = window;\n const { width: dialogW, height: dialogH } = dialog.getBoundingClientRect();\n const { x, y, width, height } = this.#currentEditor.getClientDimensions();\n const MARGIN = 10;\n const isLTR = this.#uiManager.direction === \"ltr\";\n\n const xs = Math.max(x, containerX);\n const xe = Math.min(x + width, containerX + containerW);\n const ys = Math.max(y, containerY);\n const ye = Math.min(y + height, containerY + containerH);\n this.#rectElement.setAttribute(\"width\", `${(xe - xs) / windowW}`);\n this.#rectElement.setAttribute(\"height\", `${(ye - ys) / windowH}`);\n this.#rectElement.setAttribute(\"x\", `${xs / windowW}`);\n this.#rectElement.setAttribute(\"y\", `${ys / windowH}`);\n\n let left = null;\n let top = Math.max(y, 0);\n top += Math.min(windowH - (top + dialogH), 0);\n\n if (isLTR) {\n // Prefer to position the dialog \"after\" (so on the right) the editor.\n if (x + width + MARGIN + dialogW < windowW) {\n left = x + width + MARGIN;\n } else if (x > dialogW + MARGIN) {\n left = x - dialogW - MARGIN;\n }\n } else if (x > dialogW + MARGIN) {\n left = x - dialogW - MARGIN;\n } else if (x + width + MARGIN + dialogW < windowW) {\n left = x + width + MARGIN;\n }\n\n if (left === null) {\n top = null;\n left = Math.max(x, 0);\n left += Math.min(windowW - (left + dialogW), 0);\n if (y > dialogH + MARGIN) {\n top = y - dialogH - MARGIN;\n } else if (y + height + MARGIN + dialogH < windowH) {\n top = y + height + MARGIN;\n }\n }\n\n if (top !== null) {\n dialog.classList.add(\"positioned\");\n if (isLTR) {\n style.left = `${left}px`;\n } else {\n style.right = `${windowW - left - dialogW}px`;\n }\n style.top = `${top}px`;\n } else {\n dialog.classList.remove(\"positioned\");\n style.left = \"\";\n style.top = \"\";\n }\n }\n\n #finish() {\n if (this.#overlayManager.active === this.#dialog) {\n this.#overlayManager.close(this.#dialog);\n }\n }\n\n #close() {\n this.#currentEditor._reportTelemetry(\n this.#telemetryData || {\n action: \"alt_text_cancel\",\n alt_text_keyboard: !this.#hasUsedPointer,\n }\n );\n this.#telemetryData = null;\n\n this.#removeOnClickListeners();\n this.#uiManager?.addEditListeners();\n this.#eventBus._off(\"resize\", this.#boundSetPosition);\n this.#currentEditor.altTextFinish();\n this.#currentEditor = null;\n this.#uiManager = null;\n }\n\n #updateUIState() {\n this.#textarea.disabled = this.#optionDecorative.checked;\n }\n\n #save() {\n const altText = this.#textarea.value.trim();\n const decorative = this.#optionDecorative.checked;\n this.#currentEditor.altTextData = {\n altText,\n decorative,\n };\n this.#telemetryData = {\n action: \"alt_text_save\",\n alt_text_description: !!altText,\n alt_text_edit:\n !!this.#previousAltText && this.#previousAltText !== altText,\n alt_text_decorative: decorative,\n alt_text_keyboard: !this.#hasUsedPointer,\n };\n this.#finish();\n }\n\n #onClick(evt) {\n if (evt.detail === 0) {\n return; // The keyboard was used.\n }\n this.#hasUsedPointer = true;\n this.#removeOnClickListeners();\n }\n\n #removeOnClickListeners() {\n for (const element of this._elements) {\n element.removeEventListener(\"click\", this.#boundOnClick);\n }\n }\n\n destroy() {\n this.#uiManager = null; // Avoid re-adding the edit listeners.\n this.#finish();\n this.#svgElement?.remove();\n this.#svgElement = this.#rectElement = null;\n }\n}\n\nexport { AltTextManager };\n","/* Copyright 2022 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/** @typedef {import(\"./event_utils.js\").EventBus} EventBus */\n\nimport { AnnotationEditorParamsType } from \"pdfjs-lib\";\n\n/**\n * @typedef {Object} AnnotationEditorParamsOptions\n * @property {HTMLInputElement} editorFreeTextFontSize\n * @property {HTMLInputElement} editorFreeTextColor\n * @property {HTMLInputElement} editorInkColor\n * @property {HTMLInputElement} editorInkThickness\n * @property {HTMLInputElement} editorInkOpacity\n * @property {HTMLButtonElement} editorStampAddImage\n * @property {HTMLInputElement} editorFreeHighlightThickness\n * @property {HTMLButtonElement} editorHighlightShowAll\n */\n\nclass AnnotationEditorParams {\n /**\n * @param {AnnotationEditorParamsOptions} options\n * @param {EventBus} eventBus\n */\n constructor(options, eventBus) {\n this.eventBus = eventBus;\n this.#bindListeners(options);\n }\n\n /**\n * @param {AnnotationEditorParamsOptions} options\n */\n #bindListeners({\n editorFreeTextFontSize,\n editorFreeTextColor,\n editorInkColor,\n editorInkThickness,\n editorInkOpacity,\n editorStampAddImage,\n editorFreeHighlightThickness,\n editorHighlightShowAll,\n }) {\n const dispatchEvent = (typeStr, value) => {\n this.eventBus.dispatch(\"switchannotationeditorparams\", {\n source: this,\n type: AnnotationEditorParamsType[typeStr],\n value,\n });\n };\n editorFreeTextFontSize.addEventListener(\"input\", function () {\n dispatchEvent(\"FREETEXT_SIZE\", this.valueAsNumber);\n });\n editorFreeTextColor.addEventListener(\"input\", function () {\n dispatchEvent(\"FREETEXT_COLOR\", this.value);\n });\n editorInkColor.addEventListener(\"input\", function () {\n dispatchEvent(\"INK_COLOR\", this.value);\n });\n editorInkThickness.addEventListener(\"input\", function () {\n dispatchEvent(\"INK_THICKNESS\", this.valueAsNumber);\n });\n editorInkOpacity.addEventListener(\"input\", function () {\n dispatchEvent(\"INK_OPACITY\", this.valueAsNumber);\n });\n editorStampAddImage.addEventListener(\"click\", () => {\n dispatchEvent(\"CREATE\");\n });\n editorFreeHighlightThickness.addEventListener(\"input\", function () {\n dispatchEvent(\"HIGHLIGHT_THICKNESS\", this.valueAsNumber);\n });\n editorHighlightShowAll.addEventListener(\"click\", function () {\n const checked = this.getAttribute(\"aria-pressed\") === \"true\";\n this.setAttribute(\"aria-pressed\", !checked);\n dispatchEvent(\"HIGHLIGHT_SHOW_ALL\", !checked);\n });\n\n this.eventBus._on(\"annotationeditorparamschanged\", evt => {\n for (const [type, value] of evt.details) {\n switch (type) {\n case AnnotationEditorParamsType.FREETEXT_SIZE:\n editorFreeTextFontSize.value = value;\n break;\n case AnnotationEditorParamsType.FREETEXT_COLOR:\n editorFreeTextColor.value = value;\n break;\n case AnnotationEditorParamsType.INK_COLOR:\n editorInkColor.value = value;\n break;\n case AnnotationEditorParamsType.INK_THICKNESS:\n editorInkThickness.value = value;\n break;\n case AnnotationEditorParamsType.INK_OPACITY:\n editorInkOpacity.value = value;\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_THICKNESS:\n editorFreeHighlightThickness.value = value;\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_FREE:\n editorFreeHighlightThickness.disabled = !value;\n break;\n case AnnotationEditorParamsType.HIGHLIGHT_SHOW_ALL:\n editorHighlightShowAll.setAttribute(\"aria-pressed\", value);\n break;\n }\n }\n });\n }\n}\n\nexport { AnnotationEditorParams };\n","/* Copyright 2024 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// Used to compare floats: there is no exact equality due to rounding errors.\nconst PRECISION = 1e-1;\n\nclass CaretBrowsingMode {\n #mainContainer;\n\n #toolBarHeight;\n\n #viewerContainer;\n\n constructor(mainContainer, viewerContainer, toolbarContainer) {\n this.#mainContainer = mainContainer;\n this.#viewerContainer = viewerContainer;\n this.#toolBarHeight = toolbarContainer?.getBoundingClientRect().height ?? 0;\n }\n\n /**\n * Return true if the two rectangles are on the same line.\n * @param {DOMRect} rect1\n * @param {DOMRect} rect2\n * @returns {boolean}\n */\n #isOnSameLine(rect1, rect2) {\n const top1 = rect1.y;\n const bot1 = rect1.bottom;\n const mid1 = rect1.y + rect1.height / 2;\n\n const top2 = rect2.y;\n const bot2 = rect2.bottom;\n const mid2 = rect2.y + rect2.height / 2;\n\n return (top1 <= mid2 && mid2 <= bot1) || (top2 <= mid1 && mid1 <= bot2);\n }\n\n /**\n * Return `true` if the rectangle is:\n * - under the caret when `isUp === false`.\n * - over the caret when `isUp === true`.\n * @param {DOMRect} rect\n * @param {number} x\n * @param {number} y\n * @param {boolean} isUp\n * @returns {boolean}\n */\n #isUnderOver(rect, x, y, isUp) {\n const midY = rect.y + rect.height / 2;\n return (\n (isUp ? y >= midY : y <= midY) &&\n rect.x - PRECISION <= x &&\n x <= rect.right + PRECISION\n );\n }\n\n /**\n * Check if the rectangle is visible.\n * @param {DOMRect} rect\n * @returns {boolean}\n */\n #isVisible(rect) {\n return (\n rect.top >= this.#toolBarHeight &&\n rect.left >= 0 &&\n rect.bottom <=\n (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n }\n\n /**\n * Get the position of the caret.\n * @param {Selection} selection\n * @param {boolean} isUp\n * @returns {Array}\n */\n #getCaretPosition(selection, isUp) {\n const { focusNode, focusOffset } = selection;\n const range = document.createRange();\n range.setStart(focusNode, focusOffset);\n range.setEnd(focusNode, focusOffset);\n const rect = range.getBoundingClientRect();\n\n return [rect.x, isUp ? rect.top : rect.bottom];\n }\n\n static #caretPositionFromPoint(x, y) {\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"MOZCENTRAL\")) &&\n !document.caretPositionFromPoint\n ) {\n const { startContainer: offsetNode, startOffset: offset } =\n document.caretRangeFromPoint(x, y);\n return { offsetNode, offset };\n }\n return document.caretPositionFromPoint(x, y);\n }\n\n #setCaretPositionHelper(selection, caretX, select, element, rect) {\n rect ||= element.getBoundingClientRect();\n if (caretX <= rect.x + PRECISION) {\n if (select) {\n selection.extend(element.firstChild, 0);\n } else {\n selection.setPosition(element.firstChild, 0);\n }\n return;\n }\n if (rect.right - PRECISION <= caretX) {\n const { lastChild } = element;\n if (select) {\n selection.extend(lastChild, lastChild.length);\n } else {\n selection.setPosition(lastChild, lastChild.length);\n }\n return;\n }\n\n const midY = rect.y + rect.height / 2;\n let caretPosition = CaretBrowsingMode.#caretPositionFromPoint(caretX, midY);\n let parentElement = caretPosition.offsetNode?.parentElement;\n if (parentElement && parentElement !== element) {\n // There is an element on top of the one in the text layer, so we\n // need to hide all the elements (except the one in the text layer)\n // at this position in order to get the correct caret position.\n const elementsAtPoint = document.elementsFromPoint(caretX, midY);\n const savedVisibilities = [];\n for (const el of elementsAtPoint) {\n if (el === element) {\n break;\n }\n const { style } = el;\n savedVisibilities.push([el, style.visibility]);\n style.visibility = \"hidden\";\n }\n caretPosition = CaretBrowsingMode.#caretPositionFromPoint(caretX, midY);\n parentElement = caretPosition.offsetNode?.parentElement;\n for (const [el, visibility] of savedVisibilities) {\n el.style.visibility = visibility;\n }\n }\n if (parentElement !== element) {\n // The element targeted by caretPositionFromPoint isn't in the text\n // layer.\n if (select) {\n selection.extend(element.firstChild, 0);\n } else {\n selection.setPosition(element.firstChild, 0);\n }\n return;\n }\n if (select) {\n selection.extend(caretPosition.offsetNode, caretPosition.offset);\n } else {\n selection.setPosition(caretPosition.offsetNode, caretPosition.offset);\n }\n }\n\n /**\n * Set the caret position or extend the selection (it depends on the select\n * parameter).\n * @param {boolean} select\n * @param {Selection} selection\n * @param {Element} newLineElement\n * @param {DOMRect} newLineElementRect\n * @param {number} caretX\n */\n #setCaretPosition(\n select,\n selection,\n newLineElement,\n newLineElementRect,\n caretX\n ) {\n if (this.#isVisible(newLineElementRect)) {\n this.#setCaretPositionHelper(\n selection,\n caretX,\n select,\n newLineElement,\n newLineElementRect\n );\n return;\n }\n this.#mainContainer.addEventListener(\n \"scrollend\",\n this.#setCaretPositionHelper.bind(\n this,\n selection,\n caretX,\n select,\n newLineElement,\n null\n ),\n { once: true }\n );\n newLineElement.scrollIntoView();\n }\n\n /**\n * Get the node on the next page.\n * @param {Element} textLayer\n * @param {boolean} isUp\n * @returns {Node}\n */\n #getNodeOnNextPage(textLayer, isUp) {\n while (true) {\n const page = textLayer.closest(\".page\");\n const pageNumber = parseInt(page.getAttribute(\"data-page-number\"));\n const nextPage = isUp ? pageNumber - 1 : pageNumber + 1;\n textLayer = this.#viewerContainer.querySelector(\n `.page[data-page-number=\"${nextPage}\"] .textLayer`\n );\n if (!textLayer) {\n return null;\n }\n const walker = document.createTreeWalker(textLayer, NodeFilter.SHOW_TEXT);\n const node = isUp ? walker.lastChild() : walker.firstChild();\n if (node) {\n return node;\n }\n }\n }\n\n /**\n * Move the caret in the given direction.\n * @param {boolean} isUp\n * @param {boolean} select\n */\n moveCaret(isUp, select) {\n const selection = document.getSelection();\n if (selection.rangeCount === 0) {\n return;\n }\n const { focusNode } = selection;\n const focusElement =\n focusNode.nodeType !== Node.ELEMENT_NODE\n ? focusNode.parentElement\n : focusNode;\n const root = focusElement.closest(\".textLayer\");\n if (!root) {\n return;\n }\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT);\n walker.currentNode = focusNode;\n\n // Move to the next element which is not on the same line as the focus\n // element.\n const focusRect = focusElement.getBoundingClientRect();\n let newLineElement = null;\n const nodeIterator = (\n isUp ? walker.previousSibling : walker.nextSibling\n ).bind(walker);\n while (nodeIterator()) {\n const element = walker.currentNode.parentElement;\n if (!this.#isOnSameLine(focusRect, element.getBoundingClientRect())) {\n newLineElement = element;\n break;\n }\n }\n\n if (!newLineElement) {\n // Need to find the next line on the next page.\n const node = this.#getNodeOnNextPage(root, isUp);\n if (!node) {\n return;\n }\n if (select) {\n const lastNode =\n (isUp ? walker.firstChild() : walker.lastChild()) || focusNode;\n selection.extend(lastNode, isUp ? 0 : lastNode.length);\n const range = document.createRange();\n range.setStart(node, isUp ? node.length : 0);\n range.setEnd(node, isUp ? node.length : 0);\n selection.addRange(range);\n return;\n }\n const [caretX] = this.#getCaretPosition(selection, isUp);\n const { parentElement } = node;\n this.#setCaretPosition(\n select,\n selection,\n parentElement,\n parentElement.getBoundingClientRect(),\n caretX\n );\n return;\n }\n\n // We've a candidate for the next line now we want to find the first element\n // which is under/over the caret.\n const [caretX, caretY] = this.#getCaretPosition(selection, isUp);\n const newLineElementRect = newLineElement.getBoundingClientRect();\n\n // Maybe the element on the new line is a valid candidate.\n if (this.#isUnderOver(newLineElementRect, caretX, caretY, isUp)) {\n this.#setCaretPosition(\n select,\n selection,\n newLineElement,\n newLineElementRect,\n caretX\n );\n return;\n }\n\n while (nodeIterator()) {\n // Search an element on the same line as newLineElement\n // which could be under/over the caret.\n const element = walker.currentNode.parentElement;\n const elementRect = element.getBoundingClientRect();\n if (!this.#isOnSameLine(newLineElementRect, elementRect)) {\n break;\n }\n if (this.#isUnderOver(elementRect, caretX, caretY, isUp)) {\n // We found the element.\n this.#setCaretPosition(select, selection, element, elementRect, caretX);\n return;\n }\n }\n\n // No element has been found so just put the caret on the element on the new\n // line.\n this.#setCaretPosition(\n select,\n selection,\n newLineElement,\n newLineElementRect,\n caretX\n );\n }\n}\n\nexport { CaretBrowsingMode };\n","/* Copyright 2013 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/** @typedef {import(\"./interfaces\").IDownloadManager} IDownloadManager */\n\nimport { createValidAbsoluteUrl, isPdfFile } from \"pdfjs-lib\";\n\nif (typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"CHROME || GENERIC\")) {\n throw new Error(\n 'Module \"pdfjs-web/download_manager\" shall not be used ' +\n \"outside CHROME and GENERIC builds.\"\n );\n}\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n a.href = blobUrl;\n a.target = \"_parent\";\n // Use a.download if available. This increases the likelihood that\n // the file is downloaded instead of opened by another PDF plugin.\n if (\"download\" in a) {\n a.download = filename;\n }\n // must be in the document for recent Firefox versions,\n // otherwise .click() is ignored.\n (document.body || document.documentElement).append(a);\n a.click();\n a.remove();\n}\n\n/**\n * @implements {IDownloadManager}\n */\nclass DownloadManager {\n #openBlobUrls = new WeakMap();\n\n downloadUrl(url, filename, _options) {\n if (!createValidAbsoluteUrl(url, \"http://example.com\")) {\n console.error(`downloadUrl - not a valid URL: ${url}`);\n return; // restricted/invalid URL\n }\n download(url + \"#pdfjs.action=download\", filename);\n }\n\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(\n new Blob([data], { type: contentType })\n );\n download(blobUrl, filename);\n }\n\n /**\n * @returns {boolean} Indicating if the data was opened.\n */\n openOrDownloadData(data, filename, dest = null) {\n const isPdfData = isPdfFile(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n\n if (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"COMPONENTS\")) &&\n isPdfData\n ) {\n let blobUrl = this.#openBlobUrls.get(data);\n if (!blobUrl) {\n blobUrl = URL.createObjectURL(new Blob([data], { type: contentType }));\n this.#openBlobUrls.set(data, blobUrl);\n }\n let viewerUrl;\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n // The current URL is the viewer, let's use it and append the file.\n viewerUrl = \"?file=\" + encodeURIComponent(blobUrl + \"#\" + filename);\n } else if (PDFJSDev.test(\"CHROME\")) {\n // In the Chrome extension, the URL is rewritten using the history API\n // in viewer.js, so an absolute URL must be generated.\n viewerUrl =\n // eslint-disable-next-line no-undef\n chrome.runtime.getURL(\"/content/web/viewer.html\") +\n \"?file=\" +\n encodeURIComponent(blobUrl + \"#\" + filename);\n }\n if (dest) {\n viewerUrl += `#${escape(dest)}`;\n }\n\n try {\n window.open(viewerUrl);\n return true;\n } catch (ex) {\n console.error(`openOrDownloadData: ${ex}`);\n // Release the `blobUrl`, since opening it failed, and fallback to\n // downloading the PDF file.\n URL.revokeObjectURL(blobUrl);\n this.#openBlobUrls.delete(data);\n }\n }\n\n this.downloadData(data, filename, contentType);\n return false;\n }\n\n download(blob, url, filename, _options) {\n const blobUrl = URL.createObjectURL(blob);\n download(blobUrl, filename);\n }\n}\n\nexport { DownloadManager };\n","/* Copyright 2014 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\nclass OverlayManager {\n #overlays = new WeakMap();\n\n #active = null;\n\n get active() {\n return this.#active;\n }\n\n /**\n * @param {HTMLDialogElement} dialog - The overlay's DOM element.\n * @param {boolean} [canForceClose] - Indicates if opening the overlay closes\n * an active overlay. The default is `false`.\n * @returns {Promise} A promise that is resolved when the overlay has been\n * registered.\n */\n async register(dialog, canForceClose = false) {\n if (typeof dialog !== \"object\") {\n throw new Error(\"Not enough parameters.\");\n } else if (this.#overlays.has(dialog)) {\n throw new Error(\"The overlay is already registered.\");\n }\n this.#overlays.set(dialog, { canForceClose });\n\n dialog.addEventListener(\"cancel\", evt => {\n this.#active = null;\n });\n }\n\n /**\n * @param {HTMLDialogElement} dialog - The overlay's DOM element.\n * @returns {Promise} A promise that is resolved when the overlay has been\n * opened.\n */\n async open(dialog) {\n if (!this.#overlays.has(dialog)) {\n throw new Error(\"The overlay does not exist.\");\n } else if (this.#active) {\n if (this.#active === dialog) {\n throw new Error(\"The overlay is already active.\");\n } else if (this.#overlays.get(dialog).canForceClose) {\n await this.close();\n } else {\n throw new Error(\"Another overlay is currently active.\");\n }\n }\n this.#active = dialog;\n dialog.showModal();\n }\n\n /**\n * @param {HTMLDialogElement} dialog - The overlay's DOM element.\n * @returns {Promise} A promise that is resolved when the overlay has been\n * closed.\n */\n async close(dialog = this.#active) {\n if (!this.#overlays.has(dialog)) {\n throw new Error(\"The overlay does not exist.\");\n } else if (!this.#active) {\n throw new Error(\"The overlay is currently not active.\");\n } else if (this.#active !== dialog) {\n throw new Error(\"Another overlay is currently active.\");\n }\n dialog.close();\n this.#active = null;\n }\n}\n\nexport { OverlayManager };\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/** @typedef {import(\"./overlay_manager.js\").OverlayManager} OverlayManager */\n\nimport { PasswordResponses } from \"pdfjs-lib\";\n\n/**\n * @typedef {Object} PasswordPromptOptions\n * @property {HTMLDialogElement} dialog - The overlay's DOM element.\n * @property {HTMLParagraphElement} label - Label containing instructions for\n * entering the password.\n * @property {HTMLInputElement} input - Input field for entering the password.\n * @property {HTMLButtonElement} submitButton - Button for submitting the\n * password.\n * @property {HTMLButtonElement} cancelButton - Button for cancelling password\n * entry.\n */\n\nclass PasswordPrompt {\n #activeCapability = null;\n\n #updateCallback = null;\n\n #reason = null;\n\n /**\n * @param {PasswordPromptOptions} options\n * @param {OverlayManager} overlayManager - Manager for the viewer overlays.\n * @param {boolean} [isViewerEmbedded] - If the viewer is embedded, in e.g.\n * an

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 HCn^B|5mdQJ literal 0 HcmV?d00001 diff --git a/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap b/src/main/resources/static/pdfjs-legacy/cmaps/UniCNS-UTF32-V.bcmap new file mode 100644 index 0000000000000000000000000000000000000000..ad14662e25e7a4e3bd7f543c126ac24417bc3665 GIT binary patch literal 160 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