@clickview/streamable-learning 0.34.1-dev.2 → 0.35.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +2 -2
- package/dist/css/103-streamable-learning-5060b6cda5.chunk.css +7 -0
- package/dist/css/1269-streamable-learning-a12c4ebc99.chunk.css +2 -0
- package/dist/css/1457-streamable-learning-c8c8b3b9b1.chunk.css +50 -0
- package/dist/css/2334-streamable-learning-de03ae073a.chunk.css +2 -0
- package/dist/css/3322-streamable-learning-510e1aa3f3.chunk.css +34 -0
- package/dist/css/3838-streamable-learning-da10685fe8.chunk.css +22 -0
- package/dist/css/4254-streamable-learning-e493f4a027.chunk.css +2 -0
- package/dist/css/4607-streamable-learning-2605302fc2.chunk.css +90 -0
- package/dist/css/4772-streamable-learning-f83b838d71.chunk.css +9 -0
- package/dist/css/5003-streamable-learning-b38d2ddbbe.chunk.css +98 -0
- package/dist/css/5565-streamable-learning-0caae3809b.chunk.css +13 -0
- package/dist/css/6017-streamable-learning-098a205d01.chunk.css +6 -0
- package/dist/css/6356-streamable-learning-8c5b220bf6.chunk.css +1 -0
- package/dist/css/6987-streamable-learning-8f682301c6.chunk.css +1 -0
- package/dist/css/7317-streamable-learning-b5d226bbb6.chunk.css +5 -0
- package/dist/css/8058-streamable-learning-539cf7be18.chunk.css +12 -0
- package/dist/css/8294-streamable-learning-c797263ac2.chunk.css +1 -0
- package/dist/css/8496-streamable-learning-ce19f6ca52.chunk.css +13 -0
- package/dist/css/8601-streamable-learning-f525210660.chunk.css +6 -0
- package/dist/css/9514-streamable-learning-251703c6d1.chunk.css +2 -0
- package/dist/css/9766-streamable-learning-31650ffe5d.chunk.css +8 -0
- package/dist/css/9842-streamable-learning-24729103f7.chunk.css +4 -0
- package/dist/css/9899-streamable-learning-0338f8d2dc.chunk.css +4 -0
- package/dist/css/streamable-learning-dd0c1095d5.css +23 -0
- package/dist/languages/en.json +1 -0
- package/dist/scripts/103-aceced8961-streamable-learning.chunk.js +1 -0
- package/dist/scripts/1097-680a971192-streamable-learning.chunk.js +2 -0
- package/dist/scripts/1097-680a971192-streamable-learning.chunk.js.LICENSE.txt +105 -0
- package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js +2 -0
- package/dist/scripts/1269-2d0b903343-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/1457-899f40d09a-streamable-learning.chunk.js +1 -0
- package/dist/scripts/1482-b1dd75897c-streamable-learning.chunk.js +1 -0
- package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js +2 -0
- package/dist/scripts/1934-fc017df0da-streamable-learning.chunk.js.LICENSE.txt +9 -0
- package/dist/scripts/2042-d51622d63e-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2087-eba9033b1c-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2245-8cd3224e1b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2334-00b028191d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js +2 -0
- package/dist/scripts/2676-c842ec7e8d-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/2877-5ffc9711f6-streamable-learning.chunk.js +1 -0
- package/dist/scripts/2911-2ec3a6600a-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3057-731a8ca978-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3093-efbcc927ea-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3186-d1a6ccffde-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3322-33c015dec9-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3472-50ca92bde3-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3838-4a38f33dc2-streamable-learning.chunk.js +1 -0
- package/dist/scripts/3941-2ef15ca9ac-streamable-learning.chunk.js +1 -0
- package/dist/scripts/4254-ef581b8105-streamable-learning.chunk.js +1 -0
- package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js +2 -0
- package/dist/scripts/4607-a4edb06dba-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js +2 -0
- package/dist/scripts/4772-3cb280f959-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/4951-df701c6a8d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js +2 -0
- package/dist/scripts/5003-7468a75d64-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/5088-2e09e1ba6e-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5173-a800a17d0d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5446-2cbe9f9d1b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5543-205aaa36a6-streamable-learning.chunk.js +1 -0
- package/dist/scripts/5565-224d86dc1b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/578-2cc99f46f7-streamable-learning.chunk.js +1 -0
- package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js +2 -0
- package/dist/scripts/6017-5bd6f9bf7a-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/6356-eefa3ff22e-streamable-learning.chunk.js +1 -0
- package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js +2 -0
- package/dist/scripts/6979-ef9a3931a2-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/6987-e58de31cfe-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7317-6b7186c85d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7347-772848ba8a-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js +2 -0
- package/dist/scripts/7570-cd4f70ff52-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/7904-96574373ca-streamable-learning.chunk.js +1 -0
- package/dist/scripts/7925-1e1cfa2a04-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8058-51c4b442d6-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js +2 -0
- package/dist/scripts/8126-9d09959b28-streamable-learning.chunk.js.LICENSE.txt +60 -0
- package/dist/scripts/8397-39ce77876d-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js +2 -0
- package/dist/scripts/8496-1b2519f9fd-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/8599-b74e1ab6e3-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8601-37783cf18b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8819-2a50dd6a9b-streamable-learning.chunk.js +1 -0
- package/dist/scripts/8937-5103db88d8-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9390-bbaf07ad0f-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9514-a31ca9af06-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js +2 -0
- package/dist/scripts/9766-48d72d9285-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/9842-36d830ee87-streamable-learning.chunk.js +1 -0
- package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js +2 -0
- package/dist/scripts/9899-f33e8f1d43-streamable-learning.chunk.js.LICENSE.txt +1 -0
- package/dist/scripts/bundle-7ea4deeaa8.min.js +2 -0
- package/dist/scripts/bundle-7ea4deeaa8.min.js.LICENSE.txt +108 -0
- package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js +2 -0
- package/dist/scripts/pdf.worker.entry-a2092a6670.min.worker.js.LICENSE.txt +21 -0
- package/package.json +3 -5
- package/typings/utils/imports.d.ts +1 -2
- package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/css/B-attovs.chunk.css +0 -9
- package/dist/css/B1NucFMn.chunk.css +0 -1
- package/dist/css/BPdg7JW4.chunk.css +0 -1
- package/dist/css/BPrUSCaY.chunk.css +0 -1
- package/dist/css/BR0fUt9D.chunk.css +0 -1
- package/dist/css/BhYm6SRm.chunk.css +0 -1
- package/dist/css/BiRz4h1c.chunk.css +0 -1
- package/dist/css/Bq1ChJn4.chunk.css +0 -1
- package/dist/css/Bt85j9js.chunk.css +0 -1
- package/dist/css/BuYrqi9E.chunk.css +0 -1
- package/dist/css/BugV1Bpa.chunk.css +0 -1
- package/dist/css/BuuVPl7n.chunk.css +0 -1
- package/dist/css/C1NkrNqQ.chunk.css +0 -1
- package/dist/css/C1qv5jz5.chunk.css +0 -1
- package/dist/css/C7XoyEPr.chunk.css +0 -1
- package/dist/css/C7_MDu56.chunk.css +0 -1
- package/dist/css/CC5F5C8O.chunk.css +0 -1
- package/dist/css/CChSC6Ta.chunk.css +0 -1
- package/dist/css/CCsCPLDG.chunk.css +0 -1
- package/dist/css/CD1qrI1T.chunk.css +0 -1
- package/dist/css/CKqvCBj4.chunk.css +0 -1
- package/dist/css/CLZ0Ycds.chunk.css +0 -1
- package/dist/css/CO7M4rZW.chunk.css +0 -1
- package/dist/css/CY0yvCW4.chunk.css +0 -1
- package/dist/css/CYGsw8FT.chunk.css +0 -1
- package/dist/css/Cbi3KYBa.chunk.css +0 -1
- package/dist/css/CliS8Q8r.chunk.css +0 -1
- package/dist/css/D-kQKsZN.chunk.css +0 -1
- package/dist/css/D2NwUVrK.chunk.css +0 -1
- package/dist/css/D4g1IoUU.chunk.css +0 -1
- package/dist/css/DBgpcO3T.chunk.css +0 -1
- package/dist/css/DDnpOnVB.chunk.css +0 -1
- package/dist/css/DZJSONGP.chunk.css +0 -1
- package/dist/css/Dc0zNt2E.chunk.css +0 -1
- package/dist/css/DeAfaPiD.chunk.css +0 -1
- package/dist/css/Dj731zLm.chunk.css +0 -1
- package/dist/css/DjPPxa0A.chunk.css +0 -1
- package/dist/css/DlOtoSz0.chunk.css +0 -1
- package/dist/css/DwduQat7.chunk.css +0 -1
- package/dist/css/Dzuu2GTx.chunk.css +0 -1
- package/dist/css/JAvsJreH.chunk.css +0 -1
- package/dist/css/NKlFYVOc.chunk.css +0 -1
- package/dist/css/VZd8qGtK.chunk.css +0 -1
- package/dist/css/Y7U--2na.chunk.css +0 -1
- package/dist/css/ir3IcK_l.chunk.css +0 -1
- package/dist/css/jbMisi9r.chunk.css +0 -1
- package/dist/css/kS5aDtIJ.chunk.css +0 -1
- package/dist/css/mqCL1o7m.chunk.css +0 -1
- package/dist/css/qZzkUeZk.chunk.css +0 -1
- package/dist/css/sC_H3yXE.chunk.css +0 -1
- package/dist/css/wR_6C_NV.chunk.css +0 -1
- package/dist/en.json +0 -1
- package/dist/scripts/7tlnqdEj.chunk.js +0 -2
- package/dist/scripts/7tlnqdEj.chunk.js.map +0 -1
- package/dist/scripts/82OY25pR.chunk.js +0 -2
- package/dist/scripts/82OY25pR.chunk.js.map +0 -1
- package/dist/scripts/8JOxjlae.chunk.js +0 -15
- package/dist/scripts/8JOxjlae.chunk.js.map +0 -1
- package/dist/scripts/B-_Kgmt0.chunk.js +0 -2
- package/dist/scripts/B-_Kgmt0.chunk.js.map +0 -1
- package/dist/scripts/B0KMLOp5.chunk.js +0 -2
- package/dist/scripts/B0KMLOp5.chunk.js.map +0 -1
- package/dist/scripts/B1QWJfPw.chunk.js +0 -3
- package/dist/scripts/B1QWJfPw.chunk.js.map +0 -1
- package/dist/scripts/B26T27lj.chunk.js +0 -2
- package/dist/scripts/B26T27lj.chunk.js.map +0 -1
- package/dist/scripts/B32lL5ga.chunk.js +0 -2
- package/dist/scripts/B32lL5ga.chunk.js.map +0 -1
- package/dist/scripts/B5lCwpXp.chunk.js +0 -2
- package/dist/scripts/B5lCwpXp.chunk.js.map +0 -1
- package/dist/scripts/B8qPNVvK.chunk.js +0 -2
- package/dist/scripts/B8qPNVvK.chunk.js.map +0 -1
- package/dist/scripts/BBnDr_iy.chunk.js +0 -2
- package/dist/scripts/BBnDr_iy.chunk.js.map +0 -1
- package/dist/scripts/BCQ0kOEO.chunk.js +0 -6
- package/dist/scripts/BCQ0kOEO.chunk.js.map +0 -1
- package/dist/scripts/BCyuhFou.chunk.js +0 -2
- package/dist/scripts/BCyuhFou.chunk.js.map +0 -1
- package/dist/scripts/BF7Uu3LW.chunk.js +0 -2
- package/dist/scripts/BF7Uu3LW.chunk.js.map +0 -1
- package/dist/scripts/BG6_Ss4G.chunk.js +0 -2
- package/dist/scripts/BG6_Ss4G.chunk.js.map +0 -1
- package/dist/scripts/BMrWb7Ku.chunk.js +0 -2
- package/dist/scripts/BMrWb7Ku.chunk.js.map +0 -1
- package/dist/scripts/BQH1xd9z.chunk.js +0 -2
- package/dist/scripts/BQH1xd9z.chunk.js.map +0 -1
- package/dist/scripts/BW1iqZG2.chunk.js +0 -2
- package/dist/scripts/BW1iqZG2.chunk.js.map +0 -1
- package/dist/scripts/BdHxGaRy.chunk.js +0 -2
- package/dist/scripts/BdHxGaRy.chunk.js.map +0 -1
- package/dist/scripts/BdniDID_.chunk.js +0 -2
- package/dist/scripts/BdniDID_.chunk.js.map +0 -1
- package/dist/scripts/BeTQIGnj.chunk.js +0 -2
- package/dist/scripts/BeTQIGnj.chunk.js.map +0 -1
- package/dist/scripts/Bf3WCYXw.chunk.js +0 -8
- package/dist/scripts/Bf3WCYXw.chunk.js.map +0 -1
- package/dist/scripts/Bh4NsrSi.chunk.js +0 -2
- package/dist/scripts/Bh4NsrSi.chunk.js.map +0 -1
- package/dist/scripts/BjOv-usB.chunk.js +0 -2
- package/dist/scripts/BjOv-usB.chunk.js.map +0 -1
- package/dist/scripts/BkGt8Gr1.chunk.js +0 -2
- package/dist/scripts/BkGt8Gr1.chunk.js.map +0 -1
- package/dist/scripts/BlFiywl_.chunk.js +0 -2
- package/dist/scripts/BlFiywl_.chunk.js.map +0 -1
- package/dist/scripts/BoNyBWaZ.chunk.js +0 -2
- package/dist/scripts/BoNyBWaZ.chunk.js.map +0 -1
- package/dist/scripts/Bvum7-8x.chunk.js +0 -8
- package/dist/scripts/Bvum7-8x.chunk.js.map +0 -1
- package/dist/scripts/BwDmMfAz.chunk.js +0 -2
- package/dist/scripts/BwDmMfAz.chunk.js.map +0 -1
- package/dist/scripts/BwgQZkdi.chunk.js +0 -2
- package/dist/scripts/BwgQZkdi.chunk.js.map +0 -1
- package/dist/scripts/C-7yn3rc.chunk.js +0 -2
- package/dist/scripts/C-7yn3rc.chunk.js.map +0 -1
- package/dist/scripts/C-pJ0Wi3.chunk.js +0 -2
- package/dist/scripts/C-pJ0Wi3.chunk.js.map +0 -1
- package/dist/scripts/C35NlkUr.chunk.js +0 -2
- package/dist/scripts/C35NlkUr.chunk.js.map +0 -1
- package/dist/scripts/C36-3UWl.chunk.js +0 -2
- package/dist/scripts/C36-3UWl.chunk.js.map +0 -1
- package/dist/scripts/C3fMNXil.chunk.js +0 -2
- package/dist/scripts/C3fMNXil.chunk.js.map +0 -1
- package/dist/scripts/C8Br2CdQ.chunk.js +0 -2
- package/dist/scripts/C8Br2CdQ.chunk.js.map +0 -1
- package/dist/scripts/CEmtkty-.chunk.js +0 -2
- package/dist/scripts/CEmtkty-.chunk.js.map +0 -1
- package/dist/scripts/CFs3kdQx.chunk.js +0 -53
- package/dist/scripts/CFs3kdQx.chunk.js.map +0 -1
- package/dist/scripts/CGNCg1fO.chunk.js +0 -2
- package/dist/scripts/CGNCg1fO.chunk.js.map +0 -1
- package/dist/scripts/CPXlV0fg.chunk.js +0 -2
- package/dist/scripts/CPXlV0fg.chunk.js.map +0 -1
- package/dist/scripts/CSoZBG8v.chunk.js +0 -2
- package/dist/scripts/CSoZBG8v.chunk.js.map +0 -1
- package/dist/scripts/CW7x8M-z.chunk.js +0 -2
- package/dist/scripts/CW7x8M-z.chunk.js.map +0 -1
- package/dist/scripts/CWHjB5Ye.chunk.js +0 -2
- package/dist/scripts/CWHjB5Ye.chunk.js.map +0 -1
- package/dist/scripts/CXslDtbb.chunk.js +0 -2
- package/dist/scripts/CXslDtbb.chunk.js.map +0 -1
- package/dist/scripts/CZLZ0bbA.chunk.js +0 -2
- package/dist/scripts/CZLZ0bbA.chunk.js.map +0 -1
- package/dist/scripts/CZafJWQk.chunk.js +0 -2
- package/dist/scripts/CZafJWQk.chunk.js.map +0 -1
- package/dist/scripts/CbFIe2Y6.chunk.js +0 -2
- package/dist/scripts/CbFIe2Y6.chunk.js.map +0 -1
- package/dist/scripts/Cg8SIDnK.chunk.js +0 -8
- package/dist/scripts/Cg8SIDnK.chunk.js.map +0 -1
- package/dist/scripts/Cib9o4sK.chunk.js +0 -2
- package/dist/scripts/Cib9o4sK.chunk.js.map +0 -1
- package/dist/scripts/Ciyuu-YU.chunk.js +0 -356
- package/dist/scripts/Ciyuu-YU.chunk.js.map +0 -1
- package/dist/scripts/CkMhHhda.chunk.js +0 -2
- package/dist/scripts/CkMhHhda.chunk.js.map +0 -1
- package/dist/scripts/CmAQo6rx.chunk.js +0 -2
- package/dist/scripts/CmAQo6rx.chunk.js.map +0 -1
- package/dist/scripts/CmcmWGL0.chunk.js +0 -2
- package/dist/scripts/CmcmWGL0.chunk.js.map +0 -1
- package/dist/scripts/Cmu1J2M7.chunk.js +0 -262
- package/dist/scripts/Cmu1J2M7.chunk.js.map +0 -1
- package/dist/scripts/CrkRNOU9.chunk.js +0 -2
- package/dist/scripts/CrkRNOU9.chunk.js.map +0 -1
- package/dist/scripts/CskJerl_.chunk.js +0 -2
- package/dist/scripts/CskJerl_.chunk.js.map +0 -1
- package/dist/scripts/Ct_IIxaS.chunk.js +0 -2
- package/dist/scripts/Ct_IIxaS.chunk.js.map +0 -1
- package/dist/scripts/Cuuw0EUi.chunk.js +0 -8
- package/dist/scripts/Cuuw0EUi.chunk.js.map +0 -1
- package/dist/scripts/Cz45aonc.chunk.js +0 -2
- package/dist/scripts/Cz45aonc.chunk.js.map +0 -1
- package/dist/scripts/D-I94wdL.chunk.js +0 -7
- package/dist/scripts/D-I94wdL.chunk.js.map +0 -1
- package/dist/scripts/D0UlXsF8.chunk.js +0 -2
- package/dist/scripts/D0UlXsF8.chunk.js.map +0 -1
- package/dist/scripts/D0cZC7S-.chunk.js +0 -2
- package/dist/scripts/D0cZC7S-.chunk.js.map +0 -1
- package/dist/scripts/D1D6Gqx1.chunk.js +0 -2
- package/dist/scripts/D1D6Gqx1.chunk.js.map +0 -1
- package/dist/scripts/D3tziVkG.chunk.js +0 -2
- package/dist/scripts/D3tziVkG.chunk.js.map +0 -1
- package/dist/scripts/D4MOOnR6.chunk.js +0 -2
- package/dist/scripts/D4MOOnR6.chunk.js.map +0 -1
- package/dist/scripts/D83kc0Wf.chunk.js +0 -2
- package/dist/scripts/D83kc0Wf.chunk.js.map +0 -1
- package/dist/scripts/D8dAIhzO.chunk.js +0 -2
- package/dist/scripts/D8dAIhzO.chunk.js.map +0 -1
- package/dist/scripts/DBp0J6X9.chunk.js +0 -2
- package/dist/scripts/DBp0J6X9.chunk.js.map +0 -1
- package/dist/scripts/DCds0mCy.chunk.js +0 -2
- package/dist/scripts/DCds0mCy.chunk.js.map +0 -1
- package/dist/scripts/DEwFBSVv.chunk.js +0 -2
- package/dist/scripts/DEwFBSVv.chunk.js.map +0 -1
- package/dist/scripts/DF55CDS8.chunk.js +0 -2
- package/dist/scripts/DF55CDS8.chunk.js.map +0 -1
- package/dist/scripts/DFw_xy-Y.chunk.js +0 -2
- package/dist/scripts/DFw_xy-Y.chunk.js.map +0 -1
- package/dist/scripts/DIGYepWa.chunk.js +0 -2
- package/dist/scripts/DIGYepWa.chunk.js.map +0 -1
- package/dist/scripts/DKeFeMvi.chunk.js +0 -2
- package/dist/scripts/DKeFeMvi.chunk.js.map +0 -1
- package/dist/scripts/DKqLfL60.chunk.js +0 -5
- package/dist/scripts/DKqLfL60.chunk.js.map +0 -1
- package/dist/scripts/DLJB8vZh.chunk.js +0 -2
- package/dist/scripts/DLJB8vZh.chunk.js.map +0 -1
- package/dist/scripts/DNtSrq_L.chunk.js +0 -2
- package/dist/scripts/DNtSrq_L.chunk.js.map +0 -1
- package/dist/scripts/DOHPsm0Q.chunk.js +0 -2
- package/dist/scripts/DOHPsm0Q.chunk.js.map +0 -1
- package/dist/scripts/DP-ErTOD.chunk.js +0 -2
- package/dist/scripts/DP-ErTOD.chunk.js.map +0 -1
- package/dist/scripts/DUwkrIwb.chunk.js +0 -2
- package/dist/scripts/DUwkrIwb.chunk.js.map +0 -1
- package/dist/scripts/DUyJfVnL.chunk.js +0 -2
- package/dist/scripts/DUyJfVnL.chunk.js.map +0 -1
- package/dist/scripts/DVfbSloY.chunk.js +0 -2
- package/dist/scripts/DVfbSloY.chunk.js.map +0 -1
- package/dist/scripts/DWvpibWQ.chunk.js +0 -2
- package/dist/scripts/DWvpibWQ.chunk.js.map +0 -1
- package/dist/scripts/DYmgSjx-.chunk.js +0 -10
- package/dist/scripts/DYmgSjx-.chunk.js.map +0 -1
- package/dist/scripts/D_EfITTc.chunk.js +0 -2
- package/dist/scripts/D_EfITTc.chunk.js.map +0 -1
- package/dist/scripts/DayWKE6G.chunk.js +0 -2
- package/dist/scripts/DayWKE6G.chunk.js.map +0 -1
- package/dist/scripts/DcOpKno_.chunk.js +0 -2
- package/dist/scripts/DcOpKno_.chunk.js.map +0 -1
- package/dist/scripts/DgMPP2NS.chunk.js +0 -2
- package/dist/scripts/DgMPP2NS.chunk.js.map +0 -1
- package/dist/scripts/DhWvZ3GP.chunk.js +0 -2
- package/dist/scripts/DhWvZ3GP.chunk.js.map +0 -1
- package/dist/scripts/Digrmnl9.chunk.js +0 -2
- package/dist/scripts/Digrmnl9.chunk.js.map +0 -1
- package/dist/scripts/DjWOPQVv.chunk.js +0 -2
- package/dist/scripts/DjWOPQVv.chunk.js.map +0 -1
- package/dist/scripts/DkSHJqHu.chunk.js +0 -2
- package/dist/scripts/DkSHJqHu.chunk.js.map +0 -1
- package/dist/scripts/Dpq10cRY.chunk.js +0 -2
- package/dist/scripts/Dpq10cRY.chunk.js.map +0 -1
- package/dist/scripts/DrsDxQ8i.chunk.js +0 -2
- package/dist/scripts/DrsDxQ8i.chunk.js.map +0 -1
- package/dist/scripts/DrsVPpSl.chunk.js +0 -3
- package/dist/scripts/DrsVPpSl.chunk.js.map +0 -1
- package/dist/scripts/DvDdiDQN.chunk.js +0 -7
- package/dist/scripts/DvDdiDQN.chunk.js.map +0 -1
- package/dist/scripts/DwU9lZgg.chunk.js +0 -2
- package/dist/scripts/DwU9lZgg.chunk.js.map +0 -1
- package/dist/scripts/I8EoNmf8.chunk.js +0 -2
- package/dist/scripts/I8EoNmf8.chunk.js.map +0 -1
- package/dist/scripts/Im8afRMN.chunk.js +0 -2
- package/dist/scripts/Im8afRMN.chunk.js.map +0 -1
- package/dist/scripts/N_QgBckB.chunk.js +0 -2
- package/dist/scripts/N_QgBckB.chunk.js.map +0 -1
- package/dist/scripts/SnHtKbiQ.chunk.js +0 -2
- package/dist/scripts/SnHtKbiQ.chunk.js.map +0 -1
- package/dist/scripts/U-eF69sj.chunk.js +0 -2
- package/dist/scripts/U-eF69sj.chunk.js.map +0 -1
- package/dist/scripts/XarUQJMp.chunk.js +0 -2
- package/dist/scripts/XarUQJMp.chunk.js.map +0 -1
- package/dist/scripts/ZYx7Po5r.chunk.js +0 -2
- package/dist/scripts/ZYx7Po5r.chunk.js.map +0 -1
- package/dist/scripts/app-DfSv_-O3.js +0 -220
- package/dist/scripts/app-DfSv_-O3.js.map +0 -1
- package/dist/scripts/awsfwCdu.chunk.js +0 -2
- package/dist/scripts/awsfwCdu.chunk.js.map +0 -1
- package/dist/scripts/b1pZWz43.chunk.js +0 -2
- package/dist/scripts/b1pZWz43.chunk.js.map +0 -1
- package/dist/scripts/cvX-F_mx.chunk.js +0 -2
- package/dist/scripts/cvX-F_mx.chunk.js.map +0 -1
- package/dist/scripts/lBHPAFYv.chunk.js +0 -2
- package/dist/scripts/lBHPAFYv.chunk.js.map +0 -1
- package/dist/scripts/mP-Ymt5z.chunk.js +0 -2
- package/dist/scripts/mP-Ymt5z.chunk.js.map +0 -1
- package/dist/scripts/nay4aGaa.chunk.js +0 -2
- package/dist/scripts/nay4aGaa.chunk.js.map +0 -1
- package/dist/scripts/pkzD5BEm.chunk.js +0 -2
- package/dist/scripts/pkzD5BEm.chunk.js.map +0 -1
- package/dist/scripts/tHf2V3t0.chunk.js +0 -2
- package/dist/scripts/tHf2V3t0.chunk.js.map +0 -1
- package/vite.config.ts +0 -6
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Cg8SIDnK.chunk.js","sources":["../../../../../node_modules/react-pdf/node_modules/pdfjs-dist/build/pdf.js","../../../../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../../../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../../node_modules/@babel/runtime/helpers/OverloadYield.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorDefine.js","../../../../../node_modules/@babel/runtime/helpers/regenerator.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorAsync.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorKeys.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorValues.js","../../../../../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../../../../../node_modules/@babel/runtime/regenerator/index.js","../../../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../../node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../../node_modules/make-event-props/dist/esm/index.js","../../../../../node_modules/make-cancellable-promise/dist/esm/index.js","../../../../../node_modules/merge-class-names/dist/esm/index.js","../../../../../node_modules/react-pdf/dist/esm/DocumentContext.js","../../../../../node_modules/react-pdf/dist/esm/Message.js","../../../../../node_modules/react-pdf/node_modules/pdfjs-dist/lib/web/ui_utils.js","../../../../../node_modules/react-pdf/node_modules/pdfjs-dist/lib/web/pdf_link_service.js","../../../../../node_modules/react-pdf/dist/esm/LinkService.js","../../../../../node_modules/react-pdf/dist/esm/PasswordResponses.js","../../../../../node_modules/react-pdf/dist/esm/eventBus.js","../../../../../node_modules/react-pdf/dist/esm/shared/utils.js","../../../../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../../../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../../../../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../../../../../node_modules/react-pdf/dist/esm/shared/propTypes.js","../../../../../node_modules/react-pdf/dist/esm/Document.js","../../../../../node_modules/react-pdf/dist/esm/OutlineContext.js","../../../../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../../../../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../../../../../node_modules/react-pdf/dist/esm/Ref.js","../../../../../node_modules/react-pdf/dist/esm/OutlineItem.js","../../../../../node_modules/react-pdf/dist/esm/Outline.js","../../../../../node_modules/react-pdf/dist/esm/PageContext.js","../../../../../node_modules/react-pdf/dist/esm/Page/PageCanvas.js","../../../../../node_modules/react-pdf/dist/esm/Page/PageSVG.js","../../../../../node_modules/react-pdf/dist/esm/Page/TextLayerItem.js","../../../../../node_modules/react-pdf/dist/esm/Page/TextLayer.js","../../../../../node_modules/react-pdf/dist/esm/Page/AnnotationLayer.js","../../../../../node_modules/react-pdf/dist/esm/Page.js","../../../../../node_modules/react-pdf/dist/esm/entry.js","../../../../../node_modules/print-js/dist/print.js","../../../../libs/shared/src/flight-requests/ResourceRequests.ts","../../../../libs/shared/src/images/svg/actions/PrintSvg.tsx","../../../../libs/shared/src/views/preview-pdf/PreviewPdfView.tsx"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar pdfjsVersion = '2.4.456';\nvar pdfjsBuild = '228a591c';\n\nvar pdfjsSharedUtil = __w_pdfjs_require__(1);\n\nvar pdfjsDisplayAPI = __w_pdfjs_require__(3);\n\nvar pdfjsDisplayTextLayer = __w_pdfjs_require__(16);\n\nvar pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(17);\n\nvar pdfjsDisplayDisplayUtils = __w_pdfjs_require__(4);\n\nvar pdfjsDisplaySVG = __w_pdfjs_require__(18);\n\nconst pdfjsDisplayWorkerOptions = __w_pdfjs_require__(10);\n\nconst pdfjsDisplayAPICompatibility = __w_pdfjs_require__(6);\n\n{\n const {\n isNodeJS\n } = __w_pdfjs_require__(7);\n\n if (isNodeJS) {\n const PDFNodeStream = __w_pdfjs_require__(19).PDFNodeStream;\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const PDFNetworkStream = __w_pdfjs_require__(22).PDFNetworkStream;\n\n let PDFFetchStream;\n\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = __w_pdfjs_require__(23).PDFFetchStream;\n }\n\n pdfjsDisplayAPI.setPDFNetworkStreamFactory(params => {\n if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\nexports.build = pdfjsDisplayAPI.build;\nexports.version = pdfjsDisplayAPI.version;\nexports.getDocument = pdfjsDisplayAPI.getDocument;\nexports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;\nexports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;\nexports.PDFWorker = pdfjsDisplayAPI.PDFWorker;\nexports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;\nexports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;\nexports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;\nexports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;\nexports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;\nexports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;\nexports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;\nexports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;\nexports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;\nexports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;\nexports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;\nexports.OPS = pdfjsSharedUtil.OPS;\nexports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;\nexports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;\nexports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;\nexports.createObjectURL = pdfjsSharedUtil.createObjectURL;\nexports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;\nexports.shadow = pdfjsSharedUtil.shadow;\nexports.Util = pdfjsSharedUtil.Util;\nexports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;\nexports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;\nexports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;\nexports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;\nexports.loadScript = pdfjsDisplayDisplayUtils.loadScript;\nexports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;\nexports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;\nexports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.NativeImageDecoding = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(2);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst NativeImageDecoding = {\n NONE: \"none\",\n DECODE: \"decode\",\n DISPLAY: \"display\"\n};\nexports.NativeImageDecoding = NativeImageDecoding;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {}\n\nexports.AbortException = AbortException;\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (const key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = function createObjectURLClosure() {\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\n;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _font_loader = __w_pdfjs_require__(5);\n\nvar _api_compatibility = __w_pdfjs_require__(6);\n\nvar _canvas = __w_pdfjs_require__(8);\n\nvar _worker_options = __w_pdfjs_require__(10);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nvar _message_handler = __w_pdfjs_require__(11);\n\nvar _metadata = __w_pdfjs_require__(12);\n\nvar _transport_stream = __w_pdfjs_require__(14);\n\nvar _webgl = __w_pdfjs_require__(15);\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nlet createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n const pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (typeof pdfBytes === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n const NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);\n\n if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;\n }\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n if (typeof params.disableCreateObjectURL !== \"boolean\") {\n params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n let networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.4.456',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n disableCreateObjectURL: source.disableCreateObjectURL,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n nativeImageDecoderSupport: source.nativeImageDecoderSupport,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n}\n\nconst PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n destroy() {\n this.destroyed = true;\n const transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n });\n }\n\n then(onFulfilled, onRejected) {\n throw new Error(\"Removed API method: \" + \"PDFDocumentLoadingTask.then, use the `promise` getter instead.\");\n }\n\n }\n\n return PDFDocumentLoadingTask;\n}();\n\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n\n}\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n getOutline() {\n return this._transport.getOutline();\n }\n\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n getData() {\n return this._transport.getData();\n }\n\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n getStats() {\n return this._transport.getStats();\n }\n\n cleanup() {\n return this._transport.startCleanup();\n }\n\n destroy() {\n return this.loadingTask.destroy();\n }\n\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n}\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n get ref() {\n return this._pageInfo.ref;\n }\n\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n get view() {\n return this._pageInfo.view;\n }\n\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n if (arguments.length > 1 || typeof arguments[0] === \"number\") {\n throw new Error(\"PDFPageProxy.getViewport is called with obsolete arguments.\");\n }\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n getAnnotations({\n intent = null\n } = {}) {\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n enableWebGL = false,\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null\n }) {\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n const intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n const webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n const complete = error => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (this.cleanupAfterRender || renderingIntent === \"print\") {\n this.pendingCleanup = true;\n }\n\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(transparency => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n const i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n const renderingIntent = \"oplist\";\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n const intentState = this.intentStates[renderingIntent];\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n\n size(textContent) {\n return textContent.items.length;\n }\n\n });\n }\n\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n const waitOn = [];\n Object.keys(this.intentStates).forEach(intent => {\n const intentState = this.intentStates[intent];\n\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n const renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(intent => {\n const intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(intent => {\n delete this.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n\n _startRenderPage(transparency, intent) {\n const intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n _pumpOperatorList(args) {\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n const reader = readableStream.getReader();\n const intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (this._transport.destroyed) {\n return;\n }\n\n this._renderPageChunk(value, intentState);\n\n pump();\n }, reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n (0, _util.assert)(reason instanceof Error || typeof reason === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(intent => {\n if (this.intentStates[intent] === intentState) {\n delete this.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n\n get stats() {\n return this._stats;\n }\n\n}\n\nexports.PDFPageProxy = PDFPageProxy;\n\nclass LoopbackPort {\n constructor(defer = true) {\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n postMessage(obj, transfers) {\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n let buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n const transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (const i in value) {\n let desc,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(`LoopbackPort.postMessage - cannot clone: ${value[i]}`);\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(listener => {\n listener.call(this, {\n data: obj\n });\n });\n\n return;\n }\n\n const cloned = new WeakMap();\n const e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(() => {\n this._listeners.forEach(listener => {\n listener.call(this, e);\n });\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n\n}\n\nexports.LoopbackPort = LoopbackPort;\n\nconst PDFWorker = function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n const loader = async function () {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(getWorkerSrc());\n return worker.WorkerMessageHandler;\n }\n\n await (0, _display_utils.loadScript)(getWorkerSrc());\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n const wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n class PDFWorker {\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n\n _initialize() {\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n let workerSrc = getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n if (!data.supportTransfers) {\n this.postMessageTransfers = false;\n }\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([this.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n const port = new LoopbackPort();\n this._port = port;\n const id = \"fake\" + nextFakeWorkerId++;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n\n destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n\n static fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n\n static getWorkerSrc() {\n return getWorkerSrc();\n }\n\n }\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nclass WorkerTransport {\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n const waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.fontLoader.clear();\n\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream);\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(this._lastProgress);\n }\n\n fullReader.onProgress = evt => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream);\n\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value));\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n this._passwordCapability.resolve({\n password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n\n const page = this.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", data => {\n if (this.destroyed) {\n return;\n }\n\n const [id, type, exportedData] = data;\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n\n };\n }\n\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).then(() => {\n this.commonObjs.resolve(id, font);\n }, reason => {\n messageHandler.sendWithPromise(\"FontFallback\", {\n id\n }).finally(() => {\n this.commonObjs.resolve(id, font);\n });\n });\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", data => {\n if (this.destroyed) {\n return undefined;\n }\n\n const [id, pageIndex, type, imageData] = data;\n const pageProxy = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"JpegStream\":\n return new Promise((resolve, reject) => {\n const img = new Image();\n\n img.onload = function () {\n resolve(img);\n };\n\n img.onerror = function () {\n reject(new Error(\"Error during JPEG image loading\"));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageData;\n }).then(img => {\n pageProxy.objs.resolve(id, img);\n });\n\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"JpegDecode\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (typeof document === \"undefined\") {\n return Promise.reject(new Error('\"document\" is not defined.'));\n }\n\n const [imageUrl, components] = data;\n\n if (components !== 3 && components !== 1) {\n return Promise.reject(new Error(\"Only 3 components or 1 component can be returned\"));\n }\n\n return new Promise(function (resolve, reject) {\n const img = new Image();\n\n img.onload = function () {\n const {\n width,\n height\n } = img;\n const size = width * height;\n const rgbaLength = size * 4;\n const buf = new Uint8ClampedArray(size * components);\n let tmpCanvas = document.createElement(\"canvas\");\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n let tmpCtx = tmpCanvas.getContext(\"2d\");\n tmpCtx.drawImage(img, 0, 0);\n const data = tmpCtx.getImageData(0, 0, width, height).data;\n\n if (components === 3) {\n for (let i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {\n buf[j] = data[i];\n buf[j + 1] = data[i + 1];\n buf[j + 2] = data[i + 2];\n }\n } else if (components === 1) {\n for (let i = 0, j = 0; i < rgbaLength; i += 4, j++) {\n buf[j] = data[i];\n }\n }\n\n resolve({\n data: buf,\n width,\n height\n });\n (0, _display_utils.releaseImageResources)(img);\n tmpCanvas.width = 0;\n tmpCanvas.height = 0;\n tmpCanvas = null;\n tmpCtx = null;\n };\n\n img.onerror = function () {\n reject(new Error(\"JpegDecode failed to load image\"));\n (0, _display_utils.releaseImageResources)(img);\n };\n\n img.src = imageUrl;\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", (data, sink) => {\n if (this.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n let fetched = false;\n\n sink.onPull = () => {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n this.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n\n _onUnsupportedFeature({\n featureId\n }) {\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n const pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n\n getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader ? this._fullReader.filename : null\n };\n });\n }\n\n getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n\n startCleanup() {\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(() => {\n for (let i = 0, ii = this.pageCache.length; i < ii; i++) {\n const page = this.pageCache[i];\n\n if (page) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${i + 1} is currently rendering.`);\n }\n }\n }\n\n this.commonObjs.clear();\n this.fontLoader.clear();\n });\n }\n\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableCreateObjectURL: params.disableCreateObjectURL,\n disableFontFace: params.disableFontFace,\n nativeImageDecoderSupport: params.nativeImageDecoderSupport\n });\n }\n\n}\n\nclass PDFObjects {\n constructor() {\n this._objs = Object.create(null);\n }\n\n _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n\n get(objId, callback = null) {\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n const obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n\n return obj.data;\n }\n\n has(objId) {\n const obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n\n resolve(objId, data) {\n const obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n\n clear() {\n for (const objId in this._objs) {\n const {\n data\n } = this._objs[objId];\n\n if (typeof Image !== \"undefined\" && data instanceof Image) {\n (0, _display_utils.releaseImageResources)(data);\n }\n }\n\n this._objs = Object.create(null);\n }\n\n}\n\nclass RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n\n cancel() {\n this._internalRenderTask.cancel();\n }\n\n then(onFulfilled, onRejected) {\n throw new Error(\"Removed API method: \" + \"RenderTask.then, use the `promise` getter instead.\");\n }\n\n}\n\nconst InternalRenderTask = function InternalRenderTaskClosure() {\n const canvasInRendering = new WeakSet();\n\n class InternalRenderTask {\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n operatorList,\n pageIndex,\n canvasFactory,\n webGLContext,\n useRequestAnimationFrame = false,\n pdfBug = false\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n initializeGraphics(transparency = false) {\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\"));\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n\n _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this.cancel.bind(this));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n }\n\n }\n\n return InternalRenderTask;\n}();\n\nconst version = '2.4.456';\nexports.version = version;\nconst build = '228a591c';\nexports.build = build;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.releaseImageResources = releaseImageResources;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass DOMCanvasFactory {\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas,\n context\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n\n}\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nclass DOMCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = false\n }) {\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then(async response => {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n let cMapData;\n\n if (this.isCompressed) {\n cMapData = new Uint8Array((await response.arrayBuffer()));\n } else {\n cMapData = (0, _util.stringToBytes)((await response.text()));\n }\n\n return {\n cMapData,\n compressionType\n };\n }).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}` + `CMap at: ${url}`);\n });\n }\n\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n let cMapData;\n\n if (this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData,\n compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}` + `CMap at: ${url}`);\n });\n }\n\n}\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nclass DOMSVGFactory {\n create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n const svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n\n createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n\n}\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n default:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n\n}\n\nexports.PageViewport = PageViewport;\n\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg);\n this.type = type;\n }\n\n}\n\nexports.RenderingCancelledException = RenderingCancelledException;\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link, {\n url,\n target,\n rel,\n enabled = true\n} = {}) {\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n const urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n\n toString() {\n const outBuf = [];\n let longest = 0;\n\n for (const time of this.times) {\n const name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n\n return outBuf.join(\"\");\n }\n\n}\n\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nfunction releaseImageResources(img) {\n (0, _util.assert)(img instanceof Image, \"Invalid `img` parameter.\");\n const url = img.src;\n\n if (typeof url === \"string\" && url.startsWith(\"blob:\") && URL.revokeObjectURL) {\n URL.revokeObjectURL(url);\n }\n\n img.removeAttribute(\"src\");\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n const matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n\n}\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseFontLoader {\n constructor({\n docId,\n onUnsupportedFeature\n }) {\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n\n return;\n }\n\n const rule = font.createFontFaceRule();\n\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n\n}\n\nlet FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(docId) {\n super(docId);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n let i, ii;\n const canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n const div = document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n const span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n\n };\n}\n\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature = null,\n fontRegistry = null\n }) {\n this.compiledGlyphs = Object.create(null);\n\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const data = (0, _util.bytesToString)(new Uint8Array(this.data));\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.font\n });\n }\n\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n let args,\n js = \"\";\n\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n\n}\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nconst compatibilityParams = Object.create(null);\n{\n const {\n isNodeJS\n } = __w_pdfjs_require__(7);\n\n const userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n const isIE = /Trident/.test(userAgent);\n const isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkFontFaceAndImage() {\n if (isNodeJS) {\n compatibilityParams.disableFontFace = true;\n compatibilityParams.nativeImageDecoderSupport = \"none\";\n }\n })();\n}\nexports.apiCompatibilityParams = Object.freeze(compatibilityParams);\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions[\"nw\"] && !process.versions[\"electron\"];\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(9);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n\n clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var i = 0, ii = outlines.length; i < ii; i++) {\n var o = outlines[i];\n c.moveTo(o[0], o[1]);\n\n for (var j = 2, jj = o.length; j < jj; j += 2) {\n c.lineTo(o[j], o[j + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n const composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask,\n properties: {\n subtype: smask.subtype,\n backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n\n setRenderingIntent(intent) {},\n\n setFlatness(flatness) {},\n\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n const transform = ctx.mozCurrentTransform;\n\n const scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n\n paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && font.data;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n let patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {\n const domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!domImage) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.save();\n var ctx = this.ctx;\n ctx.scale(1 / w, -1 / h);\n ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);\n\n if (this.imageLayer) {\n var currentTransform = ctx.mozCurrentTransformInverse;\n var position = this.getCanvasPosition(0, 0);\n this.imageLayer.appendImage({\n objId,\n left: position[0],\n top: position[1],\n width: w / currentTransform[0],\n height: h / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width,\n height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n const imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n const imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n\n getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n const inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y1 === y2) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n let k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords,\n colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(`Unknown IR type: ${raw[0]}`);\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale,\n size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName,\n targetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++;\n const sourceName = this.sourceName;\n const targetName = this.targetName;\n const comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n this._postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const self = this;\n const action = this.actionHandler[data.action];\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n const {\n onPull\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n const {\n onCancel\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamId) {\n await Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n delete this.streamControllers[streamId];\n }\n\n _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _xml_parser = __w_pdfjs_require__(13);\n\nclass Metadata {\n constructor(data) {\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n const parser = new _xml_parser.SimpleXMLParser();\n const xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n const bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(`_repair: ${name} isn't defined.`);\n });\n let chars = \"\";\n\n for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n\n _parse(xmlDocument) {\n let rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n const children = rdf.childNodes;\n\n for (let i = 0, ii = children.length; i < ii; i++) {\n const desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n const entry = desc.childNodes[j];\n const name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n\n get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n\n getAll() {\n const obj = Object.create(null);\n\n for (const [key, value] of this._metadataMap) {\n obj[key] = value;\n }\n\n return obj;\n }\n\n has(name) {\n return this._metadataMap.has(name);\n }\n\n}\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\nconst XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n const ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (let i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nclass XMLParserBase {\n _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, (all, entity) => {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return this.onResolveEntity(entity);\n });\n }\n\n _parseContent(s, start) {\n const attributes = [];\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n const name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n let attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n const attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name,\n attributes,\n parsed: pos - start\n };\n }\n\n _parseProcessingInstruction(s, start) {\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n const name = s.substring(start, pos);\n skipWs();\n const attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n const value = s.substring(attrStart, pos);\n return {\n name,\n value,\n parsed: pos - start\n };\n }\n\n parseXml(s) {\n let i = 0;\n\n while (i < s.length) {\n const ch = s[i];\n let j = i;\n\n if (ch === \"<\") {\n ++j;\n const ch2 = s[j];\n let q;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n const pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n const q2 = s.indexOf(\"[\", j + 8);\n let complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n const doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n const content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n let isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n const text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n\n onResolveEntity(name) {\n return `&${name};`;\n }\n\n onPi(name, value) {}\n\n onComment(text) {}\n\n onCdata(text) {}\n\n onDoctype(doctypeContent) {}\n\n onText(text) {}\n\n onBeginElement(name, attributes, isEmpty) {}\n\n onEndElement(name) {}\n\n onError(code) {}\n\n}\n\nclass SimpleDOMNode {\n constructor(nodeName, nodeValue) {\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n get firstChild() {\n return this.childNodes && this.childNodes[0];\n }\n\n get nextSibling() {\n const childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n const index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n\n get textContent() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n\n hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n\n}\n\nclass SimpleXMLParser extends XMLParserBase {\n constructor() {\n super();\n this._currentFragment = null;\n this._stack = null;\n this._errorCode = XMLParserErrorCode.NoError;\n }\n\n parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n const [documentElement] = this._currentFragment;\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement\n };\n }\n\n onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return super.onResolveEntity(name);\n }\n\n onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n const node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n\n onCdata(text) {\n const node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n\n onBeginElement(name, attributes, isEmpty) {\n const node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n\n onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n const lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n\n onError(code) {\n this._errorCode = code;\n }\n\n}\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport);\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n const initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found);\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n\n}\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n\n}\n\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass WebGLContext {\n constructor({\n enable = false\n }) {\n this._enabled = enable === true;\n }\n\n get isEnabled() {\n let enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n\n composeSMask({\n layer,\n mask,\n properties\n }) {\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n\n drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context\n }) {\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n\n clear() {\n WebGLUtils.cleanup();\n }\n\n}\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n\n composeSMask,\n drawFigures,\n\n cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n\n };\n}();\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n let left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n if (geom.str.length > 1) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, i) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[i + 0] = c && (e.left - t[0]) / c;\n ts[i + 4] = s && (e.top - t[1]) / s;\n ts[i + 8] = c && (e.right - t[0]) / c;\n ts[i + 12] = s && (e.bottom - t[1]) / s;\n ts[i + 16] = s && (e.left - t[0]) / -s;\n ts[i + 20] = c && (e.top - t[1]) / c;\n ts[i + 24] = s && (e.right - t[0]) / -s;\n ts[i + 28] = c && (e.bottom - t[1]) / c;\n ts[i + 32] = c && (e.left - t[0]) / -c;\n ts[i + 36] = s && (e.top - t[1]) / -s;\n ts[i + 40] = c && (e.right - t[0]) / -c;\n ts[i + 44] = s && (e.bottom - t[1]) / -s;\n ts[i + 48] = s && (e.left - t[0]) / s;\n ts[i + 52] = c && (e.top - t[1]) / -c;\n ts[i + 56] = s && (e.right - t[0]) / s;\n ts[i + 60] = c && (e.bottom - t[1]) / -c;\n });\n\n var findPositiveMin = function (ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n };\n\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n }) {\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise.finally(() => {\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n let transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n const {\n fontSize,\n fontFamily\n } = textDiv.style;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = `scaleX(${textDivProperties.scale})`;\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n const canvas = document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(() => {\n styleCache = null;\n\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n const transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n\n const divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _util = __w_pdfjs_require__(1);\n\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n\n}\n\nclass AnnotationElement {\n constructor(parameters, isRenderable = false, ignoreBorder = false) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let width = data.rect[2] - data.rect[0];\n let height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n container.style.transformOrigin = `-${rect[0]}px -${rect[1]}px`;\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${rect[0]}px`;\n container.style.top = `${rect[1]}px`;\n container.style.width = `${width}px`;\n container.style.height = `${height}px`;\n return container;\n }\n\n _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n super(parameters, isRenderable);\n }\n\n render() {\n this.container.className = \"linkAnnotation\";\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = () => {\n if (destination) {\n this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n\n link.className = \"internalLink\";\n }\n\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n return this.container;\n }\n\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, isRenderable);\n }\n\n render() {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n let font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n _setTextStyle(element, font) {\n const style = element.style;\n style.fontSize = `${this.data.fontSize}px`;\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n let bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n const fontFamily = font.loadedName ? `\"${font.loadedName}\", ` : \"\";\n const fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n const parentLeft = parseFloat(parentElement.style.left);\n const parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = `-${parentLeft + parentWidth}px -${parentElement.style.top}`;\n this.container.style.left = `${parentLeft + parentWidth}px`;\n this.container.appendChild(popup.render());\n return this.container;\n }\n\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n const contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n\n _formatContents(contents) {\n const p = document.createElement(\"p\");\n const lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n let points = [];\n\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n for (const inkList of data.inkLists) {\n let points = [];\n\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, true);\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n\n if (this.linkService.eventBus) {\n this.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: this,\n id: (0, _util.stringToPDFString)(filename),\n filename,\n content\n });\n }\n }\n\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n\n _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n\n}\n\nclass AnnotationLayer {\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n\n if (data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n\n sortedAnnotations.push(data);\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n\n static update(parameters) {\n for (const data of parameters.annotations) {\n const element = parameters.div.querySelector(`[data-annotation-id=\"${data.id}\"]`);\n\n if (element) {\n element.style.transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n }\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n\n}\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(4);\n\nvar _is_node = __w_pdfjs_require__(7);\n\nlet SVGGraphics = function () {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n\n for (let i = 0; i < 256; i++) {\n let c = i;\n\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n let input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n }\n\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const s = value.toFixed(10);\n let i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema) {\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintJpegXObject:\n this.paintJpegXObject(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += -glyph * fontSize * 0.001;\n continue;\n }\n\n const width = glyph.width;\n const character = glyph.fontChar;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const charWidth = width * widthAdvanceScale + spacing * fontDirection;\n\n if (!glyph.isInFont && !font.missingFile) {\n x += charWidth;\n continue;\n }\n\n current.xcoords.push(current.x + x);\n current.tspan.textContent += character;\n x += charWidth;\n }\n\n if (vertical) {\n current.y -= x * textHScale;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n let textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n const url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n }\n\n endText() {\n const current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n\n const [tx0, ty0] = _util.Util.applyTransform([x0, y0], matrix);\n\n const [tx1, ty1] = _util.Util.applyTransform([x1, y1], matrix);\n\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n const cssColor = _util.Util.makeCssRgb(...color);\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return `url(#${tilingId})`;\n }\n\n _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n\n this.defs.appendChild(gradient);\n return `url(#${shadingId})`;\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n\n fillStroke() {\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n paintJpegXObject(objId, w, h) {\n const imgObj = this.objs.get(objId);\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgObj.src);\n imgEl.setAttributeNS(null, \"width\", pf(w));\n imgEl.setAttributeNS(null, \"height\", pf(h));\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-h));\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / w)} ${pf(-1 / h)})`);\n\n this._ensureTransformGroup().appendChild(imgEl);\n }\n\n paintImageXObject(objId) {\n const imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n\n };\n}\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(20);\n\nconst fs = require(\"fs\");\n\nconst http = require(\"http\");\n\nconst https = require(\"https\");\n\nconst url = require(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFNodeStream = PDFNodeStream;\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nfunction createRequestOptions(url, headers) {\n return {\n protocol: url.protocol,\n auth: url.auth,\n host: url.hostname,\n port: url.port,\n path: url.path,\n method: \"GET\",\n headers\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._headersCapability.resolve();\n\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n\n this._headersCapability.reject(reason);\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n this._httpHeaders[property] = value;\n }\n\n this._httpHeaders[\"Range\"] = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n\n this._setReadableStream(response);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n\n this._headersCapability.resolve();\n });\n }\n\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n\n}\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(21);\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDisposition) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDisposition)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n const parts = [];\n\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (_, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(20);\n\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n const xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n\n hasPendingRequests() {\n for (const xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortAllRequests() {\n for (const xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n\n}\n\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n _onError(status) {\n const url = this._url;\n const exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n\n _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n\n}\n\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n\n}\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(20);\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader);\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFFetchStream = PDFFetchStream;\n\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._reader = response.body.getReader();\n\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._readCapability.resolve();\n\n this._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","function _OverloadYield(e, d) {\n this.v = e, this.k = d;\n}\nmodule.exports = _OverloadYield, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorDefine(e, r, n, t) {\n var i = Object.defineProperty;\n try {\n i({}, \"\", {});\n } catch (e) {\n i = 0;\n }\n module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) {\n function o(r, n) {\n _regeneratorDefine(e, r, function (e) {\n return this._invoke(r, n, e);\n });\n }\n r ? i ? i(e, r, {\n value: n,\n enumerable: !t,\n configurable: !t,\n writable: !t\n }) : e[r] = n : (o(\"next\", 0), o(\"throw\", 1), o(\"return\", 2));\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _regeneratorDefine(e, r, n, t);\n}\nmodule.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction _regenerator() {\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */\n var e,\n t,\n r = \"function\" == typeof Symbol ? Symbol : {},\n n = r.iterator || \"@@iterator\",\n o = r.toStringTag || \"@@toStringTag\";\n function i(r, n, o, i) {\n var c = n && n.prototype instanceof Generator ? n : Generator,\n u = Object.create(c.prototype);\n return regeneratorDefine(u, \"_invoke\", function (r, n, o) {\n var i,\n c,\n u,\n f = 0,\n p = o || [],\n y = !1,\n G = {\n p: 0,\n n: 0,\n v: e,\n a: d,\n f: d.bind(e, 4),\n d: function d(t, r) {\n return i = t, c = 0, u = e, G.n = r, a;\n }\n };\n function d(r, n) {\n for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {\n var o,\n i = p[t],\n d = G.p,\n l = i[2];\n r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));\n }\n if (o || r > 1) return a;\n throw y = !0, n;\n }\n return function (o, p, l) {\n if (f > 1) throw TypeError(\"Generator is already running\");\n for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {\n i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);\n try {\n if (f = 2, i) {\n if (c || (o = \"next\"), t = i[o]) {\n if (!(t = t.call(i, u))) throw TypeError(\"iterator result is not an object\");\n if (!t.done) return t;\n u = t.value, c < 2 && (c = 0);\n } else 1 === c && (t = i[\"return\"]) && t.call(i), c < 2 && (u = TypeError(\"The iterator does not provide a '\" + o + \"' method\"), c = 1);\n i = e;\n } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;\n } catch (t) {\n i = e, c = 1, u = t;\n } finally {\n f = 1;\n }\n }\n return {\n value: t,\n done: y\n };\n };\n }(r, o, i), !0), u;\n }\n var a = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n t = Object.getPrototypeOf;\n var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function () {\n return this;\n }), t),\n u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);\n function f(e) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, \"GeneratorFunction\")), e.prototype = Object.create(u), e;\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, \"constructor\", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = \"GeneratorFunction\", regeneratorDefine(GeneratorFunctionPrototype, o, \"GeneratorFunction\"), regeneratorDefine(u), regeneratorDefine(u, o, \"Generator\"), regeneratorDefine(u, n, function () {\n return this;\n }), regeneratorDefine(u, \"toString\", function () {\n return \"[object Generator]\";\n }), (module.exports = _regenerator = function _regenerator() {\n return {\n w: i,\n m: f\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regeneratorDefine = require(\"./regeneratorDefine.js\");\nfunction AsyncIterator(t, e) {\n function n(r, o, i, f) {\n try {\n var c = t[r](o),\n u = c.value;\n return u instanceof OverloadYield ? e.resolve(u.v).then(function (t) {\n n(\"next\", t, i, f);\n }, function (t) {\n n(\"throw\", t, i, f);\n }) : e.resolve(u).then(function (t) {\n c.value = t, i(c);\n }, function (t) {\n return n(\"throw\", t, i, f);\n });\n } catch (t) {\n f(t);\n }\n }\n var r;\n this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, \"function\" == typeof Symbol && Symbol.asyncIterator || \"@asyncIterator\", function () {\n return this;\n })), regeneratorDefine(this, \"_invoke\", function (t, o, i) {\n function f() {\n return new e(function (e, r) {\n n(t, i, e, r);\n });\n }\n return r = r ? r.then(f, f) : f();\n }, !0);\n}\nmodule.exports = AsyncIterator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regenerator = require(\"./regenerator.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nfunction _regeneratorAsyncGen(r, e, t, o, n) {\n return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise);\n}\nmodule.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nfunction _regeneratorAsync(n, e, r, t, o) {\n var a = regeneratorAsyncGen(n, e, r, t, o);\n return a.next().then(function (n) {\n return n.done ? n.value : a.next();\n });\n}\nmodule.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _regeneratorKeys(e) {\n var n = Object(e),\n r = [];\n for (var t in n) r.unshift(t);\n return function e() {\n for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e;\n return e.done = !0, e;\n };\n}\nmodule.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorValues(e) {\n if (null != e) {\n var t = e[\"function\" == typeof Symbol && Symbol.iterator || \"@@iterator\"],\n r = 0;\n if (t) return t.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) return {\n next: function next() {\n return e && r >= e.length && (e = void 0), {\n value: e && e[r++],\n done: !e\n };\n }\n };\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n}\nmodule.exports = _regeneratorValues, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var OverloadYield = require(\"./OverloadYield.js\");\nvar regenerator = require(\"./regenerator.js\");\nvar regeneratorAsync = require(\"./regeneratorAsync.js\");\nvar regeneratorAsyncGen = require(\"./regeneratorAsyncGen.js\");\nvar regeneratorAsyncIterator = require(\"./regeneratorAsyncIterator.js\");\nvar regeneratorKeys = require(\"./regeneratorKeys.js\");\nvar regeneratorValues = require(\"./regeneratorValues.js\");\nfunction _regeneratorRuntime() {\n \"use strict\";\n\n var r = regenerator(),\n e = r.m(_regeneratorRuntime),\n t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor;\n function n(r) {\n var e = \"function\" == typeof r && r.constructor;\n return !!e && (e === t || \"GeneratorFunction\" === (e.displayName || e.name));\n }\n var o = {\n \"throw\": 1,\n \"return\": 2,\n \"break\": 3,\n \"continue\": 3\n };\n function a(r) {\n var e, t;\n return function (n) {\n e || (e = {\n stop: function stop() {\n return t(n.a, 2);\n },\n \"catch\": function _catch() {\n return n.v;\n },\n abrupt: function abrupt(r, e) {\n return t(n.a, o[r], e);\n },\n delegateYield: function delegateYield(r, o, a) {\n return e.resultName = o, t(n.d, regeneratorValues(r), a);\n },\n finish: function finish(r) {\n return t(n.f, r);\n }\n }, t = function t(r, _t, o) {\n n.p = e.prev, n.n = e.next;\n try {\n return r(_t, o);\n } finally {\n e.next = n.n;\n }\n }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n;\n try {\n return r.call(this, e);\n } finally {\n n.p = e.prev, n.n = e.next;\n }\n };\n }\n return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return {\n wrap: function wrap(e, t, n, o) {\n return r.w(a(e), t, n, o && o.reverse());\n },\n isGeneratorFunction: n,\n mark: r.m,\n awrap: function awrap(r, e) {\n return new OverloadYield(r, e);\n },\n AsyncIterator: regeneratorAsyncIterator,\n async: function async(r, e, t, o, u) {\n return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u);\n },\n keys: regeneratorKeys,\n values: regeneratorValues\n };\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// As defined on the list of supported events: https://reactjs.org/docs/events.html\nexport var clipboardEvents = ['onCopy', 'onCut', 'onPaste'];\nexport var compositionEvents = [\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n];\nexport var focusEvents = ['onFocus', 'onBlur'];\nexport var formEvents = ['onInput', 'onInvalid', 'onReset', 'onSubmit'];\nexport var imageEvents = ['onLoad', 'onError'];\nexport var keyboardEvents = ['onKeyDown', 'onKeyPress', 'onKeyUp'];\nexport var mediaEvents = [\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onError',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n];\nexport var mouseEvents = [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n];\nexport var dragEvents = [\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n];\nexport var selectionEvents = ['onSelect'];\nexport var touchEvents = ['onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart'];\nexport var pointerEvents = [\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n];\nexport var uiEvents = ['onScroll'];\nexport var wheelEvents = ['onWheel'];\nexport var animationEvents = [\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n];\nexport var transitionEvents = ['onTransitionEnd'];\nexport var otherEvents = ['onToggle'];\nexport var changeEvents = ['onChange'];\nexport var allEvents = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], clipboardEvents, true), compositionEvents, true), focusEvents, true), formEvents, true), imageEvents, true), keyboardEvents, true), mediaEvents, true), mouseEvents, true), dragEvents, true), selectionEvents, true), touchEvents, true), pointerEvents, true), uiEvents, true), wheelEvents, true), animationEvents, true), transitionEvents, true), changeEvents, true), otherEvents, true);\n/**\n * Returns an object with on-event callback props curried with provided args.\n * @param {Object} props Props passed to a component.\n * @param {Function=} getArgs A function that returns argument(s) on-event callbacks\n * shall be curried with.\n */\nexport default function makeEventProps(props, getArgs) {\n var eventProps = {};\n allEvents.forEach(function (eventName) {\n var eventHandler = props[eventName];\n if (!eventHandler) {\n return;\n }\n if (getArgs) {\n eventProps[eventName] = (function (event) {\n return eventHandler(event, getArgs(eventName));\n });\n }\n else {\n eventProps[eventName] = eventHandler;\n }\n });\n return eventProps;\n}\n","export default function makeCancellablePromise(promise) {\n var isCancelled = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise\n .then(function (value) { return !isCancelled && resolve(value); })\n .catch(function (error) { return !isCancelled && reject(error); });\n });\n return {\n promise: wrappedPromise,\n cancel: function () {\n isCancelled = true;\n },\n };\n}\n","export default function mergeClassNames() {\n return Array.prototype.slice.call(arguments).reduce(function (classList, arg) {\n return classList.concat(arg);\n }, []).filter(function (arg) {\n return typeof arg === 'string';\n }).join(' ');\n}","import { createContext } from 'react';\nexport default createContext(null);","import React from 'react';\nimport PropTypes from 'prop-types';\nexport default function Message(_ref) {\n var children = _ref.children,\n type = _ref.type;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__message react-pdf__message--\".concat(type)\n }, children);\n}\nMessage.propTypes = {\n children: PropTypes.node,\n type: PropTypes.oneOf(['error', 'loading', 'no-data']).isRequired\n};","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.getGlobalEventBus = getGlobalEventBus;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\nconst CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(property, args, fallback) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {}\n\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n const devicePixelRatio = window.devicePixelRatio || 1;\n const backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n const pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot, skipOverflowHiddenElements = false) {\n let parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\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 let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n const parts = query.split(\"&\");\n const params = Object.create(null);\n\n for (let i = 0, ii = parts.length; i < ii; ++i) {\n const param = parts[i].split(\"=\");\n const key = param[0].toLowerCase();\n const value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n let minIndex = 0;\n let maxIndex = items.length - 1;\n\n if (items.length === 0 || !condition(items[maxIndex])) {\n return items.length;\n }\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\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n const xinv = 1 / x;\n const limit = 8;\n\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 let a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n const p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n let result;\n\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\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\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views, sortByVisibility = false, horizontal = false) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n const element = view.div;\n const elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n const visible = [],\n numViews = views.length;\n let firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\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 if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent\n });\n }\n\n const first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first,\n last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n let i = 0;\n const ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName, args = null) {\n const details = Object.create(null);\n\n if (args && args.length > 0) {\n const obj = args[0];\n\n for (const key in obj) {\n const value = obj[key];\n\n if (key === \"source\") {\n if (value === window || value === document) {\n return;\n }\n\n continue;\n }\n\n details[key] = value;\n }\n }\n\n const event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(eventName, true, true, details);\n document.dispatchEvent(event);\n}\n\nclass EventBus {\n constructor({\n dispatchToDOM = false\n } = {}) {\n this._listeners = Object.create(null);\n this._dispatchToDOM = dispatchToDOM === true;\n\n if (dispatchToDOM) {\n console.error(\"The `eventBusDispatchToDOM` option/preference is deprecated, \" + \"add event listeners to the EventBus instance rather than the DOM.\");\n }\n }\n\n on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n\n off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n\n dispatch(eventName) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n if (this._dispatchToDOM) {\n const args = Array.prototype.slice.call(arguments, 1);\n dispatchDOMEvent(eventName, args);\n }\n\n return;\n }\n\n const args = Array.prototype.slice.call(arguments, 1);\n let externalListeners;\n eventListeners.slice(0).forEach(function ({\n listener,\n external\n }) {\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n\n if (this._dispatchToDOM) {\n dispatchDOMEvent(eventName, args);\n }\n }\n\n _on(eventName, listener, options = null) {\n let eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener,\n external: (options && options.external) === true\n });\n }\n\n _off(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n\n}\n\nexports.EventBus = EventBus;\nlet globalEventBus = null;\n\nfunction getGlobalEventBus(dispatchToDOM = false) {\n console.error(\"getGlobalEventBus is deprecated, use a manually created EventBus instance instead.\");\n\n if (!globalEventBus) {\n globalEventBus = new EventBus({\n dispatchToDOM\n });\n }\n\n return globalEventBus;\n}\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n constructor(id, {\n height,\n width,\n units\n } = {}) {\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n const progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n\n get percent() {\n return this._percent;\n }\n\n set percent(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n\n show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n\n}\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n const moved = [],\n len = arr.length;\n let write = 0;\n\n for (let read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (let read = 0; write < len; ++read, ++write) {\n arr[write] = moved[read];\n }\n}","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\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 * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = require(\"./ui_utils.js\");\n\nclass PDFLinkService {\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n externalLinkEnabled = true,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus || (0, _ui_utils.getGlobalEventBus)();\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n navigateTo(dest) {\n const goToDestination = ({\n namedDest,\n explicitDest\n }) => {\n const destRef = explicitDest[0];\n let pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n goToDestination({\n namedDest,\n explicitDest\n });\n }).catch(() => {\n console.error(`PDFLinkService.navigateTo: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${dest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.navigateTo: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${dest}\".`);\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.navigateTo: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${dest}\".`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n };\n\n new Promise((resolve, reject) => {\n if (typeof dest === \"string\") {\n this.pdfDocument.getDestination(dest).then(destArray => {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(data => {\n if (!Array.isArray(data.explicitDest)) {\n console.error(`PDFLinkService.navigateTo: \"${data.explicitDest}\" is` + ` not a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n\n goToDestination(data);\n });\n }\n\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n setHash(hash) {\n let pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params[\"search\"].replace(/\"/g, \"\"),\n phraseSearch: params[\"phrase\"] === \"true\"\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n return;\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n const zoomArgs = params.zoom.split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not ` + \"a valid zoom value.\");\n }\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;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not ` + \"a valid destination.\");\n }\n }\n\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\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;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this._pagesRefCache[refStr] = pageNum;\n }\n\n _cachedPageNumber(pageRef) {\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n}\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n const destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n const page = dest[0];\n\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n const zoom = dest[1];\n\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n let allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nclass SimpleLinkService {\n constructor() {\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n get pagesCount() {\n return 0;\n }\n\n get page() {\n return 0;\n }\n\n set page(value) {}\n\n get rotation() {\n return 0;\n }\n\n set rotation(value) {}\n\n navigateTo(dest) {}\n\n getDestinationHash(dest) {\n return \"#\";\n }\n\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n setHash(hash) {}\n\n executeNamedAction(action) {}\n\n cachePageRef(pageNum, pageRef) {}\n\n isPageVisible(pageNumber) {\n return true;\n }\n\n}\n\nexports.SimpleLinkService = SimpleLinkService;","import { PDFLinkService } from 'pdfjs-dist/lib/web/pdf_link_service';\nexport default PDFLinkService;","// As defined in https://github.com/mozilla/pdf.js/blob/master/src/shared/util.js#L378-L381\nvar PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexport default PasswordResponses;","import { EventBus } from 'pdfjs-dist/lib/web/ui_utils';\nexport default new EventBus();","/**\n * Checks if we're running in a browser environment.\n */\nexport var isBrowser = typeof window !== 'undefined';\n/**\n * Checks whether we're running from a local file system.\n */\n\nexport var isLocalFileSystem = isBrowser && window.location.protocol === 'file:';\n/**\n * Checks whether we're running on a production build or not.\n */\n\nexport var isProduction = process.env.NODE_ENV === 'production';\n/**\n * Checks whether a variable is defined.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isDefined = function isDefined(variable) {\n return typeof variable !== 'undefined';\n};\n/**\n * Checks whether a variable is defined and not null.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isProvided = function isProvided(variable) {\n return isDefined(variable) && variable !== null;\n};\n/**\n * Checkes whether a variable provided is a string.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isString = function isString(variable) {\n return typeof variable === 'string';\n};\n/**\n * Checks whether a variable provided is an ArrayBuffer.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isArrayBuffer = function isArrayBuffer(variable) {\n return variable instanceof ArrayBuffer;\n};\n/**\n * Checkes whether a variable provided is a Blob.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isBlob = function isBlob(variable) {\n if (!isBrowser) {\n throw new Error('Attempted to check if a variable is a Blob on a non-browser environment.');\n }\n\n return variable instanceof Blob;\n};\n/**\n * Checkes whether a variable provided is a File.\n *\n * @param {*} variable Variable to check\n */\n\nexport var isFile = function isFile(variable) {\n if (!isBrowser) {\n throw new Error('Attempted to check if a variable is a File on a non-browser environment.');\n }\n\n return variable instanceof File;\n};\n/**\n * Checks whether a string provided is a data URI.\n *\n * @param {String} str String to check\n */\n\nexport var isDataURI = function isDataURI(str) {\n return isString(str) && /^data:/.test(str);\n};\nexport var dataURItoUint8Array = function dataURItoUint8Array(dataURI) {\n if (!isDataURI(dataURI)) {\n throw new Error('dataURItoUint8Array was provided with an argument which is not a valid data URI.');\n }\n\n var byteString;\n\n if (dataURI.split(',')[0].indexOf('base64') >= 0) {\n byteString = atob(dataURI.split(',')[1]);\n } else {\n byteString = unescape(dataURI.split(',')[1]);\n }\n\n var ia = new Uint8Array(byteString.length);\n\n for (var i = 0; i < byteString.length; i += 1) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n return ia;\n};\nexport var getPixelRatio = function getPixelRatio() {\n return isBrowser && window.devicePixelRatio || 1;\n};\n\nvar consoleOnDev = function consoleOnDev(method) {\n if (!isProduction) {\n var _console;\n\n for (var _len = arguments.length, message = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n message[_key - 1] = arguments[_key];\n }\n\n // eslint-disable-next-line no-console\n (_console = console)[method].apply(_console, message);\n }\n};\n\nexport var warnOnDev = function warnOnDev() {\n for (var _len2 = arguments.length, message = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n message[_key2] = arguments[_key2];\n }\n\n return consoleOnDev.apply(void 0, ['warn'].concat(message));\n};\nexport var errorOnDev = function errorOnDev() {\n for (var _len3 = arguments.length, message = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n message[_key3] = arguments[_key3];\n }\n\n return consoleOnDev.apply(void 0, ['error'].concat(message));\n};\nexport var displayCORSWarning = function displayCORSWarning() {\n if (isLocalFileSystem) {\n warnOnDev('Loading PDF as base64 strings/URLs might not work on protocols other than HTTP/HTTPS. On Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.');\n }\n};\nexport var cancelRunningTask = function cancelRunningTask(runningTask) {\n if (runningTask && runningTask.cancel) runningTask.cancel();\n};\nexport var makePageCallback = function makePageCallback(page, scale) {\n Object.defineProperty(page, 'width', {\n get: function get() {\n return this.view[2] * scale;\n },\n configurable: true\n });\n Object.defineProperty(page, 'height', {\n get: function get() {\n return this.view[3] * scale;\n },\n configurable: true\n });\n Object.defineProperty(page, 'originalWidth', {\n get: function get() {\n return this.view[2];\n },\n configurable: true\n });\n Object.defineProperty(page, 'originalHeight', {\n get: function get() {\n return this.view[3];\n },\n configurable: true\n });\n return page;\n};\nexport var isCancelException = function isCancelException(error) {\n return error.name === 'RenderingCancelledException';\n};\nexport var loadFromFile = function loadFromFile(file) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n\n reader.onload = function () {\n return resolve(new Uint8Array(reader.result));\n };\n\n reader.onerror = function (event) {\n switch (event.target.error.code) {\n case event.target.error.NOT_FOUND_ERR:\n return reject(new Error('Error while reading a file: File not found.'));\n\n case event.target.error.NOT_READABLE_ERR:\n return reject(new Error('Error while reading a file: File not readable.'));\n\n case event.target.error.SECURITY_ERR:\n return reject(new Error('Error while reading a file: Security error.'));\n\n case event.target.error.ABORT_ERR:\n return reject(new Error('Error while reading a file: Aborted.'));\n\n default:\n return reject(new Error('Error while reading a file.'));\n }\n };\n\n reader.readAsArrayBuffer(file);\n return null;\n });\n};","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport PropTypes from 'prop-types';\nimport { mouseEvents, touchEvents, keyboardEvents } from 'make-event-props';\nimport { isDefined } from './utils';\nimport LinkService from '../LinkService';\nexport var eventProps = function () {\n var result = {};\n [].concat(_toConsumableArray(mouseEvents), _toConsumableArray(touchEvents), _toConsumableArray(keyboardEvents)).forEach(function (eventName) {\n result[eventName] = PropTypes.func;\n });\n return result;\n}();\nvar fileTypes = [PropTypes.string, PropTypes.instanceOf(ArrayBuffer), PropTypes.shape({\n data: PropTypes.object,\n httpHeaders: PropTypes.object,\n range: PropTypes.object,\n url: PropTypes.string,\n withCredentials: PropTypes.bool\n})];\n\nif (typeof File !== 'undefined') {\n fileTypes.push(PropTypes.instanceOf(File));\n}\n\nif (typeof Blob !== 'undefined') {\n fileTypes.push(PropTypes.instanceOf(Blob));\n}\n\nexport var isClassName = PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]);\nexport var isFile = PropTypes.oneOfType(fileTypes);\nexport var isLinkService = PropTypes.instanceOf(LinkService);\nexport var isLinkTarget = PropTypes.oneOf(['_self', '_blank', '_parent', '_top']);\nexport var isPage = PropTypes.shape({\n _transport: PropTypes.shape({\n fontLoader: PropTypes.object.isRequired\n }).isRequired,\n commonObjs: PropTypes.shape({\n _objs: PropTypes.object.isRequired\n }).isRequired,\n getAnnotations: PropTypes.func.isRequired,\n getTextContent: PropTypes.func.isRequired,\n getViewport: PropTypes.func.isRequired,\n render: PropTypes.func.isRequired\n});\nexport var isPageIndex = function isPageIndex(props, propName, componentName) {\n var pageIndex = props[propName],\n pageNumber = props.pageNumber,\n pdf = props.pdf;\n\n if (!isDefined(pdf)) {\n return null;\n }\n\n if (isDefined(pageIndex)) {\n if (typeof pageIndex !== 'number') {\n return new Error(\"`\".concat(propName, \"` of type `\").concat(_typeof(pageIndex), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (pageIndex < 0) {\n return new Error(\"Expected `\".concat(propName, \"` to be greater or equal to 0.\"));\n }\n\n var numPages = pdf.numPages;\n\n if (pageIndex + 1 > numPages) {\n return new Error(\"Expected `\".concat(propName, \"` to be less or equal to \").concat(numPages - 1, \".\"));\n }\n } else if (!isDefined(pageNumber)) {\n return new Error(\"`\".concat(propName, \"` not supplied. Either pageIndex or pageNumber must be supplied to `\").concat(componentName, \"`.\"));\n } // Everything is fine\n\n\n return null;\n};\nexport var isPageNumber = function isPageNumber(props, propName, componentName) {\n var pageNumber = props[propName],\n pageIndex = props.pageIndex,\n pdf = props.pdf;\n\n if (!isDefined(pdf)) {\n return null;\n }\n\n if (isDefined(pageNumber)) {\n if (typeof pageNumber !== 'number') {\n return new Error(\"`\".concat(propName, \"` of type `\").concat(_typeof(pageNumber), \"` supplied to `\").concat(componentName, \"`, expected `number`.\"));\n }\n\n if (pageNumber < 1) {\n return new Error(\"Expected `\".concat(propName, \"` to be greater or equal to 1.\"));\n }\n\n var numPages = pdf.numPages;\n\n if (pageNumber > numPages) {\n return new Error(\"Expected `\".concat(propName, \"` to be less or equal to \").concat(numPages, \".\"));\n }\n } else if (!isDefined(pageIndex)) {\n return new Error(\"`\".concat(propName, \"` not supplied. Either pageIndex or pageNumber must be supplied to `\").concat(componentName, \"`.\"));\n } // Everything is fine\n\n\n return null;\n};\nexport var isPdf = PropTypes.oneOfType([PropTypes.shape({\n getDestination: PropTypes.func.isRequired,\n getOutline: PropTypes.func.isRequired,\n getPage: PropTypes.func.isRequired,\n numPages: PropTypes.number.isRequired\n}), PropTypes.bool]);\nexport var isRenderMode = PropTypes.oneOf(['canvas', 'none', 'svg']);\nexport var isRotate = PropTypes.oneOf([0, 90, 180, 270]);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\n/**\n * Loads a PDF document. Passes it to all children.\n */\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeEventProps from 'make-event-props';\nimport makeCancellable from 'make-cancellable-promise';\nimport mergeClassNames from 'merge-class-names';\nimport pdfjs from 'pdfjs-dist/build/pdf';\nimport DocumentContext from './DocumentContext';\nimport Message from './Message';\nimport LinkService from './LinkService';\nimport PasswordResponses from './PasswordResponses';\nimport eventBus from './eventBus';\nimport { cancelRunningTask, dataURItoUint8Array, displayCORSWarning, errorOnDev, isArrayBuffer, isBlob, isBrowser, isDataURI, isFile, loadFromFile, warnOnDev } from './shared/utils';\nimport { eventProps, isClassName } from './shared/propTypes';\nvar PDFDataRangeTransport = pdfjs.PDFDataRangeTransport;\n\nvar Document = /*#__PURE__*/function (_PureComponent) {\n _inherits(Document, _PureComponent);\n\n var _super = _createSuper(Document);\n\n function Document() {\n var _this;\n\n _classCallCheck(this, Document);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n pdf: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"viewer\", {\n scrollPageIntoView: function scrollPageIntoView(_ref) {\n var pageNumber = _ref.pageNumber;\n // Handling jumping to internal links target\n var onItemClick = _this.props.onItemClick; // First, check if custom handling of onItemClick was provided\n\n if (onItemClick) {\n onItemClick({\n pageNumber: pageNumber\n });\n return;\n } // If not, try to look for target page within the <Document>.\n\n\n var page = _this.pages[pageNumber - 1];\n\n if (page) {\n // Scroll to the page automatically\n page.scrollIntoView();\n return;\n }\n\n warnOnDev(\"Warning: An internal link leading to page \".concat(pageNumber, \" was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.\"));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"linkService\", new LinkService({\n eventBus: eventBus\n }));\n\n _defineProperty(_assertThisInitialized(_this), \"loadDocument\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var source, _this$props, options, onLoadProgress, onPassword, cancellable, pdf;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n source = null;\n _context.prev = 1;\n _context.next = 4;\n return _this.findDocumentSource();\n\n case 4:\n source = _context.sent;\n\n _this.onSourceSuccess();\n\n _context.next = 11;\n break;\n\n case 8:\n _context.prev = 8;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onSourceError(_context.t0);\n\n case 11:\n if (source) {\n _context.next = 13;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 13:\n _this.setState(function (prevState) {\n if (!prevState.pdf) {\n return null;\n }\n\n return {\n pdf: null\n };\n });\n\n _this$props = _this.props, options = _this$props.options, onLoadProgress = _this$props.onLoadProgress, onPassword = _this$props.onPassword;\n _context.prev = 15;\n // If another loading is in progress, let's cancel it\n cancelRunningTask(_this.runningTask);\n _this.loadingTask = pdfjs.getDocument(_objectSpread({}, source, {}, options));\n _this.loadingTask.onPassword = onPassword;\n\n if (onLoadProgress) {\n _this.loadingTask.onProgress = onLoadProgress;\n }\n\n cancellable = makeCancellable(_this.loadingTask.promise);\n _this.runningTask = cancellable;\n _context.next = 24;\n return cancellable.promise;\n\n case 24:\n pdf = _context.sent;\n\n _this.setState(function (prevState) {\n if (prevState.pdf && prevState.pdf.fingerprint === pdf.fingerprint) {\n return null;\n }\n\n return {\n pdf: pdf\n };\n }, _this.onLoadSuccess);\n\n _context.next = 31;\n break;\n\n case 28:\n _context.prev = 28;\n _context.t1 = _context[\"catch\"](15);\n\n _this.onLoadError(_context.t1);\n\n case 31:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 8], [15, 28]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"setupLinkService\", function () {\n _this.linkService.setViewer(_this.viewer);\n\n var documentInstance = _assertThisInitialized(_this);\n\n Object.defineProperty(_this.linkService, 'externalLinkTarget', {\n get: function get() {\n var externalLinkTarget = documentInstance.props.externalLinkTarget;\n\n switch (externalLinkTarget) {\n case '_self':\n return 1;\n\n case '_blank':\n return 2;\n\n case '_parent':\n return 3;\n\n case '_top':\n return 4;\n\n default:\n return 0;\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSourceSuccess\", function () {\n var onSourceSuccess = _this.props.onSourceSuccess;\n if (onSourceSuccess) onSourceSuccess();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSourceError\", function (error) {\n errorOnDev(error);\n var onSourceError = _this.props.onSourceError;\n if (onSourceError) onSourceError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onLoadSuccess = _this.props.onLoadSuccess;\n var pdf = _this.state.pdf;\n if (onLoadSuccess) onLoadSuccess(pdf);\n _this.pages = new Array(pdf.numPages);\n\n _this.linkService.setDocument(pdf);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n pdf: false\n });\n\n errorOnDev(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"findDocumentSource\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var file, fileUint8Array, url, otherParams, _fileUint8Array;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n file = _this.props.file;\n\n if (file) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\", null);\n\n case 3:\n if (!(typeof file === 'string')) {\n _context2.next = 9;\n break;\n }\n\n if (!isDataURI(file)) {\n _context2.next = 7;\n break;\n }\n\n fileUint8Array = dataURItoUint8Array(file);\n return _context2.abrupt(\"return\", {\n data: fileUint8Array\n });\n\n case 7:\n displayCORSWarning();\n return _context2.abrupt(\"return\", {\n url: file\n });\n\n case 9:\n if (!(file instanceof PDFDataRangeTransport)) {\n _context2.next = 11;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n range: file\n });\n\n case 11:\n if (!isArrayBuffer(file)) {\n _context2.next = 13;\n break;\n }\n\n return _context2.abrupt(\"return\", {\n data: file\n });\n\n case 13:\n if (!isBrowser) {\n _context2.next = 19;\n break;\n }\n\n if (!(isBlob(file) || isFile(file))) {\n _context2.next = 19;\n break;\n }\n\n _context2.next = 17;\n return loadFromFile(file);\n\n case 17:\n _context2.t0 = _context2.sent;\n return _context2.abrupt(\"return\", {\n data: _context2.t0\n });\n\n case 19:\n if (!(_typeof(file) !== 'object')) {\n _context2.next = 21;\n break;\n }\n\n throw new Error('Invalid parameter in file, need either Uint8Array, string or a parameter object');\n\n case 21:\n if (!(!file.url && !file.data && !file.range)) {\n _context2.next = 23;\n break;\n }\n\n throw new Error('Invalid parameter object: need either .data, .range or .url');\n\n case 23:\n if (!(typeof file.url === 'string')) {\n _context2.next = 29;\n break;\n }\n\n if (!isDataURI(file.url)) {\n _context2.next = 28;\n break;\n }\n\n url = file.url, otherParams = _objectWithoutProperties(file, [\"url\"]);\n _fileUint8Array = dataURItoUint8Array(url);\n return _context2.abrupt(\"return\", _objectSpread({\n data: _fileUint8Array\n }, otherParams));\n\n case 28:\n displayCORSWarning();\n\n case 29:\n return _context2.abrupt(\"return\", file);\n\n case 30:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"registerPage\", function (pageIndex, ref) {\n _this.pages[pageIndex] = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unregisterPage\", function (pageIndex) {\n delete _this.pages[pageIndex];\n });\n\n return _this;\n }\n\n _createClass(Document, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.loadDocument();\n this.setupLinkService();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var file = this.props.file;\n\n if (file !== prevProps.file) {\n this.loadDocument();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.loadingTask) this.loadingTask.destroy();\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var children = this.props.children;\n return /*#__PURE__*/React.createElement(DocumentContext.Provider, {\n value: this.childContext\n }, children);\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var file = this.props.file;\n var pdf = this.state.pdf;\n\n if (!file) {\n var noData = this.props.noData;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"no-data\"\n }, typeof noData === 'function' ? noData() : noData);\n }\n\n if (pdf === null) {\n var loading = this.props.loading;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"loading\"\n }, typeof loading === 'function' ? loading() : loading);\n }\n\n if (pdf === false) {\n var error = this.props.error;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"error\"\n }, typeof error === 'function' ? error() : error);\n }\n\n return this.renderChildren();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n inputRef = _this$props2.inputRef;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergeClassNames('react-pdf__Document', className),\n ref: inputRef\n }, this.eventProps), this.renderContent());\n }\n }, {\n key: \"childContext\",\n get: function get() {\n var linkService = this.linkService,\n registerPage = this.registerPage,\n unregisterPage = this.unregisterPage;\n var _this$props3 = this.props,\n renderMode = _this$props3.renderMode,\n rotate = _this$props3.rotate;\n var pdf = this.state.pdf;\n return {\n linkService: linkService,\n pdf: pdf,\n registerPage: registerPage,\n renderMode: renderMode,\n rotate: rotate,\n unregisterPage: unregisterPage\n };\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n return makeEventProps(this.props, function () {\n return _this2.state.pdf;\n });\n }\n /**\n * Called when a document source is resolved correctly\n */\n\n }]);\n\n return Document;\n}(PureComponent);\n\nexport { Document as default };\nDocument.defaultProps = {\n error: 'Failed to load PDF file.',\n loading: 'Loading PDF…',\n noData: 'No PDF file specified.',\n onPassword: function onPassword(callback, reason) {\n switch (reason) {\n case PasswordResponses.NEED_PASSWORD:\n {\n // eslint-disable-next-line no-alert\n var password = prompt('Enter the password to open this PDF file.');\n callback(password);\n break;\n }\n\n case PasswordResponses.INCORRECT_PASSWORD:\n {\n // eslint-disable-next-line no-alert\n var _password = prompt('Invalid password. Please try again.');\n\n callback(_password);\n break;\n }\n\n default:\n }\n }\n};\nvar isFunctionOrNode = PropTypes.oneOfType([PropTypes.func, PropTypes.node]);\nDocument.propTypes = _objectSpread({}, eventProps, {\n children: PropTypes.node,\n className: isClassName,\n error: isFunctionOrNode,\n file: isFile,\n inputRef: PropTypes.func,\n loading: isFunctionOrNode,\n noData: isFunctionOrNode,\n onItemClick: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoadProgress: PropTypes.func,\n onLoadSuccess: PropTypes.func,\n onPassword: PropTypes.func,\n onSourceError: PropTypes.func,\n onSourceSuccess: PropTypes.func,\n rotate: PropTypes.number\n});","import { createContext } from 'react';\nexport default createContext(null);","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n\nvar Ref = /*#__PURE__*/function () {\n function Ref(_ref) {\n var num = _ref.num,\n gen = _ref.gen;\n\n _classCallCheck(this, Ref);\n\n this.num = num;\n this.gen = gen;\n }\n\n _createClass(Ref, [{\n key: \"toString\",\n value: function toString() {\n var str = \"\".concat(this.num, \"R\");\n\n if (this.gen !== 0) {\n str += this.gen;\n }\n\n return str;\n }\n }]);\n\n return Ref;\n}();\n\nexport { Ref as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport DocumentContext from './DocumentContext';\nimport OutlineContext from './OutlineContext';\nimport Ref from './Ref';\nimport { isDefined } from './shared/utils';\nimport { isPdf } from './shared/propTypes';\nexport var OutlineItemInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(OutlineItemInternal, _PureComponent);\n\n var _super = _createSuper(OutlineItemInternal);\n\n function OutlineItemInternal() {\n var _this;\n\n _classCallCheck(this, OutlineItemInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"getDestination\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _this$props, item, pdf;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this$props = _this.props, item = _this$props.item, pdf = _this$props.pdf;\n\n if (isDefined(_this.destination)) {\n _context.next = 9;\n break;\n }\n\n if (!(typeof item.dest === 'string')) {\n _context.next = 8;\n break;\n }\n\n _context.next = 5;\n return pdf.getDestination(item.dest);\n\n case 5:\n _this.destination = _context.sent;\n _context.next = 9;\n break;\n\n case 8:\n _this.destination = item.dest;\n\n case 9:\n return _context.abrupt(\"return\", _this.destination);\n\n case 10:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"getPageIndex\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var pdf, destination, _destination, ref;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n pdf = _this.props.pdf;\n\n if (isDefined(_this.pageIndex)) {\n _context2.next = 10;\n break;\n }\n\n _context2.next = 4;\n return _this.getDestination();\n\n case 4:\n destination = _context2.sent;\n\n if (!destination) {\n _context2.next = 10;\n break;\n }\n\n _destination = _slicedToArray(destination, 1), ref = _destination[0];\n _context2.next = 9;\n return pdf.getPageIndex(new Ref(ref));\n\n case 9:\n _this.pageIndex = _context2.sent;\n\n case 10:\n return _context2.abrupt(\"return\", _this.pageIndex);\n\n case 11:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"getPageNumber\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (isDefined(_this.pageNumber)) {\n _context3.next = 5;\n break;\n }\n\n _context3.next = 3;\n return _this.getPageIndex();\n\n case 3:\n _context3.t0 = _context3.sent;\n _this.pageNumber = _context3.t0 + 1;\n\n case 5:\n return _context3.abrupt(\"return\", _this.pageNumber);\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(event) {\n var onClick, pageIndex, pageNumber;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n onClick = _this.props.onClick;\n event.preventDefault();\n _context4.next = 4;\n return _this.getPageIndex();\n\n case 4:\n pageIndex = _context4.sent;\n _context4.next = 7;\n return _this.getPageNumber();\n\n case 7:\n pageNumber = _context4.sent;\n\n if (onClick) {\n onClick({\n pageIndex: pageIndex,\n pageNumber: pageNumber\n });\n }\n\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n\n return function (_x) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n return _this;\n }\n\n _createClass(OutlineItemInternal, [{\n key: \"renderSubitems\",\n value: function renderSubitems() {\n var _this$props2 = this.props,\n item = _this$props2.item,\n otherProps = _objectWithoutProperties(_this$props2, [\"item\"]);\n\n if (!item.items || !item.items.length) {\n return null;\n }\n\n var subitems = item.items;\n return /*#__PURE__*/React.createElement(\"ul\", null, subitems.map(function (subitem, subitemIndex) {\n return /*#__PURE__*/React.createElement(OutlineItemInternal, _extends({\n key: typeof subitem.destination === 'string' ? subitem.destination : subitemIndex,\n item: subitem\n }, otherProps));\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var item = this.props.item;\n /* eslint-disable jsx-a11y/anchor-is-valid */\n\n return /*#__PURE__*/React.createElement(\"li\", null, /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\",\n onClick: this.onClick\n }, item.title), this.renderSubitems());\n }\n }]);\n\n return OutlineItemInternal;\n}(PureComponent);\nvar isDestination = PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.any)]);\nOutlineItemInternal.propTypes = {\n item: PropTypes.shape({\n dest: isDestination,\n items: PropTypes.arrayOf(PropTypes.shape({\n dest: isDestination,\n title: PropTypes.string\n })),\n title: PropTypes.string\n }).isRequired,\n onClick: PropTypes.func,\n pdf: isPdf.isRequired\n};\n\nvar OutlineItem = function OutlineItem(props) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (documentContext) {\n return /*#__PURE__*/React.createElement(OutlineContext.Consumer, null, function (outlineContext) {\n return /*#__PURE__*/React.createElement(OutlineItemInternal, _extends({}, documentContext, outlineContext, props));\n });\n });\n};\n\nexport default OutlineItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport makeEventProps from 'make-event-props';\nimport mergeClassNames from 'merge-class-names';\nimport DocumentContext from './DocumentContext';\nimport OutlineContext from './OutlineContext';\nimport OutlineItem from './OutlineItem';\nimport { cancelRunningTask, errorOnDev } from './shared/utils';\nimport { eventProps, isClassName, isPdf } from './shared/propTypes';\nexport var OutlineInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(OutlineInternal, _PureComponent);\n\n var _super = _createSuper(OutlineInternal);\n\n function OutlineInternal() {\n var _this;\n\n _classCallCheck(this, OutlineInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n outline: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadOutline\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var pdf, cancellable, outline;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n pdf = _this.props.pdf;\n\n _this.setState(function (prevState) {\n if (!prevState.outline) {\n return null;\n }\n\n return {\n outline: null\n };\n });\n\n _context.prev = 2;\n cancellable = makeCancellable(pdf.getOutline());\n _this.runningTask = cancellable;\n _context.next = 7;\n return cancellable.promise;\n\n case 7:\n outline = _context.sent;\n\n _this.setState({\n outline: outline\n }, _this.onLoadSuccess);\n\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](2);\n\n _this.onLoadError(_context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 11]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onLoadSuccess = _this.props.onLoadSuccess;\n var outline = _this.state.outline;\n if (onLoadSuccess) onLoadSuccess(outline);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n outline: false\n });\n\n errorOnDev(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onItemClick\", function (_ref2) {\n var pageIndex = _ref2.pageIndex,\n pageNumber = _ref2.pageNumber;\n var onItemClick = _this.props.onItemClick;\n\n if (onItemClick) {\n onItemClick({\n pageIndex: pageIndex,\n pageNumber: pageNumber\n });\n }\n });\n\n return _this;\n }\n\n _createClass(OutlineInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var pdf = this.props.pdf;\n\n if (!pdf) {\n throw new Error('Attempted to load an outline, but no document was specified.');\n }\n\n this.loadOutline();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var pdf = this.props.pdf;\n\n if (prevProps.pdf && pdf !== prevProps.pdf) {\n this.loadOutline();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderOutline\",\n value: function renderOutline() {\n var outline = this.state.outline;\n return /*#__PURE__*/React.createElement(\"ul\", null, outline.map(function (item, itemIndex) {\n return /*#__PURE__*/React.createElement(OutlineItem, {\n key: typeof item.destination === 'string' ? item.destination : itemIndex,\n item: item\n });\n }));\n }\n }, {\n key: \"render\",\n value: function render() {\n var pdf = this.props.pdf;\n var outline = this.state.outline;\n\n if (!pdf || !outline) {\n return null;\n }\n\n var _this$props = this.props,\n className = _this$props.className,\n inputRef = _this$props.inputRef;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergeClassNames('react-pdf__Outline', className),\n ref: inputRef\n }, this.eventProps), /*#__PURE__*/React.createElement(OutlineContext.Provider, {\n value: this.childContext\n }, this.renderOutline()));\n }\n }, {\n key: \"childContext\",\n get: function get() {\n return {\n onClick: this.onItemClick\n };\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this2 = this;\n\n // eslint-disable-next-line react/destructuring-assignment\n return makeEventProps(this.props, function () {\n return _this2.state.outline;\n });\n }\n /**\n * Called when an outline is read successfully\n */\n\n }]);\n\n return OutlineInternal;\n}(PureComponent);\nOutlineInternal.propTypes = _objectSpread({\n className: isClassName,\n inputRef: PropTypes.func,\n onItemClick: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoadSuccess: PropTypes.func,\n pdf: isPdf\n}, eventProps);\n\nfunction Outline(props, ref) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(OutlineInternal, _extends({\n ref: ref\n }, context, props));\n });\n}\n\nexport default React.forwardRef(Outline);","import { createContext } from 'react';\nexport default createContext(null);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport PageContext from '../PageContext';\nimport { errorOnDev, getPixelRatio, isCancelException, makePageCallback } from '../shared/utils';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var PageCanvasInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(PageCanvasInternal, _PureComponent);\n\n var _super = _createSuper(PageCanvasInternal);\n\n function PageCanvasInternal() {\n var _this;\n\n _classCallCheck(this, PageCanvasInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderSuccess\", function () {\n _this.renderer = null;\n var _this$props = _this.props,\n onRenderSuccess = _this$props.onRenderSuccess,\n page = _this$props.page,\n scale = _this$props.scale;\n if (onRenderSuccess) onRenderSuccess(makePageCallback(page, scale));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderError\", function (error) {\n if (isCancelException(error)) {\n return;\n }\n\n errorOnDev(error);\n var onRenderError = _this.props.onRenderError;\n if (onRenderError) onRenderError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"drawPageOnCanvas\", function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n canvas = _assertThisInitialize.canvasLayer;\n\n if (!canvas) {\n return null;\n }\n\n var _assertThisInitialize2 = _assertThisInitialized(_this),\n renderViewport = _assertThisInitialize2.renderViewport,\n viewport = _assertThisInitialize2.viewport;\n\n var _this$props2 = _this.props,\n page = _this$props2.page,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n canvas.width = renderViewport.width;\n canvas.height = renderViewport.height;\n canvas.style.width = \"\".concat(Math.floor(viewport.width), \"px\");\n canvas.style.height = \"\".concat(Math.floor(viewport.height), \"px\");\n var renderContext = {\n get canvasContext() {\n return canvas.getContext('2d');\n },\n\n viewport: renderViewport,\n renderInteractiveForms: renderInteractiveForms\n }; // If another render is in progress, let's cancel it\n\n _this.cancelRenderingTask();\n\n _this.renderer = page.render(renderContext);\n return _this.renderer.promise.then(_this.onRenderSuccess)[\"catch\"](_this.onRenderError);\n });\n\n return _this;\n }\n\n _createClass(PageCanvasInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.drawPageOnCanvas();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props3 = this.props,\n page = _this$props3.page,\n renderInteractiveForms = _this$props3.renderInteractiveForms;\n\n if (renderInteractiveForms !== prevProps.renderInteractiveForms) {\n // Ensures the canvas will be re-rendered from scratch. Otherwise all form data will stay.\n page.cleanup();\n this.drawPageOnCanvas();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRenderingTask();\n /**\n * Zeroing the width and height cause most browsers to release graphics\n * resources immediately, which can greatly reduce memory consumption.\n */\n\n if (this.canvasLayer) {\n this.canvasLayer.width = 0;\n this.canvasLayer.height = 0;\n this.canvasLayer = null;\n }\n }\n }, {\n key: \"cancelRenderingTask\",\n value: function cancelRenderingTask() {\n /* eslint-disable no-underscore-dangle */\n if (this.renderer && this.renderer._internalRenderTask.running) {\n this.renderer._internalRenderTask.cancel();\n }\n /* eslint-enable no-underscore-dangle */\n\n }\n /**\n * Called when a page is rendered successfully.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/React.createElement(\"canvas\", {\n className: \"react-pdf__Page__canvas\",\n dir: \"ltr\",\n ref: function ref(_ref) {\n _this2.canvasLayer = _ref;\n },\n style: {\n display: 'block',\n userSelect: 'none'\n }\n });\n }\n }, {\n key: \"renderViewport\",\n get: function get() {\n var _this$props4 = this.props,\n page = _this$props4.page,\n rotate = _this$props4.rotate,\n scale = _this$props4.scale;\n var pixelRatio = getPixelRatio();\n return page.getViewport({\n scale: scale * pixelRatio,\n rotation: rotate\n });\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props5 = this.props,\n page = _this$props5.page,\n rotate = _this$props5.rotate,\n scale = _this$props5.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n\n return PageCanvasInternal;\n}(PureComponent);\nPageCanvasInternal.propTypes = {\n onRenderError: PropTypes.func,\n onRenderSuccess: PropTypes.func,\n page: isPage.isRequired,\n renderInteractiveForms: PropTypes.bool,\n rotate: isRotate,\n scale: PropTypes.number\n};\nexport default function PageCanvas(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(PageCanvasInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport pdfjs from 'pdfjs-dist/build/pdf';\nimport PageContext from '../PageContext';\nimport { errorOnDev, isCancelException, makePageCallback } from '../shared/utils';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var PageSVGInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(PageSVGInternal, _PureComponent);\n\n var _super = _createSuper(PageSVGInternal);\n\n function PageSVGInternal() {\n var _this;\n\n _classCallCheck(this, PageSVGInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n svg: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderSuccess\", function () {\n _this.renderer = null;\n var _this$props = _this.props,\n onRenderSuccess = _this$props.onRenderSuccess,\n page = _this$props.page,\n scale = _this$props.scale;\n if (onRenderSuccess) onRenderSuccess(makePageCallback(page, scale));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderError\", function (error) {\n if (isCancelException(error)) {\n return;\n }\n\n errorOnDev(error);\n var onRenderError = _this.props.onRenderError;\n if (onRenderError) onRenderError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderSVG\", function () {\n var page = _this.props.page;\n _this.renderer = page.getOperatorList();\n return _this.renderer.then(function (operatorList) {\n var svgGfx = new pdfjs.SVGGraphics(page.commonObjs, page.objs);\n _this.renderer = svgGfx.getSVG(operatorList, _this.viewport).then(function (svg) {\n _this.setState({\n svg: svg\n }, _this.onRenderSuccess);\n })[\"catch\"](_this.onRenderError);\n })[\"catch\"](_this.onRenderError);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"drawPageOnContainer\", function (element) {\n var svg = _this.state.svg;\n\n if (!element || !svg) {\n return;\n } // Append SVG element to the main container, if this hasn't been done already\n\n\n if (!element.firstElementChild) {\n element.appendChild(svg);\n }\n\n var _this$viewport = _this.viewport,\n width = _this$viewport.width,\n height = _this$viewport.height;\n svg.setAttribute('width', width);\n svg.setAttribute('height', height);\n });\n\n return _this;\n }\n\n _createClass(PageSVGInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.renderSVG();\n }\n /**\n * Called when a page is rendered successfully.\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$viewport2 = this.viewport,\n width = _this$viewport2.width,\n height = _this$viewport2.height;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__Page__svg\" // Note: This cannot be shortened, as we need this function to be called with each render.\n ,\n ref: function ref(_ref) {\n return _this2.drawPageOnContainer(_ref);\n },\n style: {\n display: 'block',\n backgroundColor: 'white',\n overflow: 'hidden',\n width: width,\n height: height,\n userSelect: 'none'\n }\n });\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props2 = this.props,\n page = _this$props2.page,\n rotate = _this$props2.rotate,\n scale = _this$props2.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n\n return PageSVGInternal;\n}(PureComponent);\nPageSVGInternal.propTypes = {\n onRenderError: PropTypes.func,\n onRenderSuccess: PropTypes.func,\n page: isPage.isRequired,\n rotate: isRotate,\n scale: PropTypes.number\n};\nexport default function PageSVG(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(PageSVGInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport PageContext from '../PageContext';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var TextLayerItemInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(TextLayerItemInternal, _PureComponent);\n\n var _super = _createSuper(TextLayerItemInternal);\n\n function TextLayerItemInternal() {\n var _this;\n\n _classCallCheck(this, TextLayerItemInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"getElementWidth\", function (element) {\n var _assertThisInitialize = _assertThisInitialized(_this),\n sideways = _assertThisInitialize.sideways;\n\n return element.getBoundingClientRect()[sideways ? 'height' : 'width'];\n });\n\n return _this;\n }\n\n _createClass(TextLayerItemInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.alignTextItem();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.alignTextItem();\n }\n }, {\n key: \"getFontData\",\n value: function () {\n var _getFontData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fontName) {\n var page, font;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = this.props.page;\n _context.next = 3;\n return new Promise(function (resolve) {\n page.commonObjs.get(fontName, resolve);\n });\n\n case 3:\n font = _context.sent;\n return _context.abrupt(\"return\", font);\n\n case 5:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function getFontData(_x) {\n return _getFontData.apply(this, arguments);\n }\n\n return getFontData;\n }()\n }, {\n key: \"alignTextItem\",\n value: function () {\n var _alignTextItem = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var element, _this$props, fontName, scale, width, fontData, fallbackFontName, targetWidth, actualWidth, transform, ascent;\n\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n element = this.item;\n\n if (element) {\n _context2.next = 3;\n break;\n }\n\n return _context2.abrupt(\"return\");\n\n case 3:\n element.style.transform = '';\n _this$props = this.props, fontName = _this$props.fontName, scale = _this$props.scale, width = _this$props.width;\n element.style.fontFamily = \"\".concat(fontName, \", sans-serif\");\n _context2.next = 8;\n return this.getFontData(fontName);\n\n case 8:\n fontData = _context2.sent;\n fallbackFontName = fontData ? fontData.fallbackName : 'sans-serif';\n element.style.fontFamily = \"\".concat(fontName, \", \").concat(fallbackFontName);\n targetWidth = width * scale;\n actualWidth = this.getElementWidth(element);\n transform = \"scaleX(\".concat(targetWidth / actualWidth, \")\");\n ascent = fontData ? fontData.ascent : 0;\n\n if (ascent) {\n transform += \" translateY(\".concat((1 - ascent) * 100, \"%)\");\n }\n\n element.style.transform = transform;\n element.style.WebkitTransform = transform;\n\n case 18:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n function alignTextItem() {\n return _alignTextItem.apply(this, arguments);\n }\n\n return alignTextItem;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var fontSize = this.fontSize,\n top = this.top,\n left = this.left;\n var _this$props2 = this.props,\n customTextRenderer = _this$props2.customTextRenderer,\n scale = _this$props2.scale,\n text = _this$props2.str;\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: function ref(_ref) {\n _this2.item = _ref;\n },\n style: {\n height: '1em',\n fontFamily: 'sans-serif',\n fontSize: \"\".concat(fontSize * scale, \"px\"),\n position: 'absolute',\n top: \"\".concat(top * scale, \"px\"),\n left: \"\".concat(left * scale, \"px\"),\n transformOrigin: 'left bottom',\n whiteSpace: 'pre',\n pointerEvents: 'all'\n }\n }, customTextRenderer ? customTextRenderer(this.props) : text);\n }\n }, {\n key: \"unrotatedViewport\",\n get: function get() {\n var _this$props3 = this.props,\n page = _this$props3.page,\n scale = _this$props3.scale;\n return page.getViewport({\n scale: scale\n });\n }\n /**\n * It might happen that the page is rotated by default. In such cases, we shouldn't rotate\n * text content.\n */\n\n }, {\n key: \"rotate\",\n get: function get() {\n var _this$props4 = this.props,\n page = _this$props4.page,\n rotate = _this$props4.rotate;\n return rotate - page.rotate;\n }\n }, {\n key: \"sideways\",\n get: function get() {\n var rotate = this.rotate;\n return rotate % 180 !== 0;\n }\n }, {\n key: \"defaultSideways\",\n get: function get() {\n var rotation = this.unrotatedViewport.rotation;\n return rotation % 180 !== 0;\n }\n }, {\n key: \"fontSize\",\n get: function get() {\n var transform = this.props.transform;\n var defaultSideways = this.defaultSideways;\n\n var _transform = _slicedToArray(transform, 2),\n fontHeightPx = _transform[0],\n fontWidthPx = _transform[1];\n\n return defaultSideways ? fontWidthPx : fontHeightPx;\n }\n }, {\n key: \"top\",\n get: function get() {\n var transform = this.props.transform;\n var viewport = this.unrotatedViewport,\n defaultSideways = this.defaultSideways;\n\n var _transform2 = _slicedToArray(transform, 6),\n\n /* fontHeightPx */\n\n /* fontWidthPx */\n offsetX = _transform2[2],\n offsetY = _transform2[3],\n x = _transform2[4],\n y = _transform2[5];\n\n var _viewport$viewBox = _slicedToArray(viewport.viewBox, 4),\n\n /* xMin */\n yMin = _viewport$viewBox[1],\n\n /* xMax */\n yMax = _viewport$viewBox[3];\n\n return defaultSideways ? x + offsetX + yMin : yMax - (y + offsetY);\n }\n }, {\n key: \"left\",\n get: function get() {\n var transform = this.props.transform;\n var viewport = this.unrotatedViewport,\n defaultSideways = this.defaultSideways;\n\n var _transform3 = _slicedToArray(transform, 6),\n\n /* fontHeightPx */\n\n /* fontWidthPx */\n\n /* offsetX */\n\n /* offsetY */\n x = _transform3[4],\n y = _transform3[5];\n\n var _viewport$viewBox2 = _slicedToArray(viewport.viewBox, 1),\n xMin = _viewport$viewBox2[0];\n\n return defaultSideways ? y - xMin : x - xMin;\n }\n }]);\n\n return TextLayerItemInternal;\n}(PureComponent);\nTextLayerItemInternal.propTypes = {\n customTextRenderer: PropTypes.func,\n fontName: PropTypes.string.isRequired,\n itemIndex: PropTypes.number.isRequired,\n // eslint-disable-line react/no-unused-prop-types\n page: isPage.isRequired,\n rotate: isRotate,\n scale: PropTypes.number,\n str: PropTypes.string.isRequired,\n transform: PropTypes.arrayOf(PropTypes.number).isRequired,\n width: PropTypes.number.isRequired\n};\nexport default function TextLayerItem(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(TextLayerItemInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport PageContext from '../PageContext';\nimport TextLayerItem from './TextLayerItem';\nimport { cancelRunningTask, errorOnDev } from '../shared/utils';\nimport { isPage, isRotate } from '../shared/propTypes';\nexport var TextLayerInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(TextLayerInternal, _PureComponent);\n\n var _super = _createSuper(TextLayerInternal);\n\n function TextLayerInternal() {\n var _this;\n\n _classCallCheck(this, TextLayerInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n textItems: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadTextItems\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var page, cancellable, _yield$cancellable$pr, textItems;\n\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = _this.props.page;\n _context.prev = 1;\n cancellable = makeCancellable(page.getTextContent());\n _this.runningTask = cancellable;\n _context.next = 6;\n return cancellable.promise;\n\n case 6:\n _yield$cancellable$pr = _context.sent;\n textItems = _yield$cancellable$pr.items;\n\n _this.setState({\n textItems: textItems\n }, _this.onLoadSuccess);\n\n _context.next = 14;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onLoadError(_context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 11]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onGetTextSuccess = _this.props.onGetTextSuccess;\n var textItems = _this.state.textItems;\n if (onGetTextSuccess) onGetTextSuccess(textItems);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n textItems: false\n });\n\n errorOnDev(error);\n var onGetTextError = _this.props.onGetTextError;\n if (onGetTextError) onGetTextError(error);\n });\n\n return _this;\n }\n\n _createClass(TextLayerInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var page = this.props.page;\n\n if (!page) {\n throw new Error('Attempted to load page text content, but no page was specified.');\n }\n\n this.loadTextItems();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var page = this.props.page;\n\n if (prevProps.page && page !== prevProps.page) {\n this.loadTextItems();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderTextItems\",\n value: function renderTextItems() {\n var textItems = this.state.textItems;\n\n if (!textItems) {\n return null;\n }\n\n return textItems.map(function (textItem, itemIndex) {\n return /*#__PURE__*/React.createElement(TextLayerItem // eslint-disable-next-line react/no-array-index-key\n , _extends({\n key: itemIndex,\n itemIndex: itemIndex\n }, textItem));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var viewport = this.unrotatedViewport,\n rotate = this.rotate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__Page__textContent\",\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: \"\".concat(viewport.width, \"px\"),\n height: \"\".concat(viewport.height, \"px\"),\n color: 'transparent',\n transform: \"translate(-50%, -50%) rotate(\".concat(rotate, \"deg)\"),\n WebkitTransform: \"translate(-50%, -50%) rotate(\".concat(rotate, \"deg)\"),\n pointerEvents: 'none'\n }\n }, this.renderTextItems());\n }\n }, {\n key: \"unrotatedViewport\",\n get: function get() {\n var _this$props = this.props,\n page = _this$props.page,\n scale = _this$props.scale;\n return page.getViewport({\n scale: scale\n });\n }\n /**\n * It might happen that the page is rotated by default. In such cases, we shouldn't rotate\n * text content.\n */\n\n }, {\n key: \"rotate\",\n get: function get() {\n var _this$props2 = this.props,\n page = _this$props2.page,\n rotate = _this$props2.rotate;\n return rotate - page.rotate;\n }\n }]);\n\n return TextLayerInternal;\n}(PureComponent);\nTextLayerInternal.propTypes = {\n onGetTextError: PropTypes.func,\n onGetTextSuccess: PropTypes.func,\n page: isPage.isRequired,\n rotate: isRotate,\n scale: PropTypes.number\n};\nexport default function TextLayer(props) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(TextLayerInternal, _extends({}, context, props));\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport pdfjs from 'pdfjs-dist/build/pdf';\nimport makeCancellable from 'make-cancellable-promise';\nimport DocumentContext from '../DocumentContext';\nimport PageContext from '../PageContext';\nimport { cancelRunningTask, errorOnDev } from '../shared/utils';\nimport { isLinkService, isPage, isRotate } from '../shared/propTypes';\nexport var AnnotationLayerInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(AnnotationLayerInternal, _PureComponent);\n\n var _super = _createSuper(AnnotationLayerInternal);\n\n function AnnotationLayerInternal() {\n var _this;\n\n _classCallCheck(this, AnnotationLayerInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n annotations: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadAnnotations\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var page, cancellable, annotations;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n page = _this.props.page;\n _context.prev = 1;\n cancellable = makeCancellable(page.getAnnotations());\n _this.runningTask = cancellable;\n _context.next = 6;\n return cancellable.promise;\n\n case 6:\n annotations = _context.sent;\n\n _this.setState({\n annotations: annotations\n }, _this.onLoadSuccess);\n\n _context.next = 13;\n break;\n\n case 10:\n _context.prev = 10;\n _context.t0 = _context[\"catch\"](1);\n\n _this.onLoadError(_context.t0);\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[1, 10]]);\n })));\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var onGetAnnotationsSuccess = _this.props.onGetAnnotationsSuccess;\n var annotations = _this.state.annotations;\n if (onGetAnnotationsSuccess) onGetAnnotationsSuccess(annotations);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n _this.setState({\n annotations: false\n });\n\n errorOnDev(error);\n var onGetAnnotationsError = _this.props.onGetAnnotationsError;\n if (onGetAnnotationsError) onGetAnnotationsError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderSuccess\", function () {\n var onRenderAnnotationLayerSuccess = _this.props.onRenderAnnotationLayerSuccess;\n if (onRenderAnnotationLayerSuccess) onRenderAnnotationLayerSuccess();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRenderError\", function (error) {\n errorOnDev(error);\n var onRenderAnnotationLayerError = _this.props.onRenderAnnotationLayerError;\n if (onRenderAnnotationLayerError) onRenderAnnotationLayerError(error);\n });\n\n return _this;\n }\n\n _createClass(AnnotationLayerInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var page = this.props.page;\n\n if (!page) {\n throw new Error('Attempted to load page annotations, but no page was specified.');\n }\n\n this.loadAnnotations();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n page = _this$props.page,\n renderInteractiveForms = _this$props.renderInteractiveForms;\n\n if (prevProps.page && page !== prevProps.page || renderInteractiveForms !== prevProps.renderInteractiveForms) {\n this.loadAnnotations();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"renderAnnotationLayer\",\n value: function renderAnnotationLayer() {\n var annotations = this.state.annotations;\n\n if (!annotations) {\n return;\n }\n\n var _this$props2 = this.props,\n linkService = _this$props2.linkService,\n page = _this$props2.page,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n var viewport = this.viewport.clone({\n dontFlip: true\n });\n var parameters = {\n annotations: annotations,\n div: this.annotationLayer,\n linkService: linkService,\n page: page,\n renderInteractiveForms: renderInteractiveForms,\n viewport: viewport\n };\n this.annotationLayer.innerHTML = '';\n\n try {\n pdfjs.AnnotationLayer.render(parameters);\n this.onRenderSuccess();\n } catch (error) {\n this.onRenderError(error);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-pdf__Page__annotations annotationLayer\",\n ref: function ref(_ref2) {\n _this2.annotationLayer = _ref2;\n }\n }, this.renderAnnotationLayer());\n }\n }, {\n key: \"viewport\",\n get: function get() {\n var _this$props3 = this.props,\n page = _this$props3.page,\n rotate = _this$props3.rotate,\n scale = _this$props3.scale;\n return page.getViewport({\n scale: scale,\n rotation: rotate\n });\n }\n }]);\n\n return AnnotationLayerInternal;\n}(PureComponent);\nAnnotationLayerInternal.propTypes = {\n linkService: isLinkService.isRequired,\n onGetAnnotationsError: PropTypes.func,\n onGetAnnotationsSuccess: PropTypes.func,\n onRenderAnnotationLayerError: PropTypes.func,\n onRenderAnnotationLayerSuccess: PropTypes.func,\n page: isPage,\n renderInteractiveForms: PropTypes.bool,\n rotate: isRotate,\n scale: PropTypes.number\n};\n\nvar AnnotationLayer = function AnnotationLayer(props) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (documentContext) {\n return /*#__PURE__*/React.createElement(PageContext.Consumer, null, function (pageContext) {\n return /*#__PURE__*/React.createElement(AnnotationLayerInternal, _extends({}, documentContext, pageContext, props));\n });\n });\n};\n\nexport default AnnotationLayer;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport makeCancellable from 'make-cancellable-promise';\nimport makeEventProps from 'make-event-props';\nimport mergeClassNames from 'merge-class-names';\nimport DocumentContext from './DocumentContext';\nimport PageContext from './PageContext';\nimport Message from './Message';\nimport PageCanvas from './Page/PageCanvas';\nimport PageSVG from './Page/PageSVG';\nimport TextLayer from './Page/TextLayer';\nimport AnnotationLayer from './Page/AnnotationLayer';\nimport { cancelRunningTask, errorOnDev, isProvided, makePageCallback } from './shared/utils';\nimport { eventProps, isClassName, isPageIndex, isPageNumber, isPdf, isRenderMode, isRotate } from './shared/propTypes';\nvar defaultScale = 1.0;\nexport var PageInternal = /*#__PURE__*/function (_PureComponent) {\n _inherits(PageInternal, _PureComponent);\n\n var _super = _createSuper(PageInternal);\n\n function PageInternal() {\n var _this;\n\n _classCallCheck(this, PageInternal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n page: null\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadSuccess\", function () {\n var _this$props = _this.props,\n onLoadSuccess = _this$props.onLoadSuccess,\n registerPage = _this$props.registerPage;\n var page = _this.state.page;\n if (onLoadSuccess) onLoadSuccess(makePageCallback(page, _this.scale));\n if (registerPage) registerPage(_this.pageIndex, _this.ref);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onLoadError\", function (error) {\n errorOnDev(error);\n var onLoadError = _this.props.onLoadError;\n if (onLoadError) onLoadError(error);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"loadPage\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var pdf, pageNumber, cancellable, page;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n pdf = _this.props.pdf;\n pageNumber = _this.getPageNumber();\n\n if (pageNumber) {\n _context.next = 4;\n break;\n }\n\n return _context.abrupt(\"return\");\n\n case 4:\n _this.setState(function (prevState) {\n if (!prevState.page) {\n return null;\n }\n\n return {\n page: null\n };\n });\n\n _context.prev = 5;\n cancellable = makeCancellable(pdf.getPage(pageNumber));\n _this.runningTask = cancellable;\n _context.next = 10;\n return cancellable.promise;\n\n case 10:\n page = _context.sent;\n\n _this.setState({\n page: page\n }, _this.onLoadSuccess);\n\n _context.next = 18;\n break;\n\n case 14:\n _context.prev = 14;\n _context.t0 = _context[\"catch\"](5);\n\n _this.setState({\n page: false\n });\n\n _this.onLoadError(_context.t0);\n\n case 18:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[5, 14]]);\n })));\n\n return _this;\n }\n\n _createClass(PageInternal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var pdf = this.props.pdf;\n\n if (!pdf) {\n throw new Error('Attempted to load a page, but no document was specified.');\n }\n\n this.loadPage();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var pdf = this.props.pdf;\n\n if (prevProps.pdf && pdf !== prevProps.pdf || this.getPageNumber() !== this.getPageNumber(prevProps)) {\n var unregisterPage = this.props.unregisterPage;\n if (unregisterPage) unregisterPage(this.getPageIndex(prevProps));\n this.loadPage();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var unregisterPage = this.props.unregisterPage;\n if (unregisterPage) unregisterPage(this.pageIndex);\n cancelRunningTask(this.runningTask);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if (isProvided(props.pageNumber)) {\n return props.pageNumber - 1;\n }\n\n if (isProvided(props.pageIndex)) {\n return props.pageIndex;\n }\n\n return null;\n }\n }, {\n key: \"getPageNumber\",\n value: function getPageNumber() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n if (isProvided(props.pageNumber)) {\n return props.pageNumber;\n }\n\n if (isProvided(props.pageIndex)) {\n return props.pageIndex + 1;\n }\n\n return null;\n }\n }, {\n key: \"renderMainLayer\",\n value: function renderMainLayer() {\n var renderMode = this.props.renderMode;\n\n switch (renderMode) {\n case 'none':\n return null;\n\n case 'svg':\n return /*#__PURE__*/React.createElement(PageSVG, {\n key: \"\".concat(this.pageKeyNoScale, \"_svg\")\n });\n\n case 'canvas':\n default:\n return /*#__PURE__*/React.createElement(PageCanvas, {\n key: \"\".concat(this.pageKey, \"_canvas\")\n });\n }\n }\n }, {\n key: \"renderTextLayer\",\n value: function renderTextLayer() {\n var renderTextLayer = this.props.renderTextLayer;\n\n if (!renderTextLayer) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(TextLayer, {\n key: \"\".concat(this.pageKey, \"_text\")\n });\n }\n }, {\n key: \"renderAnnotationLayer\",\n value: function renderAnnotationLayer() {\n var renderAnnotationLayer = this.props.renderAnnotationLayer;\n\n if (!renderAnnotationLayer) {\n return null;\n }\n /**\n * As of now, PDF.js 2.0.943 returns warnings on unimplemented annotations in SVG mode.\n * Therefore, as a fallback, we render \"traditional\" AnnotationLayer component.\n */\n\n\n return /*#__PURE__*/React.createElement(AnnotationLayer, {\n key: \"\".concat(this.pageKey, \"_annotations\")\n });\n }\n }, {\n key: \"renderChildren\",\n value: function renderChildren() {\n var children = this.props.children;\n return /*#__PURE__*/React.createElement(PageContext.Provider, {\n value: this.childContext\n }, this.renderMainLayer(), this.renderTextLayer(), this.renderAnnotationLayer(), children);\n }\n }, {\n key: \"renderContent\",\n value: function renderContent() {\n var pageNumber = this.pageNumber;\n var pdf = this.props.pdf;\n var page = this.state.page;\n\n if (!pageNumber) {\n var noData = this.props.noData;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"no-data\"\n }, typeof noData === 'function' ? noData() : noData);\n }\n\n if (pdf === null || page === null) {\n var loading = this.props.loading;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"loading\"\n }, typeof loading === 'function' ? loading() : loading);\n }\n\n if (pdf === false || page === false) {\n var error = this.props.error;\n return /*#__PURE__*/React.createElement(Message, {\n type: \"error\"\n }, typeof error === 'function' ? error() : error);\n }\n\n return this.renderChildren();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var pageNumber = this.pageNumber;\n var className = this.props.className;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergeClassNames('react-pdf__Page', className),\n \"data-page-number\": pageNumber,\n ref: function ref(_ref2) {\n var inputRef = _this2.props.inputRef;\n\n if (inputRef) {\n inputRef(_ref2);\n }\n\n _this2.ref = _ref2;\n },\n style: {\n position: 'relative'\n }\n }, this.eventProps), this.renderContent());\n }\n }, {\n key: \"childContext\",\n get: function get() {\n var page = this.state.page;\n\n if (!page) {\n return {};\n }\n\n var _this$props2 = this.props,\n customTextRenderer = _this$props2.customTextRenderer,\n onGetAnnotationsError = _this$props2.onGetAnnotationsError,\n onGetAnnotationsSuccess = _this$props2.onGetAnnotationsSuccess,\n onGetTextError = _this$props2.onGetTextError,\n onGetTextSuccess = _this$props2.onGetTextSuccess,\n onRenderAnnotationLayerError = _this$props2.onRenderAnnotationLayerError,\n onRenderAnnotationLayerSuccess = _this$props2.onRenderAnnotationLayerSuccess,\n onRenderError = _this$props2.onRenderError,\n onRenderSuccess = _this$props2.onRenderSuccess,\n renderInteractiveForms = _this$props2.renderInteractiveForms;\n return {\n customTextRenderer: customTextRenderer,\n onGetAnnotationsError: onGetAnnotationsError,\n onGetAnnotationsSuccess: onGetAnnotationsSuccess,\n onGetTextError: onGetTextError,\n onGetTextSuccess: onGetTextSuccess,\n onRenderAnnotationLayerError: onRenderAnnotationLayerError,\n onRenderAnnotationLayerSuccess: onRenderAnnotationLayerSuccess,\n onRenderError: onRenderError,\n onRenderSuccess: onRenderSuccess,\n page: page,\n renderInteractiveForms: renderInteractiveForms,\n rotate: this.rotate,\n scale: this.scale\n };\n }\n /**\n * Called when a page is loaded successfully\n */\n\n }, {\n key: \"pageIndex\",\n get: function get() {\n return this.getPageIndex();\n }\n }, {\n key: \"pageNumber\",\n get: function get() {\n return this.getPageNumber();\n }\n }, {\n key: \"rotate\",\n get: function get() {\n var rotate = this.props.rotate;\n\n if (isProvided(rotate)) {\n return rotate;\n }\n\n var page = this.state.page;\n\n if (!page) {\n return null;\n }\n\n return page.rotate;\n }\n }, {\n key: \"scale\",\n get: function get() {\n var page = this.state.page;\n\n if (!page) {\n return null;\n }\n\n var _this$props3 = this.props,\n scale = _this$props3.scale,\n width = _this$props3.width,\n height = _this$props3.height;\n var rotate = this.rotate; // Be default, we'll render page at 100% * scale width.\n\n var pageScale = 1; // Passing scale explicitly null would cause the page not to render\n\n var scaleWithDefault = scale === null ? defaultScale : scale; // If width/height is defined, calculate the scale of the page so it could be of desired width.\n\n if (width || height) {\n var viewport = page.getViewport({\n scale: 1,\n rotation: rotate\n });\n pageScale = width ? width / viewport.width : height / viewport.height;\n }\n\n return scaleWithDefault * pageScale;\n }\n }, {\n key: \"eventProps\",\n get: function get() {\n var _this3 = this;\n\n return makeEventProps(this.props, function () {\n var page = _this3.state.page;\n\n if (!page) {\n return page;\n }\n\n return makePageCallback(page, _this3.scale);\n });\n }\n }, {\n key: \"pageKey\",\n get: function get() {\n var page = this.state.page;\n return \"\".concat(page.pageIndex, \"@\").concat(this.scale, \"/\").concat(this.rotate);\n }\n }, {\n key: \"pageKeyNoScale\",\n get: function get() {\n var page = this.state.page;\n return \"\".concat(page.pageIndex, \"/\").concat(this.rotate);\n }\n }]);\n\n return PageInternal;\n}(PureComponent);\nPageInternal.defaultProps = {\n error: 'Failed to load the page.',\n loading: 'Loading page…',\n noData: 'No page specified.',\n renderAnnotationLayer: true,\n renderInteractiveForms: false,\n renderMode: 'canvas',\n renderTextLayer: true,\n scale: defaultScale\n};\nvar isFunctionOrNode = PropTypes.oneOfType([PropTypes.func, PropTypes.node]);\nPageInternal.propTypes = _objectSpread({}, eventProps, {\n children: PropTypes.node,\n className: isClassName,\n customTextRenderer: PropTypes.func,\n error: isFunctionOrNode,\n height: PropTypes.number,\n inputRef: PropTypes.func,\n loading: isFunctionOrNode,\n noData: isFunctionOrNode,\n onGetTextError: PropTypes.func,\n onGetTextSuccess: PropTypes.func,\n onLoadError: PropTypes.func,\n onLoadSuccess: PropTypes.func,\n onRenderError: PropTypes.func,\n onRenderSuccess: PropTypes.func,\n pageIndex: isPageIndex,\n pageNumber: isPageNumber,\n pdf: isPdf,\n registerPage: PropTypes.func,\n renderAnnotationLayer: PropTypes.bool,\n renderInteractiveForms: PropTypes.bool,\n renderMode: isRenderMode,\n renderTextLayer: PropTypes.bool,\n rotate: isRotate,\n scale: PropTypes.number,\n unregisterPage: PropTypes.func,\n width: PropTypes.number\n}); // forwardRef render functions do not support propTypes\n\n/* eslint-disable react/prop-types */\n\nfunction Page(props, ref) {\n return /*#__PURE__*/React.createElement(DocumentContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(PageInternal, _extends({\n ref: ref\n }, context, props));\n });\n}\n\nexport default React.forwardRef(Page);","import pdfjs from 'pdfjs-dist/build/pdf';\nimport Document from './Document';\nimport Outline from './Outline';\nimport Page from './Page';\nimport { isLocalFileSystem, warnOnDev } from './shared/utils';\n\nif (isLocalFileSystem) {\n warnOnDev('You are running React-PDF from your local file system. PDF.js Worker may fail to load due to browser\\'s security policies. If you\\'re on Google Chrome, you can use --allow-file-access-from-files flag for debugging purposes.');\n}\n\npdfjs.GlobalWorkerOptions.workerSrc = 'pdf.worker.js';\nexport { pdfjs, Document, Outline, Page };","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"printJS\"] = factory();\n\telse\n\t\troot[\"printJS\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sass_index_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sass/index.scss */ \"./src/sass/index.scss\");\n/* harmony import */ var _sass_index_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_sass_index_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _js_init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./js/init */ \"./src/js/init.js\");\n\n\nvar printJS = _js_init__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init;\n\nif (typeof window !== 'undefined') {\n window.printJS = printJS;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (printJS);\n\n/***/ }),\n\n/***/ \"./src/js/browser.js\":\n/*!***************************!*\\\n !*** ./src/js/browser.js ***!\n \\***************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar Browser = {\n // Firefox 1.0+\n isFirefox: function isFirefox() {\n return typeof InstallTrigger !== 'undefined';\n },\n // Internet Explorer 6-11\n isIE: function isIE() {\n return navigator.userAgent.indexOf('MSIE') !== -1 || !!document.documentMode;\n },\n // Edge 20+\n isEdge: function isEdge() {\n return !Browser.isIE() && !!window.StyleMedia;\n },\n // Chrome 1+\n isChrome: function isChrome() {\n var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n return !!context.chrome;\n },\n // At least Safari 3+: \"[object HTMLElementConstructor]\"\n isSafari: function isSafari() {\n return Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0 || navigator.userAgent.toLowerCase().indexOf('safari') !== -1;\n },\n // IOS Chrome\n isIOSChrome: function isIOSChrome() {\n return navigator.userAgent.toLowerCase().indexOf('crios') !== -1;\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Browser);\n\n/***/ }),\n\n/***/ \"./src/js/functions.js\":\n/*!*****************************!*\\\n !*** ./src/js/functions.js ***!\n \\*****************************/\n/*! exports provided: addWrapper, capitalizePrint, collectStyles, addHeader, cleanUp, isRawHTML */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addWrapper\", function() { return addWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"capitalizePrint\", function() { return capitalizePrint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"collectStyles\", function() { return collectStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addHeader\", function() { return addHeader; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cleanUp\", function() { return cleanUp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isRawHTML\", function() { return isRawHTML; });\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./modal */ \"./src/js/modal.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\nfunction addWrapper(htmlData, params) {\n var bodyStyle = 'font-family:' + params.font + ' !important; font-size: ' + params.font_size + ' !important; width:100%;';\n return '<div style=\"' + bodyStyle + '\">' + htmlData + '</div>';\n}\nfunction capitalizePrint(obj) {\n return obj.charAt(0).toUpperCase() + obj.slice(1);\n}\nfunction collectStyles(element, params) {\n var win = document.defaultView || window; // String variable to hold styling for each element\n\n var elementStyle = ''; // Loop over computed styles\n\n var styles = win.getComputedStyle(element, '');\n\n for (var key = 0; key < styles.length; key++) {\n // Check if style should be processed\n if (params.targetStyles.indexOf('*') !== -1 || params.targetStyle.indexOf(styles[key]) !== -1 || targetStylesMatch(params.targetStyles, styles[key])) {\n if (styles.getPropertyValue(styles[key])) elementStyle += styles[key] + ':' + styles.getPropertyValue(styles[key]) + ';';\n }\n } // Print friendly defaults (deprecated)\n\n\n elementStyle += 'max-width: ' + params.maxWidth + 'px !important; font-size: ' + params.font_size + ' !important;';\n return elementStyle;\n}\n\nfunction targetStylesMatch(styles, value) {\n for (var i = 0; i < styles.length; i++) {\n if (_typeof(value) === 'object' && value.indexOf(styles[i]) !== -1) return true;\n }\n\n return false;\n}\n\nfunction addHeader(printElement, params) {\n // Create the header container div\n var headerContainer = document.createElement('div'); // Check if the header is text or raw html\n\n if (isRawHTML(params.header)) {\n headerContainer.innerHTML = params.header;\n } else {\n // Create header element\n var headerElement = document.createElement('h1'); // Create header text node\n\n var headerNode = document.createTextNode(params.header); // Build and style\n\n headerElement.appendChild(headerNode);\n headerElement.setAttribute('style', params.headerStyle);\n headerContainer.appendChild(headerElement);\n }\n\n printElement.insertBefore(headerContainer, printElement.childNodes[0]);\n}\nfunction cleanUp(params) {\n // If we are showing a feedback message to user, remove it\n if (params.showModal) _modal__WEBPACK_IMPORTED_MODULE_0__[\"default\"].close(); // Check for a finished loading hook function\n\n if (params.onLoadingEnd) params.onLoadingEnd(); // If preloading pdf files, clean blob url\n\n if (params.showModal || params.onLoadingStart) window.URL.revokeObjectURL(params.printable); // Run onPrintDialogClose callback\n\n var event = 'mouseover';\n\n if (_browser__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isChrome() || _browser__WEBPACK_IMPORTED_MODULE_1__[\"default\"].isFirefox()) {\n // Ps.: Firefox will require an extra click in the document to fire the focus event.\n event = 'focus';\n }\n\n var handler = function handler() {\n // Make sure the event only happens once.\n window.removeEventListener(event, handler);\n params.onPrintDialogClose(); // Remove iframe from the DOM\n\n var iframe = document.getElementById(params.frameId);\n\n if (iframe) {\n iframe.remove();\n }\n };\n\n window.addEventListener(event, handler);\n}\nfunction isRawHTML(raw) {\n var regexHtml = new RegExp('<([A-Za-z][A-Za-z0-9]*)\\\\b[^>]*>(.*?)</\\\\1>');\n return regexHtml.test(raw);\n}\n\n/***/ }),\n\n/***/ \"./src/js/html.js\":\n/*!************************!*\\\n !*** ./src/js/html.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Get the DOM printable element\n var printElement = document.getElementById(params.printable); // Check if the element exists\n\n if (!printElement) {\n window.console.error('Invalid HTML element id: ' + params.printable);\n return;\n } // Clone the target element including its children (if available)\n\n\n params.printableElement = cloneElement(printElement, params); // Add header\n\n if (params.header) {\n Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"addHeader\"])(params.printableElement, params);\n } // Print html element contents\n\n\n _print__WEBPACK_IMPORTED_MODULE_1__[\"default\"].send(params, printFrame);\n }\n});\n\nfunction cloneElement(element, params) {\n // Clone the main node (if not already inside the recursion process)\n var clone = element.cloneNode(); // Loop over and process the children elements / nodes (including text nodes)\n\n var childNodesArray = Array.prototype.slice.call(element.childNodes);\n\n for (var i = 0; i < childNodesArray.length; i++) {\n // Check if we are skiping the current element\n if (params.ignoreElements.indexOf(childNodesArray[i].id) !== -1) {\n continue;\n } // Clone the child element\n\n\n var clonedChild = cloneElement(childNodesArray[i], params); // Attach the cloned child to the cloned parent node\n\n clone.appendChild(clonedChild);\n } // Get all styling for print element (for nodes of type element only)\n\n\n if (params.scanStyles && element.nodeType === 1) {\n clone.setAttribute('style', Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"collectStyles\"])(element, params));\n } // Check if the element needs any state processing (copy user input data)\n\n\n switch (element.tagName) {\n case 'SELECT':\n // Copy the current selection value to its clone\n clone.value = element.value;\n break;\n\n case 'CANVAS':\n // Copy the canvas content to its clone\n clone.getContext('2d').drawImage(element, 0, 0);\n break;\n }\n\n return clone;\n}\n\n/***/ }),\n\n/***/ \"./src/js/image.js\":\n/*!*************************!*\\\n !*** ./src/js/image.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Check if we are printing one image or multiple images\n if (params.printable.constructor !== Array) {\n // Create array with one image\n params.printable = [params.printable];\n } // Create printable element (container)\n\n\n params.printableElement = document.createElement('div'); // Create all image elements and append them to the printable container\n\n params.printable.forEach(function (src) {\n // Create the image element\n var img = document.createElement('img');\n img.setAttribute('style', params.imageStyle); // Set image src with the file url\n\n img.src = src; // The following block is for Firefox, which for some reason requires the image's src to be fully qualified in\n // order to print it\n\n if (_browser__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isFirefox()) {\n var fullyQualifiedSrc = img.src;\n img.src = fullyQualifiedSrc;\n } // Create the image wrapper\n\n\n var imageWrapper = document.createElement('div'); // Append image to the wrapper element\n\n imageWrapper.appendChild(img); // Append wrapper to the printable element\n\n params.printableElement.appendChild(imageWrapper);\n }); // Check if we are adding a print header\n\n if (params.header) Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"addHeader\"])(params.printableElement, params); // Print image\n\n _print__WEBPACK_IMPORTED_MODULE_1__[\"default\"].send(params, printFrame);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/js/init.js\":\n/*!************************!*\\\n !*** ./src/js/init.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\n/* harmony import */ var _modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modal */ \"./src/js/modal.js\");\n/* harmony import */ var _pdf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pdf */ \"./src/js/pdf.js\");\n/* harmony import */ var _html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./html */ \"./src/js/html.js\");\n/* harmony import */ var _raw_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./raw-html */ \"./src/js/raw-html.js\");\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./image */ \"./src/js/image.js\");\n/* harmony import */ var _json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./json */ \"./src/js/json.js\");\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\n\n\n\n\nvar printTypes = ['pdf', 'html', 'image', 'json', 'raw-html'];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: function init() {\n var params = {\n printable: null,\n fallbackPrintable: null,\n type: 'pdf',\n header: null,\n headerStyle: 'font-weight: 300;',\n maxWidth: 800,\n properties: null,\n gridHeaderStyle: 'font-weight: bold; padding: 5px; border: 1px solid #dddddd;',\n gridStyle: 'border: 1px solid lightgray; margin-bottom: -1px;',\n showModal: false,\n onError: function onError(error) {\n throw error;\n },\n onLoadingStart: null,\n onLoadingEnd: null,\n onPrintDialogClose: function onPrintDialogClose() {},\n onIncompatibleBrowser: function onIncompatibleBrowser() {},\n modalMessage: 'Retrieving Document...',\n frameId: 'printJS',\n printableElement: null,\n documentTitle: 'Document',\n targetStyle: ['clear', 'display', 'width', 'min-width', 'height', 'min-height', 'max-height'],\n targetStyles: ['border', 'box', 'break', 'text-decoration'],\n ignoreElements: [],\n repeatTableHeader: true,\n css: null,\n style: null,\n scanStyles: true,\n base64: false,\n // Deprecated\n onPdfOpen: null,\n font: 'TimesNewRoman',\n font_size: '12pt',\n honorMarginPadding: true,\n honorColor: false,\n imageStyle: 'max-width: 100%;'\n }; // Check if a printable document or object was supplied\n\n var args = arguments[0];\n\n if (args === undefined) {\n throw new Error('printJS expects at least 1 attribute.');\n } // Process parameters\n\n\n switch (_typeof(args)) {\n case 'string':\n params.printable = encodeURI(args);\n params.fallbackPrintable = params.printable;\n params.type = arguments[1] || params.type;\n break;\n\n case 'object':\n params.printable = args.printable;\n params.fallbackPrintable = typeof args.fallbackPrintable !== 'undefined' ? args.fallbackPrintable : params.printable;\n params.fallbackPrintable = params.base64 ? \"data:application/pdf;base64,\".concat(params.fallbackPrintable) : params.fallbackPrintable;\n\n for (var k in params) {\n if (k === 'printable' || k === 'fallbackPrintable') continue;\n params[k] = typeof args[k] !== 'undefined' ? args[k] : params[k];\n }\n\n break;\n\n default:\n throw new Error('Unexpected argument type! Expected \"string\" or \"object\", got ' + _typeof(args));\n } // Validate printable\n\n\n if (!params.printable) throw new Error('Missing printable information.'); // Validate type\n\n if (!params.type || typeof params.type !== 'string' || printTypes.indexOf(params.type.toLowerCase()) === -1) {\n throw new Error('Invalid print type. Available types are: pdf, html, image and json.');\n } // Check if we are showing a feedback message to the user (useful for large files)\n\n\n if (params.showModal) _modal__WEBPACK_IMPORTED_MODULE_1__[\"default\"].show(params); // Check for a print start hook function\n\n if (params.onLoadingStart) params.onLoadingStart(); // To prevent duplication and issues, remove any used printFrame from the DOM\n\n var usedFrame = document.getElementById(params.frameId);\n if (usedFrame) usedFrame.parentNode.removeChild(usedFrame); // Create a new iframe for the print job\n\n var printFrame = document.createElement('iframe');\n\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFirefox()) {\n // Set the iframe to be is visible on the page (guaranteed by fixed position) but hidden using opacity 0, because\n // this works in Firefox. The height needs to be sufficient for some part of the document other than the PDF\n // viewer's toolbar to be visible in the page\n printFrame.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0');\n } else {\n // Hide the iframe in other browsers\n printFrame.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0');\n } // Set iframe element id\n\n\n printFrame.setAttribute('id', params.frameId); // For non pdf printing, pass an html document string to srcdoc (force onload callback)\n\n if (params.type !== 'pdf') {\n printFrame.srcdoc = '<html><head><title>' + params.documentTitle + '</title>'; // Attach css files\n\n if (params.css) {\n // Add support for single file\n if (!Array.isArray(params.css)) params.css = [params.css]; // Create link tags for each css file\n\n params.css.forEach(function (file) {\n printFrame.srcdoc += '<link rel=\"stylesheet\" href=\"' + file + '\">';\n });\n }\n\n printFrame.srcdoc += '</head><body></body></html>';\n } // Check printable type\n\n\n switch (params.type) {\n case 'pdf':\n // Check browser support for pdf and if not supported we will just open the pdf file instead\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isIE()) {\n try {\n console.info('Print.js doesn\\'t support PDF printing in Internet Explorer.');\n var win = window.open(params.fallbackPrintable, '_blank');\n win.focus();\n params.onIncompatibleBrowser();\n } catch (error) {\n params.onError(error);\n } finally {\n // Make sure there is no loading modal opened\n if (params.showModal) _modal__WEBPACK_IMPORTED_MODULE_1__[\"default\"].close();\n if (params.onLoadingEnd) params.onLoadingEnd();\n }\n } else {\n _pdf__WEBPACK_IMPORTED_MODULE_2__[\"default\"].print(params, printFrame);\n }\n\n break;\n\n case 'image':\n _image__WEBPACK_IMPORTED_MODULE_5__[\"default\"].print(params, printFrame);\n break;\n\n case 'html':\n _html__WEBPACK_IMPORTED_MODULE_3__[\"default\"].print(params, printFrame);\n break;\n\n case 'raw-html':\n _raw_html__WEBPACK_IMPORTED_MODULE_4__[\"default\"].print(params, printFrame);\n break;\n\n case 'json':\n _json__WEBPACK_IMPORTED_MODULE_6__[\"default\"].print(params, printFrame);\n break;\n }\n }\n});\n\n/***/ }),\n\n/***/ \"./src/js/json.js\":\n/*!************************!*\\\n !*** ./src/js/json.js ***!\n \\************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Check if we received proper data\n if (_typeof(params.printable) !== 'object') {\n throw new Error('Invalid javascript data object (JSON).');\n } // Validate repeatTableHeader\n\n\n if (typeof params.repeatTableHeader !== 'boolean') {\n throw new Error('Invalid value for repeatTableHeader attribute (JSON).');\n } // Validate properties\n\n\n if (!params.properties || !Array.isArray(params.properties)) {\n throw new Error('Invalid properties array for your JSON data.');\n } // We will format the property objects to keep the JSON api compatible with older releases\n\n\n params.properties = params.properties.map(function (property) {\n return {\n field: _typeof(property) === 'object' ? property.field : property,\n displayName: _typeof(property) === 'object' ? property.displayName : property,\n columnSize: _typeof(property) === 'object' && property.columnSize ? property.columnSize + ';' : 100 / params.properties.length + '%;'\n };\n }); // Create a print container element\n\n params.printableElement = document.createElement('div'); // Check if we are adding a print header\n\n if (params.header) {\n Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"addHeader\"])(params.printableElement, params);\n } // Build the printable html data\n\n\n params.printableElement.innerHTML += jsonToHTML(params); // Print the json data\n\n _print__WEBPACK_IMPORTED_MODULE_1__[\"default\"].send(params, printFrame);\n }\n});\n\nfunction jsonToHTML(params) {\n // Get the row and column data\n var data = params.printable;\n var properties = params.properties; // Create a html table\n\n var htmlData = '<table style=\"border-collapse: collapse; width: 100%;\">'; // Check if the header should be repeated\n\n if (params.repeatTableHeader) {\n htmlData += '<thead>';\n } // Add the table header row\n\n\n htmlData += '<tr>'; // Add the table header columns\n\n for (var a = 0; a < properties.length; a++) {\n htmlData += '<th style=\"width:' + properties[a].columnSize + ';' + params.gridHeaderStyle + '\">' + Object(_functions__WEBPACK_IMPORTED_MODULE_0__[\"capitalizePrint\"])(properties[a].displayName) + '</th>';\n } // Add the closing tag for the table header row\n\n\n htmlData += '</tr>'; // If the table header is marked as repeated, add the closing tag\n\n if (params.repeatTableHeader) {\n htmlData += '</thead>';\n } // Create the table body\n\n\n htmlData += '<tbody>'; // Add the table data rows\n\n for (var i = 0; i < data.length; i++) {\n // Add the row starting tag\n htmlData += '<tr>'; // Print selected properties only\n\n for (var n = 0; n < properties.length; n++) {\n var stringData = data[i]; // Support nested objects\n\n var property = properties[n].field.split('.');\n\n if (property.length > 1) {\n for (var p = 0; p < property.length; p++) {\n stringData = stringData[property[p]];\n }\n } else {\n stringData = stringData[properties[n].field];\n } // Add the row contents and styles\n\n\n htmlData += '<td style=\"width:' + properties[n].columnSize + params.gridStyle + '\">' + stringData + '</td>';\n } // Add the row closing tag\n\n\n htmlData += '</tr>';\n } // Add the table and body closing tags\n\n\n htmlData += '</tbody></table>';\n return htmlData;\n}\n\n/***/ }),\n\n/***/ \"./src/js/modal.js\":\n/*!*************************!*\\\n !*** ./src/js/modal.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\nvar Modal = {\n show: function show(params) {\n // Build modal\n var modalStyle = 'font-family:sans-serif; ' + 'display:table; ' + 'text-align:center; ' + 'font-weight:300; ' + 'font-size:30px; ' + 'left:0; top:0;' + 'position:fixed; ' + 'z-index: 9990;' + 'color: #0460B5; ' + 'width: 100%; ' + 'height: 100%; ' + 'background-color:rgba(255,255,255,.9);' + 'transition: opacity .3s ease;'; // Create wrapper\n\n var printModal = document.createElement('div');\n printModal.setAttribute('style', modalStyle);\n printModal.setAttribute('id', 'printJS-Modal'); // Create content div\n\n var contentDiv = document.createElement('div');\n contentDiv.setAttribute('style', 'display:table-cell; vertical-align:middle; padding-bottom:100px;'); // Add close button (requires print.css)\n\n var closeButton = document.createElement('div');\n closeButton.setAttribute('class', 'printClose');\n closeButton.setAttribute('id', 'printClose');\n contentDiv.appendChild(closeButton); // Add spinner (requires print.css)\n\n var spinner = document.createElement('span');\n spinner.setAttribute('class', 'printSpinner');\n contentDiv.appendChild(spinner); // Add message\n\n var messageNode = document.createTextNode(params.modalMessage);\n contentDiv.appendChild(messageNode); // Add contentDiv to printModal\n\n printModal.appendChild(contentDiv); // Append print modal element to document body\n\n document.getElementsByTagName('body')[0].appendChild(printModal); // Add event listener to close button\n\n document.getElementById('printClose').addEventListener('click', function () {\n Modal.close();\n });\n },\n close: function close() {\n var printModal = document.getElementById('printJS-Modal');\n\n if (printModal) {\n printModal.parentNode.removeChild(printModal);\n }\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Modal);\n\n/***/ }),\n\n/***/ \"./src/js/pdf.js\":\n/*!***********************!*\\\n !*** ./src/js/pdf.js ***!\n \\***********************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Check if we have base64 data\n if (params.base64) {\n var bytesArray = Uint8Array.from(atob(params.printable), function (c) {\n return c.charCodeAt(0);\n });\n createBlobAndPrint(params, printFrame, bytesArray);\n return;\n } // Format pdf url\n\n\n params.printable = /^(blob|http|\\/\\/)/i.test(params.printable) ? params.printable : window.location.origin + (params.printable.charAt(0) !== '/' ? '/' + params.printable : params.printable); // Get the file through a http request (Preload)\n\n var req = new window.XMLHttpRequest();\n req.responseType = 'arraybuffer';\n req.addEventListener('error', function () {\n Object(_functions__WEBPACK_IMPORTED_MODULE_1__[\"cleanUp\"])(params);\n params.onError(req.statusText); // Since we don't have a pdf document available, we will stop the print job\n });\n req.addEventListener('load', function () {\n // Check for errors\n if ([200, 201].indexOf(req.status) === -1) {\n Object(_functions__WEBPACK_IMPORTED_MODULE_1__[\"cleanUp\"])(params);\n params.onError(req.statusText); // Since we don't have a pdf document available, we will stop the print job\n\n return;\n } // Print requested document\n\n\n createBlobAndPrint(params, printFrame, req.response);\n });\n req.open('GET', params.printable, true);\n req.send();\n }\n});\n\nfunction createBlobAndPrint(params, printFrame, data) {\n // Pass response or base64 data to a blob and create a local object url\n var localPdf = new window.Blob([data], {\n type: 'application/pdf'\n });\n localPdf = window.URL.createObjectURL(localPdf); // Set iframe src with pdf document url\n\n printFrame.setAttribute('src', localPdf);\n _print__WEBPACK_IMPORTED_MODULE_0__[\"default\"].send(params, printFrame);\n}\n\n/***/ }),\n\n/***/ \"./src/js/print.js\":\n/*!*************************!*\\\n !*** ./src/js/print.js ***!\n \\*************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _browser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./browser */ \"./src/js/browser.js\");\n/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./functions */ \"./src/js/functions.js\");\n\n\nvar Print = {\n send: function send(params, printFrame) {\n // Append iframe element to document body\n document.getElementsByTagName('body')[0].appendChild(printFrame); // Get iframe element\n\n var iframeElement = document.getElementById(params.frameId); // Wait for iframe to load all content\n\n iframeElement.onload = function () {\n if (params.type === 'pdf') {\n // Add a delay for Firefox. In my tests, 1000ms was sufficient but 100ms was not\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFirefox()) {\n setTimeout(function () {\n return performPrint(iframeElement, params);\n }, 1000);\n } else {\n performPrint(iframeElement, params);\n }\n\n return;\n } // Get iframe element document\n\n\n var printDocument = iframeElement.contentWindow || iframeElement.contentDocument;\n if (printDocument.document) printDocument = printDocument.document; // Append printable element to the iframe body\n\n printDocument.body.appendChild(params.printableElement); // Add custom style\n\n if (params.type !== 'pdf' && params.style) {\n // Create style element\n var style = document.createElement('style');\n style.innerHTML = params.style; // Append style element to iframe's head\n\n printDocument.head.appendChild(style);\n } // If printing images, wait for them to load inside the iframe\n\n\n var images = printDocument.getElementsByTagName('img');\n\n if (images.length > 0) {\n loadIframeImages(Array.from(images)).then(function () {\n return performPrint(iframeElement, params);\n });\n } else {\n performPrint(iframeElement, params);\n }\n };\n }\n};\n\nfunction performPrint(iframeElement, params) {\n try {\n iframeElement.focus(); // If Edge or IE, try catch with execCommand\n\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isEdge() || _browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isIE()) {\n try {\n iframeElement.contentWindow.document.execCommand('print', false, null);\n } catch (e) {\n iframeElement.contentWindow.print();\n }\n } else {\n // Other browsers\n iframeElement.contentWindow.print();\n }\n } catch (error) {\n params.onError(error);\n } finally {\n if (_browser__WEBPACK_IMPORTED_MODULE_0__[\"default\"].isFirefox()) {\n // Move the iframe element off-screen and make it invisible\n iframeElement.style.visibility = 'hidden';\n iframeElement.style.left = '-1px';\n }\n\n Object(_functions__WEBPACK_IMPORTED_MODULE_1__[\"cleanUp\"])(params);\n }\n}\n\nfunction loadIframeImages(images) {\n var promises = images.map(function (image) {\n if (image.src && image.src !== window.location.href) {\n return loadIframeImage(image);\n }\n });\n return Promise.all(promises);\n}\n\nfunction loadIframeImage(image) {\n return new Promise(function (resolve) {\n var pollImage = function pollImage() {\n !image || typeof image.naturalWidth === 'undefined' || image.naturalWidth === 0 || !image.complete ? setTimeout(pollImage, 500) : resolve();\n };\n\n pollImage();\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Print);\n\n/***/ }),\n\n/***/ \"./src/js/raw-html.js\":\n/*!****************************!*\\\n !*** ./src/js/raw-html.js ***!\n \\****************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _print__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./print */ \"./src/js/print.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n print: function print(params, printFrame) {\n // Create printable element (container)\n params.printableElement = document.createElement('div');\n params.printableElement.setAttribute('style', 'width:100%'); // Set our raw html as the printable element inner html content\n\n params.printableElement.innerHTML = params.printable; // Print html contents\n\n _print__WEBPACK_IMPORTED_MODULE_0__[\"default\"].send(params, printFrame);\n }\n});\n\n/***/ }),\n\n/***/ \"./src/sass/index.scss\":\n/*!*****************************!*\\\n !*** ./src/sass/index.scss ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// extracted by mini-css-extract-plugin\n\n/***/ }),\n\n/***/ 0:\n/*!****************************!*\\\n !*** multi ./src/index.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! ./src/index.js */\"./src/index.js\");\n\n\n/***/ })\n\n/******/ })[\"default\"];\n});\n//# sourceMappingURL=print.map","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces/Xhr';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\nimport { RandomHelper } from 'libs/common/react/utils/RandomHelper';\n\nimport { UpdateResourceRequest } from 'libs/shared/interfaces';\n\nexport const ResourceRequests = {\n resource(id: string): Flight.Request {\n return {\n url: `/api/domain/v2/objects/${id}`,\n key: `resources:${id}`\n };\n },\n\n /**\n * Used to fetch resources publicly by Lite\n */\n publicResource(id: string, shareId?: string): Flight.Request {\n let url = `/api/objects/${id}`;\n\n if (shareId)\n url += `?shareId=${shareId}`;\n\n return {\n url,\n key: `resources:${id}:${shareId}`\n };\n },\n\n videoResources(videoId: string): Flight.Request {\n return {\n url: `/api/domain/v2/objects/${videoId}/resources?query=customer`,\n key: `videos:${videoId}:resources`\n };\n },\n\n addResource(\n videoId: string,\n resource: any,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/objects/${videoId}/resources`,\n key: `create:resource:${resource.fileId || RandomHelper.getRandomInt()}`,\n data: resource,\n type: HttpVerbs.POST,\n invalidationKeys: `videos:${videoId}:resources`,\n success,\n error,\n always\n };\n },\n\n updateResource(\n id: string,\n data: UpdateResourceRequest,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/objects/${id}`,\n key: `update:resource:${id}`,\n data,\n type: HttpVerbs.PUT,\n success,\n error,\n always\n };\n },\n\n deleteResource(\n id: string,\n videoId: string,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v2/objects/${id}`,\n key: `delete:resource:${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: `videos:${videoId}:resources`,\n success,\n error,\n always\n };\n }\n};","import React from 'react';\n\nexport function PrintSvg(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg {...props}>\n <path\n fill='currentColor'\n d='M6.154 17.766h1.444v-1H6.14q-.538 0-.806-.268-.267-.267-.267-.81V8.577q0-.538.267-.808.268-.27.806-.27h12.463q.53 0 .797.27t.268.808v7.112q0 .543-.268.81-.267.268-.797.268h-1.392v1h1.376q1.059 0 1.606-.534.549-.533.549-1.585V8.621q0-1.056-.549-1.589-.547-.534-1.606-.534H6.154q-1.017 0-1.585.534-.57.534-.569 1.589v7.026q0 1.052.547 1.585.546.534 1.607.534M8.452 20h7.842q.729 0 1.095-.347.364-.348.364-1.112v-6.02q0-.759-.364-1.107-.365-.35-1.095-.35H8.452q-.708 0-1.084.35-.375.348-.376 1.107v6.02q0 .764.364 1.112.363.347 1.096.347m.306-.997q-.357 0-.528-.17-.17-.168-.17-.541v-5.529q0-.366.17-.534.171-.167.528-.167h7.227q.366 0 .53.167.165.168.165.534v5.529q0 .373-.165.542-.164.168-.53.169zM6.948 7.094h1.035v-1.15q0-.494.24-.735.242-.24.745-.24h6.81q.5 0 .744.24.243.24.244.735V7.08h1.023V6.017q0-1.045-.51-1.531T15.765 4H8.981q-.963 0-1.498.486t-.535 1.531zm2.74 7.54h5.389q.178 0 .296-.121a.4.4 0 0 0 .118-.297.39.39 0 0 0-.118-.29.4.4 0 0 0-.296-.114H9.688a.42.42 0 0 0-.306.114.39.39 0 0 0-.118.29.41.41 0 0 0 .424.418m0 2.62h5.389a.4.4 0 0 0 .296-.116.39.39 0 0 0 .118-.29.414.414 0 0 0-.414-.42H9.688a.414.414 0 0 0-.424.42q0 .176.118.29a.42.42 0 0 0 .306.115m6.271-7.945q0 .389.273.652a.9.9 0 0 0 .655.262.88.88 0 0 0 .642-.264.88.88 0 0 0 .272-.65.88.88 0 0 0-.272-.639.87.87 0 0 0-.642-.276.89.89 0 0 0-.655.276.88.88 0 0 0-.273.639'\n />\n </svg>\n );\n}\n","import React from 'react';\nimport { Document, Page } from 'react-pdf';\nimport { PDFPageProxy } from 'react-pdf/dist/Page';\nimport { PDFDocumentProxy } from 'pdfjs-dist';\nimport printJS from 'print-js';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions, Actions as ActionButtons } from 'libs/shared/components/actions/Actions';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { PopupLoadingSpinner } from 'libs/shared/components/popup/PopupLoadingSpinner';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { ClipRequests } from 'libs/shared/flight-requests/ClipRequests';\nimport { ResourceRequests } from 'libs/shared/flight-requests/ResourceRequests';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { DownloadSvg } from 'libs/shared/images/svg/actions/DownloadSvg';\nimport { PrintSvg } from 'libs/shared/images/svg/actions/PrintSvg';\nimport { Clip, PopupViewProps, Resource, Video } from 'libs/shared/interfaces';\nimport { DownloadHelper } from 'libs/shared/utils/DownloadHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport styles from './preview-pdf.module.scss';\n\nconst namespace = 'shared.previewPdf';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nfunction getPreviewUrl(resource: Resource): string {\n if (!resource)\n return null;\n\n if (resource.metadata?.type === ResourceFileType.Pdf || resource.metadata?.type === ResourceFileType.Image)\n return resource.url;\n\n return resource.pdf?.url;\n}\n\nfunction PreviewPdfError(props: { onClickDownload: () => void, errorImageUrl: string }): JSX.Element {\n return (\n <div className='d-flex flex-column align-items-center justify-content-center'>\n <img\n alt=''\n role='presentation'\n src={props.errorImageUrl}\n className='w-50 pb-3'\n />\n\n <h2 className='h5'><Text namespace={namespace} phrase='errorHeading' /></h2>\n <p><Text namespace={namespace} phrase='downloadAnyway' /></p>\n <IconButton\n svg={DownloadSvg}\n onClick={props.onClickDownload}\n className='btn btn-dark'\n >\n <Text namespace={namespace} phrase='download' />\n </IconButton>\n </div>\n );\n}\n\nexport interface PreviewPdfQueryParams {\n id: string;\n videoId: string;\n shareId?: string;\n errorImageUrl: string;\n showBackButton?: boolean;\n}\n\ntype PreviewPdfViewProps = PopupViewProps & PreviewPdfQueryParams & {\n getResourceGuidanceAppLink?: (id: string, masterType: MasterType) => Core.AppLink;\n}\n\nexport function PreviewPdfView(props: PreviewPdfViewProps): JSX.Element {\n const [ numPages, setNumPages ] = React.useState(null);\n const [ pageNumber, setPageNumber ] = React.useState(1);\n const [ hasError, setHasError ] = React.useState(false);\n\n const pageRef = React.useRef<HTMLDivElement>(null);\n\n /**\n * Fetching the public resource because resources can be viewed on publicly shared links.\n */\n const resource = Flight.useBasicFetch<Resource>(ResourceRequests.publicResource(props.id, props.shareId));\n\n /**\n * Only used for event collection, we need the video/clip's name\n */\n const video = Flight.useBasicFetch<Video>(\n props.shareId ?\n VideoRequests.sharedVideo(props.videoId, props.shareId) :\n VideoRequests.video(props.videoId)\n );\n\n const clip = Flight.useBasicFetch<Clip>(\n props.shareId\n ? ClipRequests.sharedClip(props.videoId, props.shareId)\n : ClipRequests.clip(props.videoId)\n );\n\n const isVideo = video.data && VideoHelper.isVideo(video.data);\n\n /**\n * Set a height on the preview container element.\n * This is needed because when the user changes pages, the popup momentarily shrinks in height\n * until it has finished loading the next page. This prevents that shrink from occurring.\n */\n function setCanvasHeight(currentPreviewHeight: number): void {\n if (!pageRef.current)\n return;\n\n const currentHeightStyle = pageRef.current.style.height;\n const currentHeightStyleNumber = +(currentHeightStyle.substring(0, currentHeightStyle.length - 2));\n\n if (currentPreviewHeight > currentHeightStyleNumber)\n pageRef.current.style.height = currentPreviewHeight + 'px';\n }\n\n function onPageLoadSuccess(data: PDFPageProxy): void {\n setCanvasHeight(data.height);\n }\n\n function onDocumentLoadSuccess(doc: PDFDocumentProxy): void {\n setNumPages(doc.numPages);\n }\n\n function onClickNext(): void {\n if (pageNumber === numPages || hasError)\n return;\n\n setPageNumber(pageNumber + 1);\n }\n\n function onClickPrevious(): void {\n if (pageNumber === 1 || hasError)\n return;\n\n setPageNumber(pageNumber - 1);\n }\n\n function onClickPrint(): void {\n if (hasError)\n return;\n\n printJS(\n UrlHelper.urlBuilder(getPreviewUrl(resource.data), { dl: 'false' }),\n resource.data.metadata.type === ResourceFileType.Image ? 'image' : 'pdf'\n );\n\n AnalyticsHelper.logUserAction({\n id: resource.data?.id,\n name: resource.data?.name,\n video: {\n ...VideoHelper.getAnalyticsData(video.data)\n }\n }, {\n location: LocationContext.Popup,\n actionType: UserAction.Print,\n entity: EntityType.Resource,\n workflowPhase: WorkflowPhase.Complete\n });\n }\n function onClickDownload(): void {\n DownloadHelper.downloadResource(\n resource.data,\n isVideo\n ? { videoId: video.data?.id, videoName: video.data?.name }\n : { clipId: clip.data?.id, clipName: clip.data?.name },\n { location: LocationContext.Popup }\n );\n }\n\n function getActionsOptions(): ActionOptions[] {\n const buttons: ActionOptions[] = [{\n label: getPhrase('download'),\n svg: DownloadSvg,\n onClick: onClickDownload,\n button: true,\n className: 'btn btn-outline-dark me-2'\n }];\n\n if (props.showBackButton) {\n buttons.unshift(\n {\n label: getPhrase('back'),\n appLink: props.getResourceGuidanceAppLink(\n video.data?.id,\n VideoHelper.isClip(parent) ? MasterType.Clip : MasterType.Video\n ),\n analyticsOptions: {\n entity: EntityType.Resource,\n actionType: UserAction.Click,\n location: LocationContext.PreviewVideoResources,\n workflowPhase: WorkflowPhase.Back\n },\n button: true,\n className: 'btn btn-link'\n }\n );\n }\n if (!hasError) {\n buttons.push({\n label: getPhrase('printAsWorksheet'),\n svg: PrintSvg,\n onClick: onClickPrint,\n className: 'btn btn-outline-dark me-2',\n button: true\n });\n }\n\n return buttons;\n }\n\n return (\n <Popup\n title={resource.data?.name ?? ''}\n showLoadingSpinner={!resource.data}\n size='lg'\n closePopup={props.closePopup}\n dialogClassName={styles.dialog}\n >\n {(() => {\n if (!resource.data)\n return <></>;\n\n if (resource.data.metadata?.type === ResourceFileType.Image)\n return (\n <div className='d-flex justify-content-center w-100 h-100'>\n <img alt={resource.data.name} className='img-fluid' src={getPreviewUrl(resource.data)} />\n </div>\n );\n\n return (\n <>\n <Document\n file={getPreviewUrl(resource.data)}\n className={`${styles.document} ${hasError ? styles.documentError : ''}`}\n onLoadSuccess={onDocumentLoadSuccess}\n onLoadError={() => setHasError(true)}\n error={() => <PreviewPdfError onClickDownload={onClickDownload} errorImageUrl={props.errorImageUrl} />}\n loading={PopupLoadingSpinner}\n >\n <Page\n pageNumber={pageNumber}\n loading={PopupLoadingSpinner}\n inputRef={ref => pageRef.current = ref}\n className={`${styles.page} d-flex justify-content-center position-relative`}\n onLoadSuccess={onPageLoadSuccess}\n onLoadError={() => setHasError(true)}\n error={() => <PreviewPdfError onClickDownload={onClickDownload} errorImageUrl={props.errorImageUrl} />}\n />\n <WidgetButton\n onClick={onClickPrevious}\n direction={WidgetButtonDirection.Left}\n hide={hasError || pageNumber === 1}\n className={styles.buttonLeft}\n containerClassName='start-0 end-0'\n />\n <WidgetButton\n onClick={onClickNext}\n direction={WidgetButtonDirection.Right}\n hide={hasError || pageNumber === numPages}\n className={styles.buttonRight}\n containerClassName='start-0 end-0'\n />\n </Document>\n {!!(numPages && numPages > 1 && !hasError) && (\n <p className='mt-3 text-center'>\n <Text\n namespace={namespace}\n phrase='pageNumber'\n options={{\n current: pageNumber,\n total: numPages\n }}\n />\n </p>\n )}\n </>\n );\n })()}\n <PopupButtons>\n <ActionButtons actions={getActionsOptions()} />\n </PopupButtons>\n </Popup>\n );\n}\n"],"names":["root","factory","this","modules","installedModules","__w_pdfjs_require__","moduleId","module","exports","name","getter","value","mode","ns","key","object","property","pdfjsSharedUtil","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","params","PDFNetworkStream","PDFFetchStream","arrayByteLength","arraysToBytes","assert","bytesToString","createPromiseCapability","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","isBool","isEmptyObj","isNum","isString","isSameOrigin","createValidAbsoluteUrl","removeNullCharacters","setVerbosityLevel","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","utf8StringToString","warn","unreachable","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","NativeImageDecoding","PermissionFlag","TextRenderingMode","ImageKind","AnnotationType","AnnotationStateModelType","AnnotationMarkedState","AnnotationReviewState","AnnotationReplyType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","StreamType","FontType","VerbosityLevel","CMapCompressionType","OPS","UNSUPPORTED_FEATURES","PasswordResponses","verbosity","level","msg","cond","baseUrl","otherUrl","base","other","_isValidProtocol","url","absoluteUrl","obj","prop","BaseException","message","PasswordException","code","UnknownErrorException","details","InvalidPDFException","MissingPDFException","UnexpectedResponseException","status","FormatError","AbortException","NullCharactersRegExp","str","bytes","length","MAX_ARGUMENT_COUNT","strBuf","i","chunkEnd","chunk","arr","resultLength","pos","data","item","itemLength","isLittleEndian","buffer8","IsLittleEndianCached","isEvalSupported","IsEvalSupportedCached","rgbBuf","Util","r","g","b","m1","m2","p","m","xt","yt","d","p1","p2","p3","p4","v","transpose","a","c","first","second","sx","sy","rect","rect1","rect2","compare","orderedX","orderedY","result","PDFStringTranslateTable","arr1","arr2","element","index","capability","isSettled","resolve","reject","reason","createObjectURL","digits","contentType","forceDataSchema","blob","buffer","ii","b1","b2","b3","d1","d2","d3","d4","pdfNetworkStreamFactory","src","task","source","rangeTransport","worker","pdfBytes","NativeImageDecoderValues","workerParams","docId","workerId","networkStream","messageHandler","transport","pdfDataRangeTransport","nextDocumentId","PDFDocumentLoadingTask","onFulfilled","onRejected","initialData","progressiveDone","listener","begin","loaded","total","end","pdfInfo","pageNumber","ref","id","openAction","pageIndex","pageInfo","pdfBug","scale","rotation","offsetX","offsetY","dontFlip","intent","canvasContext","viewport","enableWebGL","renderInteractiveForms","transform","imageLayer","canvasFactory","background","renderingIntent","intentState","canvasFactoryInstance","webGLContext","complete","error","internalRenderTask","renderTask","transparency","operatorListChanged","opListTask","normalizeWhitespace","disableCombineTextItems","textContent","readableStream","pump","reader","done","waitOn","renderCompleted","resetStats","operatorListChunk","args","force","defer","transfers","cloneValue","cloned","desc","e","require","pdfjsFilePath","mainWorkerMessageHandler","wrapper","port","workerSrc","terminateEarly","onWorkerError","sendTest","testObj","WorkerMessageHandler","workerHandler","loadingTask","page","terminated","sink","evt","headersCapability","fullReader","rangeReader","ex","exception","updatePassword","password","type","exportedData","exportedError","fontRegistry","font","imageData","pageProxy","img","imageUrl","components","width","height","size","rgbaLength","buf","tmpCanvas","tmpCtx","j","fetched","builtInCMap","featureId","promise","results","objId","callback","InternalRenderTaskClosure","canvasInRendering","InternalRenderTask","objs","commonObjs","operatorList","useRequestAnimationFrame","addLinkAttributes","getFilenameFromUrl","isFetchSupported","isValidFetchUrl","loadScript","deprecated","releaseImageResources","_util","DEFAULT_LINK_REL","SVG_NS","DOMCanvasFactory","canvas","context","canvasAndContext","DOMCMapReaderFactory","isCompressed","compressionType","response","cMapData","request","DOMSVGFactory","svg","PageViewport","viewBox","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","x","y","topLeft","bottomRight","RenderingCancelledException","LinkTarget","link","target","rel","enabled","urlNullRemoved","targetStr","anchor","query","StatTimer","outBuf","longest","time","duration","protocol","script","pdfDateStringRegex","PDFDateString","input","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","BaseFontLoader","onUnsupportedFeature","nativeFontFace","rule","styleElement","styleSheet","supported","rules","fontsToLoad","FontLoader","completeRequest","otherRequest","getLoadTestFont","fonts","int32","offset","spliceString","s","remove","insert","chunk1","chunk2","ctx","called","isFontReady","loadTestFontId","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","names","div","span","FontFaceObject","translatedData","disableFontFace","ignoreErrors","character","cmds","current","js","compatibilityParams","userAgent","isIE","isIOSChrome","_pattern_helper","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","addContextCurrentTransform","f","ad_bc","bc_ad","old","prev","angle","cosValue","sinValue","CachedCanvases","trackTransform","canvasEntry","compileType3Glyph","imgData","POINT_TO_PROCESS_LIMIT","j0","width1","points","POINT_TYPES","lineSize","data0","mask","elem","count","sum","steps","outlines","coords","p0","pp","step","drawOutline","o","jj","CanvasExtraState","CanvasGraphics","EXECUTION_TIME","EXECUTION_STEPS","canvasCtx","putBinaryImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","destPos","dest","thisChunkHeight","elemsInThisChunk","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","destCtx","properties","resetCtxToDefault","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","hasBackdrop","composeFn","PIXELS_TO_PROCESS","chunkSize","row","chunkHeight","composeSMask","smask","composed","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","transparentCanvas","executionStartIdx","continueCallback","stepper","argsArray","fnArray","argsArrayLen","chunkOperations","endTime","fnId","depObjId","objsPool","style","limit","dashArray","dashPhase","flatness","states","state","activeSMask","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","deltaTransform","ops","xw","yh","consumePath","strokeColor","fillColor","isPatternFill","needRestore","paths","path","spacing","leading","fontRefName","fontObj","bold","italic","typeface","browserFontSize","rise","patternTransform","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","glyphs","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","lineWidth","glyph","restoreNeeded","accent","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","measuredWidth","characterScaleX","charWidth","fontMatrix","isTextInvisible","spacingLength","transformed","xWidth","yWidth","llx","lly","urx","ury","IR","color","baseTransform","canvasGraphicsFactory","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","bounds","canvasBounds","scaleX","scaleY","w","h","domImage","position","maskCanvas","positions","images","image","map","widthScale","heightScale","imgToPaint","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","entry","tag","inverse","op","getShadingPatternFromIR","ShadingIRs","applyBoundingBox","region","raw","colorStops","r1","grad","createMeshCanvas","drawTriangle","c1","c2","c3","colors","rowSize","tmp","x2","y2","x3","y3","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","cachedCanvases","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","owner","shadingFill","matrixScale","temporaryPatternCanvas","shadingIR","TilingPattern","PaintType","xstep","ystep","paintType","tilingType","curMatrixScale","combinedScale","dimx","dimy","graphics","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","GlobalWorkerOptions","CallbackKind","StreamKind","wrapReason","MessageHandler","sourceName","targetName","comObj","event","callbackId","action","actionName","handler","ah","queueingStrategy","streamId","controller","startCapability","pullCapability","cancelCapability","self","streamSink","lastDesiredSize","onPull","onCancel","_xml_parser","Metadata","xmlDocument","all","codes","chars","rdf","nodeName","children","XMLParserErrorCode","isWhitespace","ch","isWhitespaceString","XMLParserBase","entity","start","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","attrStart","ch2","pi","q2","complexDoctype","doctypeContent","content","isClosed","text","isEmpty","SimpleDOMNode","nodeValue","childNodes","child","SimpleXMLParser","documentElement","node","lastElement","PDFDataTransportStream","found","firstReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","stream","requestCapability","WebGLContext","enable","WebGLUtils","layer","loadShader","gl","shaderType","shader","compiled","errorMsg","createVertexShader","createFragmentShader","createProgram","shaders","program","linked","createTexture","textureId","texture","currentGL","currentCanvas","generateGL","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","initSmaskGL","vertexShader","fragmentShader","cache","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","maskTexture","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","drawFigures","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","renderTextLayer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","isAllWhitespace","appendText","geom","styles","textDiv","textDivProperties","tx","fontHeight","fontAscent","left","top","angleCos","angleSin","divWidth","divHeight","render","textDivs","textDivsLength","expand","expanded","expandBounds","divProperties","ts","t","findPositiveMin","boxScale","boxes","box","expandBoundsLTR","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","TextLayerRenderTask","textContentStream","container","textContentItemsStr","enhanceTextSelection","items","styleCache","len","fontFamily","timeout","textItems","textStyles","expandDivs","transformBuf","paddingBuf","divProps","renderParameters","_display_utils","AnnotationElementFactory","parameters","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","horizontalRadius","verticalRadius","radius","trigger","popup","PopupElement","linkService","destination","TEXT_ALIGNMENT","combWidth","fallbackName","selectElement","option","optionElement","IGNORE_TYPES","selector","parentElement","parentLeft","parentWidth","title","dateObject","modificationDate","contents","lines","line","pin","unpin","borderWidth","square","circle","coordinate","polyline","inkList","filename","AnnotationLayer","sortedAnnotations","popupAnnotations","_is_node","SVGGraphics","opListToTree","opList","opTree","opListElement","pf","pm","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","body","adler32","deflateSync","literals","deflateSyncUncompressed","output","require$$0","maxBlockLength","deflateBlocks","idat","adler","encode","kind","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","clipCount","maskCount","shadingCount","transformMatrix","svgElement","operatorIdMapping","opTreeElement","fn","lineWidthScale","textMatrix","strokeAlpha","fillAlpha","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","shadingId","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","stop","clipId","clipPath","clipElement","textRise","imgObj","imgEl","imgSrc","cliprect","definitions","rootGroup","clipGroup","_network_utils","fs","require$$1","http","require$$2","https","require$$3","fileUriRegex","parseUrl","sourceUrl","parsedUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","BaseRangeReader","createRequestOptions","headers","handleResponse","getResponseHeader","allowRangeRequests","suggestedLength","stat","createResponseStatusError","extractFilenameFromHeader","validateRangeRequestCapabilities","validateResponseStatus","_content_disposition","isHttp","rangeChunkSize","disableRange","returnValues","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","attributePattern","flags","textdecode","encoding","decoder","match","iter","n","quot","part","parts","quotindex","extvalue","encodingend","_","charset","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","listeners","xhrId","pendingRequest","xhrStatus","rangeHeader","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","manager","fullRequestXhrId","fullRequestXhr","createFetchOptions","withCredentials","abortController","createHeaders","httpHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","objectWithoutPropertiesLoose","_OverloadYield","_regeneratorDefine","regeneratorDefine","_regenerator","Generator","u","G","l","GeneratorFunction","GeneratorFunctionPrototype","OverloadYield","AsyncIterator","regenerator","regeneratorAsyncIterator","_regeneratorAsyncGen","regeneratorAsyncGen","_regeneratorAsync","_regeneratorKeys","_typeof","_regeneratorValues","regeneratorAsync","require$$4","regeneratorKeys","require$$5","regeneratorValues","require$$6","_regeneratorRuntime","_t","runtime","_next","_throw","assertThisInitialized","to","from","pack","ar","props","getArgs","eventProps","eventName","eventHandler","isCancelled","wrappedPromise","classList","arg","createContext","_ref","isValidRotation","isValidScrollMode","isValidSpreadMode","isPortraitOrientation","getGlobalEventBus","clamp","getPDFFileNameFromURL","noContextMenuHandler","parseQueryString","backtrackBeforeAllVisibleElements","getVisibleElements","roundToDivide","getPageSizeInches","approximateFraction","getOutputScale","scrollIntoView","watchScroll","binarySearchFirstItem","normalizeWheelEventDelta","waitOnEventOrTimeout","moveToEndOfArray","CSS_UNITS","DEFAULT_SCALE_VALUE","DEFAULT_SCALE","MIN_SCALE","MAX_SCALE","UNKNOWN_SCALE","MAX_AUTO_SCALE","SCROLLBAR_PADDING","VERTICAL_PADDING","PresentationModeState","RendererType","TextLayerMode","ScrollMode","SpreadMode","AutoPrintRegExp","formatL10nValue","NullL10n","fallback","devicePixelRatio","backingStoreRatio","pixelRatio","spot","skipOverflowHiddenElements","parent","viewAreaElement","debounceScroll","rAF","currentX","lastX","currentY","lastY","param","condition","minIndex","maxIndex","currentIndex","currentItem","xinv","x_","view","userUnit","rotate","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","bottom","right","isElementBottomAfterViewTop","isElementRightAfterViewLeft","visible","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","percent","last","pc","isDataSchema","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","delta","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","WaitOnType","delay","EventBus","timeoutHandler","animationStarted","dispatchDOMEvent","dispatchToDOM","eventListeners","externalListeners","external","options","globalEventBus","min","max","ProgressBar","units","progressSize","val","viewer","scrollbarWidth","moved","write","read","_ui_utils","PDFLinkService","eventBus","externalLinkTarget","externalLinkRel","externalLinkEnabled","ignoreDestinationZoom","pdfDocument","pdfViewer","pdfHistory","goToDestination","namedDest","explicitDest","destRef","destArray","hash","zoomArgs","zoomArg","zoomArgNumber","isValidExplicitDestination","pageNum","pageRef","refStr","destLength","zoom","allowNull","SimpleLinkService","isDefined","variable","isProvided","isBlob","isFile","isDataURI","dataURItoUint8Array","dataURI","byteString","ia","getPixelRatio","consoleOnDev","method","warnOnDev","_len2","_key2","errorOnDev","_len3","_key3","displayCORSWarning","cancelRunningTask","runningTask","makePageCallback","isCancelException","loadFromFile","file","arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","isPageIndex","propName","componentName","pdf","numPages","isPageNumber","ownKeys","enumerableOnly","keys","symbols","sym","_objectSpread","_createSuper","Derived","Super","_isNativeReflectConstruct","NewTarget","_PureComponent","Document","_super","_this","_len","_key","onItemClick","_callee","_this$props","onLoadProgress","onPassword","cancellable","_context","prevState","makeCancellable","documentInstance","onSourceSuccess","onSourceError","onLoadSuccess","onLoadError","_callee2","fileUint8Array","otherParams","_fileUint8Array","_context2","prevProps","noData","loading","_this$props2","className","inputRef","registerPage","unregisterPage","_this$props3","renderMode","_this2","PureComponent","_password","isFunctionOrNode","arrayWithHoles","iterableToArrayLimit","nonIterableRest","Ref","num","gen","OutlineItemInternal","_destination","_callee3","_context3","_ref4","_callee4","onClick","_context4","_x","otherProps","subitems","subitem","subitemIndex","OutlineItem","documentContext","outlineContext","OutlineInternal","outline","_ref2","itemIndex","PageCanvasInternal","onRenderSuccess","onRenderError","_assertThisInitialize","_assertThisInitialize2","renderViewport","renderContext","_this$props4","_this$props5","PageSVGInternal","svgGfx","_this$viewport","_this$viewport2","TextLayerItemInternal","sideways","_getFontData","fontName","getFontData","_alignTextItem","fontData","fallbackFontName","targetWidth","actualWidth","ascent","alignTextItem","customTextRenderer","defaultSideways","_transform","fontHeightPx","fontWidthPx","_transform2","_viewport$viewBox","yMin","yMax","_transform3","_viewport$viewBox2","xMin","TextLayerInternal","_yield$cancellable$pr","onGetTextSuccess","onGetTextError","textItem","AnnotationLayerInternal","annotations","onGetAnnotationsSuccess","onGetAnnotationsError","onRenderAnnotationLayerSuccess","onRenderAnnotationLayerError","pageContext","PageInternal","renderAnnotationLayer","pageScale","scaleWithDefault","_this3","__webpack_require__","__webpack_exports__","_js_init__WEBPACK_IMPORTED_MODULE_1__","printJS","Browser","addWrapper","capitalizePrint","collectStyles","addHeader","cleanUp","isRawHTML","_modal__WEBPACK_IMPORTED_MODULE_0__","_browser__WEBPACK_IMPORTED_MODULE_1__","htmlData","bodyStyle","win","elementStyle","targetStylesMatch","printElement","headerContainer","headerElement","headerNode","iframe","regexHtml","_functions__WEBPACK_IMPORTED_MODULE_0__","_print__WEBPACK_IMPORTED_MODULE_1__","printFrame","cloneElement","clone","childNodesArray","clonedChild","_browser__WEBPACK_IMPORTED_MODULE_2__","fullyQualifiedSrc","imageWrapper","_browser__WEBPACK_IMPORTED_MODULE_0__","_modal__WEBPACK_IMPORTED_MODULE_1__","_pdf__WEBPACK_IMPORTED_MODULE_2__","_html__WEBPACK_IMPORTED_MODULE_3__","_raw_html__WEBPACK_IMPORTED_MODULE_4__","_image__WEBPACK_IMPORTED_MODULE_5__","_json__WEBPACK_IMPORTED_MODULE_6__","printTypes","usedFrame","jsonToHTML","stringData","Modal","modalStyle","printModal","contentDiv","closeButton","spinner","messageNode","_print__WEBPACK_IMPORTED_MODULE_0__","_functions__WEBPACK_IMPORTED_MODULE_1__","bytesArray","createBlobAndPrint","req","localPdf","Print","iframeElement","performPrint","printDocument","loadIframeImages","promises","loadIframeImage","pollImage","shareId","videoId","resource","success","always","jsx","_a","_b","_c","jsxs","setNumPages","setPageNumber","hasError","setHasError","Flight.useBasicFetch","video","clip","isVideo","setCanvasHeight","currentPreviewHeight","currentHeightStyle","currentHeightStyleNumber","onPageLoadSuccess","onDocumentLoadSuccess","doc","onClickNext","onClickPrevious","onClickPrint","onClickDownload","_d","getActionsOptions","buttons","Fragment","Page","ActionButtons"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]}
|