diff --git a/comic/models.py b/comic/models.py
index 4045b8f..a87fc77 100644
--- a/comic/models.py
+++ b/comic/models.py
@@ -265,7 +265,7 @@ class ComicBook(models.Model):
pdf_file = None
if not cbx:
try:
- pdf_file = PyPDF4.PdfFileReader(comic_full_path)
+ pdf_file = PyPDF4.PdfFileReader(str(comic_full_path))
except PyPDF4.utils.PyPdfError:
pass
if not pdf_file and not cbx:
diff --git a/comic/templates/comic/read_comic_pdf.html b/comic/templates/comic/read_comic_pdf.html
index ac6d8de..83f6f99 100644
--- a/comic/templates/comic/read_comic_pdf.html
+++ b/comic/templates/comic/read_comic_pdf.html
@@ -9,7 +9,7 @@
-
+
@@ -52,13 +52,10 @@ function renderPage(num) {
pageRendering = true;
// Using promise to fetch the page
pdfDoc.getPage(num).then(function(page) {
- let viewport = page.getViewport({scale: (window.innerWidth *.95) / page.getViewport(1.0).width});
+ let viewport = page.getViewport({scale: (window.innerWidth *.95) / page.getViewport({scale:1.0}).width});
canvas.height = viewport.height;
canvas.width = viewport.width;
- document.getElementById('the-canvas').scrollIntoView({behavior: 'smooth'})
- $.ajax({url: "/comic/set_page/{{nav.cur_path}}/" + (pageNum - 1) + "/"})
-
// Render PDF page into canvas context
let renderContext = {
canvasContext: ctx,
@@ -160,13 +157,13 @@ $(document).keydown(function(e) { // add arrow key support
});
var hammertime = new Hammer(document.getElementById('the-canvas'), {});
- hammertime.on('swipeleft', function (ev) {
+ hammertime.on('swipeleft', function () {
onNextPage()
})
- hammertime.on('swiperight', function (ev) {
+ hammertime.on('swiperight', function () {
onPrevPage()
})
- hammertime.on('tap', function (ev) {
+ hammertime.on('tap', function () {
onNextPage()
})
diff --git a/static/pdfjs/build/pdf.js b/static/pdfjs/build/pdf.js
index 0dfefed..e2c2e2b 100644
--- a/static/pdfjs/build/pdf.js
+++ b/static/pdfjs/build/pdf.js
@@ -2,7 +2,7 @@
* @licstart The following is the entire license notice for the
* Javascript code in this page
*
- * Copyright 2019 Mozilla Foundation
+ * Copyright 2020 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -30,138 +30,250 @@
else
root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory();
})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __w_pdfjs_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __w_pdfjs_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __w_pdfjs_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __w_pdfjs_require__.d = function(exports, name, getter) {
-/******/ if(!__w_pdfjs_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __w_pdfjs_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __w_pdfjs_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __w_pdfjs_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __w_pdfjs_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __w_pdfjs_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __w_pdfjs_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __w_pdfjs_require__.p = "";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
+return /******/ (() => { // webpackBootstrap
+/******/ "use strict";
+/******/ var __webpack_modules__ = ([
/* 0 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-var pdfjsVersion = '2.3.200';
-var pdfjsBuild = '4ae3f9fc';
-var pdfjsSharedUtil = __w_pdfjs_require__(1);
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
+Object.defineProperty(exports, "addLinkAttributes", ({
+ enumerable: true,
+ get: function () {
+ return _display_utils.addLinkAttributes;
+ }
+}));
+Object.defineProperty(exports, "getFilenameFromUrl", ({
+ enumerable: true,
+ get: function () {
+ return _display_utils.getFilenameFromUrl;
+ }
+}));
+Object.defineProperty(exports, "LinkTarget", ({
+ enumerable: true,
+ get: function () {
+ return _display_utils.LinkTarget;
+ }
+}));
+Object.defineProperty(exports, "loadScript", ({
+ enumerable: true,
+ get: function () {
+ return _display_utils.loadScript;
+ }
+}));
+Object.defineProperty(exports, "PDFDateString", ({
+ enumerable: true,
+ get: function () {
+ return _display_utils.PDFDateString;
+ }
+}));
+Object.defineProperty(exports, "RenderingCancelledException", ({
+ enumerable: true,
+ get: function () {
+ return _display_utils.RenderingCancelledException;
+ }
+}));
+Object.defineProperty(exports, "build", ({
+ enumerable: true,
+ get: function () {
+ return _api.build;
+ }
+}));
+Object.defineProperty(exports, "getDocument", ({
+ enumerable: true,
+ get: function () {
+ return _api.getDocument;
+ }
+}));
+Object.defineProperty(exports, "LoopbackPort", ({
+ enumerable: true,
+ get: function () {
+ return _api.LoopbackPort;
+ }
+}));
+Object.defineProperty(exports, "PDFDataRangeTransport", ({
+ enumerable: true,
+ get: function () {
+ return _api.PDFDataRangeTransport;
+ }
+}));
+Object.defineProperty(exports, "PDFWorker", ({
+ enumerable: true,
+ get: function () {
+ return _api.PDFWorker;
+ }
+}));
+Object.defineProperty(exports, "version", ({
+ enumerable: true,
+ get: function () {
+ return _api.version;
+ }
+}));
+Object.defineProperty(exports, "CMapCompressionType", ({
+ enumerable: true,
+ get: function () {
+ return _util.CMapCompressionType;
+ }
+}));
+Object.defineProperty(exports, "createObjectURL", ({
+ enumerable: true,
+ get: function () {
+ return _util.createObjectURL;
+ }
+}));
+Object.defineProperty(exports, "createPromiseCapability", ({
+ enumerable: true,
+ get: function () {
+ return _util.createPromiseCapability;
+ }
+}));
+Object.defineProperty(exports, "createValidAbsoluteUrl", ({
+ enumerable: true,
+ get: function () {
+ return _util.createValidAbsoluteUrl;
+ }
+}));
+Object.defineProperty(exports, "InvalidPDFException", ({
+ enumerable: true,
+ get: function () {
+ return _util.InvalidPDFException;
+ }
+}));
+Object.defineProperty(exports, "MissingPDFException", ({
+ enumerable: true,
+ get: function () {
+ return _util.MissingPDFException;
+ }
+}));
+Object.defineProperty(exports, "OPS", ({
+ enumerable: true,
+ get: function () {
+ return _util.OPS;
+ }
+}));
+Object.defineProperty(exports, "PasswordResponses", ({
+ enumerable: true,
+ get: function () {
+ return _util.PasswordResponses;
+ }
+}));
+Object.defineProperty(exports, "PermissionFlag", ({
+ enumerable: true,
+ get: function () {
+ return _util.PermissionFlag;
+ }
+}));
+Object.defineProperty(exports, "removeNullCharacters", ({
+ enumerable: true,
+ get: function () {
+ return _util.removeNullCharacters;
+ }
+}));
+Object.defineProperty(exports, "shadow", ({
+ enumerable: true,
+ get: function () {
+ return _util.shadow;
+ }
+}));
+Object.defineProperty(exports, "UnexpectedResponseException", ({
+ enumerable: true,
+ get: function () {
+ return _util.UnexpectedResponseException;
+ }
+}));
+Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({
+ enumerable: true,
+ get: function () {
+ return _util.UNSUPPORTED_FEATURES;
+ }
+}));
+Object.defineProperty(exports, "Util", ({
+ enumerable: true,
+ get: function () {
+ return _util.Util;
+ }
+}));
+Object.defineProperty(exports, "VerbosityLevel", ({
+ enumerable: true,
+ get: function () {
+ return _util.VerbosityLevel;
+ }
+}));
+Object.defineProperty(exports, "AnnotationLayer", ({
+ enumerable: true,
+ get: function () {
+ return _annotation_layer.AnnotationLayer;
+ }
+}));
+Object.defineProperty(exports, "apiCompatibilityParams", ({
+ enumerable: true,
+ get: function () {
+ return _api_compatibility.apiCompatibilityParams;
+ }
+}));
+Object.defineProperty(exports, "GlobalWorkerOptions", ({
+ enumerable: true,
+ get: function () {
+ return _worker_options.GlobalWorkerOptions;
+ }
+}));
+Object.defineProperty(exports, "renderTextLayer", ({
+ enumerable: true,
+ get: function () {
+ return _text_layer.renderTextLayer;
+ }
+}));
+Object.defineProperty(exports, "SVGGraphics", ({
+ enumerable: true,
+ get: function () {
+ return _svg.SVGGraphics;
+ }
+}));
-var pdfjsDisplayAPI = __w_pdfjs_require__(179);
+var _display_utils = __w_pdfjs_require__(1);
-var pdfjsDisplayTextLayer = __w_pdfjs_require__(194);
+var _api = __w_pdfjs_require__(5);
-var pdfjsDisplayAnnotationLayer = __w_pdfjs_require__(195);
+var _util = __w_pdfjs_require__(2);
-var pdfjsDisplayDisplayUtils = __w_pdfjs_require__(183);
+var _annotation_layer = __w_pdfjs_require__(19);
-var pdfjsDisplaySVG = __w_pdfjs_require__(196);
+var _api_compatibility = __w_pdfjs_require__(9);
-var pdfjsDisplayWorkerOptions = __w_pdfjs_require__(188);
+var _worker_options = __w_pdfjs_require__(12);
-var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(185);
+var _text_layer = __w_pdfjs_require__(21);
+var _svg = __w_pdfjs_require__(22);
+
+const pdfjsVersion = '2.7.570';
+const pdfjsBuild = 'f2c7338b0';
{
- var isNodeJS = __w_pdfjs_require__(4);
+ const {
+ isNodeJS
+ } = __w_pdfjs_require__(4);
- if (isNodeJS()) {
- var PDFNodeStream = __w_pdfjs_require__(197).PDFNodeStream;
+ if (isNodeJS) {
+ const PDFNodeStream = __w_pdfjs_require__(23).PDFNodeStream;
- pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
+ (0, _api.setPDFNetworkStreamFactory)(params => {
return new PDFNodeStream(params);
});
} else {
- var PDFNetworkStream = __w_pdfjs_require__(200).PDFNetworkStream;
+ const PDFNetworkStream = __w_pdfjs_require__(26).PDFNetworkStream;
- var PDFFetchStream;
+ let PDFFetchStream;
- if (pdfjsDisplayDisplayUtils.isFetchSupported()) {
- PDFFetchStream = __w_pdfjs_require__(201).PDFFetchStream;
+ if ((0, _display_utils.isFetchSupported)()) {
+ PDFFetchStream = __w_pdfjs_require__(27).PDFFetchStream;
}
- pdfjsDisplayAPI.setPDFNetworkStreamFactory(function (params) {
- if (PDFFetchStream && pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {
+ (0, _api.setPDFNetworkStreamFactory)(params => {
+ if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {
return new PDFFetchStream(params);
}
@@ -169,124 +281,599 @@ var pdfjsDisplayAPICompatibility = __w_pdfjs_require__(185);
});
}
}
-exports.build = pdfjsDisplayAPI.build;
-exports.version = pdfjsDisplayAPI.version;
-exports.getDocument = pdfjsDisplayAPI.getDocument;
-exports.LoopbackPort = pdfjsDisplayAPI.LoopbackPort;
-exports.PDFDataRangeTransport = pdfjsDisplayAPI.PDFDataRangeTransport;
-exports.PDFWorker = pdfjsDisplayAPI.PDFWorker;
-exports.renderTextLayer = pdfjsDisplayTextLayer.renderTextLayer;
-exports.AnnotationLayer = pdfjsDisplayAnnotationLayer.AnnotationLayer;
-exports.createPromiseCapability = pdfjsSharedUtil.createPromiseCapability;
-exports.PasswordResponses = pdfjsSharedUtil.PasswordResponses;
-exports.InvalidPDFException = pdfjsSharedUtil.InvalidPDFException;
-exports.MissingPDFException = pdfjsSharedUtil.MissingPDFException;
-exports.SVGGraphics = pdfjsDisplaySVG.SVGGraphics;
-exports.NativeImageDecoding = pdfjsSharedUtil.NativeImageDecoding;
-exports.CMapCompressionType = pdfjsSharedUtil.CMapCompressionType;
-exports.PermissionFlag = pdfjsSharedUtil.PermissionFlag;
-exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException;
-exports.OPS = pdfjsSharedUtil.OPS;
-exports.VerbosityLevel = pdfjsSharedUtil.VerbosityLevel;
-exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES;
-exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl;
-exports.createObjectURL = pdfjsSharedUtil.createObjectURL;
-exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters;
-exports.shadow = pdfjsSharedUtil.shadow;
-exports.Util = pdfjsSharedUtil.Util;
-exports.ReadableStream = pdfjsSharedUtil.ReadableStream;
-exports.RenderingCancelledException = pdfjsDisplayDisplayUtils.RenderingCancelledException;
-exports.getFilenameFromUrl = pdfjsDisplayDisplayUtils.getFilenameFromUrl;
-exports.LinkTarget = pdfjsDisplayDisplayUtils.LinkTarget;
-exports.addLinkAttributes = pdfjsDisplayDisplayUtils.addLinkAttributes;
-exports.loadScript = pdfjsDisplayDisplayUtils.loadScript;
-exports.PDFDateString = pdfjsDisplayDisplayUtils.PDFDateString;
-exports.GlobalWorkerOptions = pdfjsDisplayWorkerOptions.GlobalWorkerOptions;
-exports.apiCompatibilityParams = pdfjsDisplayAPICompatibility.apiCompatibilityParams;
/***/ }),
/* 1 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
+exports.addLinkAttributes = addLinkAttributes;
+exports.deprecated = deprecated;
+exports.getFilenameFromUrl = getFilenameFromUrl;
+exports.isFetchSupported = isFetchSupported;
+exports.isValidFetchUrl = isValidFetchUrl;
+exports.loadScript = loadScript;
+exports.StatTimer = exports.RenderingCancelledException = exports.PDFDateString = exports.PageViewport = exports.LinkTarget = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.BaseCMapReaderFactory = exports.BaseCanvasFactory = void 0;
+
+var _util = __w_pdfjs_require__(2);
+
+const DEFAULT_LINK_REL = "noopener noreferrer nofollow";
+exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
+const SVG_NS = "http://www.w3.org/2000/svg";
+
+class BaseCanvasFactory {
+ constructor() {
+ if (this.constructor === BaseCanvasFactory) {
+ (0, _util.unreachable)("Cannot initialize BaseCanvasFactory.");
+ }
+ }
+
+ create(width, height) {
+ (0, _util.unreachable)("Abstract method `create` called.");
+ }
+
+ reset(canvasAndContext, width, height) {
+ if (!canvasAndContext.canvas) {
+ throw new Error("Canvas is not specified");
+ }
+
+ if (width <= 0 || height <= 0) {
+ throw new Error("Invalid canvas size");
+ }
+
+ canvasAndContext.canvas.width = width;
+ canvasAndContext.canvas.height = height;
+ }
+
+ destroy(canvasAndContext) {
+ if (!canvasAndContext.canvas) {
+ throw new Error("Canvas is not specified");
+ }
+
+ canvasAndContext.canvas.width = 0;
+ canvasAndContext.canvas.height = 0;
+ canvasAndContext.canvas = null;
+ canvasAndContext.context = null;
+ }
+
+}
+
+exports.BaseCanvasFactory = BaseCanvasFactory;
+
+class DOMCanvasFactory extends BaseCanvasFactory {
+ constructor({
+ ownerDocument = globalThis.document
+ } = {}) {
+ super();
+ this._document = ownerDocument;
+ }
+
+ create(width, height) {
+ if (width <= 0 || height <= 0) {
+ throw new Error("Invalid canvas size");
+ }
+
+ const canvas = this._document.createElement("canvas");
+
+ const context = canvas.getContext("2d");
+ canvas.width = width;
+ canvas.height = height;
+ return {
+ canvas,
+ context
+ };
+ }
+
+}
+
+exports.DOMCanvasFactory = DOMCanvasFactory;
+
+class BaseCMapReaderFactory {
+ constructor({
+ baseUrl = null,
+ isCompressed = false
+ }) {
+ if (this.constructor === BaseCMapReaderFactory) {
+ (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory.");
+ }
+
+ this.baseUrl = baseUrl;
+ this.isCompressed = isCompressed;
+ }
+
+ async fetch({
+ name
+ }) {
+ if (!this.baseUrl) {
+ throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');
+ }
+
+ if (!name) {
+ throw new Error("CMap name must be specified.");
+ }
+
+ const url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
+ const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
+ return this._fetchData(url, compressionType).catch(reason => {
+ throw new Error(`Unable to load ${this.isCompressed ? "binary " : ""}CMap at: ${url}`);
+ });
+ }
+
+ _fetchData(url, compressionType) {
+ (0, _util.unreachable)("Abstract method `_fetchData` called.");
+ }
+
+}
+
+exports.BaseCMapReaderFactory = BaseCMapReaderFactory;
+
+class DOMCMapReaderFactory extends BaseCMapReaderFactory {
+ _fetchData(url, compressionType) {
+ if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {
+ return fetch(url).then(async response => {
+ if (!response.ok) {
+ throw new Error(response.statusText);
+ }
+
+ let cMapData;
+
+ if (this.isCompressed) {
+ cMapData = new Uint8Array(await response.arrayBuffer());
+ } else {
+ cMapData = (0, _util.stringToBytes)(await response.text());
+ }
+
+ return {
+ cMapData,
+ compressionType
+ };
+ });
+ }
+
+ return new Promise((resolve, reject) => {
+ const request = new XMLHttpRequest();
+ request.open("GET", url, true);
+
+ if (this.isCompressed) {
+ request.responseType = "arraybuffer";
+ }
+
+ request.onreadystatechange = () => {
+ if (request.readyState !== XMLHttpRequest.DONE) {
+ return;
+ }
+
+ if (request.status === 200 || request.status === 0) {
+ let cMapData;
+
+ if (this.isCompressed && request.response) {
+ cMapData = new Uint8Array(request.response);
+ } else if (!this.isCompressed && request.responseText) {
+ cMapData = (0, _util.stringToBytes)(request.responseText);
+ }
+
+ if (cMapData) {
+ resolve({
+ cMapData,
+ compressionType
+ });
+ return;
+ }
+ }
+
+ reject(new Error(request.statusText));
+ };
+
+ request.send(null);
+ });
+ }
+
+}
+
+exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
+
+class DOMSVGFactory {
+ create(width, height) {
+ (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions");
+ const svg = document.createElementNS(SVG_NS, "svg:svg");
+ svg.setAttribute("version", "1.1");
+ svg.setAttribute("width", width + "px");
+ svg.setAttribute("height", height + "px");
+ svg.setAttribute("preserveAspectRatio", "none");
+ svg.setAttribute("viewBox", "0 0 " + width + " " + height);
+ return svg;
+ }
+
+ createElement(type) {
+ (0, _util.assert)(typeof type === "string", "Invalid SVG element type");
+ return document.createElementNS(SVG_NS, type);
+ }
+
+}
+
+exports.DOMSVGFactory = DOMSVGFactory;
+
+class PageViewport {
+ constructor({
+ viewBox,
+ scale,
+ rotation,
+ offsetX = 0,
+ offsetY = 0,
+ dontFlip = false
+ }) {
+ this.viewBox = viewBox;
+ this.scale = scale;
+ this.rotation = rotation;
+ this.offsetX = offsetX;
+ this.offsetY = offsetY;
+ const centerX = (viewBox[2] + viewBox[0]) / 2;
+ const centerY = (viewBox[3] + viewBox[1]) / 2;
+ let rotateA, rotateB, rotateC, rotateD;
+ rotation = rotation % 360;
+ rotation = rotation < 0 ? rotation + 360 : rotation;
+
+ switch (rotation) {
+ case 180:
+ rotateA = -1;
+ rotateB = 0;
+ rotateC = 0;
+ rotateD = 1;
+ break;
+
+ case 90:
+ rotateA = 0;
+ rotateB = 1;
+ rotateC = 1;
+ rotateD = 0;
+ break;
+
+ case 270:
+ rotateA = 0;
+ rotateB = -1;
+ rotateC = -1;
+ rotateD = 0;
+ break;
+
+ case 0:
+ rotateA = 1;
+ rotateB = 0;
+ rotateC = 0;
+ rotateD = -1;
+ break;
+
+ default:
+ throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.");
+ }
+
+ if (dontFlip) {
+ rotateC = -rotateC;
+ rotateD = -rotateD;
+ }
+
+ let offsetCanvasX, offsetCanvasY;
+ let width, height;
+
+ if (rotateA === 0) {
+ offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
+ offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
+ width = Math.abs(viewBox[3] - viewBox[1]) * scale;
+ height = Math.abs(viewBox[2] - viewBox[0]) * scale;
+ } else {
+ offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
+ offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
+ width = Math.abs(viewBox[2] - viewBox[0]) * scale;
+ height = Math.abs(viewBox[3] - viewBox[1]) * scale;
+ }
+
+ this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
+ this.width = width;
+ this.height = height;
+ }
+
+ clone({
+ scale = this.scale,
+ rotation = this.rotation,
+ offsetX = this.offsetX,
+ offsetY = this.offsetY,
+ dontFlip = false
+ } = {}) {
+ return new PageViewport({
+ viewBox: this.viewBox.slice(),
+ scale,
+ rotation,
+ offsetX,
+ offsetY,
+ dontFlip
+ });
+ }
+
+ convertToViewportPoint(x, y) {
+ return _util.Util.applyTransform([x, y], this.transform);
+ }
+
+ convertToViewportRectangle(rect) {
+ const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
+
+ const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
+
+ return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
+ }
+
+ convertToPdfPoint(x, y) {
+ return _util.Util.applyInverseTransform([x, y], this.transform);
+ }
+
+}
+
+exports.PageViewport = PageViewport;
+
+class RenderingCancelledException extends _util.BaseException {
+ constructor(msg, type) {
+ super(msg);
+ this.type = type;
+ }
+
+}
+
+exports.RenderingCancelledException = RenderingCancelledException;
+const LinkTarget = {
+ NONE: 0,
+ SELF: 1,
+ BLANK: 2,
+ PARENT: 3,
+ TOP: 4
+};
+exports.LinkTarget = LinkTarget;
+
+function addLinkAttributes(link, {
+ url,
+ target,
+ rel,
+ enabled = true
+} = {}) {
+ (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.');
+ const urlNullRemoved = (0, _util.removeNullCharacters)(url);
+
+ if (enabled) {
+ link.href = link.title = urlNullRemoved;
+ } else {
+ link.href = "";
+ link.title = `Disabled: ${urlNullRemoved}`;
+
+ link.onclick = () => {
+ return false;
+ };
+ }
+
+ let targetStr = "";
+
+ switch (target) {
+ case LinkTarget.NONE:
+ break;
+
+ case LinkTarget.SELF:
+ targetStr = "_self";
+ break;
+
+ case LinkTarget.BLANK:
+ targetStr = "_blank";
+ break;
+
+ case LinkTarget.PARENT:
+ targetStr = "_parent";
+ break;
+
+ case LinkTarget.TOP:
+ targetStr = "_top";
+ break;
+ }
+
+ link.target = targetStr;
+ link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
+}
+
+function getFilenameFromUrl(url) {
+ const anchor = url.indexOf("#");
+ const query = url.indexOf("?");
+ const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
+ return url.substring(url.lastIndexOf("/", end) + 1, end);
+}
+
+class StatTimer {
+ constructor() {
+ this.started = Object.create(null);
+ this.times = [];
+ }
+
+ time(name) {
+ if (name in this.started) {
+ (0, _util.warn)(`Timer is already running for ${name}`);
+ }
+
+ this.started[name] = Date.now();
+ }
+
+ timeEnd(name) {
+ if (!(name in this.started)) {
+ (0, _util.warn)(`Timer has not been started for ${name}`);
+ }
+
+ this.times.push({
+ name,
+ start: this.started[name],
+ end: Date.now()
+ });
+ delete this.started[name];
+ }
+
+ toString() {
+ const outBuf = [];
+ let longest = 0;
+
+ for (const time of this.times) {
+ const name = time.name;
+
+ if (name.length > longest) {
+ longest = name.length;
+ }
+ }
+
+ for (const time of this.times) {
+ const duration = time.end - time.start;
+ outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\n`);
+ }
+
+ return outBuf.join("");
+ }
+
+}
+
+exports.StatTimer = StatTimer;
+
+function isFetchSupported() {
+ return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && typeof ReadableStream !== "undefined";
+}
+
+function isValidFetchUrl(url, baseUrl) {
+ try {
+ const {
+ protocol
+ } = baseUrl ? new URL(url, baseUrl) : new URL(url);
+ return protocol === "http:" || protocol === "https:";
+ } catch (ex) {
+ return false;
+ }
+}
+
+function loadScript(src, removeScriptElement = false) {
+ return new Promise((resolve, reject) => {
+ const script = document.createElement("script");
+ script.src = src;
+
+ script.onload = function (evt) {
+ if (removeScriptElement) {
+ script.remove();
+ }
+
+ resolve(evt);
+ };
+
+ script.onerror = function () {
+ reject(new Error(`Cannot load script at: ${script.src}`));
+ };
+
+ (document.head || document.documentElement).appendChild(script);
+ });
+}
+
+function deprecated(details) {
+ console.log("Deprecated API usage: " + details);
+}
+
+let pdfDateStringRegex;
+
+class PDFDateString {
+ static toDateObject(input) {
+ if (!input || !(0, _util.isString)(input)) {
+ return null;
+ }
+
+ if (!pdfDateStringRegex) {
+ pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
+ }
+
+ const matches = pdfDateStringRegex.exec(input);
+
+ if (!matches) {
+ return null;
+ }
+
+ const year = parseInt(matches[1], 10);
+ let month = parseInt(matches[2], 10);
+ month = month >= 1 && month <= 12 ? month - 1 : 0;
+ let day = parseInt(matches[3], 10);
+ day = day >= 1 && day <= 31 ? day : 1;
+ let hour = parseInt(matches[4], 10);
+ hour = hour >= 0 && hour <= 23 ? hour : 0;
+ let minute = parseInt(matches[5], 10);
+ minute = minute >= 0 && minute <= 59 ? minute : 0;
+ let second = parseInt(matches[6], 10);
+ second = second >= 0 && second <= 59 ? second : 0;
+ const universalTimeRelation = matches[7] || "Z";
+ let offsetHour = parseInt(matches[8], 10);
+ offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
+ let offsetMinute = parseInt(matches[9], 10) || 0;
+ offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
+
+ if (universalTimeRelation === "-") {
+ hour += offsetHour;
+ minute += offsetMinute;
+ } else if (universalTimeRelation === "+") {
+ hour -= offsetHour;
+ minute -= offsetMinute;
+ }
+
+ return new Date(Date.UTC(year, month, day, hour, minute, second));
+ }
+
+}
+
+exports.PDFDateString = PDFDateString;
+
+/***/ }),
+/* 2 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
exports.arrayByteLength = arrayByteLength;
exports.arraysToBytes = arraysToBytes;
exports.assert = assert;
exports.bytesToString = bytesToString;
exports.createPromiseCapability = createPromiseCapability;
+exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
+exports.encodeToXmlString = encodeToXmlString;
+exports.escapeString = escapeString;
+exports.getModificationDate = getModificationDate;
exports.getVerbosityLevel = getVerbosityLevel;
exports.info = info;
exports.isArrayBuffer = isArrayBuffer;
exports.isArrayEqual = isArrayEqual;
+exports.isAscii = isAscii;
exports.isBool = isBool;
-exports.isEmptyObj = isEmptyObj;
exports.isNum = isNum;
-exports.isString = isString;
-exports.isSpace = isSpace;
exports.isSameOrigin = isSameOrigin;
-exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
-exports.isLittleEndian = isLittleEndian;
-exports.isEvalSupported = isEvalSupported;
-exports.log2 = log2;
-exports.readInt8 = readInt8;
-exports.readUint16 = readUint16;
-exports.readUint32 = readUint32;
+exports.isString = isString;
+exports.objectFromEntries = objectFromEntries;
+exports.objectSize = objectSize;
exports.removeNullCharacters = removeNullCharacters;
exports.setVerbosityLevel = setVerbosityLevel;
exports.shadow = shadow;
exports.string32 = string32;
exports.stringToBytes = stringToBytes;
exports.stringToPDFString = stringToPDFString;
+exports.stringToUTF16BEString = stringToUTF16BEString;
exports.stringToUTF8String = stringToUTF8String;
+exports.unreachable = unreachable;
exports.utf8StringToString = utf8StringToString;
exports.warn = warn;
-exports.unreachable = unreachable;
-Object.defineProperty(exports, "ReadableStream", {
- enumerable: true,
- get: function () {
- return _streams_polyfill.ReadableStream;
- }
-});
-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;
+exports.VerbosityLevel = exports.Util = exports.UNSUPPORTED_FEATURES = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.createObjectURL = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;
-__w_pdfjs_require__(2);
+__w_pdfjs_require__(3);
-var _streams_polyfill = __w_pdfjs_require__(177);
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { 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); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
+const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
-var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
+const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
-var NativeImageDecoding = {
- NONE: 'none',
- DECODE: 'decode',
- DISPLAY: 'display'
-};
-exports.NativeImageDecoding = NativeImageDecoding;
-var PermissionFlag = {
+const PermissionFlag = {
PRINT: 0x04,
MODIFY_CONTENTS: 0x08,
COPY: 0x10,
@@ -297,7 +884,7 @@ var PermissionFlag = {
PRINT_HIGH_QUALITY: 0x800
};
exports.PermissionFlag = PermissionFlag;
-var TextRenderingMode = {
+const TextRenderingMode = {
FILL: 0,
STROKE: 1,
FILL_STROKE: 2,
@@ -310,13 +897,13 @@ var TextRenderingMode = {
ADD_TO_PATH_FLAG: 4
};
exports.TextRenderingMode = TextRenderingMode;
-var ImageKind = {
+const ImageKind = {
GRAYSCALE_1BPP: 1,
RGB_24BPP: 2,
RGBA_32BPP: 3
};
exports.ImageKind = ImageKind;
-var AnnotationType = {
+const AnnotationType = {
TEXT: 1,
LINK: 2,
FREETEXT: 3,
@@ -345,30 +932,30 @@ var AnnotationType = {
REDACT: 26
};
exports.AnnotationType = AnnotationType;
-var AnnotationStateModelType = {
- MARKED: 'Marked',
- REVIEW: 'Review'
+const AnnotationStateModelType = {
+ MARKED: "Marked",
+ REVIEW: "Review"
};
exports.AnnotationStateModelType = AnnotationStateModelType;
-var AnnotationMarkedState = {
- MARKED: 'Marked',
- UNMARKED: 'Unmarked'
+const AnnotationMarkedState = {
+ MARKED: "Marked",
+ UNMARKED: "Unmarked"
};
exports.AnnotationMarkedState = AnnotationMarkedState;
-var AnnotationReviewState = {
- ACCEPTED: 'Accepted',
- REJECTED: 'Rejected',
- CANCELLED: 'Cancelled',
- COMPLETED: 'Completed',
- NONE: 'None'
+const AnnotationReviewState = {
+ ACCEPTED: "Accepted",
+ REJECTED: "Rejected",
+ CANCELLED: "Cancelled",
+ COMPLETED: "Completed",
+ NONE: "None"
};
exports.AnnotationReviewState = AnnotationReviewState;
-var AnnotationReplyType = {
- GROUP: 'Group',
- REPLY: 'R'
+const AnnotationReplyType = {
+ GROUP: "Group",
+ REPLY: "R"
};
exports.AnnotationReplyType = AnnotationReplyType;
-var AnnotationFlag = {
+const AnnotationFlag = {
INVISIBLE: 0x01,
HIDDEN: 0x02,
PRINT: 0x04,
@@ -381,7 +968,7 @@ var AnnotationFlag = {
LOCKEDCONTENTS: 0x200
};
exports.AnnotationFlag = AnnotationFlag;
-var AnnotationFieldFlag = {
+const AnnotationFieldFlag = {
READONLY: 0x0000001,
REQUIRED: 0x0000002,
NOEXPORT: 0x0000004,
@@ -403,7 +990,7 @@ var AnnotationFieldFlag = {
COMMITONSELCHANGE: 0x4000000
};
exports.AnnotationFieldFlag = AnnotationFieldFlag;
-var AnnotationBorderStyleType = {
+const AnnotationBorderStyleType = {
SOLID: 1,
DASHED: 2,
BEVELED: 3,
@@ -411,46 +998,76 @@ var AnnotationBorderStyleType = {
UNDERLINE: 5
};
exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
-var StreamType = {
- UNKNOWN: 'UNKNOWN',
- FLATE: 'FLATE',
- LZW: 'LZW',
- DCT: 'DCT',
- JPX: 'JPX',
- JBIG: 'JBIG',
- A85: 'A85',
- AHX: 'AHX',
- CCF: 'CCF',
- RLX: 'RLX'
+const AnnotationActionEventType = {
+ E: "Mouse Enter",
+ X: "Mouse Exit",
+ D: "Mouse Down",
+ U: "Mouse Up",
+ Fo: "Focus",
+ Bl: "Blur",
+ PO: "PageOpen",
+ PC: "PageClose",
+ PV: "PageVisible",
+ PI: "PageInvisible",
+ K: "Keystroke",
+ F: "Format",
+ V: "Validate",
+ C: "Calculate"
+};
+exports.AnnotationActionEventType = AnnotationActionEventType;
+const DocumentActionEventType = {
+ WC: "WillClose",
+ WS: "WillSave",
+ DS: "DidSave",
+ WP: "WillPrint",
+ DP: "DidPrint"
+};
+exports.DocumentActionEventType = DocumentActionEventType;
+const PageActionEventType = {
+ O: "PageOpen",
+ C: "PageClose"
+};
+exports.PageActionEventType = PageActionEventType;
+const StreamType = {
+ UNKNOWN: "UNKNOWN",
+ FLATE: "FLATE",
+ LZW: "LZW",
+ DCT: "DCT",
+ JPX: "JPX",
+ JBIG: "JBIG",
+ A85: "A85",
+ AHX: "AHX",
+ CCF: "CCF",
+ RLX: "RLX"
};
exports.StreamType = StreamType;
-var FontType = {
- UNKNOWN: 'UNKNOWN',
- TYPE1: 'TYPE1',
- TYPE1C: 'TYPE1C',
- CIDFONTTYPE0: 'CIDFONTTYPE0',
- CIDFONTTYPE0C: 'CIDFONTTYPE0C',
- TRUETYPE: 'TRUETYPE',
- CIDFONTTYPE2: 'CIDFONTTYPE2',
- TYPE3: 'TYPE3',
- OPENTYPE: 'OPENTYPE',
- TYPE0: 'TYPE0',
- MMTYPE1: 'MMTYPE1'
+const FontType = {
+ UNKNOWN: "UNKNOWN",
+ TYPE1: "TYPE1",
+ TYPE1C: "TYPE1C",
+ CIDFONTTYPE0: "CIDFONTTYPE0",
+ CIDFONTTYPE0C: "CIDFONTTYPE0C",
+ TRUETYPE: "TRUETYPE",
+ CIDFONTTYPE2: "CIDFONTTYPE2",
+ TYPE3: "TYPE3",
+ OPENTYPE: "OPENTYPE",
+ TYPE0: "TYPE0",
+ MMTYPE1: "MMTYPE1"
};
exports.FontType = FontType;
-var VerbosityLevel = {
+const VerbosityLevel = {
ERRORS: 0,
WARNINGS: 1,
INFOS: 5
};
exports.VerbosityLevel = VerbosityLevel;
-var CMapCompressionType = {
+const CMapCompressionType = {
NONE: 0,
BINARY: 1,
STREAM: 2
};
exports.CMapCompressionType = CMapCompressionType;
-var OPS = {
+const OPS = {
dependency: 1,
setLineWidth: 2,
setLineCap: 3,
@@ -544,21 +1161,34 @@ var OPS = {
constructPath: 91
};
exports.OPS = OPS;
-var UNSUPPORTED_FEATURES = {
- unknown: 'unknown',
- forms: 'forms',
- javaScript: 'javaScript',
- smask: 'smask',
- shadingPattern: 'shadingPattern',
- font: 'font'
+const UNSUPPORTED_FEATURES = {
+ unknown: "unknown",
+ forms: "forms",
+ javaScript: "javaScript",
+ smask: "smask",
+ shadingPattern: "shadingPattern",
+ font: "font",
+ errorTilingPattern: "errorTilingPattern",
+ errorExtGState: "errorExtGState",
+ errorXObject: "errorXObject",
+ errorFontLoadType3: "errorFontLoadType3",
+ errorFontState: "errorFontState",
+ errorFontMissing: "errorFontMissing",
+ errorFontTranslate: "errorFontTranslate",
+ errorColorSpace: "errorColorSpace",
+ errorOperatorList: "errorOperatorList",
+ errorFontToUnicode: "errorFontToUnicode",
+ errorFontLoadNative: "errorFontLoadNative",
+ errorFontGetPath: "errorFontGetPath",
+ errorMarkedContent: "errorMarkedContent"
};
exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
-var PasswordResponses = {
+const PasswordResponses = {
NEED_PASSWORD: 1,
INCORRECT_PASSWORD: 2
};
exports.PasswordResponses = PasswordResponses;
-var verbosity = VerbosityLevel.WARNINGS;
+let verbosity = VerbosityLevel.WARNINGS;
function setVerbosityLevel(level) {
if (Number.isInteger(level)) {
@@ -572,13 +1202,13 @@ function getVerbosityLevel() {
function info(msg) {
if (verbosity >= VerbosityLevel.INFOS) {
- console.log("Info: ".concat(msg));
+ console.log(`Info: ${msg}`);
}
}
function warn(msg) {
if (verbosity >= VerbosityLevel.WARNINGS) {
- console.log("Warning: ".concat(msg));
+ console.log(`Warning: ${msg}`);
}
}
@@ -593,19 +1223,19 @@ function assert(cond, msg) {
}
function isSameOrigin(baseUrl, otherUrl) {
- var base;
+ let base;
try {
base = new URL(baseUrl);
- if (!base.origin || base.origin === 'null') {
+ if (!base.origin || base.origin === "null") {
return false;
}
} catch (e) {
return false;
}
- var other = new URL(otherUrl, base);
+ const other = new URL(otherUrl, base);
return base.origin === other.origin;
}
@@ -615,11 +1245,11 @@ function _isValidProtocol(url) {
}
switch (url.protocol) {
- case 'http:':
- case 'https:':
- case 'ftp:':
- case 'mailto:':
- case 'tel:':
+ case "http:":
+ case "https:":
+ case "ftp:":
+ case "mailto:":
+ case "tel:":
return true;
default:
@@ -633,7 +1263,7 @@ function createValidAbsoluteUrl(url, baseUrl) {
}
try {
- var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
+ const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);
if (_isValidProtocol(absoluteUrl)) {
return absoluteUrl;
@@ -645,7 +1275,7 @@ function createValidAbsoluteUrl(url, baseUrl) {
function shadow(obj, prop, value) {
Object.defineProperty(obj, prop, {
- value: value,
+ value,
enumerable: true,
configurable: true,
writable: false
@@ -653,10 +1283,10 @@ function shadow(obj, prop, value) {
return value;
}
-var BaseException = function BaseExceptionClosure() {
+const BaseException = function BaseExceptionClosure() {
function BaseException(message) {
if (this.constructor === BaseException) {
- unreachable('Cannot initialize BaseException.');
+ unreachable("Cannot initialize BaseException.");
}
this.message = message;
@@ -670,167 +1300,89 @@ var BaseException = function BaseExceptionClosure() {
exports.BaseException = BaseException;
-var PasswordException =
-/*#__PURE__*/
-function (_BaseException) {
- _inherits(PasswordException, _BaseException);
-
- function PasswordException(msg, code) {
- var _this;
-
- _classCallCheck(this, PasswordException);
-
- _this = _possibleConstructorReturn(this, _getPrototypeOf(PasswordException).call(this, msg));
- _this.code = code;
- return _this;
+class PasswordException extends BaseException {
+ constructor(msg, code) {
+ super(msg);
+ this.code = code;
}
- return PasswordException;
-}(BaseException);
+}
exports.PasswordException = PasswordException;
-var UnknownErrorException =
-/*#__PURE__*/
-function (_BaseException2) {
- _inherits(UnknownErrorException, _BaseException2);
-
- function UnknownErrorException(msg, details) {
- var _this2;
-
- _classCallCheck(this, UnknownErrorException);
-
- _this2 = _possibleConstructorReturn(this, _getPrototypeOf(UnknownErrorException).call(this, msg));
- _this2.details = details;
- return _this2;
+class UnknownErrorException extends BaseException {
+ constructor(msg, details) {
+ super(msg);
+ this.details = details;
}
- return UnknownErrorException;
-}(BaseException);
+}
exports.UnknownErrorException = UnknownErrorException;
-var InvalidPDFException =
-/*#__PURE__*/
-function (_BaseException3) {
- _inherits(InvalidPDFException, _BaseException3);
-
- function InvalidPDFException() {
- _classCallCheck(this, InvalidPDFException);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(InvalidPDFException).apply(this, arguments));
- }
-
- return InvalidPDFException;
-}(BaseException);
+class InvalidPDFException extends BaseException {}
exports.InvalidPDFException = InvalidPDFException;
-var MissingPDFException =
-/*#__PURE__*/
-function (_BaseException4) {
- _inherits(MissingPDFException, _BaseException4);
-
- function MissingPDFException() {
- _classCallCheck(this, MissingPDFException);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(MissingPDFException).apply(this, arguments));
- }
-
- return MissingPDFException;
-}(BaseException);
+class MissingPDFException extends BaseException {}
exports.MissingPDFException = MissingPDFException;
-var UnexpectedResponseException =
-/*#__PURE__*/
-function (_BaseException5) {
- _inherits(UnexpectedResponseException, _BaseException5);
-
- function UnexpectedResponseException(msg, status) {
- var _this3;
-
- _classCallCheck(this, UnexpectedResponseException);
-
- _this3 = _possibleConstructorReturn(this, _getPrototypeOf(UnexpectedResponseException).call(this, msg));
- _this3.status = status;
- return _this3;
+class UnexpectedResponseException extends BaseException {
+ constructor(msg, status) {
+ super(msg);
+ this.status = status;
}
- return UnexpectedResponseException;
-}(BaseException);
+}
exports.UnexpectedResponseException = UnexpectedResponseException;
-var FormatError =
-/*#__PURE__*/
-function (_BaseException6) {
- _inherits(FormatError, _BaseException6);
-
- function FormatError() {
- _classCallCheck(this, FormatError);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(FormatError).apply(this, arguments));
- }
-
- return FormatError;
-}(BaseException);
+class FormatError extends BaseException {}
exports.FormatError = FormatError;
-var AbortException =
-/*#__PURE__*/
-function (_BaseException7) {
- _inherits(AbortException, _BaseException7);
-
- function AbortException() {
- _classCallCheck(this, AbortException);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(AbortException).apply(this, arguments));
- }
-
- return AbortException;
-}(BaseException);
+class AbortException extends BaseException {}
exports.AbortException = AbortException;
-var NullCharactersRegExp = /\x00/g;
+const NullCharactersRegExp = /\x00/g;
function removeNullCharacters(str) {
- if (typeof str !== 'string') {
- warn('The argument for removeNullCharacters must be a string.');
+ if (typeof str !== "string") {
+ warn("The argument for removeNullCharacters must be a string.");
return str;
}
- return str.replace(NullCharactersRegExp, '');
+ return str.replace(NullCharactersRegExp, "");
}
function bytesToString(bytes) {
- assert(bytes !== null && _typeof(bytes) === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString');
- var length = bytes.length;
- var MAX_ARGUMENT_COUNT = 8192;
+ assert(bytes !== null && typeof bytes === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
+ const length = bytes.length;
+ const MAX_ARGUMENT_COUNT = 8192;
if (length < MAX_ARGUMENT_COUNT) {
return String.fromCharCode.apply(null, bytes);
}
- var strBuf = [];
+ const strBuf = [];
- for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
- var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
- var chunk = bytes.subarray(i, chunkEnd);
+ for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
+ const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
+ const chunk = bytes.subarray(i, chunkEnd);
strBuf.push(String.fromCharCode.apply(null, chunk));
}
- return strBuf.join('');
+ return strBuf.join("");
}
function stringToBytes(str) {
- assert(typeof str === 'string', 'Invalid argument for stringToBytes');
- var length = str.length;
- var bytes = new Uint8Array(length);
+ assert(typeof str === "string", "Invalid argument for stringToBytes");
+ const length = str.length;
+ const bytes = new Uint8Array(length);
- for (var i = 0; i < length; ++i) {
- bytes[i] = str.charCodeAt(i) & 0xFF;
+ for (let i = 0; i < length; ++i) {
+ bytes[i] = str.charCodeAt(i) & 0xff;
}
return bytes;
@@ -841,38 +1393,38 @@ function arrayByteLength(arr) {
return arr.length;
}
- assert(arr.byteLength !== undefined);
+ assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument.");
return arr.byteLength;
}
function arraysToBytes(arr) {
- var length = arr.length;
+ const length = arr.length;
if (length === 1 && arr[0] instanceof Uint8Array) {
return arr[0];
}
- var resultLength = 0;
+ let resultLength = 0;
- for (var i = 0; i < length; i++) {
+ for (let i = 0; i < length; i++) {
resultLength += arrayByteLength(arr[i]);
}
- var pos = 0;
- var data = new Uint8Array(resultLength);
+ let pos = 0;
+ const data = new Uint8Array(resultLength);
- for (var _i = 0; _i < length; _i++) {
- var item = arr[_i];
+ for (let i = 0; i < length; i++) {
+ let item = arr[i];
if (!(item instanceof Uint8Array)) {
- if (typeof item === 'string') {
+ if (typeof item === "string") {
item = stringToBytes(item);
} else {
item = new Uint8Array(item);
}
}
- var itemLength = item.byteLength;
+ const itemLength = item.byteLength;
data.set(item, pos);
pos += itemLength;
}
@@ -884,183 +1436,196 @@ function string32(value) {
return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
}
-function log2(x) {
- if (x <= 0) {
- return 0;
- }
-
- return Math.ceil(Math.log2(x));
+function objectSize(obj) {
+ return Object.keys(obj).length;
}
-function readInt8(data, start) {
- return data[start] << 24 >> 24;
-}
-
-function readUint16(data, offset) {
- return data[offset] << 8 | data[offset + 1];
-}
-
-function readUint32(data, offset) {
- return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;
+function objectFromEntries(iterable) {
+ return Object.assign(Object.create(null), Object.fromEntries(iterable));
}
function isLittleEndian() {
- var buffer8 = new Uint8Array(4);
+ const buffer8 = new Uint8Array(4);
buffer8[0] = 1;
- var view32 = new Uint32Array(buffer8.buffer, 0, 1);
+ const view32 = new Uint32Array(buffer8.buffer, 0, 1);
return view32[0] === 1;
}
+const IsLittleEndianCached = {
+ get value() {
+ return shadow(this, "value", isLittleEndian());
+ }
+
+};
+exports.IsLittleEndianCached = IsLittleEndianCached;
+
function isEvalSupported() {
try {
- new Function('');
+ new Function("");
return true;
} catch (e) {
return false;
}
}
-var rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];
-
-var Util =
-/*#__PURE__*/
-function () {
- function Util() {
- _classCallCheck(this, Util);
+const IsEvalSupportedCached = {
+ get value() {
+ return shadow(this, "value", isEvalSupported());
}
- _createClass(Util, null, [{
- key: "makeCssRgb",
- value: function makeCssRgb(r, g, b) {
- rgbBuf[1] = r;
- rgbBuf[3] = g;
- rgbBuf[5] = b;
- return rgbBuf.join('');
- }
- }, {
- key: "transform",
- value: function transform(m1, m2) {
- return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
- }
- }, {
- key: "applyTransform",
- value: function applyTransform(p, m) {
- var xt = p[0] * m[0] + p[1] * m[2] + m[4];
- var yt = p[0] * m[1] + p[1] * m[3] + m[5];
- return [xt, yt];
- }
- }, {
- key: "applyInverseTransform",
- value: function applyInverseTransform(p, m) {
- var d = m[0] * m[3] - m[1] * m[2];
- var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
- var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
- return [xt, yt];
- }
- }, {
- key: "getAxialAlignedBoundingBox",
- value: function getAxialAlignedBoundingBox(r, m) {
- var p1 = Util.applyTransform(r, m);
- var p2 = Util.applyTransform(r.slice(2, 4), m);
- var p3 = Util.applyTransform([r[0], r[3]], m);
- var p4 = Util.applyTransform([r[2], r[1]], m);
- return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
- }
- }, {
- key: "inverseTransform",
- value: function inverseTransform(m) {
- var d = m[0] * m[3] - m[1] * m[2];
- return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
- }
- }, {
- key: "apply3dTransform",
- value: function apply3dTransform(m, v) {
- 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]];
- }
- }, {
- key: "singularValueDecompose2dScale",
- value: function singularValueDecompose2dScale(m) {
- var transpose = [m[0], m[2], m[1], m[3]];
- var a = m[0] * transpose[0] + m[1] * transpose[2];
- var b = m[0] * transpose[1] + m[1] * transpose[3];
- var c = m[2] * transpose[0] + m[3] * transpose[2];
- var d = m[2] * transpose[1] + m[3] * transpose[3];
- var first = (a + d) / 2;
- var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
- var sx = first + second || 1;
- var sy = first - second || 1;
- return [Math.sqrt(sx), Math.sqrt(sy)];
- }
- }, {
- key: "normalizeRect",
- value: function normalizeRect(rect) {
- var r = rect.slice(0);
+};
+exports.IsEvalSupportedCached = IsEvalSupportedCached;
+const hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, "0"));
- if (rect[0] > rect[2]) {
- r[0] = rect[2];
- r[2] = rect[0];
- }
+class Util {
+ static makeHexColor(r, g, b) {
+ return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;
+ }
- if (rect[1] > rect[3]) {
- r[1] = rect[3];
- r[3] = rect[1];
- }
+ static transform(m1, m2) {
+ return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
+ }
- return r;
+ static applyTransform(p, m) {
+ const xt = p[0] * m[0] + p[1] * m[2] + m[4];
+ const yt = p[0] * m[1] + p[1] * m[3] + m[5];
+ return [xt, yt];
+ }
+
+ static applyInverseTransform(p, m) {
+ const d = m[0] * m[3] - m[1] * m[2];
+ const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
+ const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
+ return [xt, yt];
+ }
+
+ static getAxialAlignedBoundingBox(r, m) {
+ const p1 = Util.applyTransform(r, m);
+ const p2 = Util.applyTransform(r.slice(2, 4), m);
+ const p3 = Util.applyTransform([r[0], r[3]], m);
+ const p4 = Util.applyTransform([r[2], r[1]], m);
+ return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
+ }
+
+ static inverseTransform(m) {
+ const d = m[0] * m[3] - m[1] * m[2];
+ return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
+ }
+
+ static apply3dTransform(m, v) {
+ 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]];
+ }
+
+ static singularValueDecompose2dScale(m) {
+ const transpose = [m[0], m[2], m[1], m[3]];
+ const a = m[0] * transpose[0] + m[1] * transpose[2];
+ const b = m[0] * transpose[1] + m[1] * transpose[3];
+ const c = m[2] * transpose[0] + m[3] * transpose[2];
+ const d = m[2] * transpose[1] + m[3] * transpose[3];
+ const first = (a + d) / 2;
+ const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
+ const sx = first + second || 1;
+ const sy = first - second || 1;
+ return [Math.sqrt(sx), Math.sqrt(sy)];
+ }
+
+ static normalizeRect(rect) {
+ const r = rect.slice(0);
+
+ if (rect[0] > rect[2]) {
+ r[0] = rect[2];
+ r[2] = rect[0];
}
- }, {
- key: "intersect",
- value: function intersect(rect1, rect2) {
- function compare(a, b) {
- return a - b;
- }
- var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
- var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
- var result = [];
- rect1 = Util.normalizeRect(rect1);
- rect2 = Util.normalizeRect(rect2);
-
- if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
- result[0] = orderedX[1];
- result[2] = orderedX[2];
- } else {
- return null;
- }
-
- if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
- result[1] = orderedY[1];
- result[3] = orderedY[2];
- } else {
- return null;
- }
-
- return result;
+ if (rect[1] > rect[3]) {
+ r[1] = rect[3];
+ r[3] = rect[1];
}
- }]);
- return Util;
-}();
+ return r;
+ }
+
+ static intersect(rect1, rect2) {
+ function compare(a, b) {
+ return a - b;
+ }
+
+ const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
+ const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
+ const result = [];
+ rect1 = Util.normalizeRect(rect1);
+ rect2 = Util.normalizeRect(rect2);
+
+ if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
+ result[0] = orderedX[1];
+ result[2] = orderedX[2];
+ } else {
+ return null;
+ }
+
+ if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
+ result[1] = orderedY[1];
+ result[3] = orderedY[2];
+ } else {
+ return null;
+ }
+
+ return result;
+ }
+
+}
exports.Util = Util;
-var 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];
+const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];
function stringToPDFString(str) {
- var length = str.length,
- strBuf = [];
+ const length = str.length,
+ strBuf = [];
- if (str[0] === '\xFE' && str[1] === '\xFF') {
- for (var i = 2; i < length; i += 2) {
+ if (str[0] === "\xFE" && str[1] === "\xFF") {
+ for (let i = 2; i < length; i += 2) {
strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
}
+ } else if (str[0] === "\xFF" && str[1] === "\xFE") {
+ for (let i = 2; i < length; i += 2) {
+ strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));
+ }
} else {
- for (var _i2 = 0; _i2 < length; ++_i2) {
- var code = PDFStringTranslateTable[str.charCodeAt(_i2)];
- strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i2));
+ for (let i = 0; i < length; ++i) {
+ const code = PDFStringTranslateTable[str.charCodeAt(i)];
+ strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));
}
}
- return strBuf.join('');
+ return strBuf.join("");
+}
+
+function escapeString(str) {
+ return str.replace(/([()\\\n\r])/g, match => {
+ if (match === "\n") {
+ return "\\n";
+ } else if (match === "\r") {
+ return "\\r";
+ }
+
+ return `\\${match}`;
+ });
+}
+
+function isAscii(str) {
+ return /^[\x00-\x7F]*$/.test(str);
+}
+
+function stringToUTF16BEString(str) {
+ const buf = ["\xFE\xFF"];
+
+ for (let i = 0, ii = str.length; i < ii; i++) {
+ const char = str.charCodeAt(i);
+ buf.push(String.fromCharCode(char >> 8 & 0xff));
+ buf.push(String.fromCharCode(char & 0xff));
+ }
+
+ return buf.join("");
}
function stringToUTF8String(str) {
@@ -1071,28 +1636,20 @@ function utf8StringToString(str) {
return unescape(encodeURIComponent(str));
}
-function isEmptyObj(obj) {
- for (var key in obj) {
- return false;
- }
-
- return true;
-}
-
function isBool(v) {
- return typeof v === 'boolean';
+ return typeof v === "boolean";
}
function isNum(v) {
- return typeof v === 'number';
+ return typeof v === "number";
}
function isString(v) {
- return typeof v === 'string';
+ return typeof v === "string";
}
function isArrayBuffer(v) {
- return _typeof(v) === 'object' && v !== null && v.byteLength !== undefined;
+ return typeof v === "object" && v !== null && v.byteLength !== undefined;
}
function isArrayEqual(arr1, arr2) {
@@ -1105,17 +1662,19 @@ function isArrayEqual(arr1, arr2) {
});
}
-function isSpace(ch) {
- return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A;
+function getModificationDate(date = new Date()) {
+ const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")];
+ return buffer.join("");
}
function createPromiseCapability() {
- var capability = Object.create(null);
- var isSettled = false;
- Object.defineProperty(capability, 'settled', {
- get: function get() {
+ const capability = Object.create(null);
+ let isSettled = false;
+ Object.defineProperty(capability, "settled", {
+ get() {
return isSettled;
}
+
});
capability.promise = new Promise(function (resolve, reject) {
capability.resolve = function (data) {
@@ -1131,28 +1690,26 @@ function createPromiseCapability() {
return capability;
}
-var createObjectURL = function createObjectURLClosure() {
- var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
- return function createObjectURL(data, contentType) {
- var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
+const createObjectURL = function createObjectURLClosure() {
+ const digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
+ return function createObjectURL(data, contentType, forceDataSchema = false) {
if (!forceDataSchema && URL.createObjectURL) {
- var blob = new Blob([data], {
+ const blob = new Blob([data], {
type: contentType
});
return URL.createObjectURL(blob);
}
- var buffer = "data:".concat(contentType, ";base64,");
+ let buffer = `data:${contentType};base64,`;
- for (var i = 0, ii = data.length; i < ii; i += 3) {
- var b1 = data[i] & 0xFF;
- var b2 = data[i + 1] & 0xFF;
- var b3 = data[i + 2] & 0xFF;
- var d1 = b1 >> 2,
- d2 = (b1 & 3) << 4 | b2 >> 4;
- var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64;
- var d4 = i + 2 < ii ? b3 & 0x3F : 64;
+ for (let i = 0, ii = data.length; i < ii; i += 3) {
+ const b1 = data[i] & 0xff;
+ const b2 = data[i + 1] & 0xff;
+ const b3 = data[i + 2] & 0xff;
+ const d1 = b1 >> 2,
+ d2 = (b1 & 3) << 4 | b2 >> 4;
+ const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
+ const d4 = i + 2 < ii ? b3 & 0x3f : 64;
buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
}
@@ -1161,8750 +1718,139 @@ var createObjectURL = function createObjectURLClosure() {
}();
exports.createObjectURL = createObjectURL;
+const XMLEntities = {
+ 0x3c: "<",
+ 0x3e: ">",
+ 0x26: "&",
+ 0x22: """,
+ 0x27: "'"
+};
-/***/ }),
-/* 2 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+function encodeToXmlString(str) {
+ const buffer = [];
+ let start = 0;
-"use strict";
+ for (let i = 0, ii = str.length; i < ii; i++) {
+ const char = str.codePointAt(i);
+ if (0x20 <= char && char <= 0x7e) {
+ const entity = XMLEntities[char];
-function _typeof(obj) { 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); }
+ if (entity) {
+ if (start < i) {
+ buffer.push(str.substring(start, i));
+ }
-var globalScope = __w_pdfjs_require__(3);
-
-if (!globalScope._pdfjsCompatibilityChecked) {
- globalScope._pdfjsCompatibilityChecked = true;
-
- var isNodeJS = __w_pdfjs_require__(4);
-
- var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object';
-
- (function checkNodeBtoa() {
- if (globalScope.btoa || !isNodeJS()) {
- return;
- }
-
- globalScope.btoa = function (chars) {
- return Buffer.from(chars, 'binary').toString('base64');
- };
- })();
-
- (function checkNodeAtob() {
- if (globalScope.atob || !isNodeJS()) {
- return;
- }
-
- globalScope.atob = function (input) {
- return Buffer.from(input, 'base64').toString('binary');
- };
- })();
-
- (function checkChildNodeRemove() {
- if (!hasDOM) {
- return;
- }
-
- if (typeof Element.prototype.remove !== 'undefined') {
- return;
- }
-
- Element.prototype.remove = function () {
- if (this.parentNode) {
- this.parentNode.removeChild(this);
+ buffer.push(entity);
+ start = i + 1;
}
- };
- })();
-
- (function checkDOMTokenListAddRemove() {
- if (!hasDOM || isNodeJS()) {
- return;
- }
-
- var div = document.createElement('div');
- div.classList.add('testOne', 'testTwo');
-
- if (div.classList.contains('testOne') === true && div.classList.contains('testTwo') === true) {
- return;
- }
-
- var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
- var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;
-
- DOMTokenList.prototype.add = function () {
- for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
- tokens[_key] = arguments[_key];
+ } else {
+ if (start < i) {
+ buffer.push(str.substring(start, i));
}
- for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
- var token = _tokens[_i];
- OriginalDOMTokenListAdd.call(this, token);
- }
- };
+ buffer.push(`${char.toString(16).toUpperCase()};`);
- DOMTokenList.prototype.remove = function () {
- for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
- tokens[_key2] = arguments[_key2];
+ if (char > 0xd7ff && (char < 0xe000 || char > 0xfffd)) {
+ i++;
}
- for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
- var token = _tokens2[_i2];
- OriginalDOMTokenListRemove.call(this, token);
- }
- };
- })();
-
- (function checkDOMTokenListToggle() {
- if (!hasDOM || isNodeJS()) {
- return;
+ start = i + 1;
}
+ }
- var div = document.createElement('div');
+ if (buffer.length === 0) {
+ return str;
+ }
- if (div.classList.toggle('test', 0) === false) {
- return;
- }
+ if (start < str.length) {
+ buffer.push(str.substring(start, str.length));
+ }
- DOMTokenList.prototype.toggle = function (token) {
- var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
- return this[force ? 'add' : 'remove'](token), force;
- };
- })();
-
- (function checkStringStartsWith() {
- if (String.prototype.startsWith) {
- return;
- }
-
- __w_pdfjs_require__(5);
- })();
-
- (function checkStringEndsWith() {
- if (String.prototype.endsWith) {
- return;
- }
-
- __w_pdfjs_require__(57);
- })();
-
- (function checkStringIncludes() {
- if (String.prototype.includes) {
- return;
- }
-
- __w_pdfjs_require__(59);
- })();
-
- (function checkArrayIncludes() {
- if (Array.prototype.includes) {
- return;
- }
-
- __w_pdfjs_require__(61);
- })();
-
- (function checkArrayFrom() {
- if (Array.from) {
- return;
- }
-
- __w_pdfjs_require__(68);
- })();
-
- (function checkObjectAssign() {
- if (Object.assign) {
- return;
- }
-
- __w_pdfjs_require__(89);
- })();
-
- (function checkMathLog2() {
- if (Math.log2) {
- return;
- }
-
- Math.log2 = __w_pdfjs_require__(92);
- })();
-
- (function checkNumberIsNaN() {
- if (Number.isNaN) {
- return;
- }
-
- Number.isNaN = __w_pdfjs_require__(94);
- })();
-
- (function checkNumberIsInteger() {
- if (Number.isInteger) {
- return;
- }
-
- Number.isInteger = __w_pdfjs_require__(96);
- })();
-
- (function checkPromise() {
- if (globalScope.Promise && globalScope.Promise.prototype && globalScope.Promise.prototype["finally"]) {
- return;
- }
-
- globalScope.Promise = __w_pdfjs_require__(99);
- })();
-
- (function checkURL() {
- globalScope.URL = __w_pdfjs_require__(121);
- })();
-
- (function checkWeakMap() {
- if (globalScope.WeakMap) {
- return;
- }
-
- globalScope.WeakMap = __w_pdfjs_require__(128);
- })();
-
- (function checkWeakSet() {
- if (globalScope.WeakSet) {
- return;
- }
-
- globalScope.WeakSet = __w_pdfjs_require__(138);
- })();
-
- (function checkStringCodePointAt() {
- if (String.prototype.codePointAt) {
- return;
- }
-
- __w_pdfjs_require__(140);
- })();
-
- (function checkStringFromCodePoint() {
- if (String.fromCodePoint) {
- return;
- }
-
- String.fromCodePoint = __w_pdfjs_require__(142);
- })();
-
- (function checkSymbol() {
- if (globalScope.Symbol) {
- return;
- }
-
- __w_pdfjs_require__(144);
- })();
-
- (function checkStringPadStart() {
- if (String.prototype.padStart) {
- return;
- }
-
- __w_pdfjs_require__(167);
- })();
-
- (function checkStringPadEnd() {
- if (String.prototype.padEnd) {
- return;
- }
-
- __w_pdfjs_require__(172);
- })();
-
- (function checkObjectValues() {
- if (Object.values) {
- return;
- }
-
- Object.values = __w_pdfjs_require__(174);
- })();
+ return buffer.join("");
}
/***/ }),
/* 3 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {
-module.exports = typeof window !== 'undefined' && window.Math === Math ? window : typeof global !== 'undefined' && global.Math === Math ? global : typeof self !== 'undefined' && self.Math === Math ? self : {};
+
+var _is_node = __w_pdfjs_require__(4);
+
+;
/***/ }),
/* 4 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/***/ ((__unused_webpack_module, exports) => {
-function _typeof(obj) { 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); }
-module.exports = function isNodeJS() {
- return (typeof process === "undefined" ? "undefined" : _typeof(process)) === 'object' && process + '' === '[object process]' && !process.versions['nw'] && !process.versions['electron'];
-};
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
+exports.isNodeJS = void 0;
+const isNodeJS = typeof process === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser");
+exports.isNodeJS = isNodeJS;
/***/ }),
/* 5 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-__w_pdfjs_require__(6);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'startsWith');
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var toLength = __w_pdfjs_require__(43);
-var notARegExp = __w_pdfjs_require__(49);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var correctIsRegExpLogic = __w_pdfjs_require__(53);
-var nativeStartsWith = ''.startsWith;
-var min = Math.min;
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('startsWith')
-}, {
- startsWith: function startsWith(searchString) {
- var that = String(requireObjectCoercible(this));
- notARegExp(searchString);
- var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
- var search = String(searchString);
- return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
- }
-});
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;
-var hide = __w_pdfjs_require__(23);
-var redefine = __w_pdfjs_require__(26);
-var setGlobal = __w_pdfjs_require__(28);
-var copyConstructorProperties = __w_pdfjs_require__(36);
-var isForced = __w_pdfjs_require__(48);
-module.exports = function (options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
- if (GLOBAL) {
- target = global;
- } else if (STATIC) {
- target = global[TARGET] || setGlobal(TARGET, {});
- } else {
- target = (global[TARGET] || {}).prototype;
- }
- if (target)
- for (key in source) {
- sourceProperty = source[key];
- if (options.noTargetGet) {
- descriptor = getOwnPropertyDescriptor(target, key);
- targetProperty = descriptor && descriptor.value;
- } else
- targetProperty = target[key];
- FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
- if (!FORCED && targetProperty !== undefined) {
- if (typeof sourceProperty === typeof targetProperty)
- continue;
- copyConstructorProperties(sourceProperty, targetProperty);
- }
- if (options.sham || targetProperty && targetProperty.sham) {
- hide(sourceProperty, 'sham', true);
- }
- redefine(target, key, sourceProperty, options);
- }
-};
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports) {
-
-var O = 'object';
-var check = function (it) {
- return it && it.Math == Math && it;
-};
-module.exports = check(typeof globalThis == O && globalThis) || check(typeof window == O && window) || check(typeof self == O && self) || check(typeof global == O && global) || Function('return this')();
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var propertyIsEnumerableModule = __w_pdfjs_require__(12);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-var toIndexedObject = __w_pdfjs_require__(14);
-var toPrimitive = __w_pdfjs_require__(18);
-var has = __w_pdfjs_require__(20);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(21);
-var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (IE8_DOM_DEFINE)
- try {
- return nativeGetOwnPropertyDescriptor(O, P);
- } catch (error) {
- }
- if (has(O, P))
- return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
-};
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- return Object.defineProperty({}, 'a', {
- get: function () {
- return 7;
- }
- }).a != 7;
-});
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
- return !!exec();
- } catch (error) {
- return true;
- }
-};
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
-exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
-} : nativePropertyIsEnumerable;
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports) {
-
-module.exports = function (bitmap, value) {
- return {
- enumerable: !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable: !(bitmap & 4),
- value: value
- };
-};
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var IndexedObject = __w_pdfjs_require__(15);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-module.exports = function (it) {
- return IndexedObject(requireObjectCoercible(it));
-};
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var classof = __w_pdfjs_require__(16);
-var split = ''.split;
-module.exports = fails(function () {
- return !Object('z').propertyIsEnumerable(0);
-}) ? function (it) {
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
-} : Object;
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-module.exports = function (it) {
- return toString.call(it).slice(8, -1);
-};
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (it == undefined)
- throw TypeError("Can't call method on " + it);
- return it;
-};
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-module.exports = function (input, PREFERRED_STRING) {
- if (!isObject(input))
- return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
- return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
- return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
- return val;
- throw TypeError("Can't convert object to primitive value");
-};
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- return typeof it === 'object' ? it !== null : typeof it === 'function';
-};
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports) {
-
-var hasOwnProperty = {}.hasOwnProperty;
-module.exports = function (it, key) {
- return hasOwnProperty.call(it, key);
-};
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var fails = __w_pdfjs_require__(11);
-var createElement = __w_pdfjs_require__(22);
-module.exports = !DESCRIPTORS && !fails(function () {
- return Object.defineProperty(createElement('div'), 'a', {
- get: function () {
- return 7;
- }
- }).a != 7;
-});
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var isObject = __w_pdfjs_require__(19);
-var document = global.document;
-var EXISTS = isObject(document) && isObject(document.createElement);
-module.exports = function (it) {
- return EXISTS ? document.createElement(it) : {};
-};
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var definePropertyModule = __w_pdfjs_require__(24);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-module.exports = DESCRIPTORS ? function (object, key, value) {
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
-} : function (object, key, value) {
- object[key] = value;
- return object;
-};
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var IE8_DOM_DEFINE = __w_pdfjs_require__(21);
-var anObject = __w_pdfjs_require__(25);
-var toPrimitive = __w_pdfjs_require__(18);
-var nativeDefineProperty = Object.defineProperty;
-exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (IE8_DOM_DEFINE)
- try {
- return nativeDefineProperty(O, P, Attributes);
- } catch (error) {
- }
- if ('get' in Attributes || 'set' in Attributes)
- throw TypeError('Accessors not supported');
- if ('value' in Attributes)
- O[P] = Attributes.value;
- return O;
-};
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-module.exports = function (it) {
- if (!isObject(it)) {
- throw TypeError(String(it) + ' is not an object');
- }
- return it;
-};
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var shared = __w_pdfjs_require__(27);
-var hide = __w_pdfjs_require__(23);
-var has = __w_pdfjs_require__(20);
-var setGlobal = __w_pdfjs_require__(28);
-var nativeFunctionToString = __w_pdfjs_require__(30);
-var InternalStateModule = __w_pdfjs_require__(31);
-var getInternalState = InternalStateModule.get;
-var enforceInternalState = InternalStateModule.enforce;
-var TEMPLATE = String(nativeFunctionToString).split('toString');
-shared('inspectSource', function (it) {
- return nativeFunctionToString.call(it);
-});
-(module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
- if (typeof value == 'function') {
- if (typeof key == 'string' && !has(value, 'name'))
- hide(value, 'name', key);
- enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
- if (O === global) {
- if (simple)
- O[key] = value;
- else
- setGlobal(key, value);
- return;
- } else if (!unsafe) {
- delete O[key];
- } else if (!noTargetGet && O[key]) {
- simple = true;
- }
- if (simple)
- O[key] = value;
- else
- hide(O, key, value);
-})(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);
-});
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var setGlobal = __w_pdfjs_require__(28);
-var IS_PURE = __w_pdfjs_require__(29);
-var SHARED = '__core-js_shared__';
-var store = global[SHARED] || setGlobal(SHARED, {});
-(module.exports = function (key, value) {
- return store[key] || (store[key] = value !== undefined ? value : {});
-})('versions', []).push({
- version: '3.2.1',
- mode: IS_PURE ? 'pure' : 'global',
- copyright: '© 2019 Denis Pushkarev (zloirock.ru)'
-});
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var hide = __w_pdfjs_require__(23);
-module.exports = function (key, value) {
- try {
- hide(global, key, value);
- } catch (error) {
- global[key] = value;
- }
- return value;
-};
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports) {
-
-module.exports = false;
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(27);
-module.exports = shared('native-function-to-string', Function.toString);
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(32);
-var global = __w_pdfjs_require__(8);
-var isObject = __w_pdfjs_require__(19);
-var hide = __w_pdfjs_require__(23);
-var objectHas = __w_pdfjs_require__(20);
-var sharedKey = __w_pdfjs_require__(33);
-var hiddenKeys = __w_pdfjs_require__(35);
-var WeakMap = global.WeakMap;
-var set, get, has;
-var enforce = function (it) {
- return has(it) ? get(it) : set(it, {});
-};
-var getterFor = function (TYPE) {
- return function (it) {
- var state;
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
- }
- return state;
- };
-};
-if (NATIVE_WEAK_MAP) {
- var store = new WeakMap();
- var wmget = store.get;
- var wmhas = store.has;
- var wmset = store.set;
- set = function (it, metadata) {
- wmset.call(store, it, metadata);
- return metadata;
- };
- get = function (it) {
- return wmget.call(store, it) || {};
- };
- has = function (it) {
- return wmhas.call(store, it);
- };
-} else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
- set = function (it, metadata) {
- hide(it, STATE, metadata);
- return metadata;
- };
- get = function (it) {
- return objectHas(it, STATE) ? it[STATE] : {};
- };
- has = function (it) {
- return objectHas(it, STATE);
- };
-}
-module.exports = {
- set: set,
- get: get,
- has: has,
- enforce: enforce,
- getterFor: getterFor
-};
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var nativeFunctionToString = __w_pdfjs_require__(30);
-var WeakMap = global.WeakMap;
-module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
-
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var shared = __w_pdfjs_require__(27);
-var uid = __w_pdfjs_require__(34);
-var keys = shared('keys');
-module.exports = function (key) {
- return keys[key] || (keys[key] = uid(key));
-};
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports) {
-
-var id = 0;
-var postfix = Math.random();
-module.exports = function (key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
-};
-
-/***/ }),
-/* 35 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(20);
-var ownKeys = __w_pdfjs_require__(37);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);
-var definePropertyModule = __w_pdfjs_require__(24);
-module.exports = function (target, source) {
- var keys = ownKeys(source);
- var defineProperty = definePropertyModule.f;
- var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (!has(target, key))
- defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
-};
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(38);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(40);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(47);
-var anObject = __w_pdfjs_require__(25);
-module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = getOwnPropertyNamesModule.f(anObject(it));
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
-};
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(39);
-var global = __w_pdfjs_require__(8);
-var aFunction = function (variable) {
- return typeof variable == 'function' ? variable : undefined;
-};
-module.exports = function (namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
-};
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-module.exports = __w_pdfjs_require__(8);
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(41);
-var enumBugKeys = __w_pdfjs_require__(46);
-var hiddenKeys = enumBugKeys.concat('length', 'prototype');
-exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return internalObjectKeys(O, hiddenKeys);
-};
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(20);
-var toIndexedObject = __w_pdfjs_require__(14);
-var indexOf = __w_pdfjs_require__(42).indexOf;
-var hiddenKeys = __w_pdfjs_require__(35);
-module.exports = function (object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
- for (key in O)
- !has(hiddenKeys, key) && has(O, key) && result.push(key);
- while (names.length > i)
- if (has(O, key = names[i++])) {
- ~indexOf(result, key) || result.push(key);
- }
- return result;
-};
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(14);
-var toLength = __w_pdfjs_require__(43);
-var toAbsoluteIndex = __w_pdfjs_require__(45);
-var createMethod = function (IS_INCLUDES) {
- return function ($this, el, fromIndex) {
- var O = toIndexedObject($this);
- var length = toLength(O.length);
- var index = toAbsoluteIndex(fromIndex, length);
- var value;
- if (IS_INCLUDES && el != el)
- while (length > index) {
- value = O[index++];
- if (value != value)
- return true;
- }
- else
- for (; length > index; index++) {
- if ((IS_INCLUDES || index in O) && O[index] === el)
- return IS_INCLUDES || index || 0;
- }
- return !IS_INCLUDES && -1;
- };
-};
-module.exports = {
- includes: createMethod(true),
- indexOf: createMethod(false)
-};
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(44);
-var min = Math.min;
-module.exports = function (argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
-};
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports) {
-
-var ceil = Math.ceil;
-var floor = Math.floor;
-module.exports = function (argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
-};
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(44);
-var max = Math.max;
-var min = Math.min;
-module.exports = function (index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min(integer, length);
-};
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports) {
-
-module.exports = [
- 'constructor',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'toLocaleString',
- 'toString',
- 'valueOf'
-];
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports) {
-
-exports.f = Object.getOwnPropertySymbols;
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var replacement = /#|\.prototype\./;
-var isForced = function (feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
-};
-var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
-};
-var data = isForced.data = {};
-var NATIVE = isForced.NATIVE = 'N';
-var POLYFILL = isForced.POLYFILL = 'P';
-module.exports = isForced;
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isRegExp = __w_pdfjs_require__(50);
-module.exports = function (it) {
- if (isRegExp(it)) {
- throw TypeError("The method doesn't accept regular expressions");
- }
- return it;
-};
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var classof = __w_pdfjs_require__(16);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
-};
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var shared = __w_pdfjs_require__(27);
-var uid = __w_pdfjs_require__(34);
-var NATIVE_SYMBOL = __w_pdfjs_require__(52);
-var Symbol = global.Symbol;
-var store = shared('wks');
-module.exports = function (name) {
- return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));
-};
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
- return !String(Symbol());
-});
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var MATCH = wellKnownSymbol('match');
-module.exports = function (METHOD_NAME) {
- var regexp = /./;
- try {
- '/./'[METHOD_NAME](regexp);
- } catch (e) {
- try {
- regexp[MATCH] = false;
- return '/./'[METHOD_NAME](regexp);
- } catch (f) {
- }
- }
- return false;
-};
-
-/***/ }),
-/* 54 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var bind = __w_pdfjs_require__(55);
-var call = Function.call;
-module.exports = function (CONSTRUCTOR, METHOD, length) {
- return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
-};
-
-/***/ }),
-/* 55 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var aFunction = __w_pdfjs_require__(56);
-module.exports = function (fn, that, length) {
- aFunction(fn);
- if (that === undefined)
- return fn;
- switch (length) {
- case 0:
- return function () {
- return fn.call(that);
- };
- case 1:
- return function (a) {
- return fn.call(that, a);
- };
- case 2:
- return function (a, b) {
- return fn.call(that, a, b);
- };
- case 3:
- return function (a, b, c) {
- return fn.call(that, a, b, c);
- };
- }
- return function () {
- return fn.apply(that, arguments);
- };
-};
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports) {
-
-module.exports = function (it) {
- if (typeof it != 'function') {
- throw TypeError(String(it) + ' is not a function');
- }
- return it;
-};
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(58);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'endsWith');
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var toLength = __w_pdfjs_require__(43);
-var notARegExp = __w_pdfjs_require__(49);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var correctIsRegExpLogic = __w_pdfjs_require__(53);
-var nativeEndsWith = ''.endsWith;
-var min = Math.min;
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('endsWith')
-}, {
- endsWith: function endsWith(searchString) {
- var that = String(requireObjectCoercible(this));
- notARegExp(searchString);
- var endPosition = arguments.length > 1 ? arguments[1] : undefined;
- var len = toLength(that.length);
- var end = endPosition === undefined ? len : min(toLength(endPosition), len);
- var search = String(searchString);
- return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
- }
-});
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(60);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'includes');
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var notARegExp = __w_pdfjs_require__(49);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var correctIsRegExpLogic = __w_pdfjs_require__(53);
-$({
- target: 'String',
- proto: true,
- forced: !correctIsRegExpLogic('includes')
-}, {
- includes: function includes(searchString) {
- return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(62);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('Array', 'includes');
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var $includes = __w_pdfjs_require__(42).includes;
-var addToUnscopables = __w_pdfjs_require__(63);
-$({
- target: 'Array',
- proto: true
-}, {
- includes: function includes(el) {
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-addToUnscopables('includes');
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var create = __w_pdfjs_require__(64);
-var hide = __w_pdfjs_require__(23);
-var UNSCOPABLES = wellKnownSymbol('unscopables');
-var ArrayPrototype = Array.prototype;
-if (ArrayPrototype[UNSCOPABLES] == undefined) {
- hide(ArrayPrototype, UNSCOPABLES, create(null));
-}
-module.exports = function (key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
-};
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var defineProperties = __w_pdfjs_require__(65);
-var enumBugKeys = __w_pdfjs_require__(46);
-var hiddenKeys = __w_pdfjs_require__(35);
-var html = __w_pdfjs_require__(67);
-var documentCreateElement = __w_pdfjs_require__(22);
-var sharedKey = __w_pdfjs_require__(33);
-var IE_PROTO = sharedKey('IE_PROTO');
-var PROTOTYPE = 'prototype';
-var Empty = function () {
-};
-var createDict = function () {
- var iframe = documentCreateElement('iframe');
- var length = enumBugKeys.length;
- var lt = '<';
- var script = 'script';
- var gt = '>';
- var js = 'java' + script + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe);
- iframe.src = String(js);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);
- iframeDocument.close();
- createDict = iframeDocument.F;
- while (length--)
- delete createDict[PROTOTYPE][enumBugKeys[length]];
- return createDict();
-};
-module.exports = Object.create || function create(O, Properties) {
- var result;
- if (O !== null) {
- Empty[PROTOTYPE] = anObject(O);
- result = new Empty();
- Empty[PROTOTYPE] = null;
- result[IE_PROTO] = O;
- } else
- result = createDict();
- return Properties === undefined ? result : defineProperties(result, Properties);
-};
-hiddenKeys[IE_PROTO] = true;
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var definePropertyModule = __w_pdfjs_require__(24);
-var anObject = __w_pdfjs_require__(25);
-var objectKeys = __w_pdfjs_require__(66);
-module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
- while (length > index)
- definePropertyModule.f(O, key = keys[index++], Properties[key]);
- return O;
-};
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var internalObjectKeys = __w_pdfjs_require__(41);
-var enumBugKeys = __w_pdfjs_require__(46);
-module.exports = Object.keys || function keys(O) {
- return internalObjectKeys(O, enumBugKeys);
-};
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(38);
-module.exports = getBuiltIn('document', 'documentElement');
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(69);
-__w_pdfjs_require__(81);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Array.from;
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var charAt = __w_pdfjs_require__(70).charAt;
-var InternalStateModule = __w_pdfjs_require__(31);
-var defineIterator = __w_pdfjs_require__(71);
-var STRING_ITERATOR = 'String Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
-defineIterator(String, 'String', function (iterated) {
- setInternalState(this, {
- type: STRING_ITERATOR,
- string: String(iterated),
- index: 0
- });
-}, function next() {
- var state = getInternalState(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length)
- return {
- value: undefined,
- done: true
- };
- point = charAt(string, index);
- state.index += point.length;
- return {
- value: point,
- done: false
- };
-});
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toInteger = __w_pdfjs_require__(44);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var createMethod = function (CONVERT_TO_STRING) {
- return function ($this, pos) {
- var S = String(requireObjectCoercible($this));
- var position = toInteger(pos);
- var size = S.length;
- var first, second;
- if (position < 0 || position >= size)
- return CONVERT_TO_STRING ? '' : undefined;
- first = S.charCodeAt(position);
- return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
-};
-module.exports = {
- codeAt: createMethod(false),
- charAt: createMethod(true)
-};
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var createIteratorConstructor = __w_pdfjs_require__(72);
-var getPrototypeOf = __w_pdfjs_require__(74);
-var setPrototypeOf = __w_pdfjs_require__(79);
-var setToStringTag = __w_pdfjs_require__(77);
-var hide = __w_pdfjs_require__(23);
-var redefine = __w_pdfjs_require__(26);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_PURE = __w_pdfjs_require__(29);
-var Iterators = __w_pdfjs_require__(78);
-var IteratorsCore = __w_pdfjs_require__(73);
-var IteratorPrototype = IteratorsCore.IteratorPrototype;
-var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
-var ITERATOR = wellKnownSymbol('iterator');
-var KEYS = 'keys';
-var VALUES = 'values';
-var ENTRIES = 'entries';
-var returnThis = function () {
- return this;
-};
-module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
- var getIterationMethod = function (KIND) {
- if (KIND === DEFAULT && defaultIterator)
- return defaultIterator;
- if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
- return IterablePrototype[KIND];
- switch (KIND) {
- case KEYS:
- return function keys() {
- return new IteratorConstructor(this, KIND);
- };
- case VALUES:
- return function values() {
- return new IteratorConstructor(this, KIND);
- };
- case ENTRIES:
- return function entries() {
- return new IteratorConstructor(this, KIND);
- };
- }
- return function () {
- return new IteratorConstructor(this);
- };
- };
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY;
- if (anyNativeIterator) {
- CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
- if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
- if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
- if (setPrototypeOf) {
- setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
- } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
- hide(CurrentIteratorPrototype, ITERATOR, returnThis);
- }
- }
- setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
- if (IS_PURE)
- Iterators[TO_STRING_TAG] = returnThis;
- }
- }
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
- INCORRECT_VALUES_NAME = true;
- defaultIterator = function values() {
- return nativeIterator.call(this);
- };
- }
- if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
- hide(IterablePrototype, ITERATOR, defaultIterator);
- }
- Iterators[NAME] = defaultIterator;
- if (DEFAULT) {
- methods = {
- values: getIterationMethod(VALUES),
- keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
- entries: getIterationMethod(ENTRIES)
- };
- if (FORCED)
- for (KEY in methods) {
- if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
- redefine(IterablePrototype, KEY, methods[KEY]);
- }
- }
- else
- $({
- target: NAME,
- proto: true,
- forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
- }, methods);
- }
- return methods;
-};
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var IteratorPrototype = __w_pdfjs_require__(73).IteratorPrototype;
-var create = __w_pdfjs_require__(64);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-var setToStringTag = __w_pdfjs_require__(77);
-var Iterators = __w_pdfjs_require__(78);
-var returnThis = function () {
- return this;
-};
-module.exports = function (IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
- Iterators[TO_STRING_TAG] = returnThis;
- return IteratorConstructor;
-};
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getPrototypeOf = __w_pdfjs_require__(74);
-var hide = __w_pdfjs_require__(23);
-var has = __w_pdfjs_require__(20);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_PURE = __w_pdfjs_require__(29);
-var ITERATOR = wellKnownSymbol('iterator');
-var BUGGY_SAFARI_ITERATORS = false;
-var returnThis = function () {
- return this;
-};
-var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-if ([].keys) {
- arrayIterator = [].keys();
- if (!('next' in arrayIterator))
- BUGGY_SAFARI_ITERATORS = true;
- else {
- PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
- if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
- IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
-}
-if (IteratorPrototype == undefined)
- IteratorPrototype = {};
-if (!IS_PURE && !has(IteratorPrototype, ITERATOR))
- hide(IteratorPrototype, ITERATOR, returnThis);
-module.exports = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
-};
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var has = __w_pdfjs_require__(20);
-var toObject = __w_pdfjs_require__(75);
-var sharedKey = __w_pdfjs_require__(33);
-var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(76);
-var IE_PROTO = sharedKey('IE_PROTO');
-var ObjectPrototype = Object.prototype;
-module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO))
- return O[IE_PROTO];
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
- return O.constructor.prototype;
- }
- return O instanceof Object ? ObjectPrototype : null;
-};
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var requireObjectCoercible = __w_pdfjs_require__(17);
-module.exports = function (argument) {
- return Object(requireObjectCoercible(argument));
-};
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- function F() {
- }
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
-});
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineProperty = __w_pdfjs_require__(24).f;
-var has = __w_pdfjs_require__(20);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-module.exports = function (it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
- defineProperty(it, TO_STRING_TAG, {
- configurable: true,
- value: TAG
- });
- }
-};
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports) {
-
-module.exports = {};
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var aPossiblePrototype = __w_pdfjs_require__(80);
-module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
- try {
- setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
- setter.call(test, []);
- CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- }
- return function setPrototypeOf(O, proto) {
- anObject(O);
- aPossiblePrototype(proto);
- if (CORRECT_SETTER)
- setter.call(O, proto);
- else
- O.__proto__ = proto;
- return O;
- };
-}() : undefined);
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-module.exports = function (it) {
- if (!isObject(it) && it !== null) {
- throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
- return it;
-};
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var from = __w_pdfjs_require__(82);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(88);
-var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
-});
-$({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
-}, { from: from });
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var bind = __w_pdfjs_require__(55);
-var toObject = __w_pdfjs_require__(75);
-var callWithSafeIterationClosing = __w_pdfjs_require__(83);
-var isArrayIteratorMethod = __w_pdfjs_require__(84);
-var toLength = __w_pdfjs_require__(43);
-var createProperty = __w_pdfjs_require__(85);
-var getIteratorMethod = __w_pdfjs_require__(86);
-module.exports = function from(arrayLike) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var index = 0;
- var iteratorMethod = getIteratorMethod(O);
- var length, result, step, iterator;
- if (mapping)
- mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
- iterator = iteratorMethod.call(O);
- result = new C();
- for (; !(step = iterator.next()).done; index++) {
- createProperty(result, index, mapping ? callWithSafeIterationClosing(iterator, mapfn, [
- step.value,
- index
- ], true) : step.value);
- }
- } else {
- length = toLength(O.length);
- result = new C(length);
- for (; length > index; index++) {
- createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
- }
- }
- result.length = index;
- return result;
-};
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-module.exports = function (iterator, fn, value, ENTRIES) {
- try {
- return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
- } catch (error) {
- var returnMethod = iterator['return'];
- if (returnMethod !== undefined)
- anObject(returnMethod.call(iterator));
- throw error;
- }
-};
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var Iterators = __w_pdfjs_require__(78);
-var ITERATOR = wellKnownSymbol('iterator');
-var ArrayPrototype = Array.prototype;
-module.exports = function (it) {
- return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
-};
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toPrimitive = __w_pdfjs_require__(18);
-var definePropertyModule = __w_pdfjs_require__(24);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-module.exports = function (object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object)
- definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
- else
- object[propertyKey] = value;
-};
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(87);
-var Iterators = __w_pdfjs_require__(78);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = function (it) {
- if (it != undefined)
- return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
-};
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classofRaw = __w_pdfjs_require__(16);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
-}()) == 'Arguments';
-var tryGet = function (it, key) {
- try {
- return it[key];
- } catch (error) {
- }
-};
-module.exports = function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
-};
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-var SAFE_CLOSING = false;
-try {
- var called = 0;
- var iteratorWithReturn = {
- next: function () {
- return { done: !!called++ };
- },
- 'return': function () {
- SAFE_CLOSING = true;
- }
- };
- iteratorWithReturn[ITERATOR] = function () {
- return this;
- };
- Array.from(iteratorWithReturn, function () {
- throw 2;
- });
-} catch (error) {
-}
-module.exports = function (exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING)
- return false;
- var ITERATION_SUPPORT = false;
- try {
- var object = {};
- object[ITERATOR] = function () {
- return {
- next: function () {
- return { done: ITERATION_SUPPORT = true };
- }
- };
- };
- exec(object);
- } catch (error) {
- }
- return ITERATION_SUPPORT;
-};
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(90);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Object.assign;
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var assign = __w_pdfjs_require__(91);
-$({
- target: 'Object',
- stat: true,
- forced: Object.assign !== assign
-}, { assign: assign });
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var fails = __w_pdfjs_require__(11);
-var objectKeys = __w_pdfjs_require__(66);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(47);
-var propertyIsEnumerableModule = __w_pdfjs_require__(12);
-var toObject = __w_pdfjs_require__(75);
-var IndexedObject = __w_pdfjs_require__(15);
-var nativeAssign = Object.assign;
-module.exports = !nativeAssign || fails(function () {
- var A = {};
- var B = {};
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
- B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
-}) ? function assign(target, source) {
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
- var propertyIsEnumerable = propertyIsEnumerableModule.f;
- while (argumentsLength > index) {
- var S = IndexedObject(arguments[index++]);
- var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
- var length = keys.length;
- var j = 0;
- var key;
- while (length > j) {
- key = keys[j++];
- if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
- T[key] = S[key];
- }
- }
- return T;
-} : nativeAssign;
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(93);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Math.log2;
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var log = Math.log;
-var LN2 = Math.LN2;
-$({
- target: 'Math',
- stat: true
-}, {
- log2: function log2(x) {
- return log(x) / LN2;
- }
-});
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(95);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Number.isNaN;
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-$({
- target: 'Number',
- stat: true
-}, {
- isNaN: function isNaN(number) {
- return number != number;
- }
-});
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(97);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Number.isInteger;
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var isInteger = __w_pdfjs_require__(98);
-$({
- target: 'Number',
- stat: true
-}, { isInteger: isInteger });
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var floor = Math.floor;
-module.exports = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor(it) === it;
-};
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(69);
-__w_pdfjs_require__(102);
-__w_pdfjs_require__(105);
-__w_pdfjs_require__(119);
-__w_pdfjs_require__(120);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Promise;
-
-/***/ }),
-/* 100 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(26);
-var toString = __w_pdfjs_require__(101);
-var ObjectPrototype = Object.prototype;
-if (toString !== ObjectPrototype.toString) {
- redefine(ObjectPrototype, 'toString', toString, { unsafe: true });
-}
-
-/***/ }),
-/* 101 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var classof = __w_pdfjs_require__(87);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var test = {};
-test[TO_STRING_TAG] = 'z';
-module.exports = String(test) !== '[object z]' ? function toString() {
- return '[object ' + classof(this) + ']';
-} : test.toString;
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var DOMIterables = __w_pdfjs_require__(103);
-var ArrayIteratorMethods = __w_pdfjs_require__(104);
-var hide = __w_pdfjs_require__(23);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-var ArrayValues = ArrayIteratorMethods.values;
-for (var COLLECTION_NAME in DOMIterables) {
- var Collection = global[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype;
- if (CollectionPrototype) {
- if (CollectionPrototype[ITERATOR] !== ArrayValues)
- try {
- hide(CollectionPrototype, ITERATOR, ArrayValues);
- } catch (error) {
- CollectionPrototype[ITERATOR] = ArrayValues;
- }
- if (!CollectionPrototype[TO_STRING_TAG])
- hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
- if (DOMIterables[COLLECTION_NAME])
- for (var METHOD_NAME in ArrayIteratorMethods) {
- if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
- try {
- hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
- } catch (error) {
- CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
- }
- }
- }
-}
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports) {
-
-module.exports = {
- CSSRuleList: 0,
- CSSStyleDeclaration: 0,
- CSSValueList: 0,
- ClientRectList: 0,
- DOMRectList: 0,
- DOMStringList: 0,
- DOMTokenList: 1,
- DataTransferItemList: 0,
- FileList: 0,
- HTMLAllCollection: 0,
- HTMLCollection: 0,
- HTMLFormElement: 0,
- HTMLSelectElement: 0,
- MediaList: 0,
- MimeTypeArray: 0,
- NamedNodeMap: 0,
- NodeList: 1,
- PaintRequestList: 0,
- Plugin: 0,
- PluginArray: 0,
- SVGLengthList: 0,
- SVGNumberList: 0,
- SVGPathSegList: 0,
- SVGPointList: 0,
- SVGStringList: 0,
- SVGTransformList: 0,
- SourceBufferList: 0,
- StyleSheetList: 0,
- TextTrackCueList: 0,
- TextTrackList: 0,
- TouchList: 0
-};
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toIndexedObject = __w_pdfjs_require__(14);
-var addToUnscopables = __w_pdfjs_require__(63);
-var Iterators = __w_pdfjs_require__(78);
-var InternalStateModule = __w_pdfjs_require__(31);
-var defineIterator = __w_pdfjs_require__(71);
-var ARRAY_ITERATOR = 'Array Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
-module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState(this, {
- type: ARRAY_ITERATOR,
- target: toIndexedObject(iterated),
- index: 0,
- kind: kind
- });
-}, function () {
- var state = getInternalState(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
- if (!target || index >= target.length) {
- state.target = undefined;
- return {
- value: undefined,
- done: true
- };
- }
- if (kind == 'keys')
- return {
- value: index,
- done: false
- };
- if (kind == 'values')
- return {
- value: target[index],
- done: false
- };
- return {
- value: [
- index,
- target[index]
- ],
- done: false
- };
-}, 'values');
-Iterators.Arguments = Iterators.Array;
-addToUnscopables('keys');
-addToUnscopables('values');
-addToUnscopables('entries');
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var IS_PURE = __w_pdfjs_require__(29);
-var global = __w_pdfjs_require__(8);
-var path = __w_pdfjs_require__(39);
-var NativePromise = __w_pdfjs_require__(106);
-var redefine = __w_pdfjs_require__(26);
-var redefineAll = __w_pdfjs_require__(107);
-var setToStringTag = __w_pdfjs_require__(77);
-var setSpecies = __w_pdfjs_require__(108);
-var isObject = __w_pdfjs_require__(19);
-var aFunction = __w_pdfjs_require__(56);
-var anInstance = __w_pdfjs_require__(109);
-var classof = __w_pdfjs_require__(16);
-var iterate = __w_pdfjs_require__(110);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(88);
-var speciesConstructor = __w_pdfjs_require__(111);
-var task = __w_pdfjs_require__(112).set;
-var microtask = __w_pdfjs_require__(113);
-var promiseResolve = __w_pdfjs_require__(115);
-var hostReportErrors = __w_pdfjs_require__(117);
-var newPromiseCapabilityModule = __w_pdfjs_require__(116);
-var perform = __w_pdfjs_require__(118);
-var userAgent = __w_pdfjs_require__(114);
-var InternalStateModule = __w_pdfjs_require__(31);
-var isForced = __w_pdfjs_require__(48);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-var PROMISE = 'Promise';
-var getInternalState = InternalStateModule.get;
-var setInternalState = InternalStateModule.set;
-var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
-var PromiseConstructor = NativePromise;
-var TypeError = global.TypeError;
-var document = global.document;
-var process = global.process;
-var $fetch = global.fetch;
-var versions = process && process.versions;
-var v8 = versions && versions.v8 || '';
-var newPromiseCapability = newPromiseCapabilityModule.f;
-var newGenericPromiseCapability = newPromiseCapability;
-var IS_NODE = classof(process) == 'process';
-var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
-var UNHANDLED_REJECTION = 'unhandledrejection';
-var REJECTION_HANDLED = 'rejectionhandled';
-var PENDING = 0;
-var FULFILLED = 1;
-var REJECTED = 2;
-var HANDLED = 1;
-var UNHANDLED = 2;
-var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
-var FORCED = isForced(PROMISE, function () {
- var promise = PromiseConstructor.resolve(1);
- var empty = function () {
- };
- var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {
- exec(empty, empty);
- };
- return !((IS_NODE || typeof PromiseRejectionEvent == 'function') && (!IS_PURE || promise['finally']) && promise.then(empty) instanceof FakePromise && v8.indexOf('6.6') !== 0 && userAgent.indexOf('Chrome/66') === -1);
-});
-var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- });
-});
-var isThenable = function (it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
-};
-var notify = function (promise, state, isReject) {
- if (state.notified)
- return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
- var value = state.value;
- var ok = state.state == FULFILLED;
- var index = 0;
- while (chain.length > index) {
- var reaction = chain[index++];
- var handler = ok ? reaction.ok : reaction.fail;
- var resolve = reaction.resolve;
- var reject = reaction.reject;
- var domain = reaction.domain;
- var result, then, exited;
- try {
- if (handler) {
- if (!ok) {
- if (state.rejection === UNHANDLED)
- onHandleUnhandled(promise, state);
- state.rejection = HANDLED;
- }
- if (handler === true)
- result = value;
- else {
- if (domain)
- domain.enter();
- result = handler(value);
- if (domain) {
- domain.exit();
- exited = true;
- }
- }
- if (result === reaction.promise) {
- reject(TypeError('Promise-chain cycle'));
- } else if (then = isThenable(result)) {
- then.call(result, resolve, reject);
- } else
- resolve(result);
- } else
- reject(value);
- } catch (error) {
- if (domain && !exited)
- domain.exit();
- reject(error);
- }
- }
- state.reactions = [];
- state.notified = false;
- if (isReject && !state.rejection)
- onUnhandled(promise, state);
- });
-};
-var dispatchEvent = function (name, promise, reason) {
- var event, handler;
- if (DISPATCH_EVENT) {
- event = document.createEvent('Event');
- event.promise = promise;
- event.reason = reason;
- event.initEvent(name, false, true);
- global.dispatchEvent(event);
- } else
- event = {
- promise: promise,
- reason: reason
- };
- if (handler = global['on' + name])
- handler(event);
- else if (name === UNHANDLED_REJECTION)
- hostReportErrors('Unhandled promise rejection', reason);
-};
-var onUnhandled = function (promise, state) {
- task.call(global, function () {
- var value = state.value;
- var IS_UNHANDLED = isUnhandled(state);
- var result;
- if (IS_UNHANDLED) {
- result = perform(function () {
- if (IS_NODE) {
- process.emit('unhandledRejection', value, promise);
- } else
- dispatchEvent(UNHANDLED_REJECTION, promise, value);
- });
- state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
- if (result.error)
- throw result.value;
- }
- });
-};
-var isUnhandled = function (state) {
- return state.rejection !== HANDLED && !state.parent;
-};
-var onHandleUnhandled = function (promise, state) {
- task.call(global, function () {
- if (IS_NODE) {
- process.emit('rejectionHandled', promise);
- } else
- dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
-};
-var bind = function (fn, promise, state, unwrap) {
- return function (value) {
- fn(promise, state, value, unwrap);
- };
-};
-var internalReject = function (promise, state, value, unwrap) {
- if (state.done)
- return;
- state.done = true;
- if (unwrap)
- state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify(promise, state, true);
-};
-var internalResolve = function (promise, state, value, unwrap) {
- if (state.done)
- return;
- state.done = true;
- if (unwrap)
- state = unwrap;
- try {
- if (promise === value)
- throw TypeError("Promise can't be resolved itself");
- var then = isThenable(value);
- if (then) {
- microtask(function () {
- var wrapper = { done: false };
- try {
- then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
- } catch (error) {
- internalReject(promise, wrapper, error, state);
- }
- });
- } else {
- state.value = value;
- state.state = FULFILLED;
- notify(promise, state, false);
- }
- } catch (error) {
- internalReject(promise, { done: false }, error, state);
- }
-};
-if (FORCED) {
- PromiseConstructor = function Promise(executor) {
- anInstance(this, PromiseConstructor, PROMISE);
- aFunction(executor);
- Internal.call(this);
- var state = getInternalState(this);
- try {
- executor(bind(internalResolve, this, state), bind(internalReject, this, state));
- } catch (error) {
- internalReject(this, state, error);
- }
- };
- Internal = function Promise(executor) {
- setInternalState(this, {
- type: PROMISE,
- done: false,
- notified: false,
- parent: false,
- reactions: [],
- rejection: false,
- state: PENDING,
- value: undefined
- });
- };
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
- then: function then(onFulfilled, onRejected) {
- var state = getInternalPromiseState(this);
- var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- reaction.domain = IS_NODE ? process.domain : undefined;
- state.parent = true;
- state.reactions.push(reaction);
- if (state.state != PENDING)
- notify(this, state, false);
- return reaction.promise;
- },
- 'catch': function (onRejected) {
- return this.then(undefined, onRejected);
- }
- });
- OwnPromiseCapability = function () {
- var promise = new Internal();
- var state = getInternalState(promise);
- this.promise = promise;
- this.resolve = bind(internalResolve, promise, state);
- this.reject = bind(internalReject, promise, state);
- };
- newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
- return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
- };
- if (!IS_PURE && typeof NativePromise == 'function') {
- nativeThen = NativePromise.prototype.then;
- redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
- var that = this;
- return new PromiseConstructor(function (resolve, reject) {
- nativeThen.call(that, resolve, reject);
- }).then(onFulfilled, onRejected);
- });
- if (typeof $fetch == 'function')
- $({
- global: true,
- enumerable: true,
- forced: true
- }, {
- fetch: function fetch(input) {
- return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
- }
- });
- }
-}
-$({
- global: true,
- wrap: true,
- forced: FORCED
-}, { Promise: PromiseConstructor });
-setToStringTag(PromiseConstructor, PROMISE, false, true);
-setSpecies(PROMISE);
-PromiseWrapper = path[PROMISE];
-$({
- target: PROMISE,
- stat: true,
- forced: FORCED
-}, {
- reject: function reject(r) {
- var capability = newPromiseCapability(this);
- capability.reject.call(undefined, r);
- return capability.promise;
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: IS_PURE || FORCED
-}, {
- resolve: function resolve(x) {
- return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
- }
-});
-$({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION
-}, {
- all: function all(iterable) {
- var C = this;
- var capability = newPromiseCapability(C);
- var resolve = capability.resolve;
- var reject = capability.reject;
- var result = perform(function () {
- var $promiseResolve = aFunction(C.resolve);
- var values = [];
- var counter = 0;
- var remaining = 1;
- iterate(iterable, function (promise) {
- var index = counter++;
- var alreadyCalled = false;
- values.push(undefined);
- remaining++;
- $promiseResolve.call(C, promise).then(function (value) {
- if (alreadyCalled)
- return;
- alreadyCalled = true;
- values[index] = value;
- --remaining || resolve(values);
- }, reject);
- });
- --remaining || resolve(values);
- });
- if (result.error)
- reject(result.value);
- return capability.promise;
- },
- race: function race(iterable) {
- var C = this;
- var capability = newPromiseCapability(C);
- var reject = capability.reject;
- var result = perform(function () {
- var $promiseResolve = aFunction(C.resolve);
- iterate(iterable, function (promise) {
- $promiseResolve.call(C, promise).then(capability.resolve, reject);
- });
- });
- if (result.error)
- reject(result.value);
- return capability.promise;
- }
-});
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-module.exports = global.Promise;
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var redefine = __w_pdfjs_require__(26);
-module.exports = function (target, src, options) {
- for (var key in src)
- redefine(target, key, src[key], options);
- return target;
-};
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var getBuiltIn = __w_pdfjs_require__(38);
-var definePropertyModule = __w_pdfjs_require__(24);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = definePropertyModule.f;
- if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
- defineProperty(Constructor, SPECIES, {
- configurable: true,
- get: function () {
- return this;
- }
- });
- }
-};
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports) {
-
-module.exports = function (it, Constructor, name) {
- if (!(it instanceof Constructor)) {
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
- return it;
-};
-
-/***/ }),
-/* 110 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var isArrayIteratorMethod = __w_pdfjs_require__(84);
-var toLength = __w_pdfjs_require__(43);
-var bind = __w_pdfjs_require__(55);
-var getIteratorMethod = __w_pdfjs_require__(86);
-var callWithSafeIterationClosing = __w_pdfjs_require__(83);
-var Result = function (stopped, result) {
- this.stopped = stopped;
- this.result = result;
-};
-var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, step;
- if (IS_ITERATOR) {
- iterator = iterable;
- } else {
- iterFn = getIteratorMethod(iterable);
- if (typeof iterFn != 'function')
- throw TypeError('Target is not iterable');
- if (isArrayIteratorMethod(iterFn)) {
- for (index = 0, length = toLength(iterable.length); length > index; index++) {
- result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
- if (result && result instanceof Result)
- return result;
- }
- return new Result(false);
- }
- iterator = iterFn.call(iterable);
- }
- while (!(step = iterator.next()).done) {
- result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
- if (result && result instanceof Result)
- return result;
- }
- return new Result(false);
-};
-iterate.stop = function (result) {
- return new Result(true, result);
-};
-
-/***/ }),
-/* 111 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var aFunction = __w_pdfjs_require__(56);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
-};
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var fails = __w_pdfjs_require__(11);
-var classof = __w_pdfjs_require__(16);
-var bind = __w_pdfjs_require__(55);
-var html = __w_pdfjs_require__(67);
-var createElement = __w_pdfjs_require__(22);
-var location = global.location;
-var set = global.setImmediate;
-var clear = global.clearImmediate;
-var process = global.process;
-var MessageChannel = global.MessageChannel;
-var Dispatch = global.Dispatch;
-var counter = 0;
-var queue = {};
-var ONREADYSTATECHANGE = 'onreadystatechange';
-var defer, channel, port;
-var run = function (id) {
- if (queue.hasOwnProperty(id)) {
- var fn = queue[id];
- delete queue[id];
- fn();
- }
-};
-var runner = function (id) {
- return function () {
- run(id);
- };
-};
-var listener = function (event) {
- run(event.data);
-};
-var post = function (id) {
- global.postMessage(id + '', location.protocol + '//' + location.host);
-};
-if (!set || !clear) {
- set = function setImmediate(fn) {
- var args = [];
- var i = 1;
- while (arguments.length > i)
- args.push(arguments[i++]);
- queue[++counter] = function () {
- (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
- };
- defer(counter);
- return counter;
- };
- clear = function clearImmediate(id) {
- delete queue[id];
- };
- if (classof(process) == 'process') {
- defer = function (id) {
- process.nextTick(runner(id));
- };
- } else if (Dispatch && Dispatch.now) {
- defer = function (id) {
- Dispatch.now(runner(id));
- };
- } else if (MessageChannel) {
- channel = new MessageChannel();
- port = channel.port2;
- channel.port1.onmessage = listener;
- defer = bind(port.postMessage, port, 1);
- } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {
- defer = post;
- global.addEventListener('message', listener, false);
- } else if (ONREADYSTATECHANGE in createElement('script')) {
- defer = function (id) {
- html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
- html.removeChild(this);
- run(id);
- };
- };
- } else {
- defer = function (id) {
- setTimeout(runner(id), 0);
- };
- }
-}
-module.exports = {
- set: set,
- clear: clear
-};
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var getOwnPropertyDescriptor = __w_pdfjs_require__(9).f;
-var classof = __w_pdfjs_require__(16);
-var macrotask = __w_pdfjs_require__(112).set;
-var userAgent = __w_pdfjs_require__(114);
-var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
-var process = global.process;
-var Promise = global.Promise;
-var IS_NODE = classof(process) == 'process';
-var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
-var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
-var flush, head, last, notify, toggle, node, promise, then;
-if (!queueMicrotask) {
- flush = function () {
- var parent, fn;
- if (IS_NODE && (parent = process.domain))
- parent.exit();
- while (head) {
- fn = head.fn;
- head = head.next;
- try {
- fn();
- } catch (error) {
- if (head)
- notify();
- else
- last = undefined;
- throw error;
- }
- }
- last = undefined;
- if (parent)
- parent.enter();
- };
- if (IS_NODE) {
- notify = function () {
- process.nextTick(flush);
- };
- } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {
- toggle = true;
- node = document.createTextNode('');
- new MutationObserver(flush).observe(node, { characterData: true });
- notify = function () {
- node.data = toggle = !toggle;
- };
- } else if (Promise && Promise.resolve) {
- promise = Promise.resolve(undefined);
- then = promise.then;
- notify = function () {
- then.call(promise, flush);
- };
- } else {
- notify = function () {
- macrotask.call(global, flush);
- };
- }
-}
-module.exports = queueMicrotask || function (fn) {
- var task = {
- fn: fn,
- next: undefined
- };
- if (last)
- last.next = task;
- if (!head) {
- head = task;
- notify();
- }
- last = task;
-};
-
-/***/ }),
-/* 114 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var getBuiltIn = __w_pdfjs_require__(38);
-module.exports = getBuiltIn('navigator', 'userAgent') || '';
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var isObject = __w_pdfjs_require__(19);
-var newPromiseCapability = __w_pdfjs_require__(116);
-module.exports = function (C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C)
- return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
-};
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var aFunction = __w_pdfjs_require__(56);
-var PromiseCapability = function (C) {
- var resolve, reject;
- this.promise = new C(function ($$resolve, $$reject) {
- if (resolve !== undefined || reject !== undefined)
- throw TypeError('Bad Promise constructor');
- resolve = $$resolve;
- reject = $$reject;
- });
- this.resolve = aFunction(resolve);
- this.reject = aFunction(reject);
-};
-module.exports.f = function (C) {
- return new PromiseCapability(C);
-};
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-module.exports = function (a, b) {
- var console = global.console;
- if (console && console.error) {
- arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
-};
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports) {
-
-module.exports = function (exec) {
- try {
- return {
- error: false,
- value: exec()
- };
- } catch (error) {
- return {
- error: true,
- value: error
- };
- }
-};
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var aFunction = __w_pdfjs_require__(56);
-var newPromiseCapabilityModule = __w_pdfjs_require__(116);
-var perform = __w_pdfjs_require__(118);
-var iterate = __w_pdfjs_require__(110);
-$({
- target: 'Promise',
- stat: true
-}, {
- allSettled: function allSettled(iterable) {
- var C = this;
- var capability = newPromiseCapabilityModule.f(C);
- var resolve = capability.resolve;
- var reject = capability.reject;
- var result = perform(function () {
- var promiseResolve = aFunction(C.resolve);
- var values = [];
- var counter = 0;
- var remaining = 1;
- iterate(iterable, function (promise) {
- var index = counter++;
- var alreadyCalled = false;
- values.push(undefined);
- remaining++;
- promiseResolve.call(C, promise).then(function (value) {
- if (alreadyCalled)
- return;
- alreadyCalled = true;
- values[index] = {
- status: 'fulfilled',
- value: value
- };
- --remaining || resolve(values);
- }, function (e) {
- if (alreadyCalled)
- return;
- alreadyCalled = true;
- values[index] = {
- status: 'rejected',
- reason: e
- };
- --remaining || resolve(values);
- });
- });
- --remaining || resolve(values);
- });
- if (result.error)
- reject(result.value);
- return capability.promise;
- }
-});
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var IS_PURE = __w_pdfjs_require__(29);
-var NativePromise = __w_pdfjs_require__(106);
-var getBuiltIn = __w_pdfjs_require__(38);
-var speciesConstructor = __w_pdfjs_require__(111);
-var promiseResolve = __w_pdfjs_require__(115);
-var redefine = __w_pdfjs_require__(26);
-$({
- target: 'Promise',
- proto: true,
- real: true
-}, {
- 'finally': function (onFinally) {
- var C = speciesConstructor(this, getBuiltIn('Promise'));
- var isFunction = typeof onFinally == 'function';
- return this.then(isFunction ? function (x) {
- return promiseResolve(C, onFinally()).then(function () {
- return x;
- });
- } : onFinally, isFunction ? function (e) {
- return promiseResolve(C, onFinally()).then(function () {
- throw e;
- });
- } : onFinally);
- }
-});
-if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
- redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
-}
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(122);
-__w_pdfjs_require__(127);
-__w_pdfjs_require__(125);
-var path = __w_pdfjs_require__(39);
-module.exports = path.URL;
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(69);
-var $ = __w_pdfjs_require__(7);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var USE_NATIVE_URL = __w_pdfjs_require__(123);
-var global = __w_pdfjs_require__(8);
-var defineProperties = __w_pdfjs_require__(65);
-var redefine = __w_pdfjs_require__(26);
-var anInstance = __w_pdfjs_require__(109);
-var has = __w_pdfjs_require__(20);
-var assign = __w_pdfjs_require__(91);
-var arrayFrom = __w_pdfjs_require__(82);
-var codeAt = __w_pdfjs_require__(70).codeAt;
-var toASCII = __w_pdfjs_require__(124);
-var setToStringTag = __w_pdfjs_require__(77);
-var URLSearchParamsModule = __w_pdfjs_require__(125);
-var InternalStateModule = __w_pdfjs_require__(31);
-var NativeURL = global.URL;
-var URLSearchParams = URLSearchParamsModule.URLSearchParams;
-var getInternalSearchParamsState = URLSearchParamsModule.getState;
-var setInternalState = InternalStateModule.set;
-var getInternalURLState = InternalStateModule.getterFor('URL');
-var floor = Math.floor;
-var pow = Math.pow;
-var INVALID_AUTHORITY = 'Invalid authority';
-var INVALID_SCHEME = 'Invalid scheme';
-var INVALID_HOST = 'Invalid host';
-var INVALID_PORT = 'Invalid port';
-var ALPHA = /[A-Za-z]/;
-var ALPHANUMERIC = /[\d+\-.A-Za-z]/;
-var DIGIT = /\d/;
-var HEX_START = /^(0x|0X)/;
-var OCT = /^[0-7]+$/;
-var DEC = /^\d+$/;
-var HEX = /^[\dA-Fa-f]+$/;
-var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
-var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
-var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
-var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
-var EOF;
-var parseHost = function (url, input) {
- var result, codePoints, index;
- if (input.charAt(0) == '[') {
- if (input.charAt(input.length - 1) != ']')
- return INVALID_HOST;
- result = parseIPv6(input.slice(1, -1));
- if (!result)
- return INVALID_HOST;
- url.host = result;
- } else if (!isSpecial(url)) {
- if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
- return INVALID_HOST;
- result = '';
- codePoints = arrayFrom(input);
- for (index = 0; index < codePoints.length; index++) {
- result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
- }
- url.host = result;
- } else {
- input = toASCII(input);
- if (FORBIDDEN_HOST_CODE_POINT.test(input))
- return INVALID_HOST;
- result = parseIPv4(input);
- if (result === null)
- return INVALID_HOST;
- url.host = result;
- }
-};
-var parseIPv4 = function (input) {
- var parts = input.split('.');
- var partsLength, numbers, index, part, radix, number, ipv4;
- if (parts.length && parts[parts.length - 1] == '') {
- parts.pop();
- }
- partsLength = parts.length;
- if (partsLength > 4)
- return input;
- numbers = [];
- for (index = 0; index < partsLength; index++) {
- part = parts[index];
- if (part == '')
- return input;
- radix = 10;
- if (part.length > 1 && part.charAt(0) == '0') {
- radix = HEX_START.test(part) ? 16 : 8;
- part = part.slice(radix == 8 ? 1 : 2);
- }
- if (part === '') {
- number = 0;
- } else {
- if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
- return input;
- number = parseInt(part, radix);
- }
- numbers.push(number);
- }
- for (index = 0; index < partsLength; index++) {
- number = numbers[index];
- if (index == partsLength - 1) {
- if (number >= pow(256, 5 - partsLength))
- return null;
- } else if (number > 255)
- return null;
- }
- ipv4 = numbers.pop();
- for (index = 0; index < numbers.length; index++) {
- ipv4 += numbers[index] * pow(256, 3 - index);
- }
- return ipv4;
-};
-var parseIPv6 = function (input) {
- var address = [
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ];
- var pieceIndex = 0;
- var compress = null;
- var pointer = 0;
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
- var char = function () {
- return input.charAt(pointer);
- };
- if (char() == ':') {
- if (input.charAt(1) != ':')
- return;
- pointer += 2;
- pieceIndex++;
- compress = pieceIndex;
- }
- while (char()) {
- if (pieceIndex == 8)
- return;
- if (char() == ':') {
- if (compress !== null)
- return;
- pointer++;
- pieceIndex++;
- compress = pieceIndex;
- continue;
- }
- value = length = 0;
- while (length < 4 && HEX.test(char())) {
- value = value * 16 + parseInt(char(), 16);
- pointer++;
- length++;
- }
- if (char() == '.') {
- if (length == 0)
- return;
- pointer -= length;
- if (pieceIndex > 6)
- return;
- numbersSeen = 0;
- while (char()) {
- ipv4Piece = null;
- if (numbersSeen > 0) {
- if (char() == '.' && numbersSeen < 4)
- pointer++;
- else
- return;
- }
- if (!DIGIT.test(char()))
- return;
- while (DIGIT.test(char())) {
- number = parseInt(char(), 10);
- if (ipv4Piece === null)
- ipv4Piece = number;
- else if (ipv4Piece == 0)
- return;
- else
- ipv4Piece = ipv4Piece * 10 + number;
- if (ipv4Piece > 255)
- return;
- pointer++;
- }
- address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
- numbersSeen++;
- if (numbersSeen == 2 || numbersSeen == 4)
- pieceIndex++;
- }
- if (numbersSeen != 4)
- return;
- break;
- } else if (char() == ':') {
- pointer++;
- if (!char())
- return;
- } else if (char())
- return;
- address[pieceIndex++] = value;
- }
- if (compress !== null) {
- swaps = pieceIndex - compress;
- pieceIndex = 7;
- while (pieceIndex != 0 && swaps > 0) {
- swap = address[pieceIndex];
- address[pieceIndex--] = address[compress + swaps - 1];
- address[compress + --swaps] = swap;
- }
- } else if (pieceIndex != 8)
- return;
- return address;
-};
-var findLongestZeroSequence = function (ipv6) {
- var maxIndex = null;
- var maxLength = 1;
- var currStart = null;
- var currLength = 0;
- var index = 0;
- for (; index < 8; index++) {
- if (ipv6[index] !== 0) {
- if (currLength > maxLength) {
- maxIndex = currStart;
- maxLength = currLength;
- }
- currStart = null;
- currLength = 0;
- } else {
- if (currStart === null)
- currStart = index;
- ++currLength;
- }
- }
- if (currLength > maxLength) {
- maxIndex = currStart;
- maxLength = currLength;
- }
- return maxIndex;
-};
-var serializeHost = function (host) {
- var result, index, compress, ignore0;
- if (typeof host == 'number') {
- result = [];
- for (index = 0; index < 4; index++) {
- result.unshift(host % 256);
- host = floor(host / 256);
- }
- return result.join('.');
- } else if (typeof host == 'object') {
- result = '';
- compress = findLongestZeroSequence(host);
- for (index = 0; index < 8; index++) {
- if (ignore0 && host[index] === 0)
- continue;
- if (ignore0)
- ignore0 = false;
- if (compress === index) {
- result += index ? ':' : '::';
- ignore0 = true;
- } else {
- result += host[index].toString(16);
- if (index < 7)
- result += ':';
- }
- }
- return '[' + result + ']';
- }
- return host;
-};
-var C0ControlPercentEncodeSet = {};
-var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
- ' ': 1,
- '"': 1,
- '<': 1,
- '>': 1,
- '`': 1
-});
-var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
- '#': 1,
- '?': 1,
- '{': 1,
- '}': 1
-});
-var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
- '/': 1,
- ':': 1,
- ';': 1,
- '=': 1,
- '@': 1,
- '[': 1,
- '\\': 1,
- ']': 1,
- '^': 1,
- '|': 1
-});
-var percentEncode = function (char, set) {
- var code = codeAt(char, 0);
- return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
-};
-var specialSchemes = {
- ftp: 21,
- file: null,
- gopher: 70,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
-};
-var isSpecial = function (url) {
- return has(specialSchemes, url.scheme);
-};
-var includesCredentials = function (url) {
- return url.username != '' || url.password != '';
-};
-var cannotHaveUsernamePasswordPort = function (url) {
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
-};
-var isWindowsDriveLetter = function (string, normalized) {
- var second;
- return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
-};
-var startsWithWindowsDriveLetter = function (string) {
- var third;
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
-};
-var shortenURLsPath = function (url) {
- var path = url.path;
- var pathSize = path.length;
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
- path.pop();
- }
-};
-var isSingleDot = function (segment) {
- return segment === '.' || segment.toLowerCase() === '%2e';
-};
-var isDoubleDot = function (segment) {
- segment = segment.toLowerCase();
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
-};
-var SCHEME_START = {};
-var SCHEME = {};
-var NO_SCHEME = {};
-var SPECIAL_RELATIVE_OR_AUTHORITY = {};
-var PATH_OR_AUTHORITY = {};
-var RELATIVE = {};
-var RELATIVE_SLASH = {};
-var SPECIAL_AUTHORITY_SLASHES = {};
-var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
-var AUTHORITY = {};
-var HOST = {};
-var HOSTNAME = {};
-var PORT = {};
-var FILE = {};
-var FILE_SLASH = {};
-var FILE_HOST = {};
-var PATH_START = {};
-var PATH = {};
-var CANNOT_BE_A_BASE_URL_PATH = {};
-var QUERY = {};
-var FRAGMENT = {};
-var parseURL = function (url, input, stateOverride, base) {
- var state = stateOverride || SCHEME_START;
- var pointer = 0;
- var buffer = '';
- var seenAt = false;
- var seenBracket = false;
- var seenPasswordToken = false;
- var codePoints, char, bufferCodePoints, failure;
- if (!stateOverride) {
- url.scheme = '';
- url.username = '';
- url.password = '';
- url.host = null;
- url.port = null;
- url.path = [];
- url.query = null;
- url.fragment = null;
- url.cannotBeABaseURL = false;
- input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
- }
- input = input.replace(TAB_AND_NEW_LINE, '');
- codePoints = arrayFrom(input);
- while (pointer <= codePoints.length) {
- char = codePoints[pointer];
- switch (state) {
- case SCHEME_START:
- if (char && ALPHA.test(char)) {
- buffer += char.toLowerCase();
- state = SCHEME;
- } else if (!stateOverride) {
- state = NO_SCHEME;
- continue;
- } else
- return INVALID_SCHEME;
- break;
- case SCHEME:
- if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
- buffer += char.toLowerCase();
- } else if (char == ':') {
- if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
- return;
- url.scheme = buffer;
- if (stateOverride) {
- if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
- url.port = null;
- return;
- }
- buffer = '';
- if (url.scheme == 'file') {
- state = FILE;
- } else if (isSpecial(url) && base && base.scheme == url.scheme) {
- state = SPECIAL_RELATIVE_OR_AUTHORITY;
- } else if (isSpecial(url)) {
- state = SPECIAL_AUTHORITY_SLASHES;
- } else if (codePoints[pointer + 1] == '/') {
- state = PATH_OR_AUTHORITY;
- pointer++;
- } else {
- url.cannotBeABaseURL = true;
- url.path.push('');
- state = CANNOT_BE_A_BASE_URL_PATH;
- }
- } else if (!stateOverride) {
- buffer = '';
- state = NO_SCHEME;
- pointer = 0;
- continue;
- } else
- return INVALID_SCHEME;
- break;
- case NO_SCHEME:
- if (!base || base.cannotBeABaseURL && char != '#')
- return INVALID_SCHEME;
- if (base.cannotBeABaseURL && char == '#') {
- url.scheme = base.scheme;
- url.path = base.path.slice();
- url.query = base.query;
- url.fragment = '';
- url.cannotBeABaseURL = true;
- state = FRAGMENT;
- break;
- }
- state = base.scheme == 'file' ? FILE : RELATIVE;
- continue;
- case SPECIAL_RELATIVE_OR_AUTHORITY:
- if (char == '/' && codePoints[pointer + 1] == '/') {
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
- pointer++;
- } else {
- state = RELATIVE;
- continue;
- }
- break;
- case PATH_OR_AUTHORITY:
- if (char == '/') {
- state = AUTHORITY;
- break;
- } else {
- state = PATH;
- continue;
- }
- case RELATIVE:
- url.scheme = base.scheme;
- if (char == EOF) {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.query = base.query;
- } else if (char == '/' || char == '\\' && isSpecial(url)) {
- state = RELATIVE_SLASH;
- } else if (char == '?') {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.query = '';
- state = QUERY;
- } else if (char == '#') {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.query = base.query;
- url.fragment = '';
- state = FRAGMENT;
- } else {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.path.pop();
- state = PATH;
- continue;
- }
- break;
- case RELATIVE_SLASH:
- if (isSpecial(url) && (char == '/' || char == '\\')) {
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
- } else if (char == '/') {
- state = AUTHORITY;
- } else {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- state = PATH;
- continue;
- }
- break;
- case SPECIAL_AUTHORITY_SLASHES:
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
- if (char != '/' || buffer.charAt(pointer + 1) != '/')
- continue;
- pointer++;
- break;
- case SPECIAL_AUTHORITY_IGNORE_SLASHES:
- if (char != '/' && char != '\\') {
- state = AUTHORITY;
- continue;
- }
- break;
- case AUTHORITY:
- if (char == '@') {
- if (seenAt)
- buffer = '%40' + buffer;
- seenAt = true;
- bufferCodePoints = arrayFrom(buffer);
- for (var i = 0; i < bufferCodePoints.length; i++) {
- var codePoint = bufferCodePoints[i];
- if (codePoint == ':' && !seenPasswordToken) {
- seenPasswordToken = true;
- continue;
- }
- var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
- if (seenPasswordToken)
- url.password += encodedCodePoints;
- else
- url.username += encodedCodePoints;
- }
- buffer = '';
- } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
- if (seenAt && buffer == '')
- return INVALID_AUTHORITY;
- pointer -= arrayFrom(buffer).length + 1;
- buffer = '';
- state = HOST;
- } else
- buffer += char;
- break;
- case HOST:
- case HOSTNAME:
- if (stateOverride && url.scheme == 'file') {
- state = FILE_HOST;
- continue;
- } else if (char == ':' && !seenBracket) {
- if (buffer == '')
- return INVALID_HOST;
- failure = parseHost(url, buffer);
- if (failure)
- return failure;
- buffer = '';
- state = PORT;
- if (stateOverride == HOSTNAME)
- return;
- } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
- if (isSpecial(url) && buffer == '')
- return INVALID_HOST;
- if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
- return;
- failure = parseHost(url, buffer);
- if (failure)
- return failure;
- buffer = '';
- state = PATH_START;
- if (stateOverride)
- return;
- continue;
- } else {
- if (char == '[')
- seenBracket = true;
- else if (char == ']')
- seenBracket = false;
- buffer += char;
- }
- break;
- case PORT:
- if (DIGIT.test(char)) {
- buffer += char;
- } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) {
- if (buffer != '') {
- var port = parseInt(buffer, 10);
- if (port > 0xFFFF)
- return INVALID_PORT;
- url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
- buffer = '';
- }
- if (stateOverride)
- return;
- state = PATH_START;
- continue;
- } else
- return INVALID_PORT;
- break;
- case FILE:
- url.scheme = 'file';
- if (char == '/' || char == '\\')
- state = FILE_SLASH;
- else if (base && base.scheme == 'file') {
- if (char == EOF) {
- url.host = base.host;
- url.path = base.path.slice();
- url.query = base.query;
- } else if (char == '?') {
- url.host = base.host;
- url.path = base.path.slice();
- url.query = '';
- state = QUERY;
- } else if (char == '#') {
- url.host = base.host;
- url.path = base.path.slice();
- url.query = base.query;
- url.fragment = '';
- state = FRAGMENT;
- } else {
- if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
- url.host = base.host;
- url.path = base.path.slice();
- shortenURLsPath(url);
- }
- state = PATH;
- continue;
- }
- } else {
- state = PATH;
- continue;
- }
- break;
- case FILE_SLASH:
- if (char == '/' || char == '\\') {
- state = FILE_HOST;
- break;
- }
- if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
- if (isWindowsDriveLetter(base.path[0], true))
- url.path.push(base.path[0]);
- else
- url.host = base.host;
- }
- state = PATH;
- continue;
- case FILE_HOST:
- if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
- if (!stateOverride && isWindowsDriveLetter(buffer)) {
- state = PATH;
- } else if (buffer == '') {
- url.host = '';
- if (stateOverride)
- return;
- state = PATH_START;
- } else {
- failure = parseHost(url, buffer);
- if (failure)
- return failure;
- if (url.host == 'localhost')
- url.host = '';
- if (stateOverride)
- return;
- buffer = '';
- state = PATH_START;
- }
- continue;
- } else
- buffer += char;
- break;
- case PATH_START:
- if (isSpecial(url)) {
- state = PATH;
- if (char != '/' && char != '\\')
- continue;
- } else if (!stateOverride && char == '?') {
- url.query = '';
- state = QUERY;
- } else if (!stateOverride && char == '#') {
- url.fragment = '';
- state = FRAGMENT;
- } else if (char != EOF) {
- state = PATH;
- if (char != '/')
- continue;
- }
- break;
- case PATH:
- if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {
- if (isDoubleDot(buffer)) {
- shortenURLsPath(url);
- if (char != '/' && !(char == '\\' && isSpecial(url))) {
- url.path.push('');
- }
- } else if (isSingleDot(buffer)) {
- if (char != '/' && !(char == '\\' && isSpecial(url))) {
- url.path.push('');
- }
- } else {
- if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
- if (url.host)
- url.host = '';
- buffer = buffer.charAt(0) + ':';
- }
- url.path.push(buffer);
- }
- buffer = '';
- if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
- while (url.path.length > 1 && url.path[0] === '') {
- url.path.shift();
- }
- }
- if (char == '?') {
- url.query = '';
- state = QUERY;
- } else if (char == '#') {
- url.fragment = '';
- state = FRAGMENT;
- }
- } else {
- buffer += percentEncode(char, pathPercentEncodeSet);
- }
- break;
- case CANNOT_BE_A_BASE_URL_PATH:
- if (char == '?') {
- url.query = '';
- state = QUERY;
- } else if (char == '#') {
- url.fragment = '';
- state = FRAGMENT;
- } else if (char != EOF) {
- url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
- }
- break;
- case QUERY:
- if (!stateOverride && char == '#') {
- url.fragment = '';
- state = FRAGMENT;
- } else if (char != EOF) {
- if (char == "'" && isSpecial(url))
- url.query += '%27';
- else if (char == '#')
- url.query += '%23';
- else
- url.query += percentEncode(char, C0ControlPercentEncodeSet);
- }
- break;
- case FRAGMENT:
- if (char != EOF)
- url.fragment += percentEncode(char, fragmentPercentEncodeSet);
- break;
- }
- pointer++;
- }
-};
-var URLConstructor = function URL(url) {
- var that = anInstance(this, URLConstructor, 'URL');
- var base = arguments.length > 1 ? arguments[1] : undefined;
- var urlString = String(url);
- var state = setInternalState(that, { type: 'URL' });
- var baseState, failure;
- if (base !== undefined) {
- if (base instanceof URLConstructor)
- baseState = getInternalURLState(base);
- else {
- failure = parseURL(baseState = {}, String(base));
- if (failure)
- throw TypeError(failure);
- }
- }
- failure = parseURL(state, urlString, null, baseState);
- if (failure)
- throw TypeError(failure);
- var searchParams = state.searchParams = new URLSearchParams();
- var searchParamsState = getInternalSearchParamsState(searchParams);
- searchParamsState.updateSearchParams(state.query);
- searchParamsState.updateURL = function () {
- state.query = String(searchParams) || null;
- };
- if (!DESCRIPTORS) {
- that.href = serializeURL.call(that);
- that.origin = getOrigin.call(that);
- that.protocol = getProtocol.call(that);
- that.username = getUsername.call(that);
- that.password = getPassword.call(that);
- that.host = getHost.call(that);
- that.hostname = getHostname.call(that);
- that.port = getPort.call(that);
- that.pathname = getPathname.call(that);
- that.search = getSearch.call(that);
- that.searchParams = getSearchParams.call(that);
- that.hash = getHash.call(that);
- }
-};
-var URLPrototype = URLConstructor.prototype;
-var serializeURL = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var username = url.username;
- var password = url.password;
- var host = url.host;
- var port = url.port;
- var path = url.path;
- var query = url.query;
- var fragment = url.fragment;
- var output = scheme + ':';
- if (host !== null) {
- output += '//';
- if (includesCredentials(url)) {
- output += username + (password ? ':' + password : '') + '@';
- }
- output += serializeHost(host);
- if (port !== null)
- output += ':' + port;
- } else if (scheme == 'file')
- output += '//';
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- if (query !== null)
- output += '?' + query;
- if (fragment !== null)
- output += '#' + fragment;
- return output;
-};
-var getOrigin = function () {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var port = url.port;
- if (scheme == 'blob')
- try {
- return new URL(scheme.path[0]).origin;
- } catch (error) {
- return 'null';
- }
- if (scheme == 'file' || !isSpecial(url))
- return 'null';
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
-};
-var getProtocol = function () {
- return getInternalURLState(this).scheme + ':';
-};
-var getUsername = function () {
- return getInternalURLState(this).username;
-};
-var getPassword = function () {
- return getInternalURLState(this).password;
-};
-var getHost = function () {
- var url = getInternalURLState(this);
- var host = url.host;
- var port = url.port;
- return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
-};
-var getHostname = function () {
- var host = getInternalURLState(this).host;
- return host === null ? '' : serializeHost(host);
-};
-var getPort = function () {
- var port = getInternalURLState(this).port;
- return port === null ? '' : String(port);
-};
-var getPathname = function () {
- var url = getInternalURLState(this);
- var path = url.path;
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
-};
-var getSearch = function () {
- var query = getInternalURLState(this).query;
- return query ? '?' + query : '';
-};
-var getSearchParams = function () {
- return getInternalURLState(this).searchParams;
-};
-var getHash = function () {
- var fragment = getInternalURLState(this).fragment;
- return fragment ? '#' + fragment : '';
-};
-var accessorDescriptor = function (getter, setter) {
- return {
- get: getter,
- set: setter,
- configurable: true,
- enumerable: true
- };
-};
-if (DESCRIPTORS) {
- defineProperties(URLPrototype, {
- href: accessorDescriptor(serializeURL, function (href) {
- var url = getInternalURLState(this);
- var urlString = String(href);
- var failure = parseURL(url, urlString);
- if (failure)
- throw TypeError(failure);
- getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
- }),
- origin: accessorDescriptor(getOrigin),
- protocol: accessorDescriptor(getProtocol, function (protocol) {
- var url = getInternalURLState(this);
- parseURL(url, String(protocol) + ':', SCHEME_START);
- }),
- username: accessorDescriptor(getUsername, function (username) {
- var url = getInternalURLState(this);
- var codePoints = arrayFrom(String(username));
- if (cannotHaveUsernamePasswordPort(url))
- return;
- url.username = '';
- for (var i = 0; i < codePoints.length; i++) {
- url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
- }
- }),
- password: accessorDescriptor(getPassword, function (password) {
- var url = getInternalURLState(this);
- var codePoints = arrayFrom(String(password));
- if (cannotHaveUsernamePasswordPort(url))
- return;
- url.password = '';
- for (var i = 0; i < codePoints.length; i++) {
- url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
- }
- }),
- host: accessorDescriptor(getHost, function (host) {
- var url = getInternalURLState(this);
- if (url.cannotBeABaseURL)
- return;
- parseURL(url, String(host), HOST);
- }),
- hostname: accessorDescriptor(getHostname, function (hostname) {
- var url = getInternalURLState(this);
- if (url.cannotBeABaseURL)
- return;
- parseURL(url, String(hostname), HOSTNAME);
- }),
- port: accessorDescriptor(getPort, function (port) {
- var url = getInternalURLState(this);
- if (cannotHaveUsernamePasswordPort(url))
- return;
- port = String(port);
- if (port == '')
- url.port = null;
- else
- parseURL(url, port, PORT);
- }),
- pathname: accessorDescriptor(getPathname, function (pathname) {
- var url = getInternalURLState(this);
- if (url.cannotBeABaseURL)
- return;
- url.path = [];
- parseURL(url, pathname + '', PATH_START);
- }),
- search: accessorDescriptor(getSearch, function (search) {
- var url = getInternalURLState(this);
- search = String(search);
- if (search == '') {
- url.query = null;
- } else {
- if ('?' == search.charAt(0))
- search = search.slice(1);
- url.query = '';
- parseURL(url, search, QUERY);
- }
- getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
- }),
- searchParams: accessorDescriptor(getSearchParams),
- hash: accessorDescriptor(getHash, function (hash) {
- var url = getInternalURLState(this);
- hash = String(hash);
- if (hash == '') {
- url.fragment = null;
- return;
- }
- if ('#' == hash.charAt(0))
- hash = hash.slice(1);
- url.fragment = '';
- parseURL(url, hash, FRAGMENT);
- })
- });
-}
-redefine(URLPrototype, 'toJSON', function toJSON() {
- return serializeURL.call(this);
-}, { enumerable: true });
-redefine(URLPrototype, 'toString', function toString() {
- return serializeURL.call(this);
-}, { enumerable: true });
-if (NativeURL) {
- var nativeCreateObjectURL = NativeURL.createObjectURL;
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
- if (nativeCreateObjectURL)
- redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
- return nativeCreateObjectURL.apply(NativeURL, arguments);
- });
- if (nativeRevokeObjectURL)
- redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
- return nativeRevokeObjectURL.apply(NativeURL, arguments);
- });
-}
-setToStringTag(URLConstructor, 'URL');
-$({
- global: true,
- forced: !USE_NATIVE_URL,
- sham: !DESCRIPTORS
-}, { URL: URLConstructor });
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_PURE = __w_pdfjs_require__(29);
-var ITERATOR = wellKnownSymbol('iterator');
-module.exports = !fails(function () {
- var url = new URL('b?e=1', 'http://a');
- var searchParams = url.searchParams;
- url.pathname = 'c%20d';
- return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?e=1' || searchParams.get('e') !== '1' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1';
-});
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var maxInt = 2147483647;
-var base = 36;
-var tMin = 1;
-var tMax = 26;
-var skew = 38;
-var damp = 700;
-var initialBias = 72;
-var initialN = 128;
-var delimiter = '-';
-var regexNonASCII = /[^\0-\u007E]/;
-var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
-var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
-var baseMinusTMin = base - tMin;
-var floor = Math.floor;
-var stringFromCharCode = String.fromCharCode;
-var ucs2decode = function (string) {
- var output = [];
- var counter = 0;
- var length = string.length;
- while (counter < length) {
- var value = string.charCodeAt(counter++);
- if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
- var extra = string.charCodeAt(counter++);
- if ((extra & 0xFC00) == 0xDC00) {
- output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
- } else {
- output.push(value);
- counter--;
- }
- } else {
- output.push(value);
- }
- }
- return output;
-};
-var digitToBasic = function (digit) {
- return digit + 22 + 75 * (digit < 26);
-};
-var adapt = function (delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor(delta / damp) : delta >> 1;
- delta += floor(delta / numPoints);
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
- delta = floor(delta / baseMinusTMin);
- }
- return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
-};
-var encode = function (input) {
- var output = [];
- input = ucs2decode(input);
- var inputLength = input.length;
- var n = initialN;
- var delta = 0;
- var bias = initialBias;
- var i, currentValue;
- for (i = 0; i < input.length; i++) {
- currentValue = input[i];
- if (currentValue < 0x80) {
- output.push(stringFromCharCode(currentValue));
- }
- }
- var basicLength = output.length;
- var handledCPCount = basicLength;
- if (basicLength) {
- output.push(delimiter);
- }
- while (handledCPCount < inputLength) {
- var m = maxInt;
- for (i = 0; i < input.length; i++) {
- currentValue = input[i];
- if (currentValue >= n && currentValue < m) {
- m = currentValue;
- }
- }
- var handledCPCountPlusOne = handledCPCount + 1;
- if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
- throw RangeError(OVERFLOW_ERROR);
- }
- delta += (m - n) * handledCPCountPlusOne;
- n = m;
- for (i = 0; i < input.length; i++) {
- currentValue = input[i];
- if (currentValue < n && ++delta > maxInt) {
- throw RangeError(OVERFLOW_ERROR);
- }
- if (currentValue == n) {
- var q = delta;
- for (var k = base;; k += base) {
- var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
- if (q < t)
- break;
- var qMinusT = q - t;
- var baseMinusT = base - t;
- output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
- q = floor(qMinusT / baseMinusT);
- }
- output.push(stringFromCharCode(digitToBasic(q)));
- bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
- delta = 0;
- ++handledCPCount;
- }
- }
- ++delta;
- ++n;
- }
- return output.join('');
-};
-module.exports = function (input) {
- var encoded = [];
- var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
- var i, label;
- for (i = 0; i < labels.length; i++) {
- label = labels[i];
- encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
- }
- return encoded.join('.');
-};
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-__w_pdfjs_require__(104);
-var $ = __w_pdfjs_require__(7);
-var USE_NATIVE_URL = __w_pdfjs_require__(123);
-var redefine = __w_pdfjs_require__(26);
-var redefineAll = __w_pdfjs_require__(107);
-var setToStringTag = __w_pdfjs_require__(77);
-var createIteratorConstructor = __w_pdfjs_require__(72);
-var InternalStateModule = __w_pdfjs_require__(31);
-var anInstance = __w_pdfjs_require__(109);
-var hasOwn = __w_pdfjs_require__(20);
-var bind = __w_pdfjs_require__(55);
-var anObject = __w_pdfjs_require__(25);
-var isObject = __w_pdfjs_require__(19);
-var getIterator = __w_pdfjs_require__(126);
-var getIteratorMethod = __w_pdfjs_require__(86);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var ITERATOR = wellKnownSymbol('iterator');
-var URL_SEARCH_PARAMS = 'URLSearchParams';
-var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
-var setInternalState = InternalStateModule.set;
-var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
-var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
-var plus = /\+/g;
-var sequences = Array(4);
-var percentSequence = function (bytes) {
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
-};
-var percentDecode = function (sequence) {
- try {
- return decodeURIComponent(sequence);
- } catch (error) {
- return sequence;
- }
-};
-var deserialize = function (it) {
- var result = it.replace(plus, ' ');
- var bytes = 4;
- try {
- return decodeURIComponent(result);
- } catch (error) {
- while (bytes) {
- result = result.replace(percentSequence(bytes--), percentDecode);
- }
- return result;
- }
-};
-var find = /[!'()~]|%20/g;
-var replace = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+'
-};
-var replacer = function (match) {
- return replace[match];
-};
-var serialize = function (it) {
- return encodeURIComponent(it).replace(find, replacer);
-};
-var parseSearchParams = function (result, query) {
- if (query) {
- var attributes = query.split('&');
- var index = 0;
- var attribute, entry;
- while (index < attributes.length) {
- attribute = attributes[index++];
- if (attribute.length) {
- entry = attribute.split('=');
- result.push({
- key: deserialize(entry.shift()),
- value: deserialize(entry.join('='))
- });
- }
- }
- }
-};
-var updateSearchParams = function (query) {
- this.entries.length = 0;
- parseSearchParams(this.entries, query);
-};
-var validateArgumentsLength = function (passed, required) {
- if (passed < required)
- throw TypeError('Not enough arguments');
-};
-var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState(this, {
- type: URL_SEARCH_PARAMS_ITERATOR,
- iterator: getIterator(getInternalParamsState(params).entries),
- kind: kind
- });
-}, 'Iterator', function next() {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var step = state.iterator.next();
- var entry = step.value;
- if (!step.done) {
- step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
- entry.key,
- entry.value
- ];
- }
- return step;
-});
-var URLSearchParamsConstructor = function URLSearchParams() {
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- var init = arguments.length > 0 ? arguments[0] : undefined;
- var that = this;
- var entries = [];
- var iteratorMethod, iterator, step, entryIterator, first, second, key;
- setInternalState(that, {
- type: URL_SEARCH_PARAMS,
- entries: entries,
- updateURL: function () {
- },
- updateSearchParams: updateSearchParams
- });
- if (init !== undefined) {
- if (isObject(init)) {
- iteratorMethod = getIteratorMethod(init);
- if (typeof iteratorMethod === 'function') {
- iterator = iteratorMethod.call(init);
- while (!(step = iterator.next()).done) {
- entryIterator = getIterator(anObject(step.value));
- if ((first = entryIterator.next()).done || (second = entryIterator.next()).done || !entryIterator.next().done)
- throw TypeError('Expected sequence with length 2');
- entries.push({
- key: first.value + '',
- value: second.value + ''
- });
- }
- } else
- for (key in init)
- if (hasOwn(init, key))
- entries.push({
- key: key,
- value: init[key] + ''
- });
- } else {
- parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
- }
- }
-};
-var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
-redefineAll(URLSearchParamsPrototype, {
- append: function append(name, value) {
- validateArgumentsLength(arguments.length, 2);
- var state = getInternalParamsState(this);
- state.entries.push({
- key: name + '',
- value: value + ''
- });
- state.updateURL();
- },
- 'delete': function (name) {
- validateArgumentsLength(arguments.length, 1);
- var state = getInternalParamsState(this);
- var entries = state.entries;
- var key = name + '';
- var index = 0;
- while (index < entries.length) {
- if (entries[index].key === key)
- entries.splice(index, 1);
- else
- index++;
- }
- state.updateURL();
- },
- get: function get(name) {
- validateArgumentsLength(arguments.length, 1);
- var entries = getInternalParamsState(this).entries;
- var key = name + '';
- var index = 0;
- for (; index < entries.length; index++) {
- if (entries[index].key === key)
- return entries[index].value;
- }
- return null;
- },
- getAll: function getAll(name) {
- validateArgumentsLength(arguments.length, 1);
- var entries = getInternalParamsState(this).entries;
- var key = name + '';
- var result = [];
- var index = 0;
- for (; index < entries.length; index++) {
- if (entries[index].key === key)
- result.push(entries[index].value);
- }
- return result;
- },
- has: function has(name) {
- validateArgumentsLength(arguments.length, 1);
- var entries = getInternalParamsState(this).entries;
- var key = name + '';
- var index = 0;
- while (index < entries.length) {
- if (entries[index++].key === key)
- return true;
- }
- return false;
- },
- set: function set(name, value) {
- validateArgumentsLength(arguments.length, 1);
- var state = getInternalParamsState(this);
- var entries = state.entries;
- var found = false;
- var key = name + '';
- var val = value + '';
- var index = 0;
- var entry;
- for (; index < entries.length; index++) {
- entry = entries[index];
- if (entry.key === key) {
- if (found)
- entries.splice(index--, 1);
- else {
- found = true;
- entry.value = val;
- }
- }
- }
- if (!found)
- entries.push({
- key: key,
- value: val
- });
- state.updateURL();
- },
- sort: function sort() {
- var state = getInternalParamsState(this);
- var entries = state.entries;
- var slice = entries.slice();
- var entry, entriesIndex, sliceIndex;
- entries.length = 0;
- for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
- entry = slice[sliceIndex];
- for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
- if (entries[entriesIndex].key > entry.key) {
- entries.splice(entriesIndex, 0, entry);
- break;
- }
- }
- if (entriesIndex === sliceIndex)
- entries.push(entry);
- }
- state.updateURL();
- },
- forEach: function forEach(callback) {
- var entries = getInternalParamsState(this).entries;
- var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
- var index = 0;
- var entry;
- while (index < entries.length) {
- entry = entries[index++];
- boundFunction(entry.value, entry.key, this);
- }
- },
- keys: function keys() {
- return new URLSearchParamsIterator(this, 'keys');
- },
- values: function values() {
- return new URLSearchParamsIterator(this, 'values');
- },
- entries: function entries() {
- return new URLSearchParamsIterator(this, 'entries');
- }
-}, { enumerable: true });
-redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
-redefine(URLSearchParamsPrototype, 'toString', function toString() {
- var entries = getInternalParamsState(this).entries;
- var result = [];
- var index = 0;
- var entry;
- while (index < entries.length) {
- entry = entries[index++];
- result.push(serialize(entry.key) + '=' + serialize(entry.value));
- }
- return result.join('&');
-}, { enumerable: true });
-setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
-$({
- global: true,
- forced: !USE_NATIVE_URL
-}, { URLSearchParams: URLSearchParamsConstructor });
-module.exports = {
- URLSearchParams: URLSearchParamsConstructor,
- getState: getInternalParamsState
-};
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var anObject = __w_pdfjs_require__(25);
-var getIteratorMethod = __w_pdfjs_require__(86);
-module.exports = function (it) {
- var iteratorMethod = getIteratorMethod(it);
- if (typeof iteratorMethod != 'function') {
- throw TypeError(String(it) + ' is not iterable');
- }
- return anObject(iteratorMethod.call(it));
-};
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-$({
- target: 'URL',
- proto: true,
- enumerable: true
-}, {
- toJSON: function toJSON() {
- return URL.prototype.toString.call(this);
- }
-});
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(129);
-__w_pdfjs_require__(102);
-var path = __w_pdfjs_require__(39);
-module.exports = path.WeakMap;
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var global = __w_pdfjs_require__(8);
-var redefineAll = __w_pdfjs_require__(107);
-var InternalMetadataModule = __w_pdfjs_require__(130);
-var collection = __w_pdfjs_require__(132);
-var collectionWeak = __w_pdfjs_require__(134);
-var isObject = __w_pdfjs_require__(19);
-var enforceIternalState = __w_pdfjs_require__(31).enforce;
-var NATIVE_WEAK_MAP = __w_pdfjs_require__(32);
-var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
-var isExtensible = Object.isExtensible;
-var InternalWeakMap;
-var wrapper = function (get) {
- return function WeakMap() {
- return get(this, arguments.length ? arguments[0] : undefined);
- };
-};
-var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);
-if (NATIVE_WEAK_MAP && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- InternalMetadataModule.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
- 'delete': function (key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen)
- state.frozen = new InternalWeakMap();
- return nativeDelete.call(this, key) || state.frozen['delete'](key);
- }
- return nativeDelete.call(this, key);
- },
- has: function has(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen)
- state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) || state.frozen.has(key);
- }
- return nativeHas.call(this, key);
- },
- get: function get(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen)
- state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
- }
- return nativeGet.call(this, key);
- },
- set: function set(key, value) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen)
- state.frozen = new InternalWeakMap();
- nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
- } else
- nativeSet.call(this, key, value);
- return this;
- }
- });
-}
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var hiddenKeys = __w_pdfjs_require__(35);
-var isObject = __w_pdfjs_require__(19);
-var has = __w_pdfjs_require__(20);
-var defineProperty = __w_pdfjs_require__(24).f;
-var uid = __w_pdfjs_require__(34);
-var FREEZING = __w_pdfjs_require__(131);
-var METADATA = uid('meta');
-var id = 0;
-var isExtensible = Object.isExtensible || function () {
- return true;
-};
-var setMetadata = function (it) {
- defineProperty(it, METADATA, {
- value: {
- objectID: 'O' + ++id,
- weakData: {}
- }
- });
-};
-var fastKey = function (it, create) {
- if (!isObject(it))
- return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
- if (!has(it, METADATA)) {
- if (!isExtensible(it))
- return 'F';
- if (!create)
- return 'E';
- setMetadata(it);
- }
- return it[METADATA].objectID;
-};
-var getWeakData = function (it, create) {
- if (!has(it, METADATA)) {
- if (!isExtensible(it))
- return true;
- if (!create)
- return false;
- setMetadata(it);
- }
- return it[METADATA].weakData;
-};
-var onFreeze = function (it) {
- if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
- setMetadata(it);
- return it;
-};
-var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
-};
-hiddenKeys[METADATA] = true;
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-module.exports = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
-});
-
-/***/ }),
-/* 132 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var global = __w_pdfjs_require__(8);
-var isForced = __w_pdfjs_require__(48);
-var redefine = __w_pdfjs_require__(26);
-var InternalMetadataModule = __w_pdfjs_require__(130);
-var iterate = __w_pdfjs_require__(110);
-var anInstance = __w_pdfjs_require__(109);
-var isObject = __w_pdfjs_require__(19);
-var fails = __w_pdfjs_require__(11);
-var checkCorrectnessOfIteration = __w_pdfjs_require__(88);
-var setToStringTag = __w_pdfjs_require__(77);
-var inheritIfRequired = __w_pdfjs_require__(133);
-module.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {
- var NativeConstructor = global[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var ADDER = IS_MAP ? 'set' : 'add';
- var exported = {};
- var fixMethod = function (KEY) {
- var nativeMethod = NativePrototype[KEY];
- redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
- nativeMethod.call(this, value === 0 ? 0 : value);
- return this;
- } : KEY == 'delete' ? function (key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'get' ? function get(key) {
- return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'has' ? function has(key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : function set(key, value) {
- nativeMethod.call(this, key === 0 ? 0 : key, value);
- return this;
- });
- };
- if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
- new NativeConstructor().entries().next();
- })))) {
- Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
- InternalMetadataModule.REQUIRED = true;
- } else if (isForced(CONSTRUCTOR_NAME, true)) {
- var instance = new Constructor();
- var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
- var THROWS_ON_PRIMITIVES = fails(function () {
- instance.has(1);
- });
- var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
- new NativeConstructor(iterable);
- });
- var BUGGY_ZERO = !IS_WEAK && fails(function () {
- var $instance = new NativeConstructor();
- var index = 5;
- while (index--)
- $instance[ADDER](index, index);
- return !$instance.has(-0);
- });
- if (!ACCEPT_ITERABLES) {
- Constructor = wrapper(function (dummy, iterable) {
- anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
- var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
- if (iterable != undefined)
- iterate(iterable, that[ADDER], that, IS_MAP);
- return that;
- });
- Constructor.prototype = NativePrototype;
- NativePrototype.constructor = Constructor;
- }
- if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
- if (BUGGY_ZERO || HASNT_CHAINING)
- fixMethod(ADDER);
- if (IS_WEAK && NativePrototype.clear)
- delete NativePrototype.clear;
- }
- exported[CONSTRUCTOR_NAME] = Constructor;
- $({
- global: true,
- forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK)
- common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
-};
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var setPrototypeOf = __w_pdfjs_require__(79);
-module.exports = function ($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
- setPrototypeOf($this, NewTargetPrototype);
- return $this;
-};
-
-/***/ }),
-/* 134 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var redefineAll = __w_pdfjs_require__(107);
-var getWeakData = __w_pdfjs_require__(130).getWeakData;
-var anObject = __w_pdfjs_require__(25);
-var isObject = __w_pdfjs_require__(19);
-var anInstance = __w_pdfjs_require__(109);
-var iterate = __w_pdfjs_require__(110);
-var ArrayIterationModule = __w_pdfjs_require__(135);
-var $has = __w_pdfjs_require__(20);
-var InternalStateModule = __w_pdfjs_require__(31);
-var setInternalState = InternalStateModule.set;
-var internalStateGetterFor = InternalStateModule.getterFor;
-var find = ArrayIterationModule.find;
-var findIndex = ArrayIterationModule.findIndex;
-var id = 0;
-var uncaughtFrozenStore = function (store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
-};
-var UncaughtFrozenStore = function () {
- this.entries = [];
-};
-var findUncaughtFrozen = function (store, key) {
- return find(store.entries, function (it) {
- return it[0] === key;
- });
-};
-UncaughtFrozenStore.prototype = {
- get: function (key) {
- var entry = findUncaughtFrozen(this, key);
- if (entry)
- return entry[1];
- },
- has: function (key) {
- return !!findUncaughtFrozen(this, key);
- },
- set: function (key, value) {
- var entry = findUncaughtFrozen(this, key);
- if (entry)
- entry[1] = value;
- else
- this.entries.push([
- key,
- value
- ]);
- },
- 'delete': function (key) {
- var index = findIndex(this.entries, function (it) {
- return it[0] === key;
- });
- if (~index)
- this.entries.splice(index, 1);
- return !!~index;
- }
-};
-module.exports = {
- getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState(that, {
- type: CONSTRUCTOR_NAME,
- id: id++,
- frozen: undefined
- });
- if (iterable != undefined)
- iterate(iterable, that[ADDER], that, IS_MAP);
- });
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
- var define = function (that, key, value) {
- var state = getInternalState(that);
- var data = getWeakData(anObject(key), true);
- if (data === true)
- uncaughtFrozenStore(state).set(key, value);
- else
- data[state.id] = value;
- return that;
- };
- redefineAll(C.prototype, {
- 'delete': function (key) {
- var state = getInternalState(this);
- if (!isObject(key))
- return false;
- var data = getWeakData(key);
- if (data === true)
- return uncaughtFrozenStore(state)['delete'](key);
- return data && $has(data, state.id) && delete data[state.id];
- },
- has: function has(key) {
- var state = getInternalState(this);
- if (!isObject(key))
- return false;
- var data = getWeakData(key);
- if (data === true)
- return uncaughtFrozenStore(state).has(key);
- return data && $has(data, state.id);
- }
- });
- redefineAll(C.prototype, IS_MAP ? {
- get: function get(key) {
- var state = getInternalState(this);
- if (isObject(key)) {
- var data = getWeakData(key);
- if (data === true)
- return uncaughtFrozenStore(state).get(key);
- return data ? data[state.id] : undefined;
- }
- },
- set: function set(key, value) {
- return define(this, key, value);
- }
- } : {
- add: function add(value) {
- return define(this, value, true);
- }
- });
- return C;
- }
-};
-
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var bind = __w_pdfjs_require__(55);
-var IndexedObject = __w_pdfjs_require__(15);
-var toObject = __w_pdfjs_require__(75);
-var toLength = __w_pdfjs_require__(43);
-var arraySpeciesCreate = __w_pdfjs_require__(136);
-var push = [].push;
-var createMethod = function (TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
- var O = toObject($this);
- var self = IndexedObject(O);
- var boundFunction = bind(callbackfn, that, 3);
- var length = toLength(self.length);
- var index = 0;
- var create = specificCreate || arraySpeciesCreate;
- var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
- var value, result;
- for (; length > index; index++)
- if (NO_HOLES || index in self) {
- value = self[index];
- result = boundFunction(value, index, O);
- if (TYPE) {
- if (IS_MAP)
- target[index] = result;
- else if (result)
- switch (TYPE) {
- case 3:
- return true;
- case 5:
- return value;
- case 6:
- return index;
- case 2:
- push.call(target, value);
- }
- else if (IS_EVERY)
- return false;
- }
- }
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
-};
-module.exports = {
- forEach: createMethod(0),
- map: createMethod(1),
- filter: createMethod(2),
- some: createMethod(3),
- every: createMethod(4),
- find: createMethod(5),
- findIndex: createMethod(6)
-};
-
-/***/ }),
-/* 136 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var isObject = __w_pdfjs_require__(19);
-var isArray = __w_pdfjs_require__(137);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (originalArray, length) {
- var C;
- if (isArray(originalArray)) {
- C = originalArray.constructor;
- if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
- C = undefined;
- else if (isObject(C)) {
- C = C[SPECIES];
- if (C === null)
- C = undefined;
- }
- }
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
-};
-
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var classof = __w_pdfjs_require__(16);
-module.exports = Array.isArray || function isArray(arg) {
- return classof(arg) == 'Array';
-};
-
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(139);
-__w_pdfjs_require__(102);
-var path = __w_pdfjs_require__(39);
-module.exports = path.WeakSet;
-
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var collection = __w_pdfjs_require__(132);
-var collectionWeak = __w_pdfjs_require__(134);
-collection('WeakSet', function (get) {
- return function WeakSet() {
- return get(this, arguments.length ? arguments[0] : undefined);
- };
-}, collectionWeak, false, true);
-
-/***/ }),
-/* 140 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(141);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'codePointAt');
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var codeAt = __w_pdfjs_require__(70).codeAt;
-$({
- target: 'String',
- proto: true
-}, {
- codePointAt: function codePointAt(pos) {
- return codeAt(this, pos);
- }
-});
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(143);
-var path = __w_pdfjs_require__(39);
-module.exports = path.String.fromCodePoint;
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var toAbsoluteIndex = __w_pdfjs_require__(45);
-var fromCharCode = String.fromCharCode;
-var nativeFromCodePoint = String.fromCodePoint;
-var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
-$({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
-}, {
- fromCodePoint: function fromCodePoint(x) {
- var elements = [];
- var length = arguments.length;
- var i = 0;
- var code;
- while (length > i) {
- code = +arguments[i++];
- if (toAbsoluteIndex(code, 0x10FFFF) !== code)
- throw RangeError(code + ' is not a valid code point');
- elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
- }
- return elements.join('');
- }
-});
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(145);
-__w_pdfjs_require__(100);
-__w_pdfjs_require__(147);
-__w_pdfjs_require__(151);
-__w_pdfjs_require__(152);
-__w_pdfjs_require__(153);
-__w_pdfjs_require__(154);
-__w_pdfjs_require__(155);
-__w_pdfjs_require__(156);
-__w_pdfjs_require__(157);
-__w_pdfjs_require__(158);
-__w_pdfjs_require__(159);
-__w_pdfjs_require__(160);
-__w_pdfjs_require__(161);
-__w_pdfjs_require__(162);
-__w_pdfjs_require__(163);
-__w_pdfjs_require__(164);
-__w_pdfjs_require__(165);
-__w_pdfjs_require__(166);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Symbol;
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var fails = __w_pdfjs_require__(11);
-var isArray = __w_pdfjs_require__(137);
-var isObject = __w_pdfjs_require__(19);
-var toObject = __w_pdfjs_require__(75);
-var toLength = __w_pdfjs_require__(43);
-var createProperty = __w_pdfjs_require__(85);
-var arraySpeciesCreate = __w_pdfjs_require__(136);
-var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(146);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
-var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
-var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
-var IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
-});
-var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-var isConcatSpreadable = function (O) {
- if (!isObject(O))
- return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
-};
-var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
-$({
- target: 'Array',
- proto: true,
- forced: FORCED
-}, {
- concat: function concat(arg) {
- var O = toObject(this);
- var A = arraySpeciesCreate(O, 0);
- var n = 0;
- var i, k, length, len, E;
- for (i = -1, length = arguments.length; i < length; i++) {
- E = i === -1 ? O : arguments[i];
- if (isConcatSpreadable(E)) {
- len = toLength(E.length);
- if (n + len > MAX_SAFE_INTEGER)
- throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
- for (k = 0; k < len; k++, n++)
- if (k in E)
- createProperty(A, n, E[k]);
- } else {
- if (n >= MAX_SAFE_INTEGER)
- throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
- createProperty(A, n++, E);
- }
- }
- A.length = n;
- return A;
- }
-});
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var fails = __w_pdfjs_require__(11);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var SPECIES = wellKnownSymbol('species');
-module.exports = function (METHOD_NAME) {
- return !fails(function () {
- var array = [];
- var constructor = array.constructor = {};
- constructor[SPECIES] = function () {
- return { foo: 1 };
- };
- return array[METHOD_NAME](Boolean).foo !== 1;
- });
-};
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var global = __w_pdfjs_require__(8);
-var IS_PURE = __w_pdfjs_require__(29);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var NATIVE_SYMBOL = __w_pdfjs_require__(52);
-var fails = __w_pdfjs_require__(11);
-var has = __w_pdfjs_require__(20);
-var isArray = __w_pdfjs_require__(137);
-var isObject = __w_pdfjs_require__(19);
-var anObject = __w_pdfjs_require__(25);
-var toObject = __w_pdfjs_require__(75);
-var toIndexedObject = __w_pdfjs_require__(14);
-var toPrimitive = __w_pdfjs_require__(18);
-var createPropertyDescriptor = __w_pdfjs_require__(13);
-var nativeObjectCreate = __w_pdfjs_require__(64);
-var objectKeys = __w_pdfjs_require__(66);
-var getOwnPropertyNamesModule = __w_pdfjs_require__(40);
-var getOwnPropertyNamesExternal = __w_pdfjs_require__(148);
-var getOwnPropertySymbolsModule = __w_pdfjs_require__(47);
-var getOwnPropertyDescriptorModule = __w_pdfjs_require__(9);
-var definePropertyModule = __w_pdfjs_require__(24);
-var propertyIsEnumerableModule = __w_pdfjs_require__(12);
-var hide = __w_pdfjs_require__(23);
-var redefine = __w_pdfjs_require__(26);
-var shared = __w_pdfjs_require__(27);
-var sharedKey = __w_pdfjs_require__(33);
-var hiddenKeys = __w_pdfjs_require__(35);
-var uid = __w_pdfjs_require__(34);
-var wellKnownSymbol = __w_pdfjs_require__(51);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-var setToStringTag = __w_pdfjs_require__(77);
-var InternalStateModule = __w_pdfjs_require__(31);
-var $forEach = __w_pdfjs_require__(135).forEach;
-var HIDDEN = sharedKey('hidden');
-var SYMBOL = 'Symbol';
-var PROTOTYPE = 'prototype';
-var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
-var setInternalState = InternalStateModule.set;
-var getInternalState = InternalStateModule.getterFor(SYMBOL);
-var ObjectPrototype = Object[PROTOTYPE];
-var $Symbol = global.Symbol;
-var JSON = global.JSON;
-var nativeJSONStringify = JSON && JSON.stringify;
-var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
-var nativeDefineProperty = definePropertyModule.f;
-var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
-var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
-var AllSymbols = shared('symbols');
-var ObjectPrototypeSymbols = shared('op-symbols');
-var StringToSymbolRegistry = shared('string-to-symbol-registry');
-var SymbolToStringRegistry = shared('symbol-to-string-registry');
-var WellKnownSymbolsStore = shared('wks');
-var QObject = global.QObject;
-var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
-var setSymbolDescriptor = DESCRIPTORS && fails(function () {
- return nativeObjectCreate(nativeDefineProperty({}, 'a', {
- get: function () {
- return nativeDefineProperty(this, 'a', { value: 7 }).a;
- }
- })).a != 7;
-}) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor)
- delete ObjectPrototype[P];
- nativeDefineProperty(O, P, Attributes);
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
- nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
-} : nativeDefineProperty;
-var wrap = function (tag, description) {
- var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
- setInternalState(symbol, {
- type: SYMBOL,
- tag: tag,
- description: description
- });
- if (!DESCRIPTORS)
- symbol.description = description;
- return symbol;
-};
-var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {
- return typeof it == 'symbol';
-} : function (it) {
- return Object(it) instanceof $Symbol;
-};
-var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype)
- $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
- if (has(AllSymbols, key)) {
- if (!Attributes.enumerable) {
- if (!has(O, HIDDEN))
- nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
- O[HIDDEN][key] = true;
- } else {
- if (has(O, HIDDEN) && O[HIDDEN][key])
- O[HIDDEN][key] = false;
- Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
- }
- return setSymbolDescriptor(O, key, Attributes);
- }
- return nativeDefineProperty(O, key, Attributes);
-};
-var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
- if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
- $defineProperty(O, key, properties[key]);
- });
- return O;
-};
-var $create = function create(O, Properties) {
- return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
-};
-var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
- return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
-};
-var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
- return;
- var descriptor = nativeGetOwnPropertyDescriptor(it, key);
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
- descriptor.enumerable = true;
- }
- return descriptor;
-};
-var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
- if (!has(AllSymbols, key) && !has(hiddenKeys, key))
- result.push(key);
- });
- return result;
-};
-var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
- if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
- result.push(AllSymbols[key]);
- }
- });
- return result;
-};
-if (!NATIVE_SYMBOL) {
- $Symbol = function Symbol() {
- if (this instanceof $Symbol)
- throw TypeError('Symbol is not a constructor');
- var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
- var tag = uid(description);
- var setter = function (value) {
- if (this === ObjectPrototype)
- setter.call(ObjectPrototypeSymbols, value);
- if (has(this, HIDDEN) && has(this[HIDDEN], tag))
- this[HIDDEN][tag] = false;
- setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
- };
- if (DESCRIPTORS && USE_SETTER)
- setSymbolDescriptor(ObjectPrototype, tag, {
- configurable: true,
- set: setter
- });
- return wrap(tag, description);
- };
- redefine($Symbol[PROTOTYPE], 'toString', function toString() {
- return getInternalState(this).tag;
- });
- propertyIsEnumerableModule.f = $propertyIsEnumerable;
- definePropertyModule.f = $defineProperty;
- getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
- getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
- if (DESCRIPTORS) {
- nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
- configurable: true,
- get: function description() {
- return getInternalState(this).description;
- }
- });
- if (!IS_PURE) {
- redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
- }
- }
- wrappedWellKnownSymbolModule.f = function (name) {
- return wrap(wellKnownSymbol(name), name);
- };
-}
-$({
- global: true,
- wrap: true,
- forced: !NATIVE_SYMBOL,
- sham: !NATIVE_SYMBOL
-}, { Symbol: $Symbol });
-$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
- defineWellKnownSymbol(name);
-});
-$({
- target: SYMBOL,
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- 'for': function (key) {
- var string = String(key);
- if (has(StringToSymbolRegistry, string))
- return StringToSymbolRegistry[string];
- var symbol = $Symbol(string);
- StringToSymbolRegistry[string] = symbol;
- SymbolToStringRegistry[symbol] = string;
- return symbol;
- },
- keyFor: function keyFor(sym) {
- if (!isSymbol(sym))
- throw TypeError(sym + ' is not a symbol');
- if (has(SymbolToStringRegistry, sym))
- return SymbolToStringRegistry[sym];
- },
- useSetter: function () {
- USE_SETTER = true;
- },
- useSimple: function () {
- USE_SETTER = false;
- }
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL,
- sham: !DESCRIPTORS
-}, {
- create: $create,
- defineProperty: $defineProperty,
- defineProperties: $defineProperties,
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
-});
-$({
- target: 'Object',
- stat: true,
- forced: !NATIVE_SYMBOL
-}, {
- getOwnPropertyNames: $getOwnPropertyNames,
- getOwnPropertySymbols: $getOwnPropertySymbols
-});
-$({
- target: 'Object',
- stat: true,
- forced: fails(function () {
- getOwnPropertySymbolsModule.f(1);
- })
-}, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
- return getOwnPropertySymbolsModule.f(toObject(it));
- }
-});
-JSON && $({
- target: 'JSON',
- stat: true,
- forced: !NATIVE_SYMBOL || fails(function () {
- var symbol = $Symbol();
- return nativeJSONStringify([symbol]) != '[null]' || nativeJSONStringify({ a: symbol }) != '{}' || nativeJSONStringify(Object(symbol)) != '{}';
- })
-}, {
- stringify: function stringify(it) {
- var args = [it];
- var index = 1;
- var replacer, $replacer;
- while (arguments.length > index)
- args.push(arguments[index++]);
- $replacer = replacer = args[1];
- if (!isObject(replacer) && it === undefined || isSymbol(it))
- return;
- if (!isArray(replacer))
- replacer = function (key, value) {
- if (typeof $replacer == 'function')
- value = $replacer.call(this, key, value);
- if (!isSymbol(value))
- return value;
- };
- args[1] = replacer;
- return nativeJSONStringify.apply(JSON, args);
- }
-});
-if (!$Symbol[PROTOTYPE][TO_PRIMITIVE])
- hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
-setToStringTag($Symbol, SYMBOL);
-hiddenKeys[HIDDEN] = true;
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toIndexedObject = __w_pdfjs_require__(14);
-var nativeGetOwnPropertyNames = __w_pdfjs_require__(40).f;
-var toString = {}.toString;
-var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-var getWindowNames = function (it) {
- try {
- return nativeGetOwnPropertyNames(it);
- } catch (error) {
- return windowNames.slice();
- }
-};
-module.exports.f = function getOwnPropertyNames(it) {
- return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
-};
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-exports.f = __w_pdfjs_require__(51);
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var path = __w_pdfjs_require__(39);
-var has = __w_pdfjs_require__(20);
-var wrappedWellKnownSymbolModule = __w_pdfjs_require__(149);
-var defineProperty = __w_pdfjs_require__(24).f;
-module.exports = function (NAME) {
- var Symbol = path.Symbol || (path.Symbol = {});
- if (!has(Symbol, NAME))
- defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
-};
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('asyncIterator');
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var global = __w_pdfjs_require__(8);
-var has = __w_pdfjs_require__(20);
-var isObject = __w_pdfjs_require__(19);
-var defineProperty = __w_pdfjs_require__(24).f;
-var copyConstructorProperties = __w_pdfjs_require__(36);
-var NativeSymbol = global.Symbol;
-if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {};
- var SymbolWrapper = function Symbol() {
- var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
- var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);
- if (description === '')
- EmptyStringDescriptionStore[result] = true;
- return result;
- };
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
- var native = String(NativeSymbol('test')) == 'Symbol(test)';
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty(symbolPrototype, 'description', {
- configurable: true,
- get: function description() {
- var symbol = isObject(this) ? this.valueOf() : this;
- var string = symbolToString.call(symbol);
- if (has(EmptyStringDescriptionStore, symbol))
- return '';
- var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
- return desc === '' ? undefined : desc;
- }
- });
- $({
- global: true,
- forced: true
- }, { Symbol: SymbolWrapper });
-}
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('hasInstance');
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('isConcatSpreadable');
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('iterator');
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('match');
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('matchAll');
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('replace');
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('search');
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('species');
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('split');
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('toPrimitive');
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('toStringTag');
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var defineWellKnownSymbol = __w_pdfjs_require__(150);
-defineWellKnownSymbol('unscopables');
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var setToStringTag = __w_pdfjs_require__(77);
-setToStringTag(Math, 'Math', true);
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var global = __w_pdfjs_require__(8);
-var setToStringTag = __w_pdfjs_require__(77);
-setToStringTag(global.JSON, 'JSON', true);
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(168);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'padStart');
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var $padStart = __w_pdfjs_require__(169).start;
-var WEBKIT_BUG = __w_pdfjs_require__(171);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padStart: function padStart(maxLength) {
- return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var toLength = __w_pdfjs_require__(43);
-var repeat = __w_pdfjs_require__(170);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-var ceil = Math.ceil;
-var createMethod = function (IS_END) {
- return function ($this, maxLength, fillString) {
- var S = String(requireObjectCoercible($this));
- var stringLength = S.length;
- var fillStr = fillString === undefined ? ' ' : String(fillString);
- var intMaxLength = toLength(maxLength);
- var fillLen, stringFiller;
- if (intMaxLength <= stringLength || fillStr == '')
- return S;
- fillLen = intMaxLength - stringLength;
- stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
- if (stringFiller.length > fillLen)
- stringFiller = stringFiller.slice(0, fillLen);
- return IS_END ? S + stringFiller : stringFiller + S;
- };
-};
-module.exports = {
- start: createMethod(false),
- end: createMethod(true)
-};
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var toInteger = __w_pdfjs_require__(44);
-var requireObjectCoercible = __w_pdfjs_require__(17);
-module.exports = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity)
- throw RangeError('Wrong number of repetitions');
- for (; n > 0; (n >>>= 1) && (str += str))
- if (n & 1)
- result += str;
- return result;
-};
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var userAgent = __w_pdfjs_require__(114);
-module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(173);
-var entryUnbind = __w_pdfjs_require__(54);
-module.exports = entryUnbind('String', 'padEnd');
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-var $ = __w_pdfjs_require__(7);
-var $padEnd = __w_pdfjs_require__(169).end;
-var WEBKIT_BUG = __w_pdfjs_require__(171);
-$({
- target: 'String',
- proto: true,
- forced: WEBKIT_BUG
-}, {
- padEnd: function padEnd(maxLength) {
- return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
-});
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-__w_pdfjs_require__(175);
-var path = __w_pdfjs_require__(39);
-module.exports = path.Object.values;
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var $ = __w_pdfjs_require__(7);
-var $values = __w_pdfjs_require__(176).values;
-$({
- target: 'Object',
- stat: true
-}, {
- values: function values(O) {
- return $values(O);
- }
-});
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-var DESCRIPTORS = __w_pdfjs_require__(10);
-var objectKeys = __w_pdfjs_require__(66);
-var toIndexedObject = __w_pdfjs_require__(14);
-var propertyIsEnumerable = __w_pdfjs_require__(12).f;
-var createMethod = function (TO_ENTRIES) {
- return function (it) {
- var O = toIndexedObject(it);
- var keys = objectKeys(O);
- var length = keys.length;
- var i = 0;
- var result = [];
- var key;
- while (length > i) {
- key = keys[i++];
- if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
- result.push(TO_ENTRIES ? [
- key,
- O[key]
- ] : O[key]);
- }
- }
- return result;
- };
-};
-module.exports = {
- entries: createMethod(true),
- values: createMethod(false)
-};
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-{
- var isReadableStreamSupported = false;
-
- if (typeof ReadableStream !== 'undefined') {
- try {
- new ReadableStream({
- start: function start(controller) {
- controller.close();
- }
- });
- isReadableStreamSupported = true;
- } catch (e) {}
- }
-
- if (isReadableStreamSupported) {
- exports.ReadableStream = ReadableStream;
- } else {
- exports.ReadableStream = __w_pdfjs_require__(178).ReadableStream;
- }
-}
-
-/***/ }),
-/* 178 */
-/***/ (function(__webpack_module__, __webpack_exports__, __w_pdfjs_require__) {
-
-"use strict";
-__w_pdfjs_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "ByteLengthQueuingStrategy", function() { return ByteLengthQueuingStrategy; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "CountQueuingStrategy", function() { return CountQueuingStrategy; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "ReadableStream", function() { return ReadableStream; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "TransformStream", function() { return TransformStream; });
-/* harmony export (binding) */ __w_pdfjs_require__.d(__webpack_exports__, "WritableStream", function() { return WritableStream; });
-var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
- return "Symbol(" + description + ")";
-};
-function noop() {
-}
-var NumberIsNaN = Number.isNaN || function (x) {
- return x !== x;
-};
-function typeIsObject(x) {
- return typeof x === 'object' && x !== null || typeof x === 'function';
-}
-function createArrayFromList(elements) {
- return elements.slice();
-}
-function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
- new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
-}
-function IsFiniteNonNegativeNumber(v) {
- if (IsNonNegativeNumber(v) === false) {
- return false;
- }
- if (v === Infinity) {
- return false;
- }
- return true;
-}
-function IsNonNegativeNumber(v) {
- if (typeof v !== 'number') {
- return false;
- }
- if (NumberIsNaN(v)) {
- return false;
- }
- if (v < 0) {
- return false;
- }
- return true;
-}
-function Call(F, V, args) {
- if (typeof F !== 'function') {
- throw new TypeError('Argument is not a function');
- }
- return Function.prototype.apply.call(F, V, args);
-}
-function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
- var method = underlyingObject[methodName];
- if (method !== undefined) {
- if (typeof method !== 'function') {
- throw new TypeError(method + " is not a method");
- }
- switch (algoArgCount) {
- case 0: {
- return function () {
- return PromiseCall(method, underlyingObject, extraArgs);
- };
- }
- case 1: {
- return function (arg) {
- var fullArgs = [arg].concat(extraArgs);
- return PromiseCall(method, underlyingObject, fullArgs);
- };
- }
- }
- }
- return function () {
- return Promise.resolve();
- };
-}
-function InvokeOrNoop(O, P, args) {
- var method = O[P];
- if (method === undefined) {
- return undefined;
- }
- return Call(method, O, args);
-}
-function PromiseCall(F, V, args) {
- try {
- return Promise.resolve(Call(F, V, args));
- } catch (value) {
- return Promise.reject(value);
- }
-}
-function TransferArrayBuffer(O) {
- return O;
-}
-function IsDetachedBuffer(O) {
- return false;
-}
-function ValidateAndNormalizeHighWaterMark(highWaterMark) {
- highWaterMark = Number(highWaterMark);
- if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
- throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
- }
- return highWaterMark;
-}
-function MakeSizeAlgorithmFromSizeFunction(size) {
- if (size === undefined) {
- return function () {
- return 1;
- };
- }
- if (typeof size !== 'function') {
- throw new TypeError('size property of a queuing strategy must be a function');
- }
- return function (chunk) {
- return size(chunk);
- };
-}
-var QUEUE_MAX_ARRAY_SIZE = 16384;
-var SimpleQueue = function () {
- function SimpleQueue() {
- this._cursor = 0;
- this._size = 0;
- this._front = {
- _elements: [],
- _next: undefined
- };
- this._back = this._front;
- this._cursor = 0;
- this._size = 0;
- }
- Object.defineProperty(SimpleQueue.prototype, "length", {
- get: function () {
- return this._size;
- },
- enumerable: true,
- configurable: true
- });
- SimpleQueue.prototype.push = function (element) {
- var oldBack = this._back;
- var newBack = oldBack;
- if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
- newBack = {
- _elements: [],
- _next: undefined
- };
- }
- oldBack._elements.push(element);
- if (newBack !== oldBack) {
- this._back = newBack;
- oldBack._next = newBack;
- }
- ++this._size;
- };
- SimpleQueue.prototype.shift = function () {
- var oldFront = this._front;
- var newFront = oldFront;
- var oldCursor = this._cursor;
- var newCursor = oldCursor + 1;
- var elements = oldFront._elements;
- var element = elements[oldCursor];
- if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
- newFront = oldFront._next;
- newCursor = 0;
- }
- --this._size;
- this._cursor = newCursor;
- if (oldFront !== newFront) {
- this._front = newFront;
- }
- elements[oldCursor] = undefined;
- return element;
- };
- SimpleQueue.prototype.forEach = function (callback) {
- var i = this._cursor;
- var node = this._front;
- var elements = node._elements;
- while (i !== elements.length || node._next !== undefined) {
- if (i === elements.length) {
- node = node._next;
- elements = node._elements;
- i = 0;
- if (elements.length === 0) {
- break;
- }
- }
- callback(elements[i]);
- ++i;
- }
- };
- SimpleQueue.prototype.peek = function () {
- var front = this._front;
- var cursor = this._cursor;
- return front._elements[cursor];
- };
- return SimpleQueue;
-}();
-function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
- var prototype = null;
- if (forAuthorCode === true) {
- prototype = Object.prototype;
- }
- var obj = Object.create(prototype);
- obj.value = value;
- obj.done = done;
- return obj;
-}
-function ReadableStreamReaderGenericInitialize(reader, stream) {
- reader._forAuthorCode = true;
- reader._ownerReadableStream = stream;
- stream._reader = reader;
- if (stream._state === 'readable') {
- defaultReaderClosedPromiseInitialize(reader);
- } else if (stream._state === 'closed') {
- defaultReaderClosedPromiseInitializeAsResolved(reader);
- } else {
- defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
- }
-}
-function ReadableStreamReaderGenericCancel(reader, reason) {
- var stream = reader._ownerReadableStream;
- return ReadableStreamCancel(stream, reason);
-}
-function ReadableStreamReaderGenericRelease(reader) {
- if (reader._ownerReadableStream._state === 'readable') {
- defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
- } else {
- defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
- }
- reader._ownerReadableStream._reader = undefined;
- reader._ownerReadableStream = undefined;
-}
-function readerLockException(name) {
- return new TypeError('Cannot ' + name + ' a stream using a released reader');
-}
-function defaultReaderClosedPromiseInitialize(reader) {
- reader._closedPromise = new Promise(function (resolve, reject) {
- reader._closedPromise_resolve = resolve;
- reader._closedPromise_reject = reject;
- });
-}
-function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
- defaultReaderClosedPromiseInitialize(reader);
- defaultReaderClosedPromiseReject(reader, reason);
-}
-function defaultReaderClosedPromiseInitializeAsResolved(reader) {
- defaultReaderClosedPromiseInitialize(reader);
- defaultReaderClosedPromiseResolve(reader);
-}
-function defaultReaderClosedPromiseReject(reader, reason) {
- reader._closedPromise.catch(noop);
- reader._closedPromise_reject(reason);
- reader._closedPromise_resolve = undefined;
- reader._closedPromise_reject = undefined;
-}
-function defaultReaderClosedPromiseResetToRejected(reader, reason) {
- defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
-}
-function defaultReaderClosedPromiseResolve(reader) {
- reader._closedPromise_resolve(undefined);
- reader._closedPromise_resolve = undefined;
- reader._closedPromise_reject = undefined;
-}
-var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
-var PullSteps = SymbolPolyfill('[[PullSteps]]');
-function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
- if (forAuthorCode === void 0) {
- forAuthorCode = false;
- }
- var reader = new ReadableStreamDefaultReader(stream);
- reader._forAuthorCode = forAuthorCode;
- return reader;
-}
-function ReadableStreamAddReadRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
- var readRequest = {
- _resolve: resolve,
- _reject: reject
- };
- stream._reader._readRequests.push(readRequest);
- });
- return promise;
-}
-function ReadableStreamFulfillReadRequest(stream, chunk, done) {
- var reader = stream._reader;
- var readRequest = reader._readRequests.shift();
- readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
-}
-function ReadableStreamGetNumReadRequests(stream) {
- return stream._reader._readRequests.length;
-}
-function ReadableStreamHasDefaultReader(stream) {
- var reader = stream._reader;
- if (reader === undefined) {
- return false;
- }
- if (!IsReadableStreamDefaultReader(reader)) {
- return false;
- }
- return true;
-}
-var ReadableStreamDefaultReader = function () {
- function ReadableStreamDefaultReader(stream) {
- if (IsReadableStream(stream) === false) {
- throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
- }
- if (IsReadableStreamLocked(stream) === true) {
- throw new TypeError('This stream has already been locked for exclusive reading by another reader');
- }
- ReadableStreamReaderGenericInitialize(this, stream);
- this._readRequests = new SimpleQueue();
- }
- Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
- get: function () {
- if (!IsReadableStreamDefaultReader(this)) {
- return Promise.reject(defaultReaderBrandCheckException('closed'));
- }
- return this._closedPromise;
- },
- enumerable: true,
- configurable: true
- });
- ReadableStreamDefaultReader.prototype.cancel = function (reason) {
- if (!IsReadableStreamDefaultReader(this)) {
- return Promise.reject(defaultReaderBrandCheckException('cancel'));
- }
- if (this._ownerReadableStream === undefined) {
- return Promise.reject(readerLockException('cancel'));
- }
- return ReadableStreamReaderGenericCancel(this, reason);
- };
- ReadableStreamDefaultReader.prototype.read = function () {
- if (!IsReadableStreamDefaultReader(this)) {
- return Promise.reject(defaultReaderBrandCheckException('read'));
- }
- if (this._ownerReadableStream === undefined) {
- return Promise.reject(readerLockException('read from'));
- }
- return ReadableStreamDefaultReaderRead(this);
- };
- ReadableStreamDefaultReader.prototype.releaseLock = function () {
- if (!IsReadableStreamDefaultReader(this)) {
- throw defaultReaderBrandCheckException('releaseLock');
- }
- if (this._ownerReadableStream === undefined) {
- return;
- }
- if (this._readRequests.length > 0) {
- throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
- }
- ReadableStreamReaderGenericRelease(this);
- };
- return ReadableStreamDefaultReader;
-}();
-function IsReadableStreamDefaultReader(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
- return false;
- }
- return true;
-}
-function ReadableStreamDefaultReaderRead(reader) {
- var stream = reader._ownerReadableStream;
- stream._disturbed = true;
- if (stream._state === 'closed') {
- return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
- }
- if (stream._state === 'errored') {
- return Promise.reject(stream._storedError);
- }
- return stream._readableStreamController[PullSteps]();
-}
-function defaultReaderBrandCheckException(name) {
- return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
-}
-var _a;
-var AsyncIteratorPrototype;
-if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
- AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
- return this;
- }, _a);
- Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
-}
-var ReadableStreamAsyncIteratorPrototype = {
- next: function () {
- if (IsReadableStreamAsyncIterator(this) === false) {
- return Promise.reject(streamAsyncIteratorBrandCheckException('next'));
- }
- var reader = this._asyncIteratorReader;
- if (reader._ownerReadableStream === undefined) {
- return Promise.reject(readerLockException('iterate'));
- }
- return ReadableStreamDefaultReaderRead(reader).then(function (result) {
- var done = result.done;
- if (done) {
- ReadableStreamReaderGenericRelease(reader);
- }
- var value = result.value;
- return ReadableStreamCreateReadResult(value, done, true);
- });
- },
- return: function (value) {
- if (IsReadableStreamAsyncIterator(this) === false) {
- return Promise.reject(streamAsyncIteratorBrandCheckException('next'));
- }
- var reader = this._asyncIteratorReader;
- if (reader._ownerReadableStream === undefined) {
- return Promise.reject(readerLockException('finish iterating'));
- }
- if (reader._readRequests.length > 0) {
- return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));
- }
- if (this._preventCancel === false) {
- var result = ReadableStreamReaderGenericCancel(reader, value);
- ReadableStreamReaderGenericRelease(reader);
- return result.then(function () {
- return ReadableStreamCreateReadResult(value, true, true);
- });
- }
- ReadableStreamReaderGenericRelease(reader);
- return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));
- }
-};
-if (AsyncIteratorPrototype !== undefined) {
- Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
-}
-Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
-Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
-function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
- if (preventCancel === void 0) {
- preventCancel = false;
- }
- var reader = AcquireReadableStreamDefaultReader(stream);
- var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
- iterator._asyncIteratorReader = reader;
- iterator._preventCancel = Boolean(preventCancel);
- return iterator;
-}
-function IsReadableStreamAsyncIterator(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
- return false;
- }
- return true;
-}
-function streamAsyncIteratorBrandCheckException(name) {
- return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
-}
-var rethrowAssertionErrorRejection = noop;
-function DequeueValue(container) {
- var pair = container._queue.shift();
- container._queueTotalSize -= pair.size;
- if (container._queueTotalSize < 0) {
- container._queueTotalSize = 0;
- }
- return pair.value;
-}
-function EnqueueValueWithSize(container, value, size) {
- size = Number(size);
- if (!IsFiniteNonNegativeNumber(size)) {
- throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
- }
- container._queue.push({
- value: value,
- size: size
- });
- container._queueTotalSize += size;
-}
-function PeekQueueValue(container) {
- var pair = container._queue.peek();
- return pair.value;
-}
-function ResetQueue(container) {
- container._queue = new SimpleQueue();
- container._queueTotalSize = 0;
-}
-var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
-var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
-var WritableStream = function () {
- function WritableStream(underlyingSink, strategy) {
- if (underlyingSink === void 0) {
- underlyingSink = {};
- }
- if (strategy === void 0) {
- strategy = {};
- }
- InitializeWritableStream(this);
- var size = strategy.size;
- var highWaterMark = strategy.highWaterMark;
- var type = underlyingSink.type;
- if (type !== undefined) {
- throw new RangeError('Invalid type is specified');
- }
- var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
- if (highWaterMark === undefined) {
- highWaterMark = 1;
- }
- highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
- SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
- }
- Object.defineProperty(WritableStream.prototype, "locked", {
- get: function () {
- if (IsWritableStream(this) === false) {
- throw streamBrandCheckException('locked');
- }
- return IsWritableStreamLocked(this);
- },
- enumerable: true,
- configurable: true
- });
- WritableStream.prototype.abort = function (reason) {
- if (IsWritableStream(this) === false) {
- return Promise.reject(streamBrandCheckException('abort'));
- }
- if (IsWritableStreamLocked(this) === true) {
- return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));
- }
- return WritableStreamAbort(this, reason);
- };
- WritableStream.prototype.getWriter = function () {
- if (IsWritableStream(this) === false) {
- throw streamBrandCheckException('getWriter');
- }
- return AcquireWritableStreamDefaultWriter(this);
- };
- return WritableStream;
-}();
-function AcquireWritableStreamDefaultWriter(stream) {
- return new WritableStreamDefaultWriter(stream);
-}
-function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
- if (highWaterMark === void 0) {
- highWaterMark = 1;
- }
- if (sizeAlgorithm === void 0) {
- sizeAlgorithm = function () {
- return 1;
- };
- }
- var stream = Object.create(WritableStream.prototype);
- InitializeWritableStream(stream);
- var controller = Object.create(WritableStreamDefaultController.prototype);
- SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
- return stream;
-}
-function InitializeWritableStream(stream) {
- stream._state = 'writable';
- stream._storedError = undefined;
- stream._writer = undefined;
- stream._writableStreamController = undefined;
- stream._writeRequests = new SimpleQueue();
- stream._inFlightWriteRequest = undefined;
- stream._closeRequest = undefined;
- stream._inFlightCloseRequest = undefined;
- stream._pendingAbortRequest = undefined;
- stream._backpressure = false;
-}
-function IsWritableStream(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
- return false;
- }
- return true;
-}
-function IsWritableStreamLocked(stream) {
- if (stream._writer === undefined) {
- return false;
- }
- return true;
-}
-function WritableStreamAbort(stream, reason) {
- var state = stream._state;
- if (state === 'closed' || state === 'errored') {
- return Promise.resolve(undefined);
- }
- if (stream._pendingAbortRequest !== undefined) {
- return stream._pendingAbortRequest._promise;
- }
- var wasAlreadyErroring = false;
- if (state === 'erroring') {
- wasAlreadyErroring = true;
- reason = undefined;
- }
- var promise = new Promise(function (resolve, reject) {
- stream._pendingAbortRequest = {
- _promise: undefined,
- _resolve: resolve,
- _reject: reject,
- _reason: reason,
- _wasAlreadyErroring: wasAlreadyErroring
- };
- });
- stream._pendingAbortRequest._promise = promise;
- if (wasAlreadyErroring === false) {
- WritableStreamStartErroring(stream, reason);
- }
- return promise;
-}
-function WritableStreamAddWriteRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
- var writeRequest = {
- _resolve: resolve,
- _reject: reject
- };
- stream._writeRequests.push(writeRequest);
- });
- return promise;
-}
-function WritableStreamDealWithRejection(stream, error) {
- var state = stream._state;
- if (state === 'writable') {
- WritableStreamStartErroring(stream, error);
- return;
- }
- WritableStreamFinishErroring(stream);
-}
-function WritableStreamStartErroring(stream, reason) {
- var controller = stream._writableStreamController;
- stream._state = 'erroring';
- stream._storedError = reason;
- var writer = stream._writer;
- if (writer !== undefined) {
- WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
- }
- if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
- WritableStreamFinishErroring(stream);
- }
-}
-function WritableStreamFinishErroring(stream) {
- stream._state = 'errored';
- stream._writableStreamController[ErrorSteps]();
- var storedError = stream._storedError;
- stream._writeRequests.forEach(function (writeRequest) {
- writeRequest._reject(storedError);
- });
- stream._writeRequests = new SimpleQueue();
- if (stream._pendingAbortRequest === undefined) {
- WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- return;
- }
- var abortRequest = stream._pendingAbortRequest;
- stream._pendingAbortRequest = undefined;
- if (abortRequest._wasAlreadyErroring === true) {
- abortRequest._reject(storedError);
- WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- return;
- }
- var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
- promise.then(function () {
- abortRequest._resolve();
- WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- }, function (reason) {
- abortRequest._reject(reason);
- WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
- });
-}
-function WritableStreamFinishInFlightWrite(stream) {
- stream._inFlightWriteRequest._resolve(undefined);
- stream._inFlightWriteRequest = undefined;
-}
-function WritableStreamFinishInFlightWriteWithError(stream, error) {
- stream._inFlightWriteRequest._reject(error);
- stream._inFlightWriteRequest = undefined;
- WritableStreamDealWithRejection(stream, error);
-}
-function WritableStreamFinishInFlightClose(stream) {
- stream._inFlightCloseRequest._resolve(undefined);
- stream._inFlightCloseRequest = undefined;
- var state = stream._state;
- if (state === 'erroring') {
- stream._storedError = undefined;
- if (stream._pendingAbortRequest !== undefined) {
- stream._pendingAbortRequest._resolve();
- stream._pendingAbortRequest = undefined;
- }
- }
- stream._state = 'closed';
- var writer = stream._writer;
- if (writer !== undefined) {
- defaultWriterClosedPromiseResolve(writer);
- }
-}
-function WritableStreamFinishInFlightCloseWithError(stream, error) {
- stream._inFlightCloseRequest._reject(error);
- stream._inFlightCloseRequest = undefined;
- if (stream._pendingAbortRequest !== undefined) {
- stream._pendingAbortRequest._reject(error);
- stream._pendingAbortRequest = undefined;
- }
- WritableStreamDealWithRejection(stream, error);
-}
-function WritableStreamCloseQueuedOrInFlight(stream) {
- if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
- return false;
- }
- return true;
-}
-function WritableStreamHasOperationMarkedInFlight(stream) {
- if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
- return false;
- }
- return true;
-}
-function WritableStreamMarkCloseRequestInFlight(stream) {
- stream._inFlightCloseRequest = stream._closeRequest;
- stream._closeRequest = undefined;
-}
-function WritableStreamMarkFirstWriteRequestInFlight(stream) {
- stream._inFlightWriteRequest = stream._writeRequests.shift();
-}
-function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
- if (stream._closeRequest !== undefined) {
- stream._closeRequest._reject(stream._storedError);
- stream._closeRequest = undefined;
- }
- var writer = stream._writer;
- if (writer !== undefined) {
- defaultWriterClosedPromiseReject(writer, stream._storedError);
- }
-}
-function WritableStreamUpdateBackpressure(stream, backpressure) {
- var writer = stream._writer;
- if (writer !== undefined && backpressure !== stream._backpressure) {
- if (backpressure === true) {
- defaultWriterReadyPromiseReset(writer);
- } else {
- defaultWriterReadyPromiseResolve(writer);
- }
- }
- stream._backpressure = backpressure;
-}
-var WritableStreamDefaultWriter = function () {
- function WritableStreamDefaultWriter(stream) {
- if (IsWritableStream(stream) === false) {
- throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
- }
- if (IsWritableStreamLocked(stream) === true) {
- throw new TypeError('This stream has already been locked for exclusive writing by another writer');
- }
- this._ownerWritableStream = stream;
- stream._writer = this;
- var state = stream._state;
- if (state === 'writable') {
- if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
- defaultWriterReadyPromiseInitialize(this);
- } else {
- defaultWriterReadyPromiseInitializeAsResolved(this);
- }
- defaultWriterClosedPromiseInitialize(this);
- } else if (state === 'erroring') {
- defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
- defaultWriterClosedPromiseInitialize(this);
- } else if (state === 'closed') {
- defaultWriterReadyPromiseInitializeAsResolved(this);
- defaultWriterClosedPromiseInitializeAsResolved(this);
- } else {
- var storedError = stream._storedError;
- defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
- defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
- }
- }
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
- get: function () {
- if (IsWritableStreamDefaultWriter(this) === false) {
- return Promise.reject(defaultWriterBrandCheckException('closed'));
- }
- return this._closedPromise;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
- get: function () {
- if (IsWritableStreamDefaultWriter(this) === false) {
- throw defaultWriterBrandCheckException('desiredSize');
- }
- if (this._ownerWritableStream === undefined) {
- throw defaultWriterLockException('desiredSize');
- }
- return WritableStreamDefaultWriterGetDesiredSize(this);
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
- get: function () {
- if (IsWritableStreamDefaultWriter(this) === false) {
- return Promise.reject(defaultWriterBrandCheckException('ready'));
- }
- return this._readyPromise;
- },
- enumerable: true,
- configurable: true
- });
- WritableStreamDefaultWriter.prototype.abort = function (reason) {
- if (IsWritableStreamDefaultWriter(this) === false) {
- return Promise.reject(defaultWriterBrandCheckException('abort'));
- }
- if (this._ownerWritableStream === undefined) {
- return Promise.reject(defaultWriterLockException('abort'));
- }
- return WritableStreamDefaultWriterAbort(this, reason);
- };
- WritableStreamDefaultWriter.prototype.close = function () {
- if (IsWritableStreamDefaultWriter(this) === false) {
- return Promise.reject(defaultWriterBrandCheckException('close'));
- }
- var stream = this._ownerWritableStream;
- if (stream === undefined) {
- return Promise.reject(defaultWriterLockException('close'));
- }
- if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
- return Promise.reject(new TypeError('cannot close an already-closing stream'));
- }
- return WritableStreamDefaultWriterClose(this);
- };
- WritableStreamDefaultWriter.prototype.releaseLock = function () {
- if (IsWritableStreamDefaultWriter(this) === false) {
- throw defaultWriterBrandCheckException('releaseLock');
- }
- var stream = this._ownerWritableStream;
- if (stream === undefined) {
- return;
- }
- WritableStreamDefaultWriterRelease(this);
- };
- WritableStreamDefaultWriter.prototype.write = function (chunk) {
- if (IsWritableStreamDefaultWriter(this) === false) {
- return Promise.reject(defaultWriterBrandCheckException('write'));
- }
- if (this._ownerWritableStream === undefined) {
- return Promise.reject(defaultWriterLockException('write to'));
- }
- return WritableStreamDefaultWriterWrite(this, chunk);
- };
- return WritableStreamDefaultWriter;
-}();
-function IsWritableStreamDefaultWriter(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
- return false;
- }
- return true;
-}
-function WritableStreamDefaultWriterAbort(writer, reason) {
- var stream = writer._ownerWritableStream;
- return WritableStreamAbort(stream, reason);
-}
-function WritableStreamDefaultWriterClose(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (state === 'closed' || state === 'errored') {
- return Promise.reject(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
- }
- var promise = new Promise(function (resolve, reject) {
- var closeRequest = {
- _resolve: resolve,
- _reject: reject
- };
- stream._closeRequest = closeRequest;
- });
- if (stream._backpressure === true && state === 'writable') {
- defaultWriterReadyPromiseResolve(writer);
- }
- WritableStreamDefaultControllerClose(stream._writableStreamController);
- return promise;
-}
-function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
- return Promise.resolve();
- }
- if (state === 'errored') {
- return Promise.reject(stream._storedError);
- }
- return WritableStreamDefaultWriterClose(writer);
-}
-function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
- if (writer._closedPromiseState === 'pending') {
- defaultWriterClosedPromiseReject(writer, error);
- } else {
- defaultWriterClosedPromiseResetToRejected(writer, error);
- }
-}
-function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
- if (writer._readyPromiseState === 'pending') {
- defaultWriterReadyPromiseReject(writer, error);
- } else {
- defaultWriterReadyPromiseResetToRejected(writer, error);
- }
-}
-function WritableStreamDefaultWriterGetDesiredSize(writer) {
- var stream = writer._ownerWritableStream;
- var state = stream._state;
- if (state === 'errored' || state === 'erroring') {
- return null;
- }
- if (state === 'closed') {
- return 0;
- }
- return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
-}
-function WritableStreamDefaultWriterRelease(writer) {
- var stream = writer._ownerWritableStream;
- var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness');
- WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
- WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
- stream._writer = undefined;
- writer._ownerWritableStream = undefined;
-}
-function WritableStreamDefaultWriterWrite(writer, chunk) {
- var stream = writer._ownerWritableStream;
- var controller = stream._writableStreamController;
- var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
- if (stream !== writer._ownerWritableStream) {
- return Promise.reject(defaultWriterLockException('write to'));
- }
- var state = stream._state;
- if (state === 'errored') {
- return Promise.reject(stream._storedError);
- }
- if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
- return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));
- }
- if (state === 'erroring') {
- return Promise.reject(stream._storedError);
- }
- var promise = WritableStreamAddWriteRequest(stream);
- WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
- return promise;
-}
-var WritableStreamDefaultController = function () {
- function WritableStreamDefaultController() {
- throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
- }
- WritableStreamDefaultController.prototype.error = function (e) {
- if (IsWritableStreamDefaultController(this) === false) {
- throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');
- }
- var state = this._controlledWritableStream._state;
- if (state !== 'writable') {
- return;
- }
- WritableStreamDefaultControllerError(this, e);
- };
- WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
- var result = this._abortAlgorithm(reason);
- WritableStreamDefaultControllerClearAlgorithms(this);
- return result;
- };
- WritableStreamDefaultController.prototype[ErrorSteps] = function () {
- ResetQueue(this);
- };
- return WritableStreamDefaultController;
-}();
-function IsWritableStreamDefaultController(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
- return false;
- }
- return true;
-}
-function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
- controller._controlledWritableStream = stream;
- stream._writableStreamController = controller;
- controller._queue = undefined;
- controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._started = false;
- controller._strategySizeAlgorithm = sizeAlgorithm;
- controller._strategyHWM = highWaterMark;
- controller._writeAlgorithm = writeAlgorithm;
- controller._closeAlgorithm = closeAlgorithm;
- controller._abortAlgorithm = abortAlgorithm;
- var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
- WritableStreamUpdateBackpressure(stream, backpressure);
- var startResult = startAlgorithm();
- var startPromise = Promise.resolve(startResult);
- startPromise.then(function () {
- controller._started = true;
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }, function (r) {
- controller._started = true;
- WritableStreamDealWithRejection(stream, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
- var controller = Object.create(WritableStreamDefaultController.prototype);
- function startAlgorithm() {
- return InvokeOrNoop(underlyingSink, 'start', [controller]);
- }
- var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
- var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
- var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
- SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
-}
-function WritableStreamDefaultControllerClearAlgorithms(controller) {
- controller._writeAlgorithm = undefined;
- controller._closeAlgorithm = undefined;
- controller._abortAlgorithm = undefined;
- controller._strategySizeAlgorithm = undefined;
-}
-function WritableStreamDefaultControllerClose(controller) {
- EnqueueValueWithSize(controller, 'close', 0);
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-}
-function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
- try {
- return controller._strategySizeAlgorithm(chunk);
- } catch (chunkSizeE) {
- WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
- return 1;
- }
-}
-function WritableStreamDefaultControllerGetDesiredSize(controller) {
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
- var writeRecord = { chunk: chunk };
- try {
- EnqueueValueWithSize(controller, writeRecord, chunkSize);
- } catch (enqueueE) {
- WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
- return;
- }
- var stream = controller._controlledWritableStream;
- if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
- var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
- WritableStreamUpdateBackpressure(stream, backpressure);
- }
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
-}
-function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
- var stream = controller._controlledWritableStream;
- if (controller._started === false) {
- return;
- }
- if (stream._inFlightWriteRequest !== undefined) {
- return;
- }
- var state = stream._state;
- if (state === 'erroring') {
- WritableStreamFinishErroring(stream);
- return;
- }
- if (controller._queue.length === 0) {
- return;
- }
- var writeRecord = PeekQueueValue(controller);
- if (writeRecord === 'close') {
- WritableStreamDefaultControllerProcessClose(controller);
- } else {
- WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
- }
-}
-function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
- if (controller._controlledWritableStream._state === 'writable') {
- WritableStreamDefaultControllerError(controller, error);
- }
-}
-function WritableStreamDefaultControllerProcessClose(controller) {
- var stream = controller._controlledWritableStream;
- WritableStreamMarkCloseRequestInFlight(stream);
- DequeueValue(controller);
- var sinkClosePromise = controller._closeAlgorithm();
- WritableStreamDefaultControllerClearAlgorithms(controller);
- sinkClosePromise.then(function () {
- WritableStreamFinishInFlightClose(stream);
- }, function (reason) {
- WritableStreamFinishInFlightCloseWithError(stream, reason);
- }).catch(rethrowAssertionErrorRejection);
-}
-function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
- var stream = controller._controlledWritableStream;
- WritableStreamMarkFirstWriteRequestInFlight(stream);
- var sinkWritePromise = controller._writeAlgorithm(chunk);
- sinkWritePromise.then(function () {
- WritableStreamFinishInFlightWrite(stream);
- var state = stream._state;
- DequeueValue(controller);
- if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
- var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
- WritableStreamUpdateBackpressure(stream, backpressure);
- }
- WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
- }, function (reason) {
- if (stream._state === 'writable') {
- WritableStreamDefaultControllerClearAlgorithms(controller);
- }
- WritableStreamFinishInFlightWriteWithError(stream, reason);
- }).catch(rethrowAssertionErrorRejection);
-}
-function WritableStreamDefaultControllerGetBackpressure(controller) {
- var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
- return desiredSize <= 0;
-}
-function WritableStreamDefaultControllerError(controller, error) {
- var stream = controller._controlledWritableStream;
- WritableStreamDefaultControllerClearAlgorithms(controller);
- WritableStreamStartErroring(stream, error);
-}
-function streamBrandCheckException(name) {
- return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
-}
-function defaultWriterBrandCheckException(name) {
- return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
-}
-function defaultWriterLockException(name) {
- return new TypeError('Cannot ' + name + ' a stream using a released writer');
-}
-function defaultWriterClosedPromiseInitialize(writer) {
- writer._closedPromise = new Promise(function (resolve, reject) {
- writer._closedPromise_resolve = resolve;
- writer._closedPromise_reject = reject;
- writer._closedPromiseState = 'pending';
- });
-}
-function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
- defaultWriterClosedPromiseInitialize(writer);
- defaultWriterClosedPromiseReject(writer, reason);
-}
-function defaultWriterClosedPromiseInitializeAsResolved(writer) {
- defaultWriterClosedPromiseInitialize(writer);
- defaultWriterClosedPromiseResolve(writer);
-}
-function defaultWriterClosedPromiseReject(writer, reason) {
- writer._closedPromise.catch(noop);
- writer._closedPromise_reject(reason);
- writer._closedPromise_resolve = undefined;
- writer._closedPromise_reject = undefined;
- writer._closedPromiseState = 'rejected';
-}
-function defaultWriterClosedPromiseResetToRejected(writer, reason) {
- defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
-}
-function defaultWriterClosedPromiseResolve(writer) {
- writer._closedPromise_resolve(undefined);
- writer._closedPromise_resolve = undefined;
- writer._closedPromise_reject = undefined;
- writer._closedPromiseState = 'resolved';
-}
-function defaultWriterReadyPromiseInitialize(writer) {
- writer._readyPromise = new Promise(function (resolve, reject) {
- writer._readyPromise_resolve = resolve;
- writer._readyPromise_reject = reject;
- });
- writer._readyPromiseState = 'pending';
-}
-function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
- defaultWriterReadyPromiseInitialize(writer);
- defaultWriterReadyPromiseReject(writer, reason);
-}
-function defaultWriterReadyPromiseInitializeAsResolved(writer) {
- defaultWriterReadyPromiseInitialize(writer);
- defaultWriterReadyPromiseResolve(writer);
-}
-function defaultWriterReadyPromiseReject(writer, reason) {
- writer._readyPromise.catch(noop);
- writer._readyPromise_reject(reason);
- writer._readyPromise_resolve = undefined;
- writer._readyPromise_reject = undefined;
- writer._readyPromiseState = 'rejected';
-}
-function defaultWriterReadyPromiseReset(writer) {
- defaultWriterReadyPromiseInitialize(writer);
-}
-function defaultWriterReadyPromiseResetToRejected(writer, reason) {
- defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
-}
-function defaultWriterReadyPromiseResolve(writer) {
- writer._readyPromise_resolve(undefined);
- writer._readyPromise_resolve = undefined;
- writer._readyPromise_reject = undefined;
- writer._readyPromiseState = 'fulfilled';
-}
-function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
- var reader = AcquireReadableStreamDefaultReader(source);
- var writer = AcquireWritableStreamDefaultWriter(dest);
- var shuttingDown = false;
- var currentWrite = Promise.resolve();
- return new Promise(function (resolve, reject) {
- var abortAlgorithm;
- if (signal !== undefined) {
- abortAlgorithm = function () {
- var error = new DOMException('Aborted', 'AbortError');
- var actions = [];
- if (preventAbort === false) {
- actions.push(function () {
- if (dest._state === 'writable') {
- return WritableStreamAbort(dest, error);
- }
- return Promise.resolve();
- });
- }
- if (preventCancel === false) {
- actions.push(function () {
- if (source._state === 'readable') {
- return ReadableStreamCancel(source, error);
- }
- return Promise.resolve();
- });
- }
- shutdownWithAction(function () {
- return Promise.all(actions.map(function (action) {
- return action();
- }));
- }, true, error);
- };
- if (signal.aborted === true) {
- abortAlgorithm();
- return;
- }
- signal.addEventListener('abort', abortAlgorithm);
- }
- function pipeLoop() {
- return new Promise(function (resolveLoop, rejectLoop) {
- function next(done) {
- if (done) {
- resolveLoop();
- } else {
- pipeStep().then(next, rejectLoop);
- }
- }
- next(false);
- });
- }
- function pipeStep() {
- if (shuttingDown === true) {
- return Promise.resolve(true);
- }
- return writer._readyPromise.then(function () {
- return ReadableStreamDefaultReaderRead(reader).then(function (_a) {
- var value = _a.value, done = _a.done;
- if (done === true) {
- return true;
- }
- currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);
- return false;
- });
- });
- }
- isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
- if (preventAbort === false) {
- shutdownWithAction(function () {
- return WritableStreamAbort(dest, storedError);
- }, true, storedError);
- } else {
- shutdown(true, storedError);
- }
- });
- isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
- if (preventCancel === false) {
- shutdownWithAction(function () {
- return ReadableStreamCancel(source, storedError);
- }, true, storedError);
- } else {
- shutdown(true, storedError);
- }
- });
- isOrBecomesClosed(source, reader._closedPromise, function () {
- if (preventClose === false) {
- shutdownWithAction(function () {
- return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
- });
- } else {
- shutdown();
- }
- });
- if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
- var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
- if (preventCancel === false) {
- shutdownWithAction(function () {
- return ReadableStreamCancel(source, destClosed_1);
- }, true, destClosed_1);
- } else {
- shutdown(true, destClosed_1);
- }
- }
- pipeLoop().catch(rethrowAssertionErrorRejection);
- function waitForWritesToFinish() {
- var oldCurrentWrite = currentWrite;
- return currentWrite.then(function () {
- return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
- });
- }
- function isOrBecomesErrored(stream, promise, action) {
- if (stream._state === 'errored') {
- action(stream._storedError);
- } else {
- promise.catch(action).catch(rethrowAssertionErrorRejection);
- }
- }
- function isOrBecomesClosed(stream, promise, action) {
- if (stream._state === 'closed') {
- action();
- } else {
- promise.then(action).catch(rethrowAssertionErrorRejection);
- }
- }
- function shutdownWithAction(action, originalIsError, originalError) {
- if (shuttingDown === true) {
- return;
- }
- shuttingDown = true;
- if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
- waitForWritesToFinish().then(doTheRest);
- } else {
- doTheRest();
- }
- function doTheRest() {
- action().then(function () {
- return finalize(originalIsError, originalError);
- }, function (newError) {
- return finalize(true, newError);
- }).catch(rethrowAssertionErrorRejection);
- }
- }
- function shutdown(isError, error) {
- if (shuttingDown === true) {
- return;
- }
- shuttingDown = true;
- if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
- waitForWritesToFinish().then(function () {
- return finalize(isError, error);
- }).catch(rethrowAssertionErrorRejection);
- } else {
- finalize(isError, error);
- }
- }
- function finalize(isError, error) {
- WritableStreamDefaultWriterRelease(writer);
- ReadableStreamReaderGenericRelease(reader);
- if (signal !== undefined) {
- signal.removeEventListener('abort', abortAlgorithm);
- }
- if (isError) {
- reject(error);
- } else {
- resolve(undefined);
- }
- }
- });
-}
-var ReadableStreamDefaultController = function () {
- function ReadableStreamDefaultController() {
- throw new TypeError();
- }
- Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
- get: function () {
- if (IsReadableStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException('desiredSize');
- }
- return ReadableStreamDefaultControllerGetDesiredSize(this);
- },
- enumerable: true,
- configurable: true
- });
- ReadableStreamDefaultController.prototype.close = function () {
- if (IsReadableStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException('close');
- }
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
- throw new TypeError('The stream is not in a state that permits close');
- }
- ReadableStreamDefaultControllerClose(this);
- };
- ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
- if (IsReadableStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException('enqueue');
- }
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
- throw new TypeError('The stream is not in a state that permits enqueue');
- }
- return ReadableStreamDefaultControllerEnqueue(this, chunk);
- };
- ReadableStreamDefaultController.prototype.error = function (e) {
- if (IsReadableStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException('error');
- }
- ReadableStreamDefaultControllerError(this, e);
- };
- ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
- ResetQueue(this);
- var result = this._cancelAlgorithm(reason);
- ReadableStreamDefaultControllerClearAlgorithms(this);
- return result;
- };
- ReadableStreamDefaultController.prototype[PullSteps] = function () {
- var stream = this._controlledReadableStream;
- if (this._queue.length > 0) {
- var chunk = DequeueValue(this);
- if (this._closeRequested === true && this._queue.length === 0) {
- ReadableStreamDefaultControllerClearAlgorithms(this);
- ReadableStreamClose(stream);
- } else {
- ReadableStreamDefaultControllerCallPullIfNeeded(this);
- }
- return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
- }
- var pendingPromise = ReadableStreamAddReadRequest(stream);
- ReadableStreamDefaultControllerCallPullIfNeeded(this);
- return pendingPromise;
- };
- return ReadableStreamDefaultController;
-}();
-function IsReadableStreamDefaultController(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
- return false;
- }
- return true;
-}
-function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
- var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
- if (shouldPull === false) {
- return;
- }
- if (controller._pulling === true) {
- controller._pullAgain = true;
- return;
- }
- controller._pulling = true;
- var pullPromise = controller._pullAlgorithm();
- pullPromise.then(function () {
- controller._pulling = false;
- if (controller._pullAgain === true) {
- controller._pullAgain = false;
- ReadableStreamDefaultControllerCallPullIfNeeded(controller);
- }
- }, function (e) {
- ReadableStreamDefaultControllerError(controller, e);
- }).catch(rethrowAssertionErrorRejection);
-}
-function ReadableStreamDefaultControllerShouldCallPull(controller) {
- var stream = controller._controlledReadableStream;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
- return false;
- }
- if (controller._started === false) {
- return false;
- }
- if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
- return true;
- }
- var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
- if (desiredSize > 0) {
- return true;
- }
- return false;
-}
-function ReadableStreamDefaultControllerClearAlgorithms(controller) {
- controller._pullAlgorithm = undefined;
- controller._cancelAlgorithm = undefined;
- controller._strategySizeAlgorithm = undefined;
-}
-function ReadableStreamDefaultControllerClose(controller) {
- var stream = controller._controlledReadableStream;
- controller._closeRequested = true;
- if (controller._queue.length === 0) {
- ReadableStreamDefaultControllerClearAlgorithms(controller);
- ReadableStreamClose(stream);
- }
-}
-function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
- var stream = controller._controlledReadableStream;
- if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
- ReadableStreamFulfillReadRequest(stream, chunk, false);
- } else {
- var chunkSize = void 0;
- try {
- chunkSize = controller._strategySizeAlgorithm(chunk);
- } catch (chunkSizeE) {
- ReadableStreamDefaultControllerError(controller, chunkSizeE);
- throw chunkSizeE;
- }
- try {
- EnqueueValueWithSize(controller, chunk, chunkSize);
- } catch (enqueueE) {
- ReadableStreamDefaultControllerError(controller, enqueueE);
- throw enqueueE;
- }
- }
- ReadableStreamDefaultControllerCallPullIfNeeded(controller);
-}
-function ReadableStreamDefaultControllerError(controller, e) {
- var stream = controller._controlledReadableStream;
- if (stream._state !== 'readable') {
- return;
- }
- ResetQueue(controller);
- ReadableStreamDefaultControllerClearAlgorithms(controller);
- ReadableStreamError(stream, e);
-}
-function ReadableStreamDefaultControllerGetDesiredSize(controller) {
- var stream = controller._controlledReadableStream;
- var state = stream._state;
- if (state === 'errored') {
- return null;
- }
- if (state === 'closed') {
- return 0;
- }
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function ReadableStreamDefaultControllerHasBackpressure(controller) {
- if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
- return false;
- }
- return true;
-}
-function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
- var state = controller._controlledReadableStream._state;
- if (controller._closeRequested === false && state === 'readable') {
- return true;
- }
- return false;
-}
-function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
- controller._controlledReadableStream = stream;
- controller._queue = undefined;
- controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._started = false;
- controller._closeRequested = false;
- controller._pullAgain = false;
- controller._pulling = false;
- controller._strategySizeAlgorithm = sizeAlgorithm;
- controller._strategyHWM = highWaterMark;
- controller._pullAlgorithm = pullAlgorithm;
- controller._cancelAlgorithm = cancelAlgorithm;
- stream._readableStreamController = controller;
- var startResult = startAlgorithm();
- Promise.resolve(startResult).then(function () {
- controller._started = true;
- ReadableStreamDefaultControllerCallPullIfNeeded(controller);
- }, function (r) {
- ReadableStreamDefaultControllerError(controller, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
- var controller = Object.create(ReadableStreamDefaultController.prototype);
- function startAlgorithm() {
- return InvokeOrNoop(underlyingSource, 'start', [controller]);
- }
- var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
- var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
- SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
-}
-function defaultControllerBrandCheckException(name) {
- return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
-}
-function ReadableStreamTee(stream, cloneForBranch2) {
- var reader = AcquireReadableStreamDefaultReader(stream);
- var reading = false;
- var canceled1 = false;
- var canceled2 = false;
- var reason1;
- var reason2;
- var branch1;
- var branch2;
- var resolveCancelPromise;
- var cancelPromise = new Promise(function (resolve) {
- resolveCancelPromise = resolve;
- });
- function pullAlgorithm() {
- if (reading === true) {
- return Promise.resolve();
- }
- reading = true;
- var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {
- reading = false;
- var done = result.done;
- if (done === true) {
- if (canceled1 === false) {
- ReadableStreamDefaultControllerClose(branch1._readableStreamController);
- }
- if (canceled2 === false) {
- ReadableStreamDefaultControllerClose(branch2._readableStreamController);
- }
- return;
- }
- var value = result.value;
- var value1 = value;
- var value2 = value;
- if (canceled1 === false) {
- ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
- }
- if (canceled2 === false) {
- ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
- }
- });
- readPromise.catch(rethrowAssertionErrorRejection);
- return Promise.resolve();
- }
- function cancel1Algorithm(reason) {
- canceled1 = true;
- reason1 = reason;
- if (canceled2 === true) {
- var compositeReason = createArrayFromList([
- reason1,
- reason2
- ]);
- var cancelResult = ReadableStreamCancel(stream, compositeReason);
- resolveCancelPromise(cancelResult);
- }
- return cancelPromise;
- }
- function cancel2Algorithm(reason) {
- canceled2 = true;
- reason2 = reason;
- if (canceled1 === true) {
- var compositeReason = createArrayFromList([
- reason1,
- reason2
- ]);
- var cancelResult = ReadableStreamCancel(stream, compositeReason);
- resolveCancelPromise(cancelResult);
- }
- return cancelPromise;
- }
- function startAlgorithm() {
- }
- branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
- branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
- reader._closedPromise.catch(function (r) {
- ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
- ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
- });
- return [
- branch1,
- branch2
- ];
-}
-var NumberIsInteger = Number.isInteger || function (value) {
- return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
-};
-var ReadableStreamBYOBRequest = function () {
- function ReadableStreamBYOBRequest() {
- throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
- }
- Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
- get: function () {
- if (IsReadableStreamBYOBRequest(this) === false) {
- throw byobRequestBrandCheckException('view');
- }
- return this._view;
- },
- enumerable: true,
- configurable: true
- });
- ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
- if (IsReadableStreamBYOBRequest(this) === false) {
- throw byobRequestBrandCheckException('respond');
- }
- if (this._associatedReadableByteStreamController === undefined) {
- throw new TypeError('This BYOB request has been invalidated');
- }
- if (IsDetachedBuffer(this._view.buffer) === true);
- ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
- };
- ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
- if (IsReadableStreamBYOBRequest(this) === false) {
- throw byobRequestBrandCheckException('respond');
- }
- if (this._associatedReadableByteStreamController === undefined) {
- throw new TypeError('This BYOB request has been invalidated');
- }
- if (!ArrayBuffer.isView(view)) {
- throw new TypeError('You can only respond with array buffer views');
- }
- if (IsDetachedBuffer(view.buffer) === true);
- ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
- };
- return ReadableStreamBYOBRequest;
-}();
-var ReadableByteStreamController = function () {
- function ReadableByteStreamController() {
- throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
- }
- Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
- get: function () {
- if (IsReadableByteStreamController(this) === false) {
- throw byteStreamControllerBrandCheckException('byobRequest');
- }
- if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
- var firstDescriptor = this._pendingPullIntos.peek();
- var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
- var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
- SetUpReadableStreamBYOBRequest(byobRequest, this, view);
- this._byobRequest = byobRequest;
- }
- return this._byobRequest;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
- get: function () {
- if (IsReadableByteStreamController(this) === false) {
- throw byteStreamControllerBrandCheckException('desiredSize');
- }
- return ReadableByteStreamControllerGetDesiredSize(this);
- },
- enumerable: true,
- configurable: true
- });
- ReadableByteStreamController.prototype.close = function () {
- if (IsReadableByteStreamController(this) === false) {
- throw byteStreamControllerBrandCheckException('close');
- }
- if (this._closeRequested === true) {
- throw new TypeError('The stream has already been closed; do not close it again!');
- }
- var state = this._controlledReadableByteStream._state;
- if (state !== 'readable') {
- throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
- }
- ReadableByteStreamControllerClose(this);
- };
- ReadableByteStreamController.prototype.enqueue = function (chunk) {
- if (IsReadableByteStreamController(this) === false) {
- throw byteStreamControllerBrandCheckException('enqueue');
- }
- if (this._closeRequested === true) {
- throw new TypeError('stream is closed or draining');
- }
- var state = this._controlledReadableByteStream._state;
- if (state !== 'readable') {
- throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
- }
- if (!ArrayBuffer.isView(chunk)) {
- throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
- }
- if (IsDetachedBuffer(chunk.buffer) === true);
- ReadableByteStreamControllerEnqueue(this, chunk);
- };
- ReadableByteStreamController.prototype.error = function (e) {
- if (IsReadableByteStreamController(this) === false) {
- throw byteStreamControllerBrandCheckException('error');
- }
- ReadableByteStreamControllerError(this, e);
- };
- ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
- if (this._pendingPullIntos.length > 0) {
- var firstDescriptor = this._pendingPullIntos.peek();
- firstDescriptor.bytesFilled = 0;
- }
- ResetQueue(this);
- var result = this._cancelAlgorithm(reason);
- ReadableByteStreamControllerClearAlgorithms(this);
- return result;
- };
- ReadableByteStreamController.prototype[PullSteps] = function () {
- var stream = this._controlledReadableByteStream;
- if (this._queueTotalSize > 0) {
- var entry = this._queue.shift();
- this._queueTotalSize -= entry.byteLength;
- ReadableByteStreamControllerHandleQueueDrain(this);
- var view = void 0;
- try {
- view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
- } catch (viewE) {
- return Promise.reject(viewE);
- }
- return Promise.resolve(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
- }
- var autoAllocateChunkSize = this._autoAllocateChunkSize;
- if (autoAllocateChunkSize !== undefined) {
- var buffer = void 0;
- try {
- buffer = new ArrayBuffer(autoAllocateChunkSize);
- } catch (bufferE) {
- return Promise.reject(bufferE);
- }
- var pullIntoDescriptor = {
- buffer: buffer,
- byteOffset: 0,
- byteLength: autoAllocateChunkSize,
- bytesFilled: 0,
- elementSize: 1,
- ctor: Uint8Array,
- readerType: 'default'
- };
- this._pendingPullIntos.push(pullIntoDescriptor);
- }
- var promise = ReadableStreamAddReadRequest(stream);
- ReadableByteStreamControllerCallPullIfNeeded(this);
- return promise;
- };
- return ReadableByteStreamController;
-}();
-function IsReadableByteStreamController(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
- return false;
- }
- return true;
-}
-function IsReadableStreamBYOBRequest(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
- return false;
- }
- return true;
-}
-function ReadableByteStreamControllerCallPullIfNeeded(controller) {
- var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
- if (shouldPull === false) {
- return;
- }
- if (controller._pulling === true) {
- controller._pullAgain = true;
- return;
- }
- controller._pulling = true;
- var pullPromise = controller._pullAlgorithm();
- pullPromise.then(function () {
- controller._pulling = false;
- if (controller._pullAgain === true) {
- controller._pullAgain = false;
- ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
- }, function (e) {
- ReadableByteStreamControllerError(controller, e);
- }).catch(rethrowAssertionErrorRejection);
-}
-function ReadableByteStreamControllerClearPendingPullIntos(controller) {
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- controller._pendingPullIntos = new SimpleQueue();
-}
-function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
- var done = false;
- if (stream._state === 'closed') {
- done = true;
- }
- var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
- if (pullIntoDescriptor.readerType === 'default') {
- ReadableStreamFulfillReadRequest(stream, filledView, done);
- } else {
- ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
- }
-}
-function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
- var bytesFilled = pullIntoDescriptor.bytesFilled;
- var elementSize = pullIntoDescriptor.elementSize;
- return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
-}
-function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
- controller._queue.push({
- buffer: buffer,
- byteOffset: byteOffset,
- byteLength: byteLength
- });
- controller._queueTotalSize += byteLength;
-}
-function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
- var elementSize = pullIntoDescriptor.elementSize;
- var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
- var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
- var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
- var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
- var totalBytesToCopyRemaining = maxBytesToCopy;
- var ready = false;
- if (maxAlignedBytes > currentAlignedBytes) {
- totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
- ready = true;
- }
- var queue = controller._queue;
- while (totalBytesToCopyRemaining > 0) {
- var headOfQueue = queue.peek();
- var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
- var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
- ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
- if (headOfQueue.byteLength === bytesToCopy) {
- queue.shift();
- } else {
- headOfQueue.byteOffset += bytesToCopy;
- headOfQueue.byteLength -= bytesToCopy;
- }
- controller._queueTotalSize -= bytesToCopy;
- ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
- totalBytesToCopyRemaining -= bytesToCopy;
- }
- return ready;
-}
-function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- pullIntoDescriptor.bytesFilled += size;
-}
-function ReadableByteStreamControllerHandleQueueDrain(controller) {
- if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamClose(controller._controlledReadableByteStream);
- } else {
- ReadableByteStreamControllerCallPullIfNeeded(controller);
- }
-}
-function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
- if (controller._byobRequest === undefined) {
- return;
- }
- controller._byobRequest._associatedReadableByteStreamController = undefined;
- controller._byobRequest._view = undefined;
- controller._byobRequest = undefined;
-}
-function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
- while (controller._pendingPullIntos.length > 0) {
- if (controller._queueTotalSize === 0) {
- return;
- }
- var pullIntoDescriptor = controller._pendingPullIntos.peek();
- if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
- ReadableByteStreamControllerShiftPendingPullInto(controller);
- ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
- }
- }
-}
-function ReadableByteStreamControllerPullInto(controller, view) {
- var stream = controller._controlledReadableByteStream;
- var elementSize = 1;
- if (view.constructor !== DataView) {
- elementSize = view.constructor.BYTES_PER_ELEMENT;
- }
- var ctor = view.constructor;
- var buffer = TransferArrayBuffer(view.buffer);
- var pullIntoDescriptor = {
- buffer: buffer,
- byteOffset: view.byteOffset,
- byteLength: view.byteLength,
- bytesFilled: 0,
- elementSize: elementSize,
- ctor: ctor,
- readerType: 'byob'
- };
- if (controller._pendingPullIntos.length > 0) {
- controller._pendingPullIntos.push(pullIntoDescriptor);
- return ReadableStreamAddReadIntoRequest(stream);
- }
- if (stream._state === 'closed') {
- var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
- return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
- }
- if (controller._queueTotalSize > 0) {
- if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
- var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
- ReadableByteStreamControllerHandleQueueDrain(controller);
- return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
- }
- if (controller._closeRequested === true) {
- var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
- ReadableByteStreamControllerError(controller, e);
- return Promise.reject(e);
- }
- }
- controller._pendingPullIntos.push(pullIntoDescriptor);
- var promise = ReadableStreamAddReadIntoRequest(stream);
- ReadableByteStreamControllerCallPullIfNeeded(controller);
- return promise;
-}
-function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
- firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
- var stream = controller._controlledReadableByteStream;
- if (ReadableStreamHasBYOBReader(stream) === true) {
- while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
- var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
- ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
- }
- }
-}
-function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
- if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
- throw new RangeError('bytesWritten out of range');
- }
- ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
- if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
- return;
- }
- ReadableByteStreamControllerShiftPendingPullInto(controller);
- var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
- if (remainderSize > 0) {
- var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
- var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
- ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
- }
- pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
- pullIntoDescriptor.bytesFilled -= remainderSize;
- ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
- ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
-}
-function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
- var firstDescriptor = controller._pendingPullIntos.peek();
- var stream = controller._controlledReadableByteStream;
- if (stream._state === 'closed') {
- if (bytesWritten !== 0) {
- throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
- }
- ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
- } else {
- ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
- }
- ReadableByteStreamControllerCallPullIfNeeded(controller);
-}
-function ReadableByteStreamControllerShiftPendingPullInto(controller) {
- var descriptor = controller._pendingPullIntos.shift();
- ReadableByteStreamControllerInvalidateBYOBRequest(controller);
- return descriptor;
-}
-function ReadableByteStreamControllerShouldCallPull(controller) {
- var stream = controller._controlledReadableByteStream;
- if (stream._state !== 'readable') {
- return false;
- }
- if (controller._closeRequested === true) {
- return false;
- }
- if (controller._started === false) {
- return false;
- }
- if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
- return true;
- }
- if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
- return true;
- }
- var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
- if (desiredSize > 0) {
- return true;
- }
- return false;
-}
-function ReadableByteStreamControllerClearAlgorithms(controller) {
- controller._pullAlgorithm = undefined;
- controller._cancelAlgorithm = undefined;
-}
-function ReadableByteStreamControllerClose(controller) {
- var stream = controller._controlledReadableByteStream;
- if (controller._queueTotalSize > 0) {
- controller._closeRequested = true;
- return;
- }
- if (controller._pendingPullIntos.length > 0) {
- var firstPendingPullInto = controller._pendingPullIntos.peek();
- if (firstPendingPullInto.bytesFilled > 0) {
- var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
- ReadableByteStreamControllerError(controller, e);
- throw e;
- }
- }
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamClose(stream);
-}
-function ReadableByteStreamControllerEnqueue(controller, chunk) {
- var stream = controller._controlledReadableByteStream;
- var buffer = chunk.buffer;
- var byteOffset = chunk.byteOffset;
- var byteLength = chunk.byteLength;
- var transferredBuffer = TransferArrayBuffer(buffer);
- if (ReadableStreamHasDefaultReader(stream) === true) {
- if (ReadableStreamGetNumReadRequests(stream) === 0) {
- ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
- } else {
- var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
- ReadableStreamFulfillReadRequest(stream, transferredView, false);
- }
- } else if (ReadableStreamHasBYOBReader(stream) === true) {
- ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
- ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
- } else {
- ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
- }
- ReadableByteStreamControllerCallPullIfNeeded(controller);
-}
-function ReadableByteStreamControllerError(controller, e) {
- var stream = controller._controlledReadableByteStream;
- if (stream._state !== 'readable') {
- return;
- }
- ReadableByteStreamControllerClearPendingPullIntos(controller);
- ResetQueue(controller);
- ReadableByteStreamControllerClearAlgorithms(controller);
- ReadableStreamError(stream, e);
-}
-function ReadableByteStreamControllerGetDesiredSize(controller) {
- var stream = controller._controlledReadableByteStream;
- var state = stream._state;
- if (state === 'errored') {
- return null;
- }
- if (state === 'closed') {
- return 0;
- }
- return controller._strategyHWM - controller._queueTotalSize;
-}
-function ReadableByteStreamControllerRespond(controller, bytesWritten) {
- bytesWritten = Number(bytesWritten);
- if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
- throw new RangeError('bytesWritten must be a finite');
- }
- ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
-}
-function ReadableByteStreamControllerRespondWithNewView(controller, view) {
- var firstDescriptor = controller._pendingPullIntos.peek();
- if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
- throw new RangeError('The region specified by view does not match byobRequest');
- }
- if (firstDescriptor.byteLength !== view.byteLength) {
- throw new RangeError('The buffer of view has different capacity than byobRequest');
- }
- firstDescriptor.buffer = view.buffer;
- ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
-}
-function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
- controller._controlledReadableByteStream = stream;
- controller._pullAgain = false;
- controller._pulling = false;
- controller._byobRequest = undefined;
- controller._queue = controller._queueTotalSize = undefined;
- ResetQueue(controller);
- controller._closeRequested = false;
- controller._started = false;
- controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
- controller._pullAlgorithm = pullAlgorithm;
- controller._cancelAlgorithm = cancelAlgorithm;
- controller._autoAllocateChunkSize = autoAllocateChunkSize;
- controller._pendingPullIntos = new SimpleQueue();
- stream._readableStreamController = controller;
- var startResult = startAlgorithm();
- Promise.resolve(startResult).then(function () {
- controller._started = true;
- ReadableByteStreamControllerCallPullIfNeeded(controller);
- }, function (r) {
- ReadableByteStreamControllerError(controller, r);
- }).catch(rethrowAssertionErrorRejection);
-}
-function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
- var controller = Object.create(ReadableByteStreamController.prototype);
- function startAlgorithm() {
- return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
- }
- var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
- var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
- var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
- if (autoAllocateChunkSize !== undefined) {
- autoAllocateChunkSize = Number(autoAllocateChunkSize);
- if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
- throw new RangeError('autoAllocateChunkSize must be a positive integer');
- }
- }
- SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
-}
-function SetUpReadableStreamBYOBRequest(request, controller, view) {
- request._associatedReadableByteStreamController = controller;
- request._view = view;
-}
-function byobRequestBrandCheckException(name) {
- return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
-}
-function byteStreamControllerBrandCheckException(name) {
- return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
-}
-function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
- if (forAuthorCode === void 0) {
- forAuthorCode = false;
- }
- var reader = new ReadableStreamBYOBReader(stream);
- reader._forAuthorCode = forAuthorCode;
- return reader;
-}
-function ReadableStreamAddReadIntoRequest(stream) {
- var promise = new Promise(function (resolve, reject) {
- var readIntoRequest = {
- _resolve: resolve,
- _reject: reject
- };
- stream._reader._readIntoRequests.push(readIntoRequest);
- });
- return promise;
-}
-function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
- var reader = stream._reader;
- var readIntoRequest = reader._readIntoRequests.shift();
- readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
-}
-function ReadableStreamGetNumReadIntoRequests(stream) {
- return stream._reader._readIntoRequests.length;
-}
-function ReadableStreamHasBYOBReader(stream) {
- var reader = stream._reader;
- if (reader === undefined) {
- return false;
- }
- if (!IsReadableStreamBYOBReader(reader)) {
- return false;
- }
- return true;
-}
-var ReadableStreamBYOBReader = function () {
- function ReadableStreamBYOBReader(stream) {
- if (!IsReadableStream(stream)) {
- throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');
- }
- if (IsReadableByteStreamController(stream._readableStreamController) === false) {
- throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
- }
- if (IsReadableStreamLocked(stream)) {
- throw new TypeError('This stream has already been locked for exclusive reading by another reader');
- }
- ReadableStreamReaderGenericInitialize(this, stream);
- this._readIntoRequests = new SimpleQueue();
- }
- Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
- get: function () {
- if (!IsReadableStreamBYOBReader(this)) {
- return Promise.reject(byobReaderBrandCheckException('closed'));
- }
- return this._closedPromise;
- },
- enumerable: true,
- configurable: true
- });
- ReadableStreamBYOBReader.prototype.cancel = function (reason) {
- if (!IsReadableStreamBYOBReader(this)) {
- return Promise.reject(byobReaderBrandCheckException('cancel'));
- }
- if (this._ownerReadableStream === undefined) {
- return Promise.reject(readerLockException('cancel'));
- }
- return ReadableStreamReaderGenericCancel(this, reason);
- };
- ReadableStreamBYOBReader.prototype.read = function (view) {
- if (!IsReadableStreamBYOBReader(this)) {
- return Promise.reject(byobReaderBrandCheckException('read'));
- }
- if (this._ownerReadableStream === undefined) {
- return Promise.reject(readerLockException('read from'));
- }
- if (!ArrayBuffer.isView(view)) {
- return Promise.reject(new TypeError('view must be an array buffer view'));
- }
- if (IsDetachedBuffer(view.buffer) === true);
- if (view.byteLength === 0) {
- return Promise.reject(new TypeError('view must have non-zero byteLength'));
- }
- return ReadableStreamBYOBReaderRead(this, view);
- };
- ReadableStreamBYOBReader.prototype.releaseLock = function () {
- if (!IsReadableStreamBYOBReader(this)) {
- throw byobReaderBrandCheckException('releaseLock');
- }
- if (this._ownerReadableStream === undefined) {
- return;
- }
- if (this._readIntoRequests.length > 0) {
- throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
- }
- ReadableStreamReaderGenericRelease(this);
- };
- return ReadableStreamBYOBReader;
-}();
-function IsReadableStreamBYOBReader(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
- return false;
- }
- return true;
-}
-function ReadableStreamBYOBReaderRead(reader, view) {
- var stream = reader._ownerReadableStream;
- stream._disturbed = true;
- if (stream._state === 'errored') {
- return Promise.reject(stream._storedError);
- }
- return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
-}
-function byobReaderBrandCheckException(name) {
- return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
-}
-var ReadableStream = function () {
- function ReadableStream(underlyingSource, strategy) {
- if (underlyingSource === void 0) {
- underlyingSource = {};
- }
- if (strategy === void 0) {
- strategy = {};
- }
- InitializeReadableStream(this);
- var size = strategy.size;
- var highWaterMark = strategy.highWaterMark;
- var type = underlyingSource.type;
- var typeString = String(type);
- if (typeString === 'bytes') {
- if (size !== undefined) {
- throw new RangeError('The strategy for a byte stream cannot have a size function');
- }
- if (highWaterMark === undefined) {
- highWaterMark = 0;
- }
- highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
- SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
- } else if (type === undefined) {
- var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
- if (highWaterMark === undefined) {
- highWaterMark = 1;
- }
- highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
- SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
- } else {
- throw new RangeError('Invalid type is specified');
- }
- }
- Object.defineProperty(ReadableStream.prototype, "locked", {
- get: function () {
- if (IsReadableStream(this) === false) {
- throw streamBrandCheckException$1('locked');
- }
- return IsReadableStreamLocked(this);
- },
- enumerable: true,
- configurable: true
- });
- ReadableStream.prototype.cancel = function (reason) {
- if (IsReadableStream(this) === false) {
- return Promise.reject(streamBrandCheckException$1('cancel'));
- }
- if (IsReadableStreamLocked(this) === true) {
- return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));
- }
- return ReadableStreamCancel(this, reason);
- };
- ReadableStream.prototype.getReader = function (_a) {
- var mode = (_a === void 0 ? {} : _a).mode;
- if (IsReadableStream(this) === false) {
- throw streamBrandCheckException$1('getReader');
- }
- if (mode === undefined) {
- return AcquireReadableStreamDefaultReader(this, true);
- }
- mode = String(mode);
- if (mode === 'byob') {
- return AcquireReadableStreamBYOBReader(this, true);
- }
- throw new RangeError('Invalid mode is specified');
- };
- ReadableStream.prototype.pipeThrough = function (_a, _b) {
- var writable = _a.writable, readable = _a.readable;
- var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;
- if (IsReadableStream(this) === false) {
- throw streamBrandCheckException$1('pipeThrough');
- }
- if (IsWritableStream(writable) === false) {
- throw new TypeError('writable argument to pipeThrough must be a WritableStream');
- }
- if (IsReadableStream(readable) === false) {
- throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
- }
- preventClose = Boolean(preventClose);
- preventAbort = Boolean(preventAbort);
- preventCancel = Boolean(preventCancel);
- if (signal !== undefined && !isAbortSignal(signal)) {
- throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
- }
- if (IsReadableStreamLocked(this) === true) {
- throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
- }
- if (IsWritableStreamLocked(writable) === true) {
- throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
- }
- var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
- promise.catch(noop);
- return readable;
- };
- ReadableStream.prototype.pipeTo = function (dest, _a) {
- var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;
- if (IsReadableStream(this) === false) {
- return Promise.reject(streamBrandCheckException$1('pipeTo'));
- }
- if (IsWritableStream(dest) === false) {
- return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream'));
- }
- preventClose = Boolean(preventClose);
- preventAbort = Boolean(preventAbort);
- preventCancel = Boolean(preventCancel);
- if (signal !== undefined && !isAbortSignal(signal)) {
- return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an AbortSignal'));
- }
- if (IsReadableStreamLocked(this) === true) {
- return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
- }
- if (IsWritableStreamLocked(dest) === true) {
- return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
- }
- return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
- };
- ReadableStream.prototype.tee = function () {
- if (IsReadableStream(this) === false) {
- throw streamBrandCheckException$1('tee');
- }
- var branches = ReadableStreamTee(this);
- return createArrayFromList(branches);
- };
- ReadableStream.prototype.getIterator = function (_a) {
- var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
- if (IsReadableStream(this) === false) {
- throw streamBrandCheckException$1('getIterator');
- }
- return AcquireReadableStreamAsyncIterator(this, preventCancel);
- };
- return ReadableStream;
-}();
-if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
- Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
- value: ReadableStream.prototype.getIterator,
- enumerable: false,
- writable: true,
- configurable: true
- });
-}
-function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
- if (highWaterMark === void 0) {
- highWaterMark = 1;
- }
- if (sizeAlgorithm === void 0) {
- sizeAlgorithm = function () {
- return 1;
- };
- }
- var stream = Object.create(ReadableStream.prototype);
- InitializeReadableStream(stream);
- var controller = Object.create(ReadableStreamDefaultController.prototype);
- SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
- return stream;
-}
-function InitializeReadableStream(stream) {
- stream._state = 'readable';
- stream._reader = undefined;
- stream._storedError = undefined;
- stream._disturbed = false;
-}
-function IsReadableStream(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
- return false;
- }
- return true;
-}
-function IsReadableStreamLocked(stream) {
- if (stream._reader === undefined) {
- return false;
- }
- return true;
-}
-function ReadableStreamCancel(stream, reason) {
- stream._disturbed = true;
- if (stream._state === 'closed') {
- return Promise.resolve(undefined);
- }
- if (stream._state === 'errored') {
- return Promise.reject(stream._storedError);
- }
- ReadableStreamClose(stream);
- var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
- return sourceCancelPromise.then(function () {
- return undefined;
- });
-}
-function ReadableStreamClose(stream) {
- stream._state = 'closed';
- var reader = stream._reader;
- if (reader === undefined) {
- return;
- }
- if (IsReadableStreamDefaultReader(reader)) {
- reader._readRequests.forEach(function (readRequest) {
- readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
- });
- reader._readRequests = new SimpleQueue();
- }
- defaultReaderClosedPromiseResolve(reader);
-}
-function ReadableStreamError(stream, e) {
- stream._state = 'errored';
- stream._storedError = e;
- var reader = stream._reader;
- if (reader === undefined) {
- return;
- }
- if (IsReadableStreamDefaultReader(reader)) {
- reader._readRequests.forEach(function (readRequest) {
- readRequest._reject(e);
- });
- reader._readRequests = new SimpleQueue();
- } else {
- reader._readIntoRequests.forEach(function (readIntoRequest) {
- readIntoRequest._reject(e);
- });
- reader._readIntoRequests = new SimpleQueue();
- }
- defaultReaderClosedPromiseReject(reader, e);
-}
-function isAbortSignal(value) {
- if (typeof value !== 'object' || value === null) {
- return false;
- }
- var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;
- try {
- aborted.call(value);
- return true;
- } catch (e) {
- return false;
- }
-}
-function streamBrandCheckException$1(name) {
- return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
-}
-var ByteLengthQueuingStrategy = function () {
- function ByteLengthQueuingStrategy(_a) {
- var highWaterMark = _a.highWaterMark;
- this.highWaterMark = highWaterMark;
- }
- ByteLengthQueuingStrategy.prototype.size = function (chunk) {
- return chunk.byteLength;
- };
- return ByteLengthQueuingStrategy;
-}();
-var CountQueuingStrategy = function () {
- function CountQueuingStrategy(_a) {
- var highWaterMark = _a.highWaterMark;
- this.highWaterMark = highWaterMark;
- }
- CountQueuingStrategy.prototype.size = function () {
- return 1;
- };
- return CountQueuingStrategy;
-}();
-var TransformStream = function () {
- function TransformStream(transformer, writableStrategy, readableStrategy) {
- if (transformer === void 0) {
- transformer = {};
- }
- if (writableStrategy === void 0) {
- writableStrategy = {};
- }
- if (readableStrategy === void 0) {
- readableStrategy = {};
- }
- var writableSizeFunction = writableStrategy.size;
- var writableHighWaterMark = writableStrategy.highWaterMark;
- var readableSizeFunction = readableStrategy.size;
- var readableHighWaterMark = readableStrategy.highWaterMark;
- var writableType = transformer.writableType;
- if (writableType !== undefined) {
- throw new RangeError('Invalid writable type specified');
- }
- var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
- if (writableHighWaterMark === undefined) {
- writableHighWaterMark = 1;
- }
- writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
- var readableType = transformer.readableType;
- if (readableType !== undefined) {
- throw new RangeError('Invalid readable type specified');
- }
- var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
- if (readableHighWaterMark === undefined) {
- readableHighWaterMark = 0;
- }
- readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
- var startPromise_resolve;
- var startPromise = new Promise(function (resolve) {
- startPromise_resolve = resolve;
- });
- InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
- SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
- var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
- startPromise_resolve(startResult);
- }
- Object.defineProperty(TransformStream.prototype, "readable", {
- get: function () {
- if (IsTransformStream(this) === false) {
- throw streamBrandCheckException$2('readable');
- }
- return this._readable;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(TransformStream.prototype, "writable", {
- get: function () {
- if (IsTransformStream(this) === false) {
- throw streamBrandCheckException$2('writable');
- }
- return this._writable;
- },
- enumerable: true,
- configurable: true
- });
- return TransformStream;
-}();
-function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
- function startAlgorithm() {
- return startPromise;
- }
- function writeAlgorithm(chunk) {
- return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
- }
- function abortAlgorithm(reason) {
- return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
- }
- function closeAlgorithm() {
- return TransformStreamDefaultSinkCloseAlgorithm(stream);
- }
- stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
- function pullAlgorithm() {
- return TransformStreamDefaultSourcePullAlgorithm(stream);
- }
- function cancelAlgorithm(reason) {
- TransformStreamErrorWritableAndUnblockWrite(stream, reason);
- return Promise.resolve();
- }
- stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
- stream._backpressure = undefined;
- stream._backpressureChangePromise = undefined;
- stream._backpressureChangePromise_resolve = undefined;
- TransformStreamSetBackpressure(stream, true);
- stream._transformStreamController = undefined;
-}
-function IsTransformStream(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
- return false;
- }
- return true;
-}
-function TransformStreamError(stream, e) {
- ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
- TransformStreamErrorWritableAndUnblockWrite(stream, e);
-}
-function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
- TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
- WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
- if (stream._backpressure === true) {
- TransformStreamSetBackpressure(stream, false);
- }
-}
-function TransformStreamSetBackpressure(stream, backpressure) {
- if (stream._backpressureChangePromise !== undefined) {
- stream._backpressureChangePromise_resolve();
- }
- stream._backpressureChangePromise = new Promise(function (resolve) {
- stream._backpressureChangePromise_resolve = resolve;
- });
- stream._backpressure = backpressure;
-}
-var TransformStreamDefaultController = function () {
- function TransformStreamDefaultController() {
- throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
- }
- Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
- get: function () {
- if (IsTransformStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException$1('desiredSize');
- }
- var readableController = this._controlledTransformStream._readable._readableStreamController;
- return ReadableStreamDefaultControllerGetDesiredSize(readableController);
- },
- enumerable: true,
- configurable: true
- });
- TransformStreamDefaultController.prototype.enqueue = function (chunk) {
- if (IsTransformStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException$1('enqueue');
- }
- TransformStreamDefaultControllerEnqueue(this, chunk);
- };
- TransformStreamDefaultController.prototype.error = function (reason) {
- if (IsTransformStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException$1('error');
- }
- TransformStreamDefaultControllerError(this, reason);
- };
- TransformStreamDefaultController.prototype.terminate = function () {
- if (IsTransformStreamDefaultController(this) === false) {
- throw defaultControllerBrandCheckException$1('terminate');
- }
- TransformStreamDefaultControllerTerminate(this);
- };
- return TransformStreamDefaultController;
-}();
-function IsTransformStreamDefaultController(x) {
- if (!typeIsObject(x)) {
- return false;
- }
- if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
- return false;
- }
- return true;
-}
-function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
- controller._controlledTransformStream = stream;
- stream._transformStreamController = controller;
- controller._transformAlgorithm = transformAlgorithm;
- controller._flushAlgorithm = flushAlgorithm;
-}
-function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
- var controller = Object.create(TransformStreamDefaultController.prototype);
- var transformAlgorithm = function (chunk) {
- try {
- TransformStreamDefaultControllerEnqueue(controller, chunk);
- return Promise.resolve();
- } catch (transformResultE) {
- return Promise.reject(transformResultE);
- }
- };
- var transformMethod = transformer.transform;
- if (transformMethod !== undefined) {
- if (typeof transformMethod !== 'function') {
- throw new TypeError('transform is not a method');
- }
- transformAlgorithm = function (chunk) {
- return PromiseCall(transformMethod, transformer, [
- chunk,
- controller
- ]);
- };
- }
- var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
- SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
-}
-function TransformStreamDefaultControllerClearAlgorithms(controller) {
- controller._transformAlgorithm = undefined;
- controller._flushAlgorithm = undefined;
-}
-function TransformStreamDefaultControllerEnqueue(controller, chunk) {
- var stream = controller._controlledTransformStream;
- var readableController = stream._readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
- throw new TypeError('Readable side is not in a state that permits enqueue');
- }
- try {
- ReadableStreamDefaultControllerEnqueue(readableController, chunk);
- } catch (e) {
- TransformStreamErrorWritableAndUnblockWrite(stream, e);
- throw stream._readable._storedError;
- }
- var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
- if (backpressure !== stream._backpressure) {
- TransformStreamSetBackpressure(stream, true);
- }
-}
-function TransformStreamDefaultControllerError(controller, e) {
- TransformStreamError(controller._controlledTransformStream, e);
-}
-function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
- var transformPromise = controller._transformAlgorithm(chunk);
- return transformPromise.catch(function (r) {
- TransformStreamError(controller._controlledTransformStream, r);
- throw r;
- });
-}
-function TransformStreamDefaultControllerTerminate(controller) {
- var stream = controller._controlledTransformStream;
- var readableController = stream._readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
- ReadableStreamDefaultControllerClose(readableController);
- }
- var error = new TypeError('TransformStream terminated');
- TransformStreamErrorWritableAndUnblockWrite(stream, error);
-}
-function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
- var controller = stream._transformStreamController;
- if (stream._backpressure === true) {
- var backpressureChangePromise = stream._backpressureChangePromise;
- return backpressureChangePromise.then(function () {
- var writable = stream._writable;
- var state = writable._state;
- if (state === 'erroring') {
- throw writable._storedError;
- }
- return TransformStreamDefaultControllerPerformTransform(controller, chunk);
- });
- }
- return TransformStreamDefaultControllerPerformTransform(controller, chunk);
-}
-function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
- TransformStreamError(stream, reason);
- return Promise.resolve();
-}
-function TransformStreamDefaultSinkCloseAlgorithm(stream) {
- var readable = stream._readable;
- var controller = stream._transformStreamController;
- var flushPromise = controller._flushAlgorithm();
- TransformStreamDefaultControllerClearAlgorithms(controller);
- return flushPromise.then(function () {
- if (readable._state === 'errored') {
- throw readable._storedError;
- }
- var readableController = readable._readableStreamController;
- if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
- ReadableStreamDefaultControllerClose(readableController);
- }
- }).catch(function (r) {
- TransformStreamError(stream, r);
- throw readable._storedError;
- });
-}
-function TransformStreamDefaultSourcePullAlgorithm(stream) {
- TransformStreamSetBackpressure(stream, false);
- return stream._backpressureChangePromise;
-}
-function defaultControllerBrandCheckException$1(name) {
- return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
-}
-function streamBrandCheckException$2(name) {
- return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
-}
-
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.getDocument = getDocument;
exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
-exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;
+exports.version = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultCMapReaderFactory = exports.DefaultCanvasFactory = exports.build = void 0;
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
+var _util = __w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
+var _display_utils = __w_pdfjs_require__(1);
-var _display_utils = __w_pdfjs_require__(183);
+var _font_loader = __w_pdfjs_require__(6);
-var _font_loader = __w_pdfjs_require__(184);
+var _node_utils = __w_pdfjs_require__(7);
-var _api_compatibility = __w_pdfjs_require__(185);
+var _annotation_storage = __w_pdfjs_require__(8);
-var _canvas = __w_pdfjs_require__(186);
+var _api_compatibility = __w_pdfjs_require__(9);
-var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));
+var _canvas = __w_pdfjs_require__(10);
-var _worker_options = __w_pdfjs_require__(188);
+var _worker_options = __w_pdfjs_require__(12);
-var _message_handler = __w_pdfjs_require__(189);
+var _is_node = __w_pdfjs_require__(4);
-var _metadata = __w_pdfjs_require__(190);
+var _message_handler = __w_pdfjs_require__(13);
-var _transport_stream = __w_pdfjs_require__(192);
+var _metadata = __w_pdfjs_require__(14);
-var _webgl = __w_pdfjs_require__(193);
+var _optional_content_config = __w_pdfjs_require__(16);
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+var _transport_stream = __w_pdfjs_require__(17);
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
+var _webgl = __w_pdfjs_require__(18);
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-function _typeof(obj) { 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); }
-
-var DEFAULT_RANGE_CHUNK_SIZE = 65536;
-var RENDERING_CANCELLED_TIMEOUT = 100;
-var isWorkerDisabled = false;
-var fallbackWorkerSrc;
-var fakeWorkerFilesLoader = null;
-{
- var useRequireEnsure = false;
-
- if (typeof window === 'undefined') {
- isWorkerDisabled = true;
-
- if (typeof require.ensure === 'undefined') {
- require.ensure = require('node-ensure');
- }
-
- useRequireEnsure = true;
- } else if (typeof require !== 'undefined' && typeof require.ensure === 'function') {
- useRequireEnsure = true;
- }
-
- if (typeof requirejs !== 'undefined' && requirejs.toUrl) {
- fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');
- }
-
- var dynamicLoaderSupported = typeof requirejs !== 'undefined' && requirejs.load;
- fakeWorkerFilesLoader = useRequireEnsure ? function () {
- return new Promise(function (resolve, reject) {
- require.ensure([], function () {
- try {
- var worker;
- worker = require('./pdf.worker.js');
- resolve(worker.WorkerMessageHandler);
- } catch (ex) {
- reject(ex);
- }
- }, reject, 'pdfjsWorker');
- });
- } : dynamicLoaderSupported ? function () {
- return new Promise(function (resolve, reject) {
- requirejs(['pdfjs-dist/build/pdf.worker'], function (worker) {
- try {
- resolve(worker.WorkerMessageHandler);
- } catch (ex) {
- reject(ex);
- }
- }, reject);
- });
- } : null;
-
- if (!fallbackWorkerSrc && (typeof document === "undefined" ? "undefined" : _typeof(document)) === 'object' && 'currentScript' in document) {
- var pdfjsFilePath = document.currentScript && document.currentScript.src;
-
- if (pdfjsFilePath) {
- fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2');
- }
- }
-}
-var createPDFNetworkStream;
+const DEFAULT_RANGE_CHUNK_SIZE = 65536;
+const RENDERING_CANCELLED_TIMEOUT = 100;
+const DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;
+exports.DefaultCanvasFactory = DefaultCanvasFactory;
+const DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;
+exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;
+let createPDFNetworkStream;
function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
createPDFNetworkStream = pdfNetworkStreamFactory;
}
function getDocument(src) {
- var task = new PDFDocumentLoadingTask();
- var source;
+ const task = new PDFDocumentLoadingTask();
+ let source;
- if (typeof src === 'string') {
+ if (typeof src === "string") {
source = {
url: src
};
@@ -9917,42 +1863,42 @@ function getDocument(src) {
range: src
};
} else {
- if (_typeof(src) !== 'object') {
- throw new Error('Invalid parameter in getDocument, ' + 'need either Uint8Array, string or a parameter object');
+ if (typeof src !== "object") {
+ throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object");
}
if (!src.url && !src.data && !src.range) {
- throw new Error('Invalid parameter object: need either .data, .range or .url');
+ throw new Error("Invalid parameter object: need either .data, .range or .url");
}
source = src;
}
- var params = Object.create(null);
- var rangeTransport = null,
+ const params = Object.create(null);
+ let rangeTransport = null,
worker = null;
- for (var key in source) {
- if (key === 'url' && typeof window !== 'undefined') {
+ for (const key in source) {
+ if (key === "url" && typeof window !== "undefined") {
params[key] = new URL(source[key], window.location).href;
continue;
- } else if (key === 'range') {
+ } else if (key === "range") {
rangeTransport = source[key];
continue;
- } else if (key === 'worker') {
+ } else if (key === "worker") {
worker = source[key];
continue;
- } else if (key === 'data' && !(source[key] instanceof Uint8Array)) {
- var pdfBytes = source[key];
+ } else if (key === "data" && !(source[key] instanceof Uint8Array)) {
+ const pdfBytes = source[key];
- if (typeof pdfBytes === 'string') {
+ if (typeof pdfBytes === "string") {
params[key] = (0, _util.stringToBytes)(pdfBytes);
- } else if (_typeof(pdfBytes) === 'object' && pdfBytes !== null && !isNaN(pdfBytes.length)) {
+ } else if (typeof pdfBytes === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
params[key] = new Uint8Array(pdfBytes);
} else if ((0, _util.isArrayBuffer)(pdfBytes)) {
params[key] = new Uint8Array(pdfBytes);
} else {
- throw new Error('Invalid PDF binary data: either typed array, ' + 'string or array-like object is expected in the ' + 'data property.');
+ throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property.");
}
continue;
@@ -9962,47 +1908,43 @@ function getDocument(src) {
}
params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
- params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;
+ params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;
params.ignoreErrors = params.stopAtErrors !== true;
+ params.fontExtraProperties = params.fontExtraProperties === true;
params.pdfBug = params.pdfBug === true;
- var NativeImageDecoderValues = Object.values(_util.NativeImageDecoding);
-
- if (params.nativeImageDecoderSupport === undefined || !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {
- params.nativeImageDecoderSupport = _api_compatibility.apiCompatibilityParams.nativeImageDecoderSupport || _util.NativeImageDecoding.DECODE;
- }
if (!Number.isInteger(params.maxImageSize)) {
params.maxImageSize = -1;
}
- if (typeof params.isEvalSupported !== 'boolean') {
+ if (typeof params.isEvalSupported !== "boolean") {
params.isEvalSupported = true;
}
- if (typeof params.disableFontFace !== 'boolean') {
+ if (typeof params.disableFontFace !== "boolean") {
params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
}
- if (typeof params.disableRange !== 'boolean') {
+ if (typeof params.ownerDocument === "undefined") {
+ params.ownerDocument = globalThis.document;
+ }
+
+ if (typeof params.disableRange !== "boolean") {
params.disableRange = false;
}
- if (typeof params.disableStream !== 'boolean') {
+ if (typeof params.disableStream !== "boolean") {
params.disableStream = false;
}
- if (typeof params.disableAutoFetch !== 'boolean') {
+ if (typeof params.disableAutoFetch !== "boolean") {
params.disableAutoFetch = false;
}
- if (typeof params.disableCreateObjectURL !== 'boolean') {
- params.disableCreateObjectURL = _api_compatibility.apiCompatibilityParams.disableCreateObjectURL || false;
- }
-
(0, _util.setVerbosityLevel)(params.verbosity);
if (!worker) {
- var workerParams = {
+ const workerParams = {
verbosity: params.verbosity,
port: _worker_options.GlobalWorkerOptions.workerPort
};
@@ -10010,18 +1952,16 @@ function getDocument(src) {
task._worker = worker;
}
- var docId = task.docId;
+ const docId = task.docId;
worker.promise.then(function () {
if (task.destroyed) {
- throw new Error('Loading aborted');
+ throw new Error("Loading aborted");
}
- return _fetchDocument(worker, params, rangeTransport, docId).then(function (workerId) {
- if (task.destroyed) {
- throw new Error('Loading aborted');
- }
+ const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);
- var networkStream;
+ const networkStreamPromise = new Promise(function (resolve) {
+ let networkStream;
if (rangeTransport) {
networkStream = new _transport_stream.PDFDataTransportStream({
@@ -10043,19 +1983,26 @@ function getDocument(src) {
});
}
- var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
- messageHandler.postMessageTransfers = worker.postMessageTransfers;
- var transport = new WorkerTransport(messageHandler, task, networkStream, params);
- task._transport = transport;
- messageHandler.send('Ready', null);
+ resolve(networkStream);
});
- })["catch"](task._capability.reject);
+ return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {
+ if (task.destroyed) {
+ throw new Error("Loading aborted");
+ }
+
+ const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
+ messageHandler.postMessageTransfers = worker.postMessageTransfers;
+ const transport = new WorkerTransport(messageHandler, task, networkStream, params);
+ task._transport = transport;
+ messageHandler.send("Ready", null);
+ });
+ }).catch(task._capability.reject);
return task;
}
function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
if (worker.destroyed) {
- return Promise.reject(new Error('Worker was destroyed'));
+ return Promise.reject(new Error("Worker was destroyed"));
}
if (pdfDataRangeTransport) {
@@ -10064,9 +2011,9 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
source.progressiveDone = pdfDataRangeTransport.progressiveDone;
}
- return worker.messageHandler.sendWithPromise('GetDocRequest', {
- docId: docId,
- apiVersion: '2.3.200',
+ return worker.messageHandler.sendWithPromise("GetDocRequest", {
+ docId,
+ apiVersion: '2.7.570',
source: {
data: source.data,
url: source.url,
@@ -10077,84 +2024,60 @@ function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
},
maxImageSize: source.maxImageSize,
disableFontFace: source.disableFontFace,
- disableCreateObjectURL: source.disableCreateObjectURL,
postMessageTransfers: worker.postMessageTransfers,
docBaseUrl: source.docBaseUrl,
- nativeImageDecoderSupport: source.nativeImageDecoderSupport,
ignoreErrors: source.ignoreErrors,
- isEvalSupported: source.isEvalSupported
+ isEvalSupported: source.isEvalSupported,
+ fontExtraProperties: source.fontExtraProperties
}).then(function (workerId) {
if (worker.destroyed) {
- throw new Error('Worker was destroyed');
+ throw new Error("Worker was destroyed");
}
return workerId;
});
}
-var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
- var nextDocumentId = 0;
-
- var PDFDocumentLoadingTask =
- /*#__PURE__*/
- function () {
- function PDFDocumentLoadingTask() {
- _classCallCheck(this, PDFDocumentLoadingTask);
+const PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
+ let nextDocumentId = 0;
+ class PDFDocumentLoadingTask {
+ constructor() {
this._capability = (0, _util.createPromiseCapability)();
this._transport = null;
this._worker = null;
- this.docId = 'd' + nextDocumentId++;
+ this.docId = "d" + nextDocumentId++;
this.destroyed = false;
this.onPassword = null;
this.onProgress = null;
this.onUnsupportedFeature = null;
}
- _createClass(PDFDocumentLoadingTask, [{
- key: "destroy",
- value: function destroy() {
- var _this = this;
+ get promise() {
+ return this._capability.promise;
+ }
- this.destroyed = true;
- var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
- return transportDestroyed.then(function () {
- _this._transport = null;
+ destroy() {
+ this.destroyed = true;
+ const transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
+ return transportDestroyed.then(() => {
+ this._transport = null;
- if (_this._worker) {
- _this._worker.destroy();
+ if (this._worker) {
+ this._worker.destroy();
- _this._worker = null;
- }
- });
- }
- }, {
- key: "then",
- value: function then(onFulfilled, onRejected) {
- (0, _display_utils.deprecated)('PDFDocumentLoadingTask.then method, ' + 'use the `promise` getter instead.');
- return this.promise.then.apply(this.promise, arguments);
- }
- }, {
- key: "promise",
- get: function get() {
- return this._capability.promise;
- }
- }]);
+ this._worker = null;
+ }
+ });
+ }
- return PDFDocumentLoadingTask;
- }();
+ }
return PDFDocumentLoadingTask;
}();
-var PDFDataRangeTransport =
-/*#__PURE__*/
-function () {
- function PDFDataRangeTransport(length, initialData) {
- var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
- _classCallCheck(this, PDFDataRangeTransport);
-
+class PDFDataRangeTransport {
+ constructor(length, initialData, progressiveDone = false) {
this.length = length;
this.initialData = initialData;
this.progressiveDone = progressiveDone;
@@ -10165,955 +2088,839 @@ function () {
this._readyCapability = (0, _util.createPromiseCapability)();
}
- _createClass(PDFDataRangeTransport, [{
- key: "addRangeListener",
- value: function addRangeListener(listener) {
- this._rangeListeners.push(listener);
- }
- }, {
- key: "addProgressListener",
- value: function addProgressListener(listener) {
- this._progressListeners.push(listener);
- }
- }, {
- key: "addProgressiveReadListener",
- value: function addProgressiveReadListener(listener) {
- this._progressiveReadListeners.push(listener);
- }
- }, {
- key: "addProgressiveDoneListener",
- value: function addProgressiveDoneListener(listener) {
- this._progressiveDoneListeners.push(listener);
- }
- }, {
- key: "onDataRange",
- value: function onDataRange(begin, chunk) {
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
+ addRangeListener(listener) {
+ this._rangeListeners.push(listener);
+ }
- try {
- for (var _iterator = this._rangeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var listener = _step.value;
- listener(begin, chunk);
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
+ addProgressListener(listener) {
+ this._progressListeners.push(listener);
+ }
+
+ addProgressiveReadListener(listener) {
+ this._progressiveReadListeners.push(listener);
+ }
+
+ addProgressiveDoneListener(listener) {
+ this._progressiveDoneListeners.push(listener);
+ }
+
+ onDataRange(begin, chunk) {
+ for (const listener of this._rangeListeners) {
+ listener(begin, chunk);
+ }
+ }
+
+ onDataProgress(loaded, total) {
+ this._readyCapability.promise.then(() => {
+ for (const listener of this._progressListeners) {
+ listener(loaded, total);
}
- }
- }, {
- key: "onDataProgress",
- value: function onDataProgress(loaded, total) {
- var _this2 = this;
+ });
+ }
- this._readyCapability.promise.then(function () {
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
+ onDataProgressiveRead(chunk) {
+ this._readyCapability.promise.then(() => {
+ for (const listener of this._progressiveReadListeners) {
+ listener(chunk);
+ }
+ });
+ }
- try {
- for (var _iterator2 = _this2._progressListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
- var listener = _step2.value;
- listener(loaded, total);
- }
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
- _iterator2["return"]();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
- });
- }
- }, {
- key: "onDataProgressiveRead",
- value: function onDataProgressiveRead(chunk) {
- var _this3 = this;
+ onDataProgressiveDone() {
+ this._readyCapability.promise.then(() => {
+ for (const listener of this._progressiveDoneListeners) {
+ listener();
+ }
+ });
+ }
- this._readyCapability.promise.then(function () {
- var _iteratorNormalCompletion3 = true;
- var _didIteratorError3 = false;
- var _iteratorError3 = undefined;
+ transportReady() {
+ this._readyCapability.resolve();
+ }
- try {
- for (var _iterator3 = _this3._progressiveReadListeners[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
- var listener = _step3.value;
- listener(chunk);
- }
- } catch (err) {
- _didIteratorError3 = true;
- _iteratorError3 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
- _iterator3["return"]();
- }
- } finally {
- if (_didIteratorError3) {
- throw _iteratorError3;
- }
- }
- }
- });
- }
- }, {
- key: "onDataProgressiveDone",
- value: function onDataProgressiveDone() {
- var _this4 = this;
+ requestDataRange(begin, end) {
+ (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
+ }
- this._readyCapability.promise.then(function () {
- var _iteratorNormalCompletion4 = true;
- var _didIteratorError4 = false;
- var _iteratorError4 = undefined;
+ abort() {}
- try {
- for (var _iterator4 = _this4._progressiveDoneListeners[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
- var listener = _step4.value;
- listener();
- }
- } catch (err) {
- _didIteratorError4 = true;
- _iteratorError4 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
- _iterator4["return"]();
- }
- } finally {
- if (_didIteratorError4) {
- throw _iteratorError4;
- }
- }
- }
- });
- }
- }, {
- key: "transportReady",
- value: function transportReady() {
- this._readyCapability.resolve();
- }
- }, {
- key: "requestDataRange",
- value: function requestDataRange(begin, end) {
- (0, _util.unreachable)('Abstract method PDFDataRangeTransport.requestDataRange');
- }
- }, {
- key: "abort",
- value: function abort() {}
- }]);
-
- return PDFDataRangeTransport;
-}();
+}
exports.PDFDataRangeTransport = PDFDataRangeTransport;
-var PDFDocumentProxy =
-/*#__PURE__*/
-function () {
- function PDFDocumentProxy(pdfInfo, transport) {
- _classCallCheck(this, PDFDocumentProxy);
-
+class PDFDocumentProxy {
+ constructor(pdfInfo, transport) {
this._pdfInfo = pdfInfo;
this._transport = transport;
}
- _createClass(PDFDocumentProxy, [{
- key: "getPage",
- value: function getPage(pageNumber) {
- return this._transport.getPage(pageNumber);
- }
- }, {
- key: "getPageIndex",
- value: function getPageIndex(ref) {
- return this._transport.getPageIndex(ref);
- }
- }, {
- key: "getDestinations",
- value: function getDestinations() {
- return this._transport.getDestinations();
- }
- }, {
- key: "getDestination",
- value: function getDestination(id) {
- return this._transport.getDestination(id);
- }
- }, {
- key: "getPageLabels",
- value: function getPageLabels() {
- return this._transport.getPageLabels();
- }
- }, {
- key: "getPageLayout",
- value: function getPageLayout() {
- return this._transport.getPageLayout();
- }
- }, {
- key: "getPageMode",
- value: function getPageMode() {
- return this._transport.getPageMode();
- }
- }, {
- key: "getViewerPreferences",
- value: function getViewerPreferences() {
- return this._transport.getViewerPreferences();
- }
- }, {
- key: "getOpenActionDestination",
- value: function getOpenActionDestination() {
- return this._transport.getOpenActionDestination();
- }
- }, {
- key: "getAttachments",
- value: function getAttachments() {
- return this._transport.getAttachments();
- }
- }, {
- key: "getJavaScript",
- value: function getJavaScript() {
- return this._transport.getJavaScript();
- }
- }, {
- key: "getOutline",
- value: function getOutline() {
- return this._transport.getOutline();
- }
- }, {
- key: "getPermissions",
- value: function getPermissions() {
- return this._transport.getPermissions();
- }
- }, {
- key: "getMetadata",
- value: function getMetadata() {
- return this._transport.getMetadata();
- }
- }, {
- key: "getData",
- value: function getData() {
- return this._transport.getData();
- }
- }, {
- key: "getDownloadInfo",
- value: function getDownloadInfo() {
- return this._transport.downloadInfoCapability.promise;
- }
- }, {
- key: "getStats",
- value: function getStats() {
- return this._transport.getStats();
- }
- }, {
- key: "cleanup",
- value: function cleanup() {
- this._transport.startCleanup();
- }
- }, {
- key: "destroy",
- value: function destroy() {
- return this.loadingTask.destroy();
- }
- }, {
- key: "numPages",
- get: function get() {
- return this._pdfInfo.numPages;
- }
- }, {
- key: "fingerprint",
- get: function get() {
- return this._pdfInfo.fingerprint;
- }
- }, {
- key: "loadingParams",
- get: function get() {
- return this._transport.loadingParams;
- }
- }, {
- key: "loadingTask",
- get: function get() {
- return this._transport.loadingTask;
- }
- }]);
+ get annotationStorage() {
+ return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage());
+ }
- return PDFDocumentProxy;
-}();
+ get numPages() {
+ return this._pdfInfo.numPages;
+ }
+
+ get fingerprint() {
+ return this._pdfInfo.fingerprint;
+ }
+
+ getPage(pageNumber) {
+ return this._transport.getPage(pageNumber);
+ }
+
+ getPageIndex(ref) {
+ return this._transport.getPageIndex(ref);
+ }
+
+ getDestinations() {
+ return this._transport.getDestinations();
+ }
+
+ getDestination(id) {
+ return this._transport.getDestination(id);
+ }
+
+ getPageLabels() {
+ return this._transport.getPageLabels();
+ }
+
+ getPageLayout() {
+ return this._transport.getPageLayout();
+ }
+
+ getPageMode() {
+ return this._transport.getPageMode();
+ }
+
+ getViewerPreferences() {
+ return this._transport.getViewerPreferences();
+ }
+
+ getOpenAction() {
+ return this._transport.getOpenAction();
+ }
+
+ getAttachments() {
+ return this._transport.getAttachments();
+ }
+
+ getJavaScript() {
+ return this._transport.getJavaScript();
+ }
+
+ getJSActions() {
+ return this._transport.getDocJSActions();
+ }
+
+ getOutline() {
+ return this._transport.getOutline();
+ }
+
+ getOptionalContentConfig() {
+ return this._transport.getOptionalContentConfig();
+ }
+
+ getPermissions() {
+ return this._transport.getPermissions();
+ }
+
+ getMetadata() {
+ return this._transport.getMetadata();
+ }
+
+ getMarkInfo() {
+ return this._transport.getMarkInfo();
+ }
+
+ getData() {
+ return this._transport.getData();
+ }
+
+ getDownloadInfo() {
+ return this._transport.downloadInfoCapability.promise;
+ }
+
+ getStats() {
+ return this._transport.getStats();
+ }
+
+ cleanup() {
+ return this._transport.startCleanup();
+ }
+
+ destroy() {
+ return this.loadingTask.destroy();
+ }
+
+ get loadingParams() {
+ return this._transport.loadingParams;
+ }
+
+ get loadingTask() {
+ return this._transport.loadingTask;
+ }
+
+ saveDocument(annotationStorage) {
+ return this._transport.saveDocument(annotationStorage);
+ }
+
+ getFieldObjects() {
+ return this._transport.getFieldObjects();
+ }
+
+ hasJSActions() {
+ return this._transport.hasJSActions();
+ }
+
+ getCalculationOrderIds() {
+ return this._transport.getCalculationOrderIds();
+ }
+
+}
exports.PDFDocumentProxy = PDFDocumentProxy;
-var PDFPageProxy =
-/*#__PURE__*/
-function () {
- function PDFPageProxy(pageIndex, pageInfo, transport) {
- var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-
- _classCallCheck(this, PDFPageProxy);
-
- this.pageIndex = pageIndex;
+class PDFPageProxy {
+ constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {
+ this._pageIndex = pageIndex;
this._pageInfo = pageInfo;
+ this._ownerDocument = ownerDocument;
this._transport = transport;
- this._stats = pdfBug ? new _display_utils.StatTimer() : _display_utils.DummyStatTimer;
+ this._stats = pdfBug ? new _display_utils.StatTimer() : null;
this._pdfBug = pdfBug;
this.commonObjs = transport.commonObjs;
this.objs = new PDFObjects();
this.cleanupAfterRender = false;
this.pendingCleanup = false;
- this.intentStates = Object.create(null);
+ this._intentStates = new Map();
this.destroyed = false;
}
- _createClass(PDFPageProxy, [{
- key: "getViewport",
- value: function getViewport() {
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- scale = _ref.scale,
- _ref$rotation = _ref.rotation,
- rotation = _ref$rotation === void 0 ? this.rotate : _ref$rotation,
- _ref$dontFlip = _ref.dontFlip,
- dontFlip = _ref$dontFlip === void 0 ? false : _ref$dontFlip;
+ get pageNumber() {
+ return this._pageIndex + 1;
+ }
- if (arguments.length > 1 || typeof arguments[0] === 'number') {
- (0, _display_utils.deprecated)('getViewport is called with obsolete arguments.');
- scale = arguments[0];
- rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;
- dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;
+ get rotate() {
+ return this._pageInfo.rotate;
+ }
+
+ get ref() {
+ return this._pageInfo.ref;
+ }
+
+ get userUnit() {
+ return this._pageInfo.userUnit;
+ }
+
+ get view() {
+ return this._pageInfo.view;
+ }
+
+ getViewport({
+ scale,
+ rotation = this.rotate,
+ offsetX = 0,
+ offsetY = 0,
+ dontFlip = false
+ } = {}) {
+ return new _display_utils.PageViewport({
+ viewBox: this.view,
+ scale,
+ rotation,
+ offsetX,
+ offsetY,
+ dontFlip
+ });
+ }
+
+ getAnnotations({
+ intent = null
+ } = {}) {
+ if (!this.annotationsPromise || this.annotationsIntent !== intent) {
+ this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);
+ this.annotationsIntent = intent;
+ }
+
+ return this.annotationsPromise;
+ }
+
+ getJSActions() {
+ return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));
+ }
+
+ render({
+ canvasContext,
+ viewport,
+ intent = "display",
+ enableWebGL = false,
+ renderInteractiveForms = false,
+ transform = null,
+ imageLayer = null,
+ canvasFactory = null,
+ background = null,
+ annotationStorage = null,
+ optionalContentConfigPromise = null
+ }) {
+ if (this._stats) {
+ this._stats.time("Overall");
+ }
+
+ const renderingIntent = intent === "print" ? "print" : "display";
+ this.pendingCleanup = false;
+
+ if (!optionalContentConfigPromise) {
+ optionalContentConfigPromise = this._transport.getOptionalContentConfig();
+ }
+
+ let intentState = this._intentStates.get(renderingIntent);
+
+ if (!intentState) {
+ intentState = Object.create(null);
+
+ this._intentStates.set(renderingIntent, intentState);
+ }
+
+ if (intentState.streamReaderCancelTimeout) {
+ clearTimeout(intentState.streamReaderCancelTimeout);
+ intentState.streamReaderCancelTimeout = null;
+ }
+
+ const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({
+ ownerDocument: this._ownerDocument
+ });
+ const webGLContext = new _webgl.WebGLContext({
+ enable: enableWebGL
+ });
+
+ if (!intentState.displayReadyCapability) {
+ intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
+ intentState.operatorList = {
+ fnArray: [],
+ argsArray: [],
+ lastChunk: false
+ };
+
+ if (this._stats) {
+ this._stats.time("Page Request");
}
- return new _display_utils.PageViewport({
- viewBox: this.view,
- scale: scale,
- rotation: rotation,
- dontFlip: dontFlip
+ this._pumpOperatorList({
+ pageIndex: this._pageIndex,
+ intent: renderingIntent,
+ renderInteractiveForms: renderInteractiveForms === true,
+ annotationStorage: annotationStorage?.getAll() || null
});
}
- }, {
- key: "getAnnotations",
- value: function getAnnotations() {
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref2$intent = _ref2.intent,
- intent = _ref2$intent === void 0 ? null : _ref2$intent;
- if (!this.annotationsPromise || this.annotationsIntent !== intent) {
- this.annotationsPromise = this._transport.getAnnotations(this.pageIndex, intent);
- this.annotationsIntent = intent;
+ const complete = error => {
+ const i = intentState.renderTasks.indexOf(internalRenderTask);
+
+ if (i >= 0) {
+ intentState.renderTasks.splice(i, 1);
}
- return this.annotationsPromise;
- }
- }, {
- key: "render",
- value: function render(_ref3) {
- var _this5 = this;
-
- var canvasContext = _ref3.canvasContext,
- viewport = _ref3.viewport,
- _ref3$intent = _ref3.intent,
- intent = _ref3$intent === void 0 ? 'display' : _ref3$intent,
- _ref3$enableWebGL = _ref3.enableWebGL,
- enableWebGL = _ref3$enableWebGL === void 0 ? false : _ref3$enableWebGL,
- _ref3$renderInteracti = _ref3.renderInteractiveForms,
- renderInteractiveForms = _ref3$renderInteracti === void 0 ? false : _ref3$renderInteracti,
- _ref3$transform = _ref3.transform,
- transform = _ref3$transform === void 0 ? null : _ref3$transform,
- _ref3$imageLayer = _ref3.imageLayer,
- imageLayer = _ref3$imageLayer === void 0 ? null : _ref3$imageLayer,
- _ref3$canvasFactory = _ref3.canvasFactory,
- canvasFactory = _ref3$canvasFactory === void 0 ? null : _ref3$canvasFactory,
- _ref3$background = _ref3.background,
- background = _ref3$background === void 0 ? null : _ref3$background;
- var stats = this._stats;
- stats.time('Overall');
- var renderingIntent = intent === 'print' ? 'print' : 'display';
- this.pendingCleanup = false;
-
- if (!this.intentStates[renderingIntent]) {
- this.intentStates[renderingIntent] = Object.create(null);
+ if (this.cleanupAfterRender || renderingIntent === "print") {
+ this.pendingCleanup = true;
}
- var intentState = this.intentStates[renderingIntent];
+ this._tryCleanup();
- if (intentState.streamReaderCancelTimeout) {
- clearTimeout(intentState.streamReaderCancelTimeout);
- intentState.streamReaderCancelTimeout = null;
- }
+ if (error) {
+ internalRenderTask.capability.reject(error);
- var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();
- var webGLContext = new _webgl.WebGLContext({
- enable: enableWebGL
- });
-
- if (!intentState.displayReadyCapability) {
- intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
- intentState.operatorList = {
- fnArray: [],
- argsArray: [],
- lastChunk: false
- };
- stats.time('Page Request');
-
- this._pumpOperatorList({
- pageIndex: this.pageNumber - 1,
- intent: renderingIntent,
- renderInteractiveForms: renderInteractiveForms === true
+ this._abortOperatorList({
+ intentState,
+ reason: error
});
+ } else {
+ internalRenderTask.capability.resolve();
}
- var complete = function complete(error) {
- var i = intentState.renderTasks.indexOf(internalRenderTask);
+ if (this._stats) {
+ this._stats.timeEnd("Rendering");
+
+ this._stats.timeEnd("Overall");
+ }
+ };
+
+ const internalRenderTask = new InternalRenderTask({
+ callback: complete,
+ params: {
+ canvasContext,
+ viewport,
+ transform,
+ imageLayer,
+ background
+ },
+ objs: this.objs,
+ commonObjs: this.commonObjs,
+ operatorList: intentState.operatorList,
+ pageIndex: this._pageIndex,
+ canvasFactory: canvasFactoryInstance,
+ webGLContext,
+ useRequestAnimationFrame: renderingIntent !== "print",
+ pdfBug: this._pdfBug
+ });
+
+ if (!intentState.renderTasks) {
+ intentState.renderTasks = [];
+ }
+
+ intentState.renderTasks.push(internalRenderTask);
+ const renderTask = internalRenderTask.task;
+ Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {
+ if (this.pendingCleanup) {
+ complete();
+ return;
+ }
+
+ if (this._stats) {
+ this._stats.time("Rendering");
+ }
+
+ internalRenderTask.initializeGraphics({
+ transparency,
+ optionalContentConfig
+ });
+ internalRenderTask.operatorListChanged();
+ }).catch(complete);
+ return renderTask;
+ }
+
+ getOperatorList() {
+ function operatorListChanged() {
+ if (intentState.operatorList.lastChunk) {
+ intentState.opListReadCapability.resolve(intentState.operatorList);
+ const i = intentState.renderTasks.indexOf(opListTask);
if (i >= 0) {
intentState.renderTasks.splice(i, 1);
}
+ }
+ }
- if (_this5.cleanupAfterRender || renderingIntent === 'print') {
- _this5.pendingCleanup = true;
- }
+ const renderingIntent = "oplist";
- _this5._tryCleanup();
+ let intentState = this._intentStates.get(renderingIntent);
- if (error) {
- internalRenderTask.capability.reject(error);
+ if (!intentState) {
+ intentState = Object.create(null);
- _this5._abortOperatorList({
- intentState: intentState,
- reason: error
- });
- } else {
- internalRenderTask.capability.resolve();
- }
+ this._intentStates.set(renderingIntent, intentState);
+ }
- stats.timeEnd('Rendering');
- stats.timeEnd('Overall');
+ let opListTask;
+
+ if (!intentState.opListReadCapability) {
+ opListTask = Object.create(null);
+ opListTask.operatorListChanged = operatorListChanged;
+ intentState.opListReadCapability = (0, _util.createPromiseCapability)();
+ intentState.renderTasks = [];
+ intentState.renderTasks.push(opListTask);
+ intentState.operatorList = {
+ fnArray: [],
+ argsArray: [],
+ lastChunk: false
};
- var internalRenderTask = new InternalRenderTask({
- callback: complete,
- params: {
- canvasContext: canvasContext,
- viewport: viewport,
- transform: transform,
- imageLayer: imageLayer,
- background: background
- },
- objs: this.objs,
- commonObjs: this.commonObjs,
- operatorList: intentState.operatorList,
- pageNumber: this.pageNumber,
- canvasFactory: canvasFactoryInstance,
- webGLContext: webGLContext,
- useRequestAnimationFrame: renderingIntent !== 'print',
- pdfBug: this._pdfBug
- });
-
- if (!intentState.renderTasks) {
- intentState.renderTasks = [];
+ if (this._stats) {
+ this._stats.time("Page Request");
}
- intentState.renderTasks.push(internalRenderTask);
- var renderTask = internalRenderTask.task;
- intentState.displayReadyCapability.promise.then(function (transparency) {
- if (_this5.pendingCleanup) {
- complete();
- return;
- }
-
- stats.time('Rendering');
- internalRenderTask.initializeGraphics(transparency);
- internalRenderTask.operatorListChanged();
- })["catch"](complete);
- return renderTask;
- }
- }, {
- key: "getOperatorList",
- value: function getOperatorList() {
- function operatorListChanged() {
- if (intentState.operatorList.lastChunk) {
- intentState.opListReadCapability.resolve(intentState.operatorList);
- var i = intentState.renderTasks.indexOf(opListTask);
-
- if (i >= 0) {
- intentState.renderTasks.splice(i, 1);
- }
- }
- }
-
- var renderingIntent = 'oplist';
-
- if (!this.intentStates[renderingIntent]) {
- this.intentStates[renderingIntent] = Object.create(null);
- }
-
- var intentState = this.intentStates[renderingIntent];
- var opListTask;
-
- if (!intentState.opListReadCapability) {
- opListTask = {};
- opListTask.operatorListChanged = operatorListChanged;
- intentState.opListReadCapability = (0, _util.createPromiseCapability)();
- intentState.renderTasks = [];
- intentState.renderTasks.push(opListTask);
- intentState.operatorList = {
- fnArray: [],
- argsArray: [],
- lastChunk: false
- };
-
- this._stats.time('Page Request');
-
- this._pumpOperatorList({
- pageIndex: this.pageIndex,
- intent: renderingIntent
- });
- }
-
- return intentState.opListReadCapability.promise;
- }
- }, {
- key: "streamTextContent",
- value: function streamTextContent() {
- var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref4$normalizeWhites = _ref4.normalizeWhitespace,
- normalizeWhitespace = _ref4$normalizeWhites === void 0 ? false : _ref4$normalizeWhites,
- _ref4$disableCombineT = _ref4.disableCombineTextItems,
- disableCombineTextItems = _ref4$disableCombineT === void 0 ? false : _ref4$disableCombineT;
-
- var TEXT_CONTENT_CHUNK_SIZE = 100;
- return this._transport.messageHandler.sendWithStream('GetTextContent', {
- pageIndex: this.pageNumber - 1,
- normalizeWhitespace: normalizeWhitespace === true,
- combineTextItems: disableCombineTextItems !== true
- }, {
- highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
- size: function size(textContent) {
- return textContent.items.length;
- }
+ this._pumpOperatorList({
+ pageIndex: this._pageIndex,
+ intent: renderingIntent
});
}
- }, {
- key: "getTextContent",
- value: function getTextContent() {
- var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- var readableStream = this.streamTextContent(params);
- return new Promise(function (resolve, reject) {
- function pump() {
- reader.read().then(function (_ref5) {
- var _textContent$items;
- var value = _ref5.value,
- done = _ref5.done;
+ return intentState.opListReadCapability.promise;
+ }
- if (done) {
- resolve(textContent);
- return;
- }
+ streamTextContent({
+ normalizeWhitespace = false,
+ disableCombineTextItems = false
+ } = {}) {
+ const TEXT_CONTENT_CHUNK_SIZE = 100;
+ return this._transport.messageHandler.sendWithStream("GetTextContent", {
+ pageIndex: this._pageIndex,
+ normalizeWhitespace: normalizeWhitespace === true,
+ combineTextItems: disableCombineTextItems !== true
+ }, {
+ highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
- Object.assign(textContent.styles, value.styles);
-
- (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));
-
- pump();
- }, reject);
- }
-
- var reader = readableStream.getReader();
- var textContent = {
- items: [],
- styles: Object.create(null)
- };
- pump();
- });
- }
- }, {
- key: "_destroy",
- value: function _destroy() {
- var _this6 = this;
-
- this.destroyed = true;
- this._transport.pageCache[this.pageIndex] = null;
- var waitOn = [];
- Object.keys(this.intentStates).forEach(function (intent) {
- var intentState = _this6.intentStates[intent];
-
- _this6._abortOperatorList({
- intentState: intentState,
- reason: new Error('Page was destroyed.'),
- force: true
- });
-
- if (intent === 'oplist') {
- return;
- }
-
- intentState.renderTasks.forEach(function (renderTask) {
- var renderCompleted = renderTask.capability.promise["catch"](function () {});
- waitOn.push(renderCompleted);
- renderTask.cancel();
- });
- });
- this.objs.clear();
- this.annotationsPromise = null;
- this.pendingCleanup = false;
- return Promise.all(waitOn);
- }
- }, {
- key: "cleanup",
- value: function cleanup() {
- var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- this.pendingCleanup = true;
-
- this._tryCleanup(resetStats);
- }
- }, {
- key: "_tryCleanup",
- value: function _tryCleanup() {
- var _this7 = this;
-
- var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
- if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {
- var intentState = _this7.intentStates[intent];
- return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;
- })) {
- return;
+ size(textContent) {
+ return textContent.items.length;
}
- Object.keys(this.intentStates).forEach(function (intent) {
- delete _this7.intentStates[intent];
- });
- this.objs.clear();
- this.annotationsPromise = null;
-
- if (resetStats && this._stats instanceof _display_utils.StatTimer) {
- this._stats = new _display_utils.StatTimer();
- }
-
- this.pendingCleanup = false;
- }
- }, {
- key: "_startRenderPage",
- value: function _startRenderPage(transparency, intent) {
- var intentState = this.intentStates[intent];
-
- if (!intentState) {
- return;
- }
-
- this._stats.timeEnd('Page Request');
-
- if (intentState.displayReadyCapability) {
- intentState.displayReadyCapability.resolve(transparency);
- }
- }
- }, {
- key: "_renderPageChunk",
- value: function _renderPageChunk(operatorListChunk, intentState) {
- for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
- intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
- intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
- }
-
- intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
-
- for (var _i = 0; _i < intentState.renderTasks.length; _i++) {
- intentState.renderTasks[_i].operatorListChanged();
- }
-
- if (operatorListChunk.lastChunk) {
- this._tryCleanup();
- }
- }
- }, {
- key: "_pumpOperatorList",
- value: function _pumpOperatorList(args) {
- var _this8 = this;
-
- (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
-
- var readableStream = this._transport.messageHandler.sendWithStream('GetOperatorList', args);
-
- var reader = readableStream.getReader();
- var intentState = this.intentStates[args.intent];
- intentState.streamReader = reader;
-
- var pump = function pump() {
- reader.read().then(function (_ref6) {
- var value = _ref6.value,
- done = _ref6.done;
+ });
+ }
+ getTextContent(params = {}) {
+ const readableStream = this.streamTextContent(params);
+ return new Promise(function (resolve, reject) {
+ function pump() {
+ reader.read().then(function ({
+ value,
+ done
+ }) {
if (done) {
- intentState.streamReader = null;
+ resolve(textContent);
return;
}
- if (_this8._transport.destroyed) {
- return;
- }
-
- _this8._renderPageChunk(value, intentState);
-
+ Object.assign(textContent.styles, value.styles);
+ textContent.items.push(...value.items);
pump();
- }, function (reason) {
- intentState.streamReader = null;
+ }, reject);
+ }
- if (_this8._transport.destroyed) {
- return;
- }
-
- if (intentState.operatorList) {
- intentState.operatorList.lastChunk = true;
-
- for (var i = 0; i < intentState.renderTasks.length; i++) {
- intentState.renderTasks[i].operatorListChanged();
- }
-
- _this8._tryCleanup();
- }
-
- if (intentState.displayReadyCapability) {
- intentState.displayReadyCapability.reject(reason);
- } else if (intentState.opListReadCapability) {
- intentState.opListReadCapability.reject(reason);
- } else {
- throw reason;
- }
- });
+ const reader = readableStream.getReader();
+ const textContent = {
+ items: [],
+ styles: Object.create(null)
};
-
pump();
- }
- }, {
- key: "_abortOperatorList",
- value: function _abortOperatorList(_ref7) {
- var _this9 = this;
+ });
+ }
- var intentState = _ref7.intentState,
- reason = _ref7.reason,
- _ref7$force = _ref7.force,
- force = _ref7$force === void 0 ? false : _ref7$force;
- (0, _util.assert)(reason instanceof Error, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
+ _destroy() {
+ this.destroyed = true;
+ this._transport.pageCache[this._pageIndex] = null;
+ const waitOn = [];
- if (!intentState.streamReader) {
- return;
- }
-
- if (!force) {
- if (intentState.renderTasks.length !== 0) {
- return;
- }
-
- if (reason instanceof _display_utils.RenderingCancelledException) {
- intentState.streamReaderCancelTimeout = setTimeout(function () {
- _this9._abortOperatorList({
- intentState: intentState,
- reason: reason,
- force: true
- });
-
- intentState.streamReaderCancelTimeout = null;
- }, RENDERING_CANCELLED_TIMEOUT);
- return;
- }
- }
-
- intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
- intentState.streamReader = null;
-
- if (this._transport.destroyed) {
- return;
- }
-
- Object.keys(this.intentStates).some(function (intent) {
- if (_this9.intentStates[intent] === intentState) {
- delete _this9.intentStates[intent];
- return true;
- }
-
- return false;
+ for (const [intent, intentState] of this._intentStates) {
+ this._abortOperatorList({
+ intentState,
+ reason: new Error("Page was destroyed."),
+ force: true
});
- this.cleanup();
- }
- }, {
- key: "pageNumber",
- get: function get() {
- return this.pageIndex + 1;
- }
- }, {
- key: "rotate",
- get: function get() {
- return this._pageInfo.rotate;
- }
- }, {
- key: "ref",
- get: function get() {
- return this._pageInfo.ref;
- }
- }, {
- key: "userUnit",
- get: function get() {
- return this._pageInfo.userUnit;
- }
- }, {
- key: "view",
- get: function get() {
- return this._pageInfo.view;
- }
- }, {
- key: "stats",
- get: function get() {
- return this._stats instanceof _display_utils.StatTimer ? this._stats : null;
- }
- }]);
- return PDFPageProxy;
-}();
+ if (intent === "oplist") {
+ continue;
+ }
+
+ for (const internalRenderTask of intentState.renderTasks) {
+ waitOn.push(internalRenderTask.completed);
+ internalRenderTask.cancel();
+ }
+ }
+
+ this.objs.clear();
+ this.annotationsPromise = null;
+ this._jsActionsPromise = null;
+ this.pendingCleanup = false;
+ return Promise.all(waitOn);
+ }
+
+ cleanup(resetStats = false) {
+ this.pendingCleanup = true;
+ return this._tryCleanup(resetStats);
+ }
+
+ _tryCleanup(resetStats = false) {
+ if (!this.pendingCleanup) {
+ return false;
+ }
+
+ for (const {
+ renderTasks,
+ operatorList
+ } of this._intentStates.values()) {
+ if (renderTasks.length !== 0 || !operatorList.lastChunk) {
+ return false;
+ }
+ }
+
+ this._intentStates.clear();
+
+ this.objs.clear();
+ this.annotationsPromise = null;
+ this._jsActionsPromise = null;
+
+ if (resetStats && this._stats) {
+ this._stats = new _display_utils.StatTimer();
+ }
+
+ this.pendingCleanup = false;
+ return true;
+ }
+
+ _startRenderPage(transparency, intent) {
+ const intentState = this._intentStates.get(intent);
+
+ if (!intentState) {
+ return;
+ }
+
+ if (this._stats) {
+ this._stats.timeEnd("Page Request");
+ }
+
+ if (intentState.displayReadyCapability) {
+ intentState.displayReadyCapability.resolve(transparency);
+ }
+ }
+
+ _renderPageChunk(operatorListChunk, intentState) {
+ for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {
+ intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
+ intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
+ }
+
+ intentState.operatorList.lastChunk = operatorListChunk.lastChunk;
+
+ for (let i = 0; i < intentState.renderTasks.length; i++) {
+ intentState.renderTasks[i].operatorListChanged();
+ }
+
+ if (operatorListChunk.lastChunk) {
+ this._tryCleanup();
+ }
+ }
+
+ _pumpOperatorList(args) {
+ (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');
+
+ const readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);
+
+ const reader = readableStream.getReader();
+
+ const intentState = this._intentStates.get(args.intent);
+
+ intentState.streamReader = reader;
+
+ const pump = () => {
+ reader.read().then(({
+ value,
+ done
+ }) => {
+ if (done) {
+ intentState.streamReader = null;
+ return;
+ }
+
+ if (this._transport.destroyed) {
+ return;
+ }
+
+ this._renderPageChunk(value, intentState);
+
+ pump();
+ }, reason => {
+ intentState.streamReader = null;
+
+ if (this._transport.destroyed) {
+ return;
+ }
+
+ if (intentState.operatorList) {
+ intentState.operatorList.lastChunk = true;
+
+ for (let i = 0; i < intentState.renderTasks.length; i++) {
+ intentState.renderTasks[i].operatorListChanged();
+ }
+
+ this._tryCleanup();
+ }
+
+ if (intentState.displayReadyCapability) {
+ intentState.displayReadyCapability.reject(reason);
+ } else if (intentState.opListReadCapability) {
+ intentState.opListReadCapability.reject(reason);
+ } else {
+ throw reason;
+ }
+ });
+ };
+
+ pump();
+ }
+
+ _abortOperatorList({
+ intentState,
+ reason,
+ force = false
+ }) {
+ (0, _util.assert)(reason instanceof Error || typeof reason === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');
+
+ if (!intentState.streamReader) {
+ return;
+ }
+
+ if (!force) {
+ if (intentState.renderTasks.length !== 0) {
+ return;
+ }
+
+ if (reason instanceof _display_utils.RenderingCancelledException) {
+ intentState.streamReaderCancelTimeout = setTimeout(() => {
+ this._abortOperatorList({
+ intentState,
+ reason,
+ force: true
+ });
+
+ intentState.streamReaderCancelTimeout = null;
+ }, RENDERING_CANCELLED_TIMEOUT);
+ return;
+ }
+ }
+
+ intentState.streamReader.cancel(new _util.AbortException(reason?.message));
+ intentState.streamReader = null;
+
+ if (this._transport.destroyed) {
+ return;
+ }
+
+ for (const [intent, curIntentState] of this._intentStates) {
+ if (curIntentState === intentState) {
+ this._intentStates.delete(intent);
+
+ break;
+ }
+ }
+
+ this.cleanup();
+ }
+
+ get stats() {
+ return this._stats;
+ }
+
+}
exports.PDFPageProxy = PDFPageProxy;
-var LoopbackPort =
-/*#__PURE__*/
-function () {
- function LoopbackPort() {
- var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
- _classCallCheck(this, LoopbackPort);
-
+class LoopbackPort {
+ constructor(defer = true) {
this._listeners = [];
this._defer = defer;
this._deferred = Promise.resolve(undefined);
}
- _createClass(LoopbackPort, [{
- key: "postMessage",
- value: function postMessage(obj, transfers) {
- var _this10 = this;
+ postMessage(obj, transfers) {
+ function cloneValue(value) {
+ if (typeof value !== "object" || value === null) {
+ return value;
+ }
- function cloneValue(value) {
- if (_typeof(value) !== 'object' || value === null) {
- return value;
+ if (cloned.has(value)) {
+ return cloned.get(value);
+ }
+
+ let buffer, result;
+
+ if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
+ if (transfers?.includes(buffer)) {
+ result = new value.constructor(buffer, value.byteOffset, value.byteLength);
+ } else {
+ result = new value.constructor(value);
}
- if (cloned.has(value)) {
- return cloned.get(value);
- }
-
- var buffer, result;
-
- if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
- var transferable = transfers && transfers.includes(buffer);
-
- if (value === buffer) {
- result = value;
- } else if (transferable) {
- result = new value.constructor(buffer, value.byteOffset, value.byteLength);
- } else {
- result = new value.constructor(value);
- }
-
- cloned.set(value, result);
- return result;
- }
-
- result = Array.isArray(value) ? [] : {};
cloned.set(value, result);
-
- for (var i in value) {
- var desc = void 0,
- p = value;
-
- while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
- p = Object.getPrototypeOf(p);
- }
-
- if (typeof desc.value === 'undefined') {
- continue;
- }
-
- if (typeof desc.value === 'function') {
- if (value.hasOwnProperty && value.hasOwnProperty(i)) {
- throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
- }
-
- continue;
- }
-
- result[i] = cloneValue(desc.value);
- }
-
return result;
}
- if (!this._defer) {
- this._listeners.forEach(function (listener) {
- listener.call(_this10, {
- data: obj
- });
- });
+ result = Array.isArray(value) ? [] : {};
+ cloned.set(value, result);
- return;
+ for (const i in value) {
+ let desc,
+ p = value;
+
+ while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
+ p = Object.getPrototypeOf(p);
+ }
+
+ if (typeof desc.value === "undefined") {
+ continue;
+ }
+
+ if (typeof desc.value === "function") {
+ if (value.hasOwnProperty && value.hasOwnProperty(i)) {
+ throw new Error(`LoopbackPort.postMessage - cannot clone: ${value[i]}`);
+ }
+
+ continue;
+ }
+
+ result[i] = cloneValue(desc.value);
}
- var cloned = new WeakMap();
- var e = {
- data: cloneValue(obj)
- };
+ return result;
+ }
- this._deferred.then(function () {
- _this10._listeners.forEach(function (listener) {
- listener.call(_this10, e);
+ if (!this._defer) {
+ this._listeners.forEach(listener => {
+ listener.call(this, {
+ data: obj
});
});
- }
- }, {
- key: "addEventListener",
- value: function addEventListener(name, listener) {
- this._listeners.push(listener);
- }
- }, {
- key: "removeEventListener",
- value: function removeEventListener(name, listener) {
- var i = this._listeners.indexOf(listener);
- this._listeners.splice(i, 1);
+ return;
}
- }, {
- key: "terminate",
- value: function terminate() {
- this._listeners.length = 0;
- }
- }]);
- return LoopbackPort;
-}();
+ const cloned = new WeakMap();
+ const e = {
+ data: cloneValue(obj)
+ };
+
+ this._deferred.then(() => {
+ this._listeners.forEach(listener => {
+ listener.call(this, e);
+ });
+ });
+ }
+
+ addEventListener(name, listener) {
+ this._listeners.push(listener);
+ }
+
+ removeEventListener(name, listener) {
+ const i = this._listeners.indexOf(listener);
+
+ this._listeners.splice(i, 1);
+ }
+
+ terminate() {
+ this._listeners.length = 0;
+ }
+
+}
exports.LoopbackPort = LoopbackPort;
-var PDFWorker = function PDFWorkerClosure() {
- var pdfWorkerPorts = new WeakMap();
- var nextFakeWorkerId = 0;
- var fakeWorkerFilesLoadedCapability;
+const PDFWorker = function PDFWorkerClosure() {
+ const pdfWorkerPorts = new WeakMap();
+ let isWorkerDisabled = false;
+ let fallbackWorkerSrc;
+ let nextFakeWorkerId = 0;
+ let fakeWorkerCapability;
- function _getWorkerSrc() {
+ if (_is_node.isNodeJS && typeof require === "function") {
+ isWorkerDisabled = true;
+ fallbackWorkerSrc = "./pdf.worker.js";
+ } else if (typeof document === "object" && "currentScript" in document) {
+ const pdfjsFilePath = document.currentScript?.src;
+
+ if (pdfjsFilePath) {
+ fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
+ }
+ }
+
+ function getWorkerSrc() {
if (_worker_options.GlobalWorkerOptions.workerSrc) {
return _worker_options.GlobalWorkerOptions.workerSrc;
}
- if (typeof fallbackWorkerSrc !== 'undefined') {
+ if (typeof fallbackWorkerSrc !== "undefined") {
+ if (!_is_node.isNodeJS) {
+ (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
+ }
+
return fallbackWorkerSrc;
}
@@ -11121,59 +2928,55 @@ var PDFWorker = function PDFWorkerClosure() {
}
function getMainThreadWorkerMessageHandler() {
+ let mainWorkerMessageHandler;
+
try {
- if (typeof window !== 'undefined') {
- return window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler;
- }
+ mainWorkerMessageHandler = globalThis.pdfjsWorker?.WorkerMessageHandler;
} catch (ex) {}
- return null;
+ return mainWorkerMessageHandler || null;
}
function setupFakeWorkerGlobal() {
- if (fakeWorkerFilesLoadedCapability) {
- return fakeWorkerFilesLoadedCapability.promise;
+ if (fakeWorkerCapability) {
+ return fakeWorkerCapability.promise;
}
- fakeWorkerFilesLoadedCapability = (0, _util.createPromiseCapability)();
- var mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
+ fakeWorkerCapability = (0, _util.createPromiseCapability)();
- if (mainWorkerMessageHandler) {
- fakeWorkerFilesLoadedCapability.resolve(mainWorkerMessageHandler);
- return fakeWorkerFilesLoadedCapability.promise;
- }
+ const loader = async function () {
+ const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();
- var loader = fakeWorkerFilesLoader || function () {
- return (0, _display_utils.loadScript)(_getWorkerSrc()).then(function () {
- return window.pdfjsWorker.WorkerMessageHandler;
- });
+ if (mainWorkerMessageHandler) {
+ return mainWorkerMessageHandler;
+ }
+
+ if (_is_node.isNodeJS && typeof require === "function") {
+ const worker = eval("require")(getWorkerSrc());
+ return worker.WorkerMessageHandler;
+ }
+
+ await (0, _display_utils.loadScript)(getWorkerSrc());
+ return window.pdfjsWorker.WorkerMessageHandler;
};
- loader().then(fakeWorkerFilesLoadedCapability.resolve, fakeWorkerFilesLoadedCapability.reject);
- return fakeWorkerFilesLoadedCapability.promise;
+ loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
+ return fakeWorkerCapability.promise;
}
function createCDNWrapper(url) {
- var wrapper = 'importScripts(\'' + url + '\');';
+ const wrapper = "importScripts('" + url + "');";
return URL.createObjectURL(new Blob([wrapper]));
}
- var PDFWorker =
- /*#__PURE__*/
- function () {
- function PDFWorker() {
- var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref8$name = _ref8.name,
- name = _ref8$name === void 0 ? null : _ref8$name,
- _ref8$port = _ref8.port,
- port = _ref8$port === void 0 ? null : _ref8$port,
- _ref8$verbosity = _ref8.verbosity,
- verbosity = _ref8$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref8$verbosity;
-
- _classCallCheck(this, PDFWorker);
-
+ class PDFWorker {
+ constructor({
+ name = null,
+ port = null,
+ verbosity = (0, _util.getVerbosityLevel)()
+ } = {}) {
if (port && pdfWorkerPorts.has(port)) {
- throw new Error('Cannot use more than one PDFWorker per port');
+ throw new Error("Cannot use more than one PDFWorker per port");
}
this.name = name;
@@ -11196,221 +2999,206 @@ var PDFWorker = function PDFWorkerClosure() {
this._initialize();
}
- _createClass(PDFWorker, [{
- key: "_initializeFromPort",
- value: function _initializeFromPort(port) {
- this._port = port;
- this._messageHandler = new _message_handler.MessageHandler('main', 'worker', port);
+ get promise() {
+ return this._readyCapability.promise;
+ }
- this._messageHandler.on('ready', function () {});
+ get port() {
+ return this._port;
+ }
- this._readyCapability.resolve();
- }
- }, {
- key: "_initialize",
- value: function _initialize() {
- var _this11 = this;
+ get messageHandler() {
+ return this._messageHandler;
+ }
- if (typeof Worker !== 'undefined' && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
- var workerSrc = _getWorkerSrc();
+ _initializeFromPort(port) {
+ this._port = port;
+ this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);
- try {
- if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
- workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
+ this._messageHandler.on("ready", function () {});
+
+ this._readyCapability.resolve();
+ }
+
+ _initialize() {
+ if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
+ let workerSrc = getWorkerSrc();
+
+ try {
+ if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
+ workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
+ }
+
+ const worker = new Worker(workerSrc);
+ const messageHandler = new _message_handler.MessageHandler("main", "worker", worker);
+
+ const terminateEarly = () => {
+ worker.removeEventListener("error", onWorkerError);
+ messageHandler.destroy();
+ worker.terminate();
+
+ if (this.destroyed) {
+ this._readyCapability.reject(new Error("Worker was destroyed"));
+ } else {
+ this._setupFakeWorker();
+ }
+ };
+
+ const onWorkerError = () => {
+ if (!this._webWorker) {
+ terminateEarly();
+ }
+ };
+
+ worker.addEventListener("error", onWorkerError);
+ messageHandler.on("test", data => {
+ worker.removeEventListener("error", onWorkerError);
+
+ if (this.destroyed) {
+ terminateEarly();
+ return;
}
- var worker = new Worker(workerSrc);
- var messageHandler = new _message_handler.MessageHandler('main', 'worker', worker);
+ if (data) {
+ this._messageHandler = messageHandler;
+ this._port = worker;
+ this._webWorker = worker;
+
+ if (!data.supportTransfers) {
+ this.postMessageTransfers = false;
+ }
+
+ this._readyCapability.resolve();
+
+ messageHandler.send("configure", {
+ verbosity: this.verbosity
+ });
+ } else {
+ this._setupFakeWorker();
- var terminateEarly = function terminateEarly() {
- worker.removeEventListener('error', onWorkerError);
messageHandler.destroy();
worker.terminate();
+ }
+ });
+ messageHandler.on("ready", data => {
+ worker.removeEventListener("error", onWorkerError);
- if (_this11.destroyed) {
- _this11._readyCapability.reject(new Error('Worker was destroyed'));
- } else {
- _this11._setupFakeWorker();
- }
- };
+ if (this.destroyed) {
+ terminateEarly();
+ return;
+ }
- var onWorkerError = function onWorkerError() {
- if (!_this11._webWorker) {
- terminateEarly();
- }
- };
+ try {
+ sendTest();
+ } catch (e) {
+ this._setupFakeWorker();
+ }
+ });
- worker.addEventListener('error', onWorkerError);
- messageHandler.on('test', function (data) {
- worker.removeEventListener('error', onWorkerError);
+ const sendTest = () => {
+ const testObj = new Uint8Array([this.postMessageTransfers ? 255 : 0]);
- if (_this11.destroyed) {
- terminateEarly();
- return;
- }
+ try {
+ messageHandler.send("test", testObj, [testObj.buffer]);
+ } catch (ex) {
+ (0, _util.warn)("Cannot use postMessage transfers.");
+ testObj[0] = 0;
+ messageHandler.send("test", testObj);
+ }
+ };
- if (data) {
- _this11._messageHandler = messageHandler;
- _this11._port = worker;
- _this11._webWorker = worker;
-
- if (!data.supportTransfers) {
- _this11.postMessageTransfers = false;
- }
-
- _this11._readyCapability.resolve();
-
- messageHandler.send('configure', {
- verbosity: _this11.verbosity
- });
- } else {
- _this11._setupFakeWorker();
-
- messageHandler.destroy();
- worker.terminate();
- }
- });
- messageHandler.on('ready', function (data) {
- worker.removeEventListener('error', onWorkerError);
-
- if (_this11.destroyed) {
- terminateEarly();
- return;
- }
-
- try {
- sendTest();
- } catch (e) {
- _this11._setupFakeWorker();
- }
- });
-
- var sendTest = function sendTest() {
- var testObj = new Uint8Array([_this11.postMessageTransfers ? 255 : 0]);
-
- try {
- messageHandler.send('test', testObj, [testObj.buffer]);
- } catch (ex) {
- (0, _util.warn)('Cannot use postMessage transfers.');
- testObj[0] = 0;
- messageHandler.send('test', testObj);
- }
- };
-
- sendTest();
- return;
- } catch (e) {
- (0, _util.info)('The worker has been disabled.');
- }
+ sendTest();
+ return;
+ } catch (e) {
+ (0, _util.info)("The worker has been disabled.");
}
-
- this._setupFakeWorker();
}
- }, {
- key: "_setupFakeWorker",
- value: function _setupFakeWorker() {
- var _this12 = this;
- if (!isWorkerDisabled) {
- (0, _util.warn)('Setting up fake worker.');
- isWorkerDisabled = true;
+ this._setupFakeWorker();
+ }
+
+ _setupFakeWorker() {
+ if (!isWorkerDisabled) {
+ (0, _util.warn)("Setting up fake worker.");
+ isWorkerDisabled = true;
+ }
+
+ setupFakeWorkerGlobal().then(WorkerMessageHandler => {
+ if (this.destroyed) {
+ this._readyCapability.reject(new Error("Worker was destroyed"));
+
+ return;
}
- setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
- if (_this12.destroyed) {
- _this12._readyCapability.reject(new Error('Worker was destroyed'));
+ const port = new LoopbackPort();
+ this._port = port;
+ const id = "fake" + nextFakeWorkerId++;
+ const workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
+ WorkerMessageHandler.setup(workerHandler, port);
+ const messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
+ this._messageHandler = messageHandler;
- return;
- }
+ this._readyCapability.resolve();
- var port = new LoopbackPort();
- _this12._port = port;
- var id = 'fake' + nextFakeWorkerId++;
- var workerHandler = new _message_handler.MessageHandler(id + '_worker', id, port);
- WorkerMessageHandler.setup(workerHandler, port);
- var messageHandler = new _message_handler.MessageHandler(id, id + '_worker', port);
- _this12._messageHandler = messageHandler;
-
- _this12._readyCapability.resolve();
- })["catch"](function (reason) {
- _this12._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
+ messageHandler.send("configure", {
+ verbosity: this.verbosity
});
+ }).catch(reason => {
+ this._readyCapability.reject(new Error(`Setting up fake worker failed: "${reason.message}".`));
+ });
+ }
+
+ destroy() {
+ this.destroyed = true;
+
+ if (this._webWorker) {
+ this._webWorker.terminate();
+
+ this._webWorker = null;
}
- }, {
- key: "destroy",
- value: function destroy() {
- this.destroyed = true;
- if (this._webWorker) {
- this._webWorker.terminate();
+ pdfWorkerPorts.delete(this._port);
+ this._port = null;
- this._webWorker = null;
- }
+ if (this._messageHandler) {
+ this._messageHandler.destroy();
- pdfWorkerPorts["delete"](this._port);
- this._port = null;
-
- if (this._messageHandler) {
- this._messageHandler.destroy();
-
- this._messageHandler = null;
- }
+ this._messageHandler = null;
}
- }, {
- key: "promise",
- get: function get() {
- return this._readyCapability.promise;
- }
- }, {
- key: "port",
- get: function get() {
- return this._port;
- }
- }, {
- key: "messageHandler",
- get: function get() {
- return this._messageHandler;
- }
- }], [{
- key: "fromPort",
- value: function fromPort(params) {
- if (!params || !params.port) {
- throw new Error('PDFWorker.fromPort - invalid method signature.');
- }
+ }
- if (pdfWorkerPorts.has(params.port)) {
- return pdfWorkerPorts.get(params.port);
- }
-
- return new PDFWorker(params);
+ static fromPort(params) {
+ if (!params || !params.port) {
+ throw new Error("PDFWorker.fromPort - invalid method signature.");
}
- }, {
- key: "getWorkerSrc",
- value: function getWorkerSrc() {
- return _getWorkerSrc();
- }
- }]);
- return PDFWorker;
- }();
+ if (pdfWorkerPorts.has(params.port)) {
+ return pdfWorkerPorts.get(params.port);
+ }
+
+ return new PDFWorker(params);
+ }
+
+ static getWorkerSrc() {
+ return getWorkerSrc();
+ }
+
+ }
return PDFWorker;
}();
exports.PDFWorker = PDFWorker;
-var WorkerTransport =
-/*#__PURE__*/
-function () {
- function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
- _classCallCheck(this, WorkerTransport);
-
+class WorkerTransport {
+ constructor(messageHandler, loadingTask, networkStream, params) {
this.messageHandler = messageHandler;
this.loadingTask = loadingTask;
this.commonObjs = new PDFObjects();
this.fontLoader = new _font_loader.FontLoader({
docId: loadingTask.docId,
- onUnsupportedFeature: this._onUnsupportedFeature.bind(this)
+ onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
+ ownerDocument: params.ownerDocument
});
this._params = params;
this.CMapReaderFactory = new params.CMapReaderFactory({
@@ -11429,747 +3217,672 @@ function () {
this.setupMessageHandler();
}
- _createClass(WorkerTransport, [{
- key: "destroy",
- value: function destroy() {
- var _this13 = this;
+ get loadingTaskSettled() {
+ return this.loadingTask._capability.settled;
+ }
- if (this.destroyCapability) {
- return this.destroyCapability.promise;
- }
-
- this.destroyed = true;
- this.destroyCapability = (0, _util.createPromiseCapability)();
-
- if (this._passwordCapability) {
- this._passwordCapability.reject(new Error('Worker was destroyed during onPassword callback'));
- }
-
- var waitOn = [];
- this.pageCache.forEach(function (page) {
- if (page) {
- waitOn.push(page._destroy());
- }
- });
- this.pageCache.length = 0;
- this.pagePromises.length = 0;
- var terminated = this.messageHandler.sendWithPromise('Terminate', null);
- waitOn.push(terminated);
- Promise.all(waitOn).then(function () {
- _this13.fontLoader.clear();
-
- if (_this13._networkStream) {
- _this13._networkStream.cancelAllRequests(new _util.AbortException('Worker was terminated.'));
- }
-
- if (_this13.messageHandler) {
- _this13.messageHandler.destroy();
-
- _this13.messageHandler = null;
- }
-
- _this13.destroyCapability.resolve();
- }, this.destroyCapability.reject);
+ destroy() {
+ if (this.destroyCapability) {
return this.destroyCapability.promise;
}
- }, {
- key: "setupMessageHandler",
- value: function setupMessageHandler() {
- var _this14 = this;
- var messageHandler = this.messageHandler,
- loadingTask = this.loadingTask;
- messageHandler.on('GetReader', function (data, sink) {
- (0, _util.assert)(_this14._networkStream);
- _this14._fullReader = _this14._networkStream.getFullReader();
+ this.destroyed = true;
+ this.destroyCapability = (0, _util.createPromiseCapability)();
- _this14._fullReader.onProgress = function (evt) {
- _this14._lastProgress = {
- loaded: evt.loaded,
- total: evt.total
- };
+ if (this._passwordCapability) {
+ this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
+ }
+
+ const waitOn = [];
+ this.pageCache.forEach(function (page) {
+ if (page) {
+ waitOn.push(page._destroy());
+ }
+ });
+ this.pageCache.length = 0;
+ this.pagePromises.length = 0;
+ const terminated = this.messageHandler.sendWithPromise("Terminate", null);
+ waitOn.push(terminated);
+
+ if (this.loadingTaskSettled) {
+ const annotationStorageResetModified = this.loadingTask.promise.then(pdfDocument => {
+ if (pdfDocument.hasOwnProperty("annotationStorage")) {
+ pdfDocument.annotationStorage.resetModified();
+ }
+ }).catch(() => {});
+ waitOn.push(annotationStorageResetModified);
+ }
+
+ Promise.all(waitOn).then(() => {
+ this.commonObjs.clear();
+ this.fontLoader.clear();
+ this._hasJSActionsPromise = null;
+
+ if (this._networkStream) {
+ this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
+ }
+
+ if (this.messageHandler) {
+ this.messageHandler.destroy();
+ this.messageHandler = null;
+ }
+
+ this.destroyCapability.resolve();
+ }, this.destroyCapability.reject);
+ return this.destroyCapability.promise;
+ }
+
+ setupMessageHandler() {
+ const {
+ messageHandler,
+ loadingTask
+ } = this;
+ messageHandler.on("GetReader", (data, sink) => {
+ (0, _util.assert)(this._networkStream, "GetReader - no `IPDFStream` instance available.");
+ this._fullReader = this._networkStream.getFullReader();
+
+ this._fullReader.onProgress = evt => {
+ this._lastProgress = {
+ loaded: evt.loaded,
+ total: evt.total
};
+ };
- sink.onPull = function () {
- _this14._fullReader.read().then(function (_ref9) {
- var value = _ref9.value,
- done = _ref9.done;
-
- if (done) {
- sink.close();
- return;
- }
-
- (0, _util.assert)((0, _util.isArrayBuffer)(value));
- sink.enqueue(new Uint8Array(value), 1, [value]);
- })["catch"](function (reason) {
- sink.error(reason);
- });
- };
-
- sink.onCancel = function (reason) {
- _this14._fullReader.cancel(reason);
- };
- });
- messageHandler.on('ReaderHeadersReady', function (data) {
- var headersCapability = (0, _util.createPromiseCapability)();
- var fullReader = _this14._fullReader;
- fullReader.headersReady.then(function () {
- if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
- if (_this14._lastProgress && loadingTask.onProgress) {
- loadingTask.onProgress(_this14._lastProgress);
- }
-
- fullReader.onProgress = function (evt) {
- if (loadingTask.onProgress) {
- loadingTask.onProgress({
- loaded: evt.loaded,
- total: evt.total
- });
- }
- };
- }
-
- headersCapability.resolve({
- isStreamingSupported: fullReader.isStreamingSupported,
- isRangeSupported: fullReader.isRangeSupported,
- contentLength: fullReader.contentLength
- });
- }, headersCapability.reject);
- return headersCapability.promise;
- });
- messageHandler.on('GetRangeReader', function (data, sink) {
- (0, _util.assert)(_this14._networkStream);
-
- var rangeReader = _this14._networkStream.getRangeReader(data.begin, data.end);
-
- if (!rangeReader) {
- sink.close();
- return;
- }
-
- sink.onPull = function () {
- rangeReader.read().then(function (_ref10) {
- var value = _ref10.value,
- done = _ref10.done;
-
- if (done) {
- sink.close();
- return;
- }
-
- (0, _util.assert)((0, _util.isArrayBuffer)(value));
- sink.enqueue(new Uint8Array(value), 1, [value]);
- })["catch"](function (reason) {
- sink.error(reason);
- });
- };
-
- sink.onCancel = function (reason) {
- rangeReader.cancel(reason);
- };
- });
- messageHandler.on('GetDoc', function (_ref11) {
- var pdfInfo = _ref11.pdfInfo;
- _this14._numPages = pdfInfo.numPages;
-
- loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this14));
- });
- messageHandler.on('PasswordRequest', function (exception) {
- _this14._passwordCapability = (0, _util.createPromiseCapability)();
-
- if (loadingTask.onPassword) {
- var updatePassword = function updatePassword(password) {
- _this14._passwordCapability.resolve({
- password: password
- });
- };
-
- try {
- loadingTask.onPassword(updatePassword, exception.code);
- } catch (ex) {
- _this14._passwordCapability.reject(ex);
- }
- } else {
- _this14._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
- }
-
- return _this14._passwordCapability.promise;
- });
- messageHandler.on('PasswordException', function (exception) {
- loadingTask._capability.reject(new _util.PasswordException(exception.message, exception.code));
- });
- messageHandler.on('InvalidPDF', function (exception) {
- loadingTask._capability.reject(new _util.InvalidPDFException(exception.message));
- });
- messageHandler.on('MissingPDF', function (exception) {
- loadingTask._capability.reject(new _util.MissingPDFException(exception.message));
- });
- messageHandler.on('UnexpectedResponse', function (exception) {
- loadingTask._capability.reject(new _util.UnexpectedResponseException(exception.message, exception.status));
- });
- messageHandler.on('UnknownError', function (exception) {
- loadingTask._capability.reject(new _util.UnknownErrorException(exception.message, exception.details));
- });
- messageHandler.on('DataLoaded', function (data) {
- if (loadingTask.onProgress) {
- loadingTask.onProgress({
- loaded: data.length,
- total: data.length
- });
- }
-
- _this14.downloadInfoCapability.resolve(data);
- });
- messageHandler.on('StartRenderPage', function (data) {
- if (_this14.destroyed) {
- return;
- }
-
- var page = _this14.pageCache[data.pageIndex];
-
- page._startRenderPage(data.transparency, data.intent);
- });
- messageHandler.on('commonobj', function (data) {
- if (_this14.destroyed) {
- return;
- }
-
- var _data = _slicedToArray(data, 3),
- id = _data[0],
- type = _data[1],
- exportedData = _data[2];
-
- if (_this14.commonObjs.has(id)) {
- return;
- }
-
- switch (type) {
- case 'Font':
- var params = _this14._params;
-
- if ('error' in exportedData) {
- var exportedError = exportedData.error;
- (0, _util.warn)("Error during font loading: ".concat(exportedError));
-
- _this14.commonObjs.resolve(id, exportedError);
-
- break;
- }
-
- var fontRegistry = null;
-
- if (params.pdfBug && _global_scope["default"].FontInspector && _global_scope["default"].FontInspector.enabled) {
- fontRegistry = {
- registerFont: function registerFont(font, url) {
- _global_scope["default"]['FontInspector'].fontAdded(font, url);
- }
- };
- }
-
- var font = new _font_loader.FontFaceObject(exportedData, {
- isEvalSupported: params.isEvalSupported,
- disableFontFace: params.disableFontFace,
- ignoreErrors: params.ignoreErrors,
- onUnsupportedFeature: _this14._onUnsupportedFeature.bind(_this14),
- fontRegistry: fontRegistry
- });
-
- _this14.fontLoader.bind(font).then(function () {
- _this14.commonObjs.resolve(id, font);
- }, function (reason) {
- messageHandler.sendWithPromise('FontFallback', {
- id: id
- })["finally"](function () {
- _this14.commonObjs.resolve(id, font);
- });
- });
-
- break;
-
- case 'FontPath':
- case 'FontType3Res':
- _this14.commonObjs.resolve(id, exportedData);
-
- break;
-
- default:
- throw new Error("Got unknown common object type ".concat(type));
- }
- });
- messageHandler.on('obj', function (data) {
- if (_this14.destroyed) {
- return undefined;
- }
-
- var _data2 = _slicedToArray(data, 4),
- id = _data2[0],
- pageIndex = _data2[1],
- type = _data2[2],
- imageData = _data2[3];
-
- var pageProxy = _this14.pageCache[pageIndex];
-
- if (pageProxy.objs.has(id)) {
- return undefined;
- }
-
- switch (type) {
- case 'JpegStream':
- return new Promise(function (resolve, reject) {
- var img = new Image();
-
- img.onload = function () {
- resolve(img);
- };
-
- img.onerror = function () {
- reject(new Error('Error during JPEG image loading'));
- (0, _display_utils.releaseImageResources)(img);
- };
-
- img.src = imageData;
- }).then(function (img) {
- pageProxy.objs.resolve(id, img);
- });
-
- case 'Image':
- pageProxy.objs.resolve(id, imageData);
- var MAX_IMAGE_SIZE_TO_STORE = 8000000;
-
- if (imageData && 'data' in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
- pageProxy.cleanupAfterRender = true;
- }
-
- break;
-
- default:
- throw new Error("Got unknown object type ".concat(type));
- }
-
- return undefined;
- });
- messageHandler.on('DocProgress', function (data) {
- if (_this14.destroyed) {
- return;
- }
-
- if (loadingTask.onProgress) {
- loadingTask.onProgress({
- loaded: data.loaded,
- total: data.total
- });
- }
- });
- messageHandler.on('UnsupportedFeature', this._onUnsupportedFeature.bind(this));
- messageHandler.on('JpegDecode', function (data) {
- if (_this14.destroyed) {
- return Promise.reject(new Error('Worker was destroyed'));
- }
-
- if (typeof document === 'undefined') {
- return Promise.reject(new Error('"document" is not defined.'));
- }
-
- var _data3 = _slicedToArray(data, 2),
- imageUrl = _data3[0],
- components = _data3[1];
-
- if (components !== 3 && components !== 1) {
- return Promise.reject(new Error('Only 3 components or 1 component can be returned'));
- }
-
- return new Promise(function (resolve, reject) {
- var img = new Image();
-
- img.onload = function () {
- var width = img.width,
- height = img.height;
- var size = width * height;
- var rgbaLength = size * 4;
- var buf = new Uint8ClampedArray(size * components);
- var tmpCanvas = document.createElement('canvas');
- tmpCanvas.width = width;
- tmpCanvas.height = height;
- var tmpCtx = tmpCanvas.getContext('2d');
- tmpCtx.drawImage(img, 0, 0);
- var data = tmpCtx.getImageData(0, 0, width, height).data;
-
- if (components === 3) {
- for (var i = 0, j = 0; i < rgbaLength; i += 4, j += 3) {
- buf[j] = data[i];
- buf[j + 1] = data[i + 1];
- buf[j + 2] = data[i + 2];
- }
- } else if (components === 1) {
- for (var _i2 = 0, _j = 0; _i2 < rgbaLength; _i2 += 4, _j++) {
- buf[_j] = data[_i2];
- }
- }
-
- resolve({
- data: buf,
- width: width,
- height: height
- });
- (0, _display_utils.releaseImageResources)(img);
- tmpCanvas.width = 0;
- tmpCanvas.height = 0;
- tmpCanvas = null;
- tmpCtx = null;
- };
-
- img.onerror = function () {
- reject(new Error('JpegDecode failed to load image'));
- (0, _display_utils.releaseImageResources)(img);
- };
-
- img.src = imageUrl;
- });
- });
- messageHandler.on('FetchBuiltInCMap', function (data, sink) {
- if (_this14.destroyed) {
- sink.error(new Error('Worker was destroyed'));
- return;
- }
-
- var fetched = false;
-
- sink.onPull = function () {
- if (fetched) {
+ sink.onPull = () => {
+ this._fullReader.read().then(function ({
+ value,
+ done
+ }) {
+ if (done) {
sink.close();
return;
}
- fetched = true;
+ (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer.");
+ sink.enqueue(new Uint8Array(value), 1, [value]);
+ }).catch(reason => {
+ sink.error(reason);
+ });
+ };
- _this14.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
- sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
- })["catch"](function (reason) {
- sink.error(reason);
+ sink.onCancel = reason => {
+ this._fullReader.cancel(reason);
+
+ sink.ready.catch(readyReason => {
+ if (this.destroyed) {
+ return;
+ }
+
+ throw readyReason;
+ });
+ };
+ });
+ messageHandler.on("ReaderHeadersReady", data => {
+ const headersCapability = (0, _util.createPromiseCapability)();
+ const fullReader = this._fullReader;
+ fullReader.headersReady.then(() => {
+ if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
+ if (this._lastProgress && loadingTask.onProgress) {
+ loadingTask.onProgress(this._lastProgress);
+ }
+
+ fullReader.onProgress = evt => {
+ if (loadingTask.onProgress) {
+ loadingTask.onProgress({
+ loaded: evt.loaded,
+ total: evt.total
+ });
+ }
+ };
+ }
+
+ headersCapability.resolve({
+ isStreamingSupported: fullReader.isStreamingSupported,
+ isRangeSupported: fullReader.isRangeSupported,
+ contentLength: fullReader.contentLength
+ });
+ }, headersCapability.reject);
+ return headersCapability.promise;
+ });
+ messageHandler.on("GetRangeReader", (data, sink) => {
+ (0, _util.assert)(this._networkStream, "GetRangeReader - no `IPDFStream` instance available.");
+
+ const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);
+
+ if (!rangeReader) {
+ sink.close();
+ return;
+ }
+
+ sink.onPull = () => {
+ rangeReader.read().then(function ({
+ value,
+ done
+ }) {
+ if (done) {
+ sink.close();
+ return;
+ }
+
+ (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer.");
+ sink.enqueue(new Uint8Array(value), 1, [value]);
+ }).catch(reason => {
+ sink.error(reason);
+ });
+ };
+
+ sink.onCancel = reason => {
+ rangeReader.cancel(reason);
+ sink.ready.catch(readyReason => {
+ if (this.destroyed) {
+ return;
+ }
+
+ throw readyReason;
+ });
+ };
+ });
+ messageHandler.on("GetDoc", ({
+ pdfInfo
+ }) => {
+ this._numPages = pdfInfo.numPages;
+
+ loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));
+ });
+ messageHandler.on("DocException", function (ex) {
+ let reason;
+
+ switch (ex.name) {
+ case "PasswordException":
+ reason = new _util.PasswordException(ex.message, ex.code);
+ break;
+
+ case "InvalidPDFException":
+ reason = new _util.InvalidPDFException(ex.message);
+ break;
+
+ case "MissingPDFException":
+ reason = new _util.MissingPDFException(ex.message);
+ break;
+
+ case "UnexpectedResponseException":
+ reason = new _util.UnexpectedResponseException(ex.message, ex.status);
+ break;
+
+ case "UnknownErrorException":
+ reason = new _util.UnknownErrorException(ex.message, ex.details);
+ break;
+ }
+
+ if (!(reason instanceof Error)) {
+ const msg = "DocException - expected a valid Error.";
+ (0, _util.warn)(msg);
+ }
+
+ loadingTask._capability.reject(reason);
+ });
+ messageHandler.on("PasswordRequest", exception => {
+ this._passwordCapability = (0, _util.createPromiseCapability)();
+
+ if (loadingTask.onPassword) {
+ const updatePassword = password => {
+ this._passwordCapability.resolve({
+ password
});
};
- });
- }
- }, {
- key: "_onUnsupportedFeature",
- value: function _onUnsupportedFeature(_ref12) {
- var featureId = _ref12.featureId;
+ try {
+ loadingTask.onPassword(updatePassword, exception.code);
+ } catch (ex) {
+ this._passwordCapability.reject(ex);
+ }
+ } else {
+ this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
+ }
+
+ return this._passwordCapability.promise;
+ });
+ messageHandler.on("DataLoaded", data => {
+ if (loadingTask.onProgress) {
+ loadingTask.onProgress({
+ loaded: data.length,
+ total: data.length
+ });
+ }
+
+ this.downloadInfoCapability.resolve(data);
+ });
+ messageHandler.on("StartRenderPage", data => {
if (this.destroyed) {
return;
}
- if (this.loadingTask.onUnsupportedFeature) {
- this.loadingTask.onUnsupportedFeature(featureId);
- }
- }
- }, {
- key: "getData",
- value: function getData() {
- return this.messageHandler.sendWithPromise('GetData', null);
- }
- }, {
- key: "getPage",
- value: function getPage(pageNumber) {
- var _this15 = this;
+ const page = this.pageCache[data.pageIndex];
- if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
- return Promise.reject(new Error('Invalid page request'));
+ page._startRenderPage(data.transparency, data.intent);
+ });
+ messageHandler.on("commonobj", data => {
+ if (this.destroyed) {
+ return;
}
- var pageIndex = pageNumber - 1;
+ const [id, type, exportedData] = data;
- if (pageIndex in this.pagePromises) {
- return this.pagePromises[pageIndex];
+ if (this.commonObjs.has(id)) {
+ return;
}
- var promise = this.messageHandler.sendWithPromise('GetPage', {
- pageIndex: pageIndex
- }).then(function (pageInfo) {
- if (_this15.destroyed) {
- throw new Error('Transport destroyed');
+ switch (type) {
+ case "Font":
+ const params = this._params;
+
+ if ("error" in exportedData) {
+ const exportedError = exportedData.error;
+ (0, _util.warn)(`Error during font loading: ${exportedError}`);
+ this.commonObjs.resolve(id, exportedError);
+ break;
+ }
+
+ let fontRegistry = null;
+
+ if (params.pdfBug && globalThis.FontInspector?.enabled) {
+ fontRegistry = {
+ registerFont(font, url) {
+ globalThis.FontInspector.fontAdded(font, url);
+ }
+
+ };
+ }
+
+ const font = new _font_loader.FontFaceObject(exportedData, {
+ isEvalSupported: params.isEvalSupported,
+ disableFontFace: params.disableFontFace,
+ ignoreErrors: params.ignoreErrors,
+ onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
+ fontRegistry
+ });
+ this.fontLoader.bind(font).catch(reason => {
+ return messageHandler.sendWithPromise("FontFallback", {
+ id
+ });
+ }).finally(() => {
+ if (!params.fontExtraProperties && font.data) {
+ font.data = null;
+ }
+
+ this.commonObjs.resolve(id, font);
+ });
+ break;
+
+ case "FontPath":
+ case "Image":
+ this.commonObjs.resolve(id, exportedData);
+ break;
+
+ default:
+ throw new Error(`Got unknown common object type ${type}`);
+ }
+ });
+ messageHandler.on("obj", data => {
+ if (this.destroyed) {
+ return undefined;
+ }
+
+ const [id, pageIndex, type, imageData] = data;
+ const pageProxy = this.pageCache[pageIndex];
+
+ if (pageProxy.objs.has(id)) {
+ return undefined;
+ }
+
+ switch (type) {
+ case "Image":
+ pageProxy.objs.resolve(id, imageData);
+ const MAX_IMAGE_SIZE_TO_STORE = 8000000;
+
+ if (imageData?.data?.length > MAX_IMAGE_SIZE_TO_STORE) {
+ pageProxy.cleanupAfterRender = true;
+ }
+
+ break;
+
+ default:
+ throw new Error(`Got unknown object type ${type}`);
+ }
+
+ return undefined;
+ });
+ messageHandler.on("DocProgress", data => {
+ if (this.destroyed) {
+ return;
+ }
+
+ if (loadingTask.onProgress) {
+ loadingTask.onProgress({
+ loaded: data.loaded,
+ total: data.total
+ });
+ }
+ });
+ messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
+ messageHandler.on("FetchBuiltInCMap", (data, sink) => {
+ if (this.destroyed) {
+ sink.error(new Error("Worker was destroyed"));
+ return;
+ }
+
+ let fetched = false;
+
+ sink.onPull = () => {
+ if (fetched) {
+ sink.close();
+ return;
}
- var page = new PDFPageProxy(pageIndex, pageInfo, _this15, _this15._params.pdfBug);
- _this15.pageCache[pageIndex] = page;
- return page;
- });
- this.pagePromises[pageIndex] = promise;
- return promise;
+ fetched = true;
+ this.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
+ sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
+ }).catch(function (reason) {
+ sink.error(reason);
+ });
+ };
+ });
+ }
+
+ _onUnsupportedFeature({
+ featureId
+ }) {
+ if (this.destroyed) {
+ return;
}
- }, {
- key: "getPageIndex",
- value: function getPageIndex(ref) {
- return this.messageHandler.sendWithPromise('GetPageIndex', {
- ref: ref
- })["catch"](function (reason) {
- return Promise.reject(new Error(reason));
- });
+
+ if (this.loadingTask.onUnsupportedFeature) {
+ this.loadingTask.onUnsupportedFeature(featureId);
}
- }, {
- key: "getAnnotations",
- value: function getAnnotations(pageIndex, intent) {
- return this.messageHandler.sendWithPromise('GetAnnotations', {
- pageIndex: pageIndex,
- intent: intent
- });
+ }
+
+ getData() {
+ return this.messageHandler.sendWithPromise("GetData", null);
+ }
+
+ getPage(pageNumber) {
+ if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
+ return Promise.reject(new Error("Invalid page request"));
}
- }, {
- key: "getDestinations",
- value: function getDestinations() {
- return this.messageHandler.sendWithPromise('GetDestinations', null);
+
+ const pageIndex = pageNumber - 1;
+
+ if (pageIndex in this.pagePromises) {
+ return this.pagePromises[pageIndex];
}
- }, {
- key: "getDestination",
- value: function getDestination(id) {
- if (typeof id !== 'string') {
- return Promise.reject(new Error('Invalid destination request.'));
+
+ const promise = this.messageHandler.sendWithPromise("GetPage", {
+ pageIndex
+ }).then(pageInfo => {
+ if (this.destroyed) {
+ throw new Error("Transport destroyed");
}
- return this.messageHandler.sendWithPromise('GetDestination', {
- id: id
- });
- }
- }, {
- key: "getPageLabels",
- value: function getPageLabels() {
- return this.messageHandler.sendWithPromise('GetPageLabels', null);
- }
- }, {
- key: "getPageLayout",
- value: function getPageLayout() {
- return this.messageHandler.sendWithPromise('GetPageLayout', null);
- }
- }, {
- key: "getPageMode",
- value: function getPageMode() {
- return this.messageHandler.sendWithPromise('GetPageMode', null);
- }
- }, {
- key: "getViewerPreferences",
- value: function getViewerPreferences() {
- return this.messageHandler.sendWithPromise('GetViewerPreferences', null);
- }
- }, {
- key: "getOpenActionDestination",
- value: function getOpenActionDestination() {
- return this.messageHandler.sendWithPromise('GetOpenActionDestination', null);
- }
- }, {
- key: "getAttachments",
- value: function getAttachments() {
- return this.messageHandler.sendWithPromise('GetAttachments', null);
- }
- }, {
- key: "getJavaScript",
- value: function getJavaScript() {
- return this.messageHandler.sendWithPromise('GetJavaScript', null);
- }
- }, {
- key: "getOutline",
- value: function getOutline() {
- return this.messageHandler.sendWithPromise('GetOutline', null);
- }
- }, {
- key: "getPermissions",
- value: function getPermissions() {
- return this.messageHandler.sendWithPromise('GetPermissions', null);
- }
- }, {
- key: "getMetadata",
- value: function getMetadata() {
- var _this16 = this;
+ const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug);
+ this.pageCache[pageIndex] = page;
+ return page;
+ });
+ this.pagePromises[pageIndex] = promise;
+ return promise;
+ }
- return this.messageHandler.sendWithPromise('GetMetadata', null).then(function (results) {
- return {
- info: results[0],
- metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
- contentDispositionFilename: _this16._fullReader ? _this16._fullReader.filename : null
- };
- });
- }
- }, {
- key: "getStats",
- value: function getStats() {
- return this.messageHandler.sendWithPromise('GetStats', null);
- }
- }, {
- key: "startCleanup",
- value: function startCleanup() {
- var _this17 = this;
+ getPageIndex(ref) {
+ return this.messageHandler.sendWithPromise("GetPageIndex", {
+ ref
+ }).catch(function (reason) {
+ return Promise.reject(new Error(reason));
+ });
+ }
- this.messageHandler.sendWithPromise('Cleanup', null).then(function () {
- for (var i = 0, ii = _this17.pageCache.length; i < ii; i++) {
- var page = _this17.pageCache[i];
+ getAnnotations(pageIndex, intent) {
+ return this.messageHandler.sendWithPromise("GetAnnotations", {
+ pageIndex,
+ intent
+ });
+ }
- if (page) {
- page.cleanup();
+ saveDocument(annotationStorage) {
+ return this.messageHandler.sendWithPromise("SaveDocument", {
+ numPages: this._numPages,
+ annotationStorage: annotationStorage?.getAll() || null,
+ filename: this._fullReader?.filename ?? null
+ }).finally(() => {
+ if (annotationStorage) {
+ annotationStorage.resetModified();
+ }
+ });
+ }
+
+ getFieldObjects() {
+ return this.messageHandler.sendWithPromise("GetFieldObjects", null);
+ }
+
+ hasJSActions() {
+ return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null));
+ }
+
+ getCalculationOrderIds() {
+ return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null);
+ }
+
+ getDestinations() {
+ return this.messageHandler.sendWithPromise("GetDestinations", null);
+ }
+
+ getDestination(id) {
+ if (typeof id !== "string") {
+ return Promise.reject(new Error("Invalid destination request."));
+ }
+
+ return this.messageHandler.sendWithPromise("GetDestination", {
+ id
+ });
+ }
+
+ getPageLabels() {
+ return this.messageHandler.sendWithPromise("GetPageLabels", null);
+ }
+
+ getPageLayout() {
+ return this.messageHandler.sendWithPromise("GetPageLayout", null);
+ }
+
+ getPageMode() {
+ return this.messageHandler.sendWithPromise("GetPageMode", null);
+ }
+
+ getViewerPreferences() {
+ return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
+ }
+
+ getOpenAction() {
+ return this.messageHandler.sendWithPromise("GetOpenAction", null);
+ }
+
+ getAttachments() {
+ return this.messageHandler.sendWithPromise("GetAttachments", null);
+ }
+
+ getJavaScript() {
+ return this.messageHandler.sendWithPromise("GetJavaScript", null);
+ }
+
+ getDocJSActions() {
+ return this.messageHandler.sendWithPromise("GetDocJSActions", null);
+ }
+
+ getPageJSActions(pageIndex) {
+ return this.messageHandler.sendWithPromise("GetPageJSActions", {
+ pageIndex
+ });
+ }
+
+ getOutline() {
+ return this.messageHandler.sendWithPromise("GetOutline", null);
+ }
+
+ getOptionalContentConfig() {
+ return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(results => {
+ return new _optional_content_config.OptionalContentConfig(results);
+ });
+ }
+
+ getPermissions() {
+ return this.messageHandler.sendWithPromise("GetPermissions", null);
+ }
+
+ getMetadata() {
+ return this.messageHandler.sendWithPromise("GetMetadata", null).then(results => {
+ return {
+ info: results[0],
+ metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
+ contentDispositionFilename: this._fullReader?.filename ?? null,
+ contentLength: this._fullReader?.contentLength ?? null
+ };
+ });
+ }
+
+ getMarkInfo() {
+ return this.messageHandler.sendWithPromise("GetMarkInfo", null);
+ }
+
+ getStats() {
+ return this.messageHandler.sendWithPromise("GetStats", null);
+ }
+
+ startCleanup() {
+ return this.messageHandler.sendWithPromise("Cleanup", null).then(() => {
+ for (let i = 0, ii = this.pageCache.length; i < ii; i++) {
+ const page = this.pageCache[i];
+
+ if (page) {
+ const cleanupSuccessful = page.cleanup();
+
+ if (!cleanupSuccessful) {
+ throw new Error(`startCleanup: Page ${i + 1} is currently rendering.`);
}
}
+ }
- _this17.commonObjs.clear();
+ this.commonObjs.clear();
+ this.fontLoader.clear();
+ this._hasJSActionsPromise = null;
+ });
+ }
- _this17.fontLoader.clear();
- });
- }
- }, {
- key: "loadingParams",
- get: function get() {
- var params = this._params;
- return (0, _util.shadow)(this, 'loadingParams', {
- disableAutoFetch: params.disableAutoFetch,
- disableCreateObjectURL: params.disableCreateObjectURL,
- disableFontFace: params.disableFontFace,
- nativeImageDecoderSupport: params.nativeImageDecoderSupport
- });
- }
- }]);
+ get loadingParams() {
+ const params = this._params;
+ return (0, _util.shadow)(this, "loadingParams", {
+ disableAutoFetch: params.disableAutoFetch,
+ disableFontFace: params.disableFontFace
+ });
+ }
- return WorkerTransport;
-}();
-
-var PDFObjects =
-/*#__PURE__*/
-function () {
- function PDFObjects() {
- _classCallCheck(this, PDFObjects);
+}
+class PDFObjects {
+ constructor() {
this._objs = Object.create(null);
}
- _createClass(PDFObjects, [{
- key: "_ensureObj",
- value: function _ensureObj(objId) {
- if (this._objs[objId]) {
- return this._objs[objId];
- }
-
- return this._objs[objId] = {
- capability: (0, _util.createPromiseCapability)(),
- data: null,
- resolved: false
- };
+ _ensureObj(objId) {
+ if (this._objs[objId]) {
+ return this._objs[objId];
}
- }, {
- key: "get",
- value: function get(objId) {
- var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
- if (callback) {
- this._ensureObj(objId).capability.promise.then(callback);
+ return this._objs[objId] = {
+ capability: (0, _util.createPromiseCapability)(),
+ data: null,
+ resolved: false
+ };
+ }
- return null;
- }
+ get(objId, callback = null) {
+ if (callback) {
+ this._ensureObj(objId).capability.promise.then(callback);
- var obj = this._objs[objId];
-
- if (!obj || !obj.resolved) {
- throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
- }
-
- return obj.data;
+ return null;
}
- }, {
- key: "has",
- value: function has(objId) {
- var obj = this._objs[objId];
- return obj ? obj.resolved : false;
+
+ const obj = this._objs[objId];
+
+ if (!obj || !obj.resolved) {
+ throw new Error(`Requesting object that isn't resolved yet ${objId}.`);
}
- }, {
- key: "resolve",
- value: function resolve(objId, data) {
- var obj = this._ensureObj(objId);
- obj.resolved = true;
- obj.data = data;
- obj.capability.resolve(data);
- }
- }, {
- key: "clear",
- value: function clear() {
- for (var objId in this._objs) {
- var data = this._objs[objId].data;
+ return obj.data;
+ }
- if (typeof Image !== 'undefined' && data instanceof Image) {
- (0, _display_utils.releaseImageResources)(data);
- }
- }
+ has(objId) {
+ const obj = this._objs[objId];
+ return obj?.resolved || false;
+ }
- this._objs = Object.create(null);
- }
- }]);
+ resolve(objId, data) {
+ const obj = this._ensureObj(objId);
- return PDFObjects;
-}();
+ obj.resolved = true;
+ obj.data = data;
+ obj.capability.resolve(data);
+ }
-var RenderTask =
-/*#__PURE__*/
-function () {
- function RenderTask(internalRenderTask) {
- _classCallCheck(this, RenderTask);
+ clear() {
+ this._objs = Object.create(null);
+ }
+}
+
+class RenderTask {
+ constructor(internalRenderTask) {
this._internalRenderTask = internalRenderTask;
this.onContinue = null;
}
- _createClass(RenderTask, [{
- key: "cancel",
- value: function cancel() {
- this._internalRenderTask.cancel();
- }
- }, {
- key: "then",
- value: function then(onFulfilled, onRejected) {
- (0, _display_utils.deprecated)('RenderTask.then method, use the `promise` getter instead.');
- return this.promise.then.apply(this.promise, arguments);
- }
- }, {
- key: "promise",
- get: function get() {
- return this._internalRenderTask.capability.promise;
- }
- }]);
+ get promise() {
+ return this._internalRenderTask.capability.promise;
+ }
- return RenderTask;
-}();
+ cancel() {
+ this._internalRenderTask.cancel();
+ }
-var InternalRenderTask = function InternalRenderTaskClosure() {
- var canvasInRendering = new WeakSet();
+}
- var InternalRenderTask =
- /*#__PURE__*/
- function () {
- function InternalRenderTask(_ref13) {
- var callback = _ref13.callback,
- params = _ref13.params,
- objs = _ref13.objs,
- commonObjs = _ref13.commonObjs,
- operatorList = _ref13.operatorList,
- pageNumber = _ref13.pageNumber,
- canvasFactory = _ref13.canvasFactory,
- webGLContext = _ref13.webGLContext,
- _ref13$useRequestAnim = _ref13.useRequestAnimationFrame,
- useRequestAnimationFrame = _ref13$useRequestAnim === void 0 ? false : _ref13$useRequestAnim,
- _ref13$pdfBug = _ref13.pdfBug,
- pdfBug = _ref13$pdfBug === void 0 ? false : _ref13$pdfBug;
-
- _classCallCheck(this, InternalRenderTask);
+const InternalRenderTask = function InternalRenderTaskClosure() {
+ const canvasInRendering = new WeakSet();
+ class InternalRenderTask {
+ constructor({
+ callback,
+ params,
+ objs,
+ commonObjs,
+ operatorList,
+ pageIndex,
+ canvasFactory,
+ webGLContext,
+ useRequestAnimationFrame = false,
+ pdfBug = false
+ }) {
this.callback = callback;
this.params = params;
this.objs = objs;
this.commonObjs = commonObjs;
this.operatorListIdx = null;
this.operatorList = operatorList;
- this.pageNumber = pageNumber;
+ this._pageIndex = pageIndex;
this.canvasFactory = canvasFactory;
this.webGLContext = webGLContext;
this._pdfBug = pdfBug;
this.running = false;
this.graphicsReadyCallback = null;
this.graphicsReady = false;
- this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== 'undefined';
+ this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
this.cancelled = false;
this.capability = (0, _util.createPromiseCapability)();
this.task = new RenderTask(this);
@@ -12179,1983 +3892,441 @@ var InternalRenderTask = function InternalRenderTaskClosure() {
this._canvas = params.canvasContext.canvas;
}
- _createClass(InternalRenderTask, [{
- key: "initializeGraphics",
- value: function initializeGraphics() {
- var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+ get completed() {
+ return this.capability.promise.catch(function () {});
+ }
- if (this.cancelled) {
- return;
+ initializeGraphics({
+ transparency = false,
+ optionalContentConfig
+ }) {
+ if (this.cancelled) {
+ return;
+ }
+
+ if (this._canvas) {
+ if (canvasInRendering.has(this._canvas)) {
+ throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
}
- if (this._canvas) {
- if (canvasInRendering.has(this._canvas)) {
- throw new Error('Cannot use the same canvas during multiple render() operations. ' + 'Use different canvas or ensure previous operations were ' + 'cancelled or completed.');
- }
+ canvasInRendering.add(this._canvas);
+ }
- canvasInRendering.add(this._canvas);
+ if (this._pdfBug && globalThis.StepperManager?.enabled) {
+ this.stepper = globalThis.StepperManager.create(this._pageIndex);
+ this.stepper.init(this.operatorList);
+ this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
+ }
+
+ const {
+ canvasContext,
+ viewport,
+ transform,
+ imageLayer,
+ background
+ } = this.params;
+ this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);
+ this.gfx.beginDrawing({
+ transform,
+ viewport,
+ transparency,
+ background
+ });
+ this.operatorListIdx = 0;
+ this.graphicsReady = true;
+
+ if (this.graphicsReadyCallback) {
+ this.graphicsReadyCallback();
+ }
+ }
+
+ cancel(error = null) {
+ this.running = false;
+ this.cancelled = true;
+
+ if (this.gfx) {
+ this.gfx.endDrawing();
+ }
+
+ if (this._canvas) {
+ canvasInRendering.delete(this._canvas);
+ }
+
+ this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, "canvas"));
+ }
+
+ operatorListChanged() {
+ if (!this.graphicsReady) {
+ if (!this.graphicsReadyCallback) {
+ this.graphicsReadyCallback = this._continueBound;
}
- if (this._pdfBug && _global_scope["default"].StepperManager && _global_scope["default"].StepperManager.enabled) {
- this.stepper = _global_scope["default"].StepperManager.create(this.pageNumber - 1);
- this.stepper.init(this.operatorList);
- this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
- }
+ return;
+ }
- var _this$params = this.params,
- canvasContext = _this$params.canvasContext,
- viewport = _this$params.viewport,
- transform = _this$params.transform,
- imageLayer = _this$params.imageLayer,
- background = _this$params.background;
- this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);
- this.gfx.beginDrawing({
- transform: transform,
- viewport: viewport,
- transparency: transparency,
- background: background
+ if (this.stepper) {
+ this.stepper.updateOperatorList(this.operatorList);
+ }
+
+ if (this.running) {
+ return;
+ }
+
+ this._continue();
+ }
+
+ _continue() {
+ this.running = true;
+
+ if (this.cancelled) {
+ return;
+ }
+
+ if (this.task.onContinue) {
+ this.task.onContinue(this._scheduleNextBound);
+ } else {
+ this._scheduleNext();
+ }
+ }
+
+ _scheduleNext() {
+ if (this._useRequestAnimationFrame) {
+ window.requestAnimationFrame(() => {
+ this._nextBound().catch(this.cancel.bind(this));
});
- this.operatorListIdx = 0;
- this.graphicsReady = true;
-
- if (this.graphicsReadyCallback) {
- this.graphicsReadyCallback();
- }
+ } else {
+ Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));
}
- }, {
- key: "cancel",
- value: function cancel() {
- var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
+ }
+
+ async _next() {
+ if (this.cancelled) {
+ return;
+ }
+
+ this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
+
+ if (this.operatorListIdx === this.operatorList.argsArray.length) {
this.running = false;
- this.cancelled = true;
- if (this.gfx) {
+ if (this.operatorList.lastChunk) {
this.gfx.endDrawing();
- }
- if (this._canvas) {
- canvasInRendering["delete"](this._canvas);
- }
-
- this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this.pageNumber), 'canvas'));
- }
- }, {
- key: "operatorListChanged",
- value: function operatorListChanged() {
- if (!this.graphicsReady) {
- if (!this.graphicsReadyCallback) {
- this.graphicsReadyCallback = this._continueBound;
+ if (this._canvas) {
+ canvasInRendering.delete(this._canvas);
}
- return;
- }
-
- if (this.stepper) {
- this.stepper.updateOperatorList(this.operatorList);
- }
-
- if (this.running) {
- return;
- }
-
- this._continue();
- }
- }, {
- key: "_continue",
- value: function _continue() {
- this.running = true;
-
- if (this.cancelled) {
- return;
- }
-
- if (this.task.onContinue) {
- this.task.onContinue(this._scheduleNextBound);
- } else {
- this._scheduleNext();
+ this.callback();
}
}
- }, {
- key: "_scheduleNext",
- value: function _scheduleNext() {
- var _this18 = this;
+ }
- if (this._useRequestAnimationFrame) {
- window.requestAnimationFrame(function () {
- _this18._nextBound()["catch"](_this18.cancel.bind(_this18));
- });
- } else {
- Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
- }
- }
- }, {
- key: "_next",
- value: function () {
- var _next2 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee() {
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- if (!this.cancelled) {
- _context.next = 2;
- break;
- }
-
- return _context.abrupt("return");
-
- case 2:
- this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);
-
- if (this.operatorListIdx === this.operatorList.argsArray.length) {
- this.running = false;
-
- if (this.operatorList.lastChunk) {
- this.gfx.endDrawing();
-
- if (this._canvas) {
- canvasInRendering["delete"](this._canvas);
- }
-
- this.callback();
- }
- }
-
- case 4:
- case "end":
- return _context.stop();
- }
- }
- }, _callee, this);
- }));
-
- function _next() {
- return _next2.apply(this, arguments);
- }
-
- return _next;
- }()
- }]);
-
- return InternalRenderTask;
- }();
+ }
return InternalRenderTask;
}();
-var version = '2.3.200';
+const version = '2.7.570';
exports.version = version;
-var build = '4ae3f9fc';
+const build = 'f2c7338b0';
exports.build = build;
/***/ }),
-/* 180 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
+/* 6 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-"use strict";
-module.exports = __w_pdfjs_require__(181);
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-function _typeof(obj) { 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); }
-
-var runtime = function (exports) {
- "use strict";
-
- var Op = Object.prototype;
- var hasOwn = Op.hasOwnProperty;
- var undefined;
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
- function wrap(innerFn, outerFn, self, tryLocsList) {
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
- var generator = Object.create(protoGenerator.prototype);
- var context = new Context(tryLocsList || []);
- generator._invoke = makeInvokeMethod(innerFn, self, context);
- return generator;
- }
-
- exports.wrap = wrap;
-
- function tryCatch(fn, obj, arg) {
- try {
- return {
- type: "normal",
- arg: fn.call(obj, arg)
- };
- } catch (err) {
- return {
- type: "throw",
- arg: err
- };
- }
- }
-
- var GenStateSuspendedStart = "suspendedStart";
- var GenStateSuspendedYield = "suspendedYield";
- var GenStateExecuting = "executing";
- var GenStateCompleted = "completed";
- var ContinueSentinel = {};
-
- function Generator() {}
-
- function GeneratorFunction() {}
-
- function GeneratorFunctionPrototype() {}
-
- var IteratorPrototype = {};
-
- IteratorPrototype[iteratorSymbol] = function () {
- return this;
- };
-
- var getProto = Object.getPrototypeOf;
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-
- if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
- IteratorPrototype = NativeIteratorPrototype;
- }
-
- var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
- GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
-
- function defineIteratorMethods(prototype) {
- ["next", "throw", "return"].forEach(function (method) {
- prototype[method] = function (arg) {
- return this._invoke(method, arg);
- };
- });
- }
-
- exports.isGeneratorFunction = function (genFun) {
- var ctor = typeof genFun === "function" && genFun.constructor;
- return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
- };
-
- exports.mark = function (genFun) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
- } else {
- genFun.__proto__ = GeneratorFunctionPrototype;
-
- if (!(toStringTagSymbol in genFun)) {
- genFun[toStringTagSymbol] = "GeneratorFunction";
- }
- }
-
- genFun.prototype = Object.create(Gp);
- return genFun;
- };
-
- exports.awrap = function (arg) {
- return {
- __await: arg
- };
- };
-
- function AsyncIterator(generator) {
- function invoke(method, arg, resolve, reject) {
- var record = tryCatch(generator[method], generator, arg);
-
- if (record.type === "throw") {
- reject(record.arg);
- } else {
- var result = record.arg;
- var value = result.value;
-
- if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
- return Promise.resolve(value.__await).then(function (value) {
- invoke("next", value, resolve, reject);
- }, function (err) {
- invoke("throw", err, resolve, reject);
- });
- }
-
- return Promise.resolve(value).then(function (unwrapped) {
- result.value = unwrapped;
- resolve(result);
- }, function (error) {
- return invoke("throw", error, resolve, reject);
- });
- }
- }
-
- var previousPromise;
-
- function enqueue(method, arg) {
- function callInvokeWithMethodAndArg() {
- return new Promise(function (resolve, reject) {
- invoke(method, arg, resolve, reject);
- });
- }
-
- return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
- }
-
- this._invoke = enqueue;
- }
-
- defineIteratorMethods(AsyncIterator.prototype);
-
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
- return this;
- };
-
- exports.AsyncIterator = AsyncIterator;
-
- exports.async = function (innerFn, outerFn, self, tryLocsList) {
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
- return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
- return result.done ? result.value : iter.next();
- });
- };
-
- function makeInvokeMethod(innerFn, self, context) {
- var state = GenStateSuspendedStart;
- return function invoke(method, arg) {
- if (state === GenStateExecuting) {
- throw new Error("Generator is already running");
- }
-
- if (state === GenStateCompleted) {
- if (method === "throw") {
- throw arg;
- }
-
- return doneResult();
- }
-
- context.method = method;
- context.arg = arg;
-
- while (true) {
- var delegate = context.delegate;
-
- if (delegate) {
- var delegateResult = maybeInvokeDelegate(delegate, context);
-
- if (delegateResult) {
- if (delegateResult === ContinueSentinel) continue;
- return delegateResult;
- }
- }
-
- if (context.method === "next") {
- context.sent = context._sent = context.arg;
- } else if (context.method === "throw") {
- if (state === GenStateSuspendedStart) {
- state = GenStateCompleted;
- throw context.arg;
- }
-
- context.dispatchException(context.arg);
- } else if (context.method === "return") {
- context.abrupt("return", context.arg);
- }
-
- state = GenStateExecuting;
- var record = tryCatch(innerFn, self, context);
-
- if (record.type === "normal") {
- state = context.done ? GenStateCompleted : GenStateSuspendedYield;
-
- if (record.arg === ContinueSentinel) {
- continue;
- }
-
- return {
- value: record.arg,
- done: context.done
- };
- } else if (record.type === "throw") {
- state = GenStateCompleted;
- context.method = "throw";
- context.arg = record.arg;
- }
- }
- };
- }
-
- function maybeInvokeDelegate(delegate, context) {
- var method = delegate.iterator[context.method];
-
- if (method === undefined) {
- context.delegate = null;
-
- if (context.method === "throw") {
- if (delegate.iterator["return"]) {
- context.method = "return";
- context.arg = undefined;
- maybeInvokeDelegate(delegate, context);
-
- if (context.method === "throw") {
- return ContinueSentinel;
- }
- }
-
- context.method = "throw";
- context.arg = new TypeError("The iterator does not provide a 'throw' method");
- }
-
- return ContinueSentinel;
- }
-
- var record = tryCatch(method, delegate.iterator, context.arg);
-
- if (record.type === "throw") {
- context.method = "throw";
- context.arg = record.arg;
- context.delegate = null;
- return ContinueSentinel;
- }
-
- var info = record.arg;
-
- if (!info) {
- context.method = "throw";
- context.arg = new TypeError("iterator result is not an object");
- context.delegate = null;
- return ContinueSentinel;
- }
-
- if (info.done) {
- context[delegate.resultName] = info.value;
- context.next = delegate.nextLoc;
-
- if (context.method !== "return") {
- context.method = "next";
- context.arg = undefined;
- }
- } else {
- return info;
- }
-
- context.delegate = null;
- return ContinueSentinel;
- }
-
- defineIteratorMethods(Gp);
- Gp[toStringTagSymbol] = "Generator";
-
- Gp[iteratorSymbol] = function () {
- return this;
- };
-
- Gp.toString = function () {
- return "[object Generator]";
- };
-
- function pushTryEntry(locs) {
- var entry = {
- tryLoc: locs[0]
- };
-
- if (1 in locs) {
- entry.catchLoc = locs[1];
- }
-
- if (2 in locs) {
- entry.finallyLoc = locs[2];
- entry.afterLoc = locs[3];
- }
-
- this.tryEntries.push(entry);
- }
-
- function resetTryEntry(entry) {
- var record = entry.completion || {};
- record.type = "normal";
- delete record.arg;
- entry.completion = record;
- }
-
- function Context(tryLocsList) {
- this.tryEntries = [{
- tryLoc: "root"
- }];
- tryLocsList.forEach(pushTryEntry, this);
- this.reset(true);
- }
-
- exports.keys = function (object) {
- var keys = [];
-
- for (var key in object) {
- keys.push(key);
- }
-
- keys.reverse();
- return function next() {
- while (keys.length) {
- var key = keys.pop();
-
- if (key in object) {
- next.value = key;
- next.done = false;
- return next;
- }
- }
-
- next.done = true;
- return next;
- };
- };
-
- function values(iterable) {
- if (iterable) {
- var iteratorMethod = iterable[iteratorSymbol];
-
- if (iteratorMethod) {
- return iteratorMethod.call(iterable);
- }
-
- if (typeof iterable.next === "function") {
- return iterable;
- }
-
- if (!isNaN(iterable.length)) {
- var i = -1,
- next = function next() {
- while (++i < iterable.length) {
- if (hasOwn.call(iterable, i)) {
- next.value = iterable[i];
- next.done = false;
- return next;
- }
- }
-
- next.value = undefined;
- next.done = true;
- return next;
- };
-
- return next.next = next;
- }
- }
-
- return {
- next: doneResult
- };
- }
-
- exports.values = values;
-
- function doneResult() {
- return {
- value: undefined,
- done: true
- };
- }
-
- Context.prototype = {
- constructor: Context,
- reset: function reset(skipTempReset) {
- this.prev = 0;
- this.next = 0;
- this.sent = this._sent = undefined;
- this.done = false;
- this.delegate = null;
- this.method = "next";
- this.arg = undefined;
- this.tryEntries.forEach(resetTryEntry);
-
- if (!skipTempReset) {
- for (var name in this) {
- if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
- this[name] = undefined;
- }
- }
- }
- },
- stop: function stop() {
- this.done = true;
- var rootEntry = this.tryEntries[0];
- var rootRecord = rootEntry.completion;
-
- if (rootRecord.type === "throw") {
- throw rootRecord.arg;
- }
-
- return this.rval;
- },
- dispatchException: function dispatchException(exception) {
- if (this.done) {
- throw exception;
- }
-
- var context = this;
-
- function handle(loc, caught) {
- record.type = "throw";
- record.arg = exception;
- context.next = loc;
-
- if (caught) {
- context.method = "next";
- context.arg = undefined;
- }
-
- return !!caught;
- }
-
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- var record = entry.completion;
-
- if (entry.tryLoc === "root") {
- return handle("end");
- }
-
- if (entry.tryLoc <= this.prev) {
- var hasCatch = hasOwn.call(entry, "catchLoc");
- var hasFinally = hasOwn.call(entry, "finallyLoc");
-
- if (hasCatch && hasFinally) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- } else if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
- } else if (hasCatch) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- }
- } else if (hasFinally) {
- if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
- } else {
- throw new Error("try statement without catch or finally");
- }
- }
- }
- },
- abrupt: function abrupt(type, arg) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
- var finallyEntry = entry;
- break;
- }
- }
-
- if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
- finallyEntry = null;
- }
-
- var record = finallyEntry ? finallyEntry.completion : {};
- record.type = type;
- record.arg = arg;
-
- if (finallyEntry) {
- this.method = "next";
- this.next = finallyEntry.finallyLoc;
- return ContinueSentinel;
- }
-
- return this.complete(record);
- },
- complete: function complete(record, afterLoc) {
- if (record.type === "throw") {
- throw record.arg;
- }
-
- if (record.type === "break" || record.type === "continue") {
- this.next = record.arg;
- } else if (record.type === "return") {
- this.rval = this.arg = record.arg;
- this.method = "return";
- this.next = "end";
- } else if (record.type === "normal" && afterLoc) {
- this.next = afterLoc;
- }
-
- return ContinueSentinel;
- },
- finish: function finish(finallyLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.finallyLoc === finallyLoc) {
- this.complete(entry.completion, entry.afterLoc);
- resetTryEntry(entry);
- return ContinueSentinel;
- }
- }
- },
- "catch": function _catch(tryLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.tryLoc === tryLoc) {
- var record = entry.completion;
-
- if (record.type === "throw") {
- var thrown = record.arg;
- resetTryEntry(entry);
- }
-
- return thrown;
- }
- }
-
- throw new Error("illegal catch attempt");
- },
- delegateYield: function delegateYield(iterable, resultName, nextLoc) {
- this.delegate = {
- iterator: values(iterable),
- resultName: resultName,
- nextLoc: nextLoc
- };
-
- if (this.method === "next") {
- this.arg = undefined;
- }
-
- return ContinueSentinel;
- }
- };
- return exports;
-}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});
-
-try {
- regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
- Function("r", "regeneratorRuntime = r")(runtime);
-}
-/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(182)(module)))
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-module.exports = function (module) {
- if (!module.webpackPolyfill) {
- module.deprecate = function () {};
-
- module.paths = [];
- if (!module.children) module.children = [];
- Object.defineProperty(module, "loaded", {
- enumerable: true,
- get: function get() {
- return module.l;
- }
- });
- Object.defineProperty(module, "id", {
- enumerable: true,
- get: function get() {
- return module.i;
- }
- });
- module.webpackPolyfill = 1;
- }
-
- return module;
-};
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
-exports.addLinkAttributes = addLinkAttributes;
-exports.getFilenameFromUrl = getFilenameFromUrl;
-exports.isFetchSupported = isFetchSupported;
-exports.isValidFetchUrl = isValidFetchUrl;
-exports.loadScript = loadScript;
-exports.deprecated = deprecated;
-exports.releaseImageResources = releaseImageResources;
-exports.PDFDateString = exports.DummyStatTimer = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;
-
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var DEFAULT_LINK_REL = 'noopener noreferrer nofollow';
-exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
-var SVG_NS = 'http://www.w3.org/2000/svg';
-
-var DOMCanvasFactory =
-/*#__PURE__*/
-function () {
- function DOMCanvasFactory() {
- _classCallCheck(this, DOMCanvasFactory);
- }
-
- _createClass(DOMCanvasFactory, [{
- key: "create",
- value: function create(width, height) {
- if (width <= 0 || height <= 0) {
- throw new Error('Invalid canvas size');
- }
-
- var canvas = document.createElement('canvas');
- var context = canvas.getContext('2d');
- canvas.width = width;
- canvas.height = height;
- return {
- canvas: canvas,
- context: context
- };
- }
- }, {
- key: "reset",
- value: function reset(canvasAndContext, width, height) {
- if (!canvasAndContext.canvas) {
- throw new Error('Canvas is not specified');
- }
-
- if (width <= 0 || height <= 0) {
- throw new Error('Invalid canvas size');
- }
-
- canvasAndContext.canvas.width = width;
- canvasAndContext.canvas.height = height;
- }
- }, {
- key: "destroy",
- value: function destroy(canvasAndContext) {
- if (!canvasAndContext.canvas) {
- throw new Error('Canvas is not specified');
- }
-
- canvasAndContext.canvas.width = 0;
- canvasAndContext.canvas.height = 0;
- canvasAndContext.canvas = null;
- canvasAndContext.context = null;
- }
- }]);
-
- return DOMCanvasFactory;
-}();
-
-exports.DOMCanvasFactory = DOMCanvasFactory;
-
-var DOMCMapReaderFactory =
-/*#__PURE__*/
-function () {
- function DOMCMapReaderFactory(_ref) {
- var _ref$baseUrl = _ref.baseUrl,
- baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,
- _ref$isCompressed = _ref.isCompressed,
- isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;
-
- _classCallCheck(this, DOMCMapReaderFactory);
-
- this.baseUrl = baseUrl;
- this.isCompressed = isCompressed;
- }
-
- _createClass(DOMCMapReaderFactory, [{
- key: "fetch",
- value: function (_fetch) {
- function fetch(_x) {
- return _fetch.apply(this, arguments);
- }
-
- fetch.toString = function () {
- return _fetch.toString();
- };
-
- return fetch;
- }(
- /*#__PURE__*/
- function () {
- var _ref3 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee2(_ref2) {
- var _this = this;
-
- var name, url, compressionType;
- return _regenerator["default"].wrap(function _callee2$(_context2) {
- while (1) {
- switch (_context2.prev = _context2.next) {
- case 0:
- name = _ref2.name;
-
- if (this.baseUrl) {
- _context2.next = 3;
- break;
- }
-
- throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');
-
- case 3:
- if (name) {
- _context2.next = 5;
- break;
- }
-
- throw new Error('CMap name must be specified.');
-
- case 5:
- url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : '');
- compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
-
- if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {
- _context2.next = 9;
- break;
- }
-
- return _context2.abrupt("return", fetch(url).then(
- /*#__PURE__*/
- function () {
- var _ref4 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee(response) {
- var cMapData;
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- if (response.ok) {
- _context.next = 2;
- break;
- }
-
- throw new Error(response.statusText);
-
- case 2:
- if (!_this.isCompressed) {
- _context.next = 10;
- break;
- }
-
- _context.t0 = Uint8Array;
- _context.next = 6;
- return response.arrayBuffer();
-
- case 6:
- _context.t1 = _context.sent;
- cMapData = new _context.t0(_context.t1);
- _context.next = 15;
- break;
-
- case 10:
- _context.t2 = _util.stringToBytes;
- _context.next = 13;
- return response.text();
-
- case 13:
- _context.t3 = _context.sent;
- cMapData = (0, _context.t2)(_context.t3);
-
- case 15:
- return _context.abrupt("return", {
- cMapData: cMapData,
- compressionType: compressionType
- });
-
- case 16:
- case "end":
- return _context.stop();
- }
- }
- }, _callee);
- }));
-
- return function (_x3) {
- return _ref4.apply(this, arguments);
- };
- }())["catch"](function (reason) {
- throw new Error("Unable to load ".concat(_this.isCompressed ? 'binary ' : '') + "CMap at: ".concat(url));
- }));
-
- case 9:
- return _context2.abrupt("return", new Promise(function (resolve, reject) {
- var request = new XMLHttpRequest();
- request.open('GET', url, true);
-
- if (_this.isCompressed) {
- request.responseType = 'arraybuffer';
- }
-
- request.onreadystatechange = function () {
- if (request.readyState !== XMLHttpRequest.DONE) {
- return;
- }
-
- if (request.status === 200 || request.status === 0) {
- var cMapData;
-
- if (_this.isCompressed && request.response) {
- cMapData = new Uint8Array(request.response);
- } else if (!_this.isCompressed && request.responseText) {
- cMapData = (0, _util.stringToBytes)(request.responseText);
- }
-
- if (cMapData) {
- resolve({
- cMapData: cMapData,
- compressionType: compressionType
- });
- return;
- }
- }
-
- reject(new Error(request.statusText));
- };
-
- request.send(null);
- })["catch"](function (reason) {
- throw new Error("Unable to load ".concat(_this.isCompressed ? 'binary ' : '') + "CMap at: ".concat(url));
- }));
-
- case 10:
- case "end":
- return _context2.stop();
- }
- }
- }, _callee2, this);
- }));
-
- return function (_x2) {
- return _ref3.apply(this, arguments);
- };
- }())
- }]);
-
- return DOMCMapReaderFactory;
-}();
-
-exports.DOMCMapReaderFactory = DOMCMapReaderFactory;
-
-var DOMSVGFactory =
-/*#__PURE__*/
-function () {
- function DOMSVGFactory() {
- _classCallCheck(this, DOMSVGFactory);
- }
-
- _createClass(DOMSVGFactory, [{
- key: "create",
- value: function create(width, height) {
- (0, _util.assert)(width > 0 && height > 0, 'Invalid SVG dimensions');
- var svg = document.createElementNS(SVG_NS, 'svg:svg');
- svg.setAttribute('version', '1.1');
- svg.setAttribute('width', width + 'px');
- svg.setAttribute('height', height + 'px');
- svg.setAttribute('preserveAspectRatio', 'none');
- svg.setAttribute('viewBox', '0 0 ' + width + ' ' + height);
- return svg;
- }
- }, {
- key: "createElement",
- value: function createElement(type) {
- (0, _util.assert)(typeof type === 'string', 'Invalid SVG element type');
- return document.createElementNS(SVG_NS, type);
- }
- }]);
-
- return DOMSVGFactory;
-}();
-
-exports.DOMSVGFactory = DOMSVGFactory;
-
-var PageViewport =
-/*#__PURE__*/
-function () {
- function PageViewport(_ref5) {
- var viewBox = _ref5.viewBox,
- scale = _ref5.scale,
- rotation = _ref5.rotation,
- _ref5$offsetX = _ref5.offsetX,
- offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,
- _ref5$offsetY = _ref5.offsetY,
- offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,
- _ref5$dontFlip = _ref5.dontFlip,
- dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;
-
- _classCallCheck(this, PageViewport);
-
- this.viewBox = viewBox;
- this.scale = scale;
- this.rotation = rotation;
- this.offsetX = offsetX;
- this.offsetY = offsetY;
- var centerX = (viewBox[2] + viewBox[0]) / 2;
- var centerY = (viewBox[3] + viewBox[1]) / 2;
- var rotateA, rotateB, rotateC, rotateD;
- rotation = rotation % 360;
- rotation = rotation < 0 ? rotation + 360 : rotation;
-
- switch (rotation) {
- case 180:
- rotateA = -1;
- rotateB = 0;
- rotateC = 0;
- rotateD = 1;
- break;
-
- case 90:
- rotateA = 0;
- rotateB = 1;
- rotateC = 1;
- rotateD = 0;
- break;
-
- case 270:
- rotateA = 0;
- rotateB = -1;
- rotateC = -1;
- rotateD = 0;
- break;
-
- default:
- rotateA = 1;
- rotateB = 0;
- rotateC = 0;
- rotateD = -1;
- break;
- }
-
- if (dontFlip) {
- rotateC = -rotateC;
- rotateD = -rotateD;
- }
-
- var offsetCanvasX, offsetCanvasY;
- var width, height;
-
- if (rotateA === 0) {
- offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
- offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
- width = Math.abs(viewBox[3] - viewBox[1]) * scale;
- height = Math.abs(viewBox[2] - viewBox[0]) * scale;
- } else {
- offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
- offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
- width = Math.abs(viewBox[2] - viewBox[0]) * scale;
- height = Math.abs(viewBox[3] - viewBox[1]) * scale;
- }
-
- this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
- this.width = width;
- this.height = height;
- }
-
- _createClass(PageViewport, [{
- key: "clone",
- value: function clone() {
- var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
- _ref6$scale = _ref6.scale,
- scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,
- _ref6$rotation = _ref6.rotation,
- rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,
- _ref6$dontFlip = _ref6.dontFlip,
- dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;
-
- return new PageViewport({
- viewBox: this.viewBox.slice(),
- scale: scale,
- rotation: rotation,
- offsetX: this.offsetX,
- offsetY: this.offsetY,
- dontFlip: dontFlip
- });
- }
- }, {
- key: "convertToViewportPoint",
- value: function convertToViewportPoint(x, y) {
- return _util.Util.applyTransform([x, y], this.transform);
- }
- }, {
- key: "convertToViewportRectangle",
- value: function convertToViewportRectangle(rect) {
- var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);
-
- var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);
-
- return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
- }
- }, {
- key: "convertToPdfPoint",
- value: function convertToPdfPoint(x, y) {
- return _util.Util.applyInverseTransform([x, y], this.transform);
- }
- }]);
-
- return PageViewport;
-}();
-
-exports.PageViewport = PageViewport;
-
-var RenderingCancelledException =
-/*#__PURE__*/
-function (_BaseException) {
- _inherits(RenderingCancelledException, _BaseException);
-
- function RenderingCancelledException(msg, type) {
- var _this2;
-
- _classCallCheck(this, RenderingCancelledException);
-
- _this2 = _possibleConstructorReturn(this, _getPrototypeOf(RenderingCancelledException).call(this, msg));
- _this2.type = type;
- return _this2;
- }
-
- return RenderingCancelledException;
-}(_util.BaseException);
-
-exports.RenderingCancelledException = RenderingCancelledException;
-var LinkTarget = {
- NONE: 0,
- SELF: 1,
- BLANK: 2,
- PARENT: 3,
- TOP: 4
-};
-exports.LinkTarget = LinkTarget;
-var LinkTargetStringMap = ['', '_self', '_blank', '_parent', '_top'];
-
-function addLinkAttributes(link) {
- var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
- url = _ref7.url,
- target = _ref7.target,
- rel = _ref7.rel,
- _ref7$enabled = _ref7.enabled,
- enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;
-
- (0, _util.assert)(url && typeof url === 'string', 'addLinkAttributes: A valid "url" parameter must provided.');
- var urlNullRemoved = (0, _util.removeNullCharacters)(url);
-
- if (enabled) {
- link.href = link.title = urlNullRemoved;
- } else {
- link.href = '';
- link.title = "Disabled: ".concat(urlNullRemoved);
-
- link.onclick = function () {
- return false;
- };
- }
-
- var LinkTargetValues = Object.values(LinkTarget);
- var targetIndex = LinkTargetValues.includes(target) ? target : LinkTarget.NONE;
- link.target = LinkTargetStringMap[targetIndex];
- link.rel = typeof rel === 'string' ? rel : DEFAULT_LINK_REL;
-}
-
-function getFilenameFromUrl(url) {
- var anchor = url.indexOf('#');
- var query = url.indexOf('?');
- var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
- return url.substring(url.lastIndexOf('/', end) + 1, end);
-}
-
-var StatTimer =
-/*#__PURE__*/
-function () {
- function StatTimer() {
- var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
- _classCallCheck(this, StatTimer);
-
- this.enabled = !!enable;
- this.started = Object.create(null);
- this.times = [];
- }
-
- _createClass(StatTimer, [{
- key: "time",
- value: function time(name) {
- if (!this.enabled) {
- return;
- }
-
- if (name in this.started) {
- (0, _util.warn)('Timer is already running for ' + name);
- }
-
- this.started[name] = Date.now();
- }
- }, {
- key: "timeEnd",
- value: function timeEnd(name) {
- if (!this.enabled) {
- return;
- }
-
- if (!(name in this.started)) {
- (0, _util.warn)('Timer has not been started for ' + name);
- }
-
- this.times.push({
- 'name': name,
- 'start': this.started[name],
- 'end': Date.now()
- });
- delete this.started[name];
- }
- }, {
- key: "toString",
- value: function toString() {
- var out = '',
- longest = 0;
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = this.times[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var time = _step.value;
- var name = time.name;
-
- if (name.length > longest) {
- longest = name.length;
- }
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
-
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
-
- try {
- for (var _iterator2 = this.times[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
- var _time = _step2.value;
- var duration = _time.end - _time.start;
- out += "".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n");
- }
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
- _iterator2["return"]();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
-
- return out;
- }
- }]);
-
- return StatTimer;
-}();
-
-exports.StatTimer = StatTimer;
-
-var DummyStatTimer =
-/*#__PURE__*/
-function () {
- function DummyStatTimer() {
- _classCallCheck(this, DummyStatTimer);
-
- (0, _util.unreachable)('Cannot initialize DummyStatTimer.');
- }
-
- _createClass(DummyStatTimer, null, [{
- key: "time",
- value: function time(name) {}
- }, {
- key: "timeEnd",
- value: function timeEnd(name) {}
- }, {
- key: "toString",
- value: function toString() {
- return '';
- }
- }]);
-
- return DummyStatTimer;
-}();
-
-exports.DummyStatTimer = DummyStatTimer;
-
-function isFetchSupported() {
- return typeof fetch !== 'undefined' && typeof Response !== 'undefined' && 'body' in Response.prototype && typeof ReadableStream !== 'undefined';
-}
-
-function isValidFetchUrl(url, baseUrl) {
- try {
- var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),
- protocol = _ref8.protocol;
-
- return protocol === 'http:' || protocol === 'https:';
- } catch (ex) {
- return false;
- }
-}
-
-function loadScript(src) {
- return new Promise(function (resolve, reject) {
- var script = document.createElement('script');
- script.src = src;
- script.onload = resolve;
-
- script.onerror = function () {
- reject(new Error("Cannot load script at: ".concat(script.src)));
- };
-
- (document.head || document.documentElement).appendChild(script);
- });
-}
-
-function deprecated(details) {
- console.log('Deprecated API usage: ' + details);
-}
-
-function releaseImageResources(img) {
- (0, _util.assert)(img instanceof Image, 'Invalid `img` parameter.');
- var url = img.src;
-
- if (typeof url === 'string' && url.startsWith('blob:') && URL.revokeObjectURL) {
- URL.revokeObjectURL(url);
- }
-
- img.removeAttribute('src');
-}
-
-var pdfDateStringRegex;
-
-var PDFDateString =
-/*#__PURE__*/
-function () {
- function PDFDateString() {
- _classCallCheck(this, PDFDateString);
- }
-
- _createClass(PDFDateString, null, [{
- key: "toDateObject",
- value: function toDateObject(input) {
- if (!input || !(0, _util.isString)(input)) {
- return null;
- }
-
- if (!pdfDateStringRegex) {
- pdfDateStringRegex = new RegExp('^D:' + '(\\d{4})' + '(\\d{2})?' + '(\\d{2})?' + '(\\d{2})?' + '(\\d{2})?' + '(\\d{2})?' + '([Z|+|-])?' + '(\\d{2})?' + '\'?' + '(\\d{2})?' + '\'?');
- }
-
- var matches = pdfDateStringRegex.exec(input);
-
- if (!matches) {
- return null;
- }
-
- var year = parseInt(matches[1], 10);
- var month = parseInt(matches[2], 10);
- month = month >= 1 && month <= 12 ? month - 1 : 0;
- var day = parseInt(matches[3], 10);
- day = day >= 1 && day <= 31 ? day : 1;
- var hour = parseInt(matches[4], 10);
- hour = hour >= 0 && hour <= 23 ? hour : 0;
- var minute = parseInt(matches[5], 10);
- minute = minute >= 0 && minute <= 59 ? minute : 0;
- var second = parseInt(matches[6], 10);
- second = second >= 0 && second <= 59 ? second : 0;
- var universalTimeRelation = matches[7] || 'Z';
- var offsetHour = parseInt(matches[8], 10);
- offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
- var offsetMinute = parseInt(matches[9], 10) || 0;
- offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;
-
- if (universalTimeRelation === '-') {
- hour += offsetHour;
- minute += offsetMinute;
- } else if (universalTimeRelation === '+') {
- hour -= offsetHour;
- minute -= offsetMinute;
- }
-
- return new Date(Date.UTC(year, month, day, hour, minute, second));
- }
- }]);
-
- return PDFDateString;
-}();
-
-exports.PDFDateString = PDFDateString;
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
+}));
exports.FontLoader = exports.FontFaceObject = void 0;
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
-
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _typeof(obj) { 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var BaseFontLoader =
-/*#__PURE__*/
-function () {
- function BaseFontLoader(_ref) {
- var docId = _ref.docId,
- onUnsupportedFeature = _ref.onUnsupportedFeature;
-
- _classCallCheck(this, BaseFontLoader);
+var _util = __w_pdfjs_require__(2);
+class BaseFontLoader {
+ constructor({
+ docId,
+ onUnsupportedFeature,
+ ownerDocument = globalThis.document
+ }) {
if (this.constructor === BaseFontLoader) {
- (0, _util.unreachable)('Cannot initialize BaseFontLoader.');
+ (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
}
this.docId = docId;
this._onUnsupportedFeature = onUnsupportedFeature;
+ this._document = ownerDocument;
this.nativeFontFaces = [];
this.styleElement = null;
}
- _createClass(BaseFontLoader, [{
- key: "addNativeFontFace",
- value: function addNativeFontFace(nativeFontFace) {
- this.nativeFontFaces.push(nativeFontFace);
- document.fonts.add(nativeFontFace);
- }
- }, {
- key: "insertRule",
- value: function insertRule(rule) {
- var styleElement = this.styleElement;
+ addNativeFontFace(nativeFontFace) {
+ this.nativeFontFaces.push(nativeFontFace);
- if (!styleElement) {
- styleElement = this.styleElement = document.createElement('style');
- styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);
- document.documentElement.getElementsByTagName('head')[0].appendChild(styleElement);
+ this._document.fonts.add(nativeFontFace);
+ }
+
+ insertRule(rule) {
+ let styleElement = this.styleElement;
+
+ if (!styleElement) {
+ styleElement = this.styleElement = this._document.createElement("style");
+ styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;
+
+ this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
+ }
+
+ const styleSheet = styleElement.sheet;
+ styleSheet.insertRule(rule, styleSheet.cssRules.length);
+ }
+
+ clear() {
+ this.nativeFontFaces.forEach(nativeFontFace => {
+ this._document.fonts.delete(nativeFontFace);
+ });
+ this.nativeFontFaces.length = 0;
+
+ if (this.styleElement) {
+ this.styleElement.remove();
+ this.styleElement = null;
+ }
+ }
+
+ async bind(font) {
+ if (font.attached || font.missingFile) {
+ return;
+ }
+
+ font.attached = true;
+
+ if (this.isFontLoadingAPISupported) {
+ const nativeFontFace = font.createNativeFontFace();
+
+ if (nativeFontFace) {
+ this.addNativeFontFace(nativeFontFace);
+
+ try {
+ await nativeFontFace.loaded;
+ } catch (ex) {
+ this._onUnsupportedFeature({
+ featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative
+ });
+
+ (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);
+ font.disableFontFace = true;
+ throw ex;
+ }
}
- var styleSheet = styleElement.sheet;
- styleSheet.insertRule(rule, styleSheet.cssRules.length);
+ return;
}
- }, {
- key: "clear",
- value: function clear() {
- this.nativeFontFaces.forEach(function (nativeFontFace) {
- document.fonts["delete"](nativeFontFace);
+
+ const rule = font.createFontFaceRule();
+
+ if (rule) {
+ this.insertRule(rule);
+
+ if (this.isSyncFontLoadingSupported) {
+ return;
+ }
+
+ await new Promise(resolve => {
+ const request = this._queueLoadingCallback(resolve);
+
+ this._prepareFontLoadEvent([rule], [font], request);
});
- this.nativeFontFaces.length = 0;
-
- if (this.styleElement) {
- this.styleElement.remove();
- this.styleElement = null;
- }
}
- }, {
- key: "bind",
- value: function () {
- var _bind = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee(font) {
- var _this = this;
+ }
- var nativeFontFace, rule;
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- if (!(font.attached || font.missingFile)) {
- _context.next = 2;
- break;
- }
+ _queueLoadingCallback(callback) {
+ (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
+ }
- return _context.abrupt("return", undefined);
+ get isFontLoadingAPISupported() {
+ return (0, _util.shadow)(this, "isFontLoadingAPISupported", !!this._document?.fonts);
+ }
- case 2:
- font.attached = true;
+ get isSyncFontLoadingSupported() {
+ (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
+ }
- if (!this.isFontLoadingAPISupported) {
- _context.next = 19;
- break;
- }
+ get _loadTestFont() {
+ (0, _util.unreachable)("Abstract method `_loadTestFont`.");
+ }
- nativeFontFace = font.createNativeFontFace();
+ _prepareFontLoadEvent(rules, fontsToLoad, request) {
+ (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
+ }
- if (!nativeFontFace) {
- _context.next = 18;
- break;
- }
+}
- this.addNativeFontFace(nativeFontFace);
- _context.prev = 7;
- _context.next = 10;
- return nativeFontFace.loaded;
-
- case 10:
- _context.next = 18;
- break;
-
- case 12:
- _context.prev = 12;
- _context.t0 = _context["catch"](7);
-
- this._onUnsupportedFeature({
- featureId: _util.UNSUPPORTED_FEATURES.font
- });
-
- (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'."));
- font.disableFontFace = true;
- throw _context.t0;
-
- case 18:
- return _context.abrupt("return", undefined);
-
- case 19:
- rule = font.createFontFaceRule();
-
- if (!rule) {
- _context.next = 25;
- break;
- }
-
- this.insertRule(rule);
-
- if (!this.isSyncFontLoadingSupported) {
- _context.next = 24;
- break;
- }
-
- return _context.abrupt("return", undefined);
-
- case 24:
- return _context.abrupt("return", new Promise(function (resolve) {
- var request = _this._queueLoadingCallback(resolve);
-
- _this._prepareFontLoadEvent([rule], [font], request);
- }));
-
- case 25:
- return _context.abrupt("return", undefined);
-
- case 26:
- case "end":
- return _context.stop();
- }
- }
- }, _callee, this, [[7, 12]]);
- }));
-
- function bind(_x) {
- return _bind.apply(this, arguments);
- }
-
- return bind;
- }()
- }, {
- key: "_queueLoadingCallback",
- value: function _queueLoadingCallback(callback) {
- (0, _util.unreachable)('Abstract method `_queueLoadingCallback`.');
- }
- }, {
- key: "_prepareFontLoadEvent",
- value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
- (0, _util.unreachable)('Abstract method `_prepareFontLoadEvent`.');
- }
- }, {
- key: "isFontLoadingAPISupported",
- get: function get() {
- (0, _util.unreachable)('Abstract method `isFontLoadingAPISupported`.');
- }
- }, {
- key: "isSyncFontLoadingSupported",
- get: function get() {
- (0, _util.unreachable)('Abstract method `isSyncFontLoadingSupported`.');
- }
- }, {
- key: "_loadTestFont",
- get: function get() {
- (0, _util.unreachable)('Abstract method `_loadTestFont`.');
- }
- }]);
-
- return BaseFontLoader;
-}();
-
-var FontLoader;
+let FontLoader;
exports.FontLoader = FontLoader;
{
- exports.FontLoader = FontLoader =
- /*#__PURE__*/
- function (_BaseFontLoader) {
- _inherits(GenericFontLoader, _BaseFontLoader);
-
- function GenericFontLoader(docId) {
- var _this2;
-
- _classCallCheck(this, GenericFontLoader);
-
- _this2 = _possibleConstructorReturn(this, _getPrototypeOf(GenericFontLoader).call(this, docId));
- _this2.loadingContext = {
+ exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {
+ constructor(params) {
+ super(params);
+ this.loadingContext = {
requests: [],
nextRequestId: 0
};
- _this2.loadTestFontId = 0;
- return _this2;
+ this.loadTestFontId = 0;
}
- _createClass(GenericFontLoader, [{
- key: "_queueLoadingCallback",
- value: function _queueLoadingCallback(callback) {
- function completeRequest() {
- (0, _util.assert)(!request.done, 'completeRequest() cannot be called twice.');
- request.done = true;
+ get isSyncFontLoadingSupported() {
+ let supported = false;
- while (context.requests.length > 0 && context.requests[0].done) {
- var otherRequest = context.requests.shift();
- setTimeout(otherRequest.callback, 0);
- }
- }
+ if (typeof navigator === "undefined") {
+ supported = true;
+ } else {
+ const m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
- var context = this.loadingContext;
- var request = {
- id: "pdfjs-font-loading-".concat(context.nextRequestId++),
- done: false,
- complete: completeRequest,
- callback: callback
- };
- context.requests.push(request);
- return request;
- }
- }, {
- key: "_prepareFontLoadEvent",
- value: function _prepareFontLoadEvent(rules, fonts, request) {
- function int32(data, offset) {
- return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
- }
-
- function spliceString(s, offset, remove, insert) {
- var chunk1 = s.substring(0, offset);
- var chunk2 = s.substring(offset + remove);
- return chunk1 + insert + chunk2;
- }
-
- var i, ii;
- var canvas = document.createElement('canvas');
- canvas.width = 1;
- canvas.height = 1;
- var ctx = canvas.getContext('2d');
- var called = 0;
-
- function isFontReady(name, callback) {
- called++;
-
- if (called > 30) {
- (0, _util.warn)('Load test font never loaded.');
- callback();
- return;
- }
-
- ctx.font = '30px ' + name;
- ctx.fillText('.', 0, 20);
- var imageData = ctx.getImageData(0, 0, 1, 1);
-
- if (imageData.data[3] > 0) {
- callback();
- return;
- }
-
- setTimeout(isFontReady.bind(null, name, callback));
- }
-
- var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
- var data = this._loadTestFont;
- var COMMENT_OFFSET = 976;
- data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
- var CFF_CHECKSUM_OFFSET = 16;
- var XXXX_VALUE = 0x58585858;
- var checksum = int32(data, CFF_CHECKSUM_OFFSET);
-
- for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
- checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
- }
-
- if (i < loadTestFontId.length) {
- checksum = checksum - XXXX_VALUE + int32(loadTestFontId + 'XXX', i) | 0;
- }
-
- data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
- var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
- var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
- this.insertRule(rule);
- var names = [];
-
- for (i = 0, ii = fonts.length; i < ii; i++) {
- names.push(fonts[i].loadedName);
- }
-
- names.push(loadTestFontId);
- var div = document.createElement('div');
- div.setAttribute('style', 'visibility: hidden;' + 'width: 10px; height: 10px;' + 'position: absolute; top: 0px; left: 0px;');
-
- for (i = 0, ii = names.length; i < ii; ++i) {
- var span = document.createElement('span');
- span.textContent = 'Hi';
- span.style.fontFamily = names[i];
- div.appendChild(span);
- }
-
- document.body.appendChild(div);
- isFontReady(loadTestFontId, function () {
- document.body.removeChild(div);
- request.complete();
- });
- }
- }, {
- key: "isFontLoadingAPISupported",
- get: function get() {
- var supported = typeof document !== 'undefined' && !!document.fonts;
-
- if (supported && typeof navigator !== 'undefined') {
- var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
-
- if (m && m[1] < 63) {
- supported = false;
- }
- }
-
- return (0, _util.shadow)(this, 'isFontLoadingAPISupported', supported);
- }
- }, {
- key: "isSyncFontLoadingSupported",
- get: function get() {
- var supported = false;
-
- if (typeof navigator === 'undefined') {
+ if (m?.[1] >= 14) {
supported = true;
- } else {
- var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);
+ }
+ }
- if (m && m[1] >= 14) {
- supported = true;
- }
+ return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
+ }
+
+ _queueLoadingCallback(callback) {
+ function completeRequest() {
+ (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
+ request.done = true;
+
+ while (context.requests.length > 0 && context.requests[0].done) {
+ const otherRequest = context.requests.shift();
+ setTimeout(otherRequest.callback, 0);
+ }
+ }
+
+ const context = this.loadingContext;
+ const request = {
+ id: `pdfjs-font-loading-${context.nextRequestId++}`,
+ done: false,
+ complete: completeRequest,
+ callback
+ };
+ context.requests.push(request);
+ return request;
+ }
+
+ get _loadTestFont() {
+ const getLoadTestFont = function () {
+ 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==");
+ };
+
+ return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
+ }
+
+ _prepareFontLoadEvent(rules, fonts, request) {
+ function int32(data, offset) {
+ return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
+ }
+
+ function spliceString(s, offset, remove, insert) {
+ const chunk1 = s.substring(0, offset);
+ const chunk2 = s.substring(offset + remove);
+ return chunk1 + insert + chunk2;
+ }
+
+ let i, ii;
+
+ const canvas = this._document.createElement("canvas");
+
+ canvas.width = 1;
+ canvas.height = 1;
+ const ctx = canvas.getContext("2d");
+ let called = 0;
+
+ function isFontReady(name, callback) {
+ called++;
+
+ if (called > 30) {
+ (0, _util.warn)("Load test font never loaded.");
+ callback();
+ return;
}
- return (0, _util.shadow)(this, 'isSyncFontLoadingSupported', supported);
- }
- }, {
- key: "_loadTestFont",
- get: function get() {
- var getLoadTestFont = function getLoadTestFont() {
- 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==');
- };
+ ctx.font = "30px " + name;
+ ctx.fillText(".", 0, 20);
+ const imageData = ctx.getImageData(0, 0, 1, 1);
- return (0, _util.shadow)(this, '_loadTestFont', getLoadTestFont());
- }
- }]);
+ if (imageData.data[3] > 0) {
+ callback();
+ return;
+ }
- return GenericFontLoader;
- }(BaseFontLoader);
+ setTimeout(isFontReady.bind(null, name, callback));
+ }
+
+ const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;
+ let data = this._loadTestFont;
+ const COMMENT_OFFSET = 976;
+ data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
+ const CFF_CHECKSUM_OFFSET = 16;
+ const XXXX_VALUE = 0x58585858;
+ let checksum = int32(data, CFF_CHECKSUM_OFFSET);
+
+ for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
+ checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
+ }
+
+ if (i < loadTestFontId.length) {
+ checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
+ }
+
+ data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
+ const url = `url(data:font/opentype;base64,${btoa(data)});`;
+ const rule = `@font-face {font-family:"${loadTestFontId}";src:${url}}`;
+ this.insertRule(rule);
+ const names = [];
+
+ for (i = 0, ii = fonts.length; i < ii; i++) {
+ names.push(fonts[i].loadedName);
+ }
+
+ names.push(loadTestFontId);
+
+ const div = this._document.createElement("div");
+
+ div.style.visibility = "hidden";
+ div.style.width = div.style.height = "10px";
+ div.style.position = "absolute";
+ div.style.top = div.style.left = "0px";
+
+ for (i = 0, ii = names.length; i < ii; ++i) {
+ const span = this._document.createElement("span");
+
+ span.textContent = "Hi";
+ span.style.fontFamily = names[i];
+ div.appendChild(span);
+ }
+
+ this._document.body.appendChild(div);
+
+ isFontReady(loadTestFontId, () => {
+ this._document.body.removeChild(div);
+
+ request.complete();
+ });
+ }
+
+ };
}
-var IsEvalSupportedCached = {
- get value() {
- return (0, _util.shadow)(this, 'value', (0, _util.isEvalSupported)());
- }
-
-};
-
-var FontFaceObject =
-/*#__PURE__*/
-function () {
- function FontFaceObject(translatedData, _ref2) {
- var _ref2$isEvalSupported = _ref2.isEvalSupported,
- isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
- _ref2$disableFontFace = _ref2.disableFontFace,
- disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
- _ref2$ignoreErrors = _ref2.ignoreErrors,
- ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
- _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,
- onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,
- _ref2$fontRegistry = _ref2.fontRegistry,
- fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;
-
- _classCallCheck(this, FontFaceObject);
+class FontFaceObject {
+ constructor(translatedData, {
+ isEvalSupported = true,
+ disableFontFace = false,
+ ignoreErrors = false,
+ onUnsupportedFeature = null,
+ fontRegistry = null
+ }) {
this.compiledGlyphs = Object.create(null);
- for (var i in translatedData) {
+ for (const i in translatedData) {
this[i] = translatedData[i];
}
@@ -14166,161 +4337,302 @@ function () {
this.fontRegistry = fontRegistry;
}
- _createClass(FontFaceObject, [{
- key: "createNativeFontFace",
- value: function createNativeFontFace() {
- if (!this.data || this.disableFontFace) {
- return null;
- }
-
- var nativeFontFace = new FontFace(this.loadedName, this.data, {});
-
- if (this.fontRegistry) {
- this.fontRegistry.registerFont(this);
- }
-
- return nativeFontFace;
+ createNativeFontFace() {
+ if (!this.data || this.disableFontFace) {
+ return null;
}
- }, {
- key: "createFontFaceRule",
- value: function createFontFaceRule() {
- if (!this.data || this.disableFontFace) {
- return null;
- }
- var data = (0, _util.bytesToString)(new Uint8Array(this.data));
- var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
- var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");
+ const nativeFontFace = new FontFace(this.loadedName, this.data, {});
- if (this.fontRegistry) {
- this.fontRegistry.registerFont(this, url);
- }
-
- return rule;
+ if (this.fontRegistry) {
+ this.fontRegistry.registerFont(this);
}
- }, {
- key: "getPathGenerator",
- value: function getPathGenerator(objs, character) {
- if (this.compiledGlyphs[character] !== undefined) {
- return this.compiledGlyphs[character];
- }
- var cmds, current;
+ return nativeFontFace;
+ }
- try {
- cmds = objs.get(this.loadedName + '_path_' + character);
- } catch (ex) {
- if (!this.ignoreErrors) {
- throw ex;
- }
-
- if (this._onUnsupportedFeature) {
- this._onUnsupportedFeature({
- featureId: _util.UNSUPPORTED_FEATURES.font
- });
- }
-
- (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
- return this.compiledGlyphs[character] = function (c, size) {};
- }
-
- if (this.isEvalSupported && IsEvalSupportedCached.value) {
- var args,
- js = '';
-
- for (var i = 0, ii = cmds.length; i < ii; i++) {
- current = cmds[i];
-
- if (current.args !== undefined) {
- args = current.args.join(',');
- } else {
- args = '';
- }
-
- js += 'c.' + current.cmd + '(' + args + ');\n';
- }
-
- return this.compiledGlyphs[character] = new Function('c', 'size', js);
- }
-
- return this.compiledGlyphs[character] = function (c, size) {
- for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {
- current = cmds[_i];
-
- if (current.cmd === 'scale') {
- current.args = [size, -size];
- }
-
- c[current.cmd].apply(c, current.args);
- }
- };
+ createFontFaceRule() {
+ if (!this.data || this.disableFontFace) {
+ return null;
}
- }]);
- return FontFaceObject;
-}();
+ const data = (0, _util.bytesToString)(new Uint8Array(this.data));
+ const url = `url(data:${this.mimetype};base64,${btoa(data)});`;
+ const rule = `@font-face {font-family:"${this.loadedName}";src:${url}}`;
+
+ if (this.fontRegistry) {
+ this.fontRegistry.registerFont(this, url);
+ }
+
+ return rule;
+ }
+
+ getPathGenerator(objs, character) {
+ if (this.compiledGlyphs[character] !== undefined) {
+ return this.compiledGlyphs[character];
+ }
+
+ let cmds, current;
+
+ try {
+ cmds = objs.get(this.loadedName + "_path_" + character);
+ } catch (ex) {
+ if (!this.ignoreErrors) {
+ throw ex;
+ }
+
+ if (this._onUnsupportedFeature) {
+ this._onUnsupportedFeature({
+ featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath
+ });
+ }
+
+ (0, _util.warn)(`getPathGenerator - ignoring character: "${ex}".`);
+ return this.compiledGlyphs[character] = function (c, size) {};
+ }
+
+ if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {
+ let args,
+ js = "";
+
+ for (let i = 0, ii = cmds.length; i < ii; i++) {
+ current = cmds[i];
+
+ if (current.args !== undefined) {
+ args = current.args.join(",");
+ } else {
+ args = "";
+ }
+
+ js += "c." + current.cmd + "(" + args + ");\n";
+ }
+
+ return this.compiledGlyphs[character] = new Function("c", "size", js);
+ }
+
+ return this.compiledGlyphs[character] = function (c, size) {
+ for (let i = 0, ii = cmds.length; i < ii; i++) {
+ current = cmds[i];
+
+ if (current.cmd === "scale") {
+ current.args = [size, -size];
+ }
+
+ c[current.cmd].apply(c, current.args);
+ }
+ };
+ }
+
+}
exports.FontFaceObject = FontFaceObject;
/***/ }),
-/* 185 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 7 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-var compatibilityParams = Object.create(null);
-{
- var isNodeJS = __w_pdfjs_require__(4);
- var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || '';
- var isIE = /Trident/.test(userAgent);
- var isIOSChrome = /CriOS/.test(userAgent);
-
- (function checkOnBlobSupport() {
- if (isIE || isIOSChrome) {
- compatibilityParams.disableCreateObjectURL = true;
- }
- })();
-
- (function checkFontFaceAndImage() {
- if (isNodeJS()) {
- compatibilityParams.disableFontFace = true;
- compatibilityParams.nativeImageDecoderSupport = 'none';
- }
- })();
-}
-exports.apiCompatibilityParams = Object.freeze(compatibilityParams);
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
-exports.CanvasGraphics = void 0;
+}));
+exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;
-var _util = __w_pdfjs_require__(1);
+var _display_utils = __w_pdfjs_require__(1);
-var _pattern_helper = __w_pdfjs_require__(187);
+var _is_node = __w_pdfjs_require__(4);
-var MIN_FONT_SIZE = 16;
-var MAX_FONT_SIZE = 100;
-var MAX_GROUP_SIZE = 4096;
-var MIN_WIDTH_FACTOR = 0.65;
-var COMPILE_TYPE3_GLYPHS = true;
-var MAX_SIZE_TO_COMPILE = 1000;
-var FULL_CHUNK_HEIGHT = 16;
-var IsLittleEndianCached = {
- get value() {
- return (0, _util.shadow)(IsLittleEndianCached, 'value', (0, _util.isLittleEndian)());
+var _util = __w_pdfjs_require__(2);
+
+let NodeCanvasFactory = class {
+ constructor() {
+ (0, _util.unreachable)("Not implemented: NodeCanvasFactory");
}
};
+exports.NodeCanvasFactory = NodeCanvasFactory;
+let NodeCMapReaderFactory = class {
+ constructor() {
+ (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory");
+ }
+
+};
+exports.NodeCMapReaderFactory = NodeCMapReaderFactory;
+
+if (_is_node.isNodeJS) {
+ exports.NodeCanvasFactory = NodeCanvasFactory = class extends _display_utils.BaseCanvasFactory {
+ create(width, height) {
+ if (width <= 0 || height <= 0) {
+ throw new Error("Invalid canvas size");
+ }
+
+ const Canvas = require("canvas");
+
+ const canvas = Canvas.createCanvas(width, height);
+ return {
+ canvas,
+ context: canvas.getContext("2d")
+ };
+ }
+
+ };
+ exports.NodeCMapReaderFactory = NodeCMapReaderFactory = class extends _display_utils.BaseCMapReaderFactory {
+ _fetchData(url, compressionType) {
+ return new Promise((resolve, reject) => {
+ const fs = require("fs");
+
+ fs.readFile(url, (error, data) => {
+ if (error || !data) {
+ reject(new Error(error));
+ return;
+ }
+
+ resolve({
+ cMapData: new Uint8Array(data),
+ compressionType
+ });
+ });
+ });
+ }
+
+ };
+}
+
+/***/ }),
+/* 8 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
+exports.AnnotationStorage = void 0;
+
+var _util = __w_pdfjs_require__(2);
+
+class AnnotationStorage {
+ constructor() {
+ this._storage = new Map();
+ this._modified = false;
+ this.onSetModified = null;
+ this.onResetModified = null;
+ }
+
+ getOrCreateValue(key, defaultValue) {
+ if (this._storage.has(key)) {
+ return this._storage.get(key);
+ }
+
+ this._storage.set(key, defaultValue);
+
+ return defaultValue;
+ }
+
+ setValue(key, value) {
+ const obj = this._storage.get(key);
+
+ let modified = false;
+
+ if (obj !== undefined) {
+ for (const [entry, val] of Object.entries(value)) {
+ if (obj[entry] !== val) {
+ modified = true;
+ obj[entry] = val;
+ }
+ }
+ } else {
+ this._storage.set(key, value);
+
+ modified = true;
+ }
+
+ if (modified) {
+ this._setModified();
+ }
+ }
+
+ getAll() {
+ if (this._storage.size === 0) {
+ return null;
+ }
+
+ return (0, _util.objectFromEntries)(this._storage);
+ }
+
+ get size() {
+ return this._storage.size;
+ }
+
+ _setModified() {
+ if (!this._modified) {
+ this._modified = true;
+
+ if (typeof this.onSetModified === "function") {
+ this.onSetModified();
+ }
+ }
+ }
+
+ resetModified() {
+ if (this._modified) {
+ this._modified = false;
+
+ if (typeof this.onResetModified === "function") {
+ this.onResetModified();
+ }
+ }
+ }
+
+}
+
+exports.AnnotationStorage = AnnotationStorage;
+
+/***/ }),
+/* 9 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
+exports.apiCompatibilityParams = void 0;
+
+var _is_node = __w_pdfjs_require__(4);
+
+const compatibilityParams = Object.create(null);
+{
+ (function checkFontFace() {
+ if (_is_node.isNodeJS) {
+ compatibilityParams.disableFontFace = true;
+ }
+ })();
+}
+const apiCompatibilityParams = Object.freeze(compatibilityParams);
+exports.apiCompatibilityParams = apiCompatibilityParams;
+
+/***/ }),
+/* 10 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
+exports.CanvasGraphics = void 0;
+
+var _util = __w_pdfjs_require__(2);
+
+var _pattern_helper = __w_pdfjs_require__(11);
+
+const MIN_FONT_SIZE = 16;
+const MAX_FONT_SIZE = 100;
+const MAX_GROUP_SIZE = 4096;
+const COMPILE_TYPE3_GLYPHS = true;
+const MAX_SIZE_TO_COMPILE = 1000;
+const FULL_CHUNK_HEIGHT = 16;
function addContextCurrentTransform(ctx) {
if (!ctx.mozCurrentTransform) {
@@ -14333,28 +4645,28 @@ function addContextCurrentTransform(ctx) {
ctx._originalSetTransform = ctx.setTransform;
ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
ctx._transformStack = [];
- Object.defineProperty(ctx, 'mozCurrentTransform', {
+ Object.defineProperty(ctx, "mozCurrentTransform", {
get: function getCurrentTransform() {
return this._transformMatrix;
}
});
- Object.defineProperty(ctx, 'mozCurrentTransformInverse', {
+ Object.defineProperty(ctx, "mozCurrentTransformInverse", {
get: function getCurrentTransformInverse() {
- var m = this._transformMatrix;
- var a = m[0],
- b = m[1],
- c = m[2],
- d = m[3],
- e = m[4],
- f = m[5];
- var ad_bc = a * d - b * c;
- var bc_ad = b * c - a * d;
+ const m = this._transformMatrix;
+ const a = m[0],
+ b = m[1],
+ c = m[2],
+ d = m[3],
+ e = m[4],
+ f = m[5];
+ const ad_bc = a * d - b * c;
+ const bc_ad = b * c - a * d;
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];
}
});
ctx.save = function ctxSave() {
- var old = this._transformMatrix;
+ const old = this._transformMatrix;
this._transformStack.push(old);
@@ -14364,7 +4676,7 @@ function addContextCurrentTransform(ctx) {
};
ctx.restore = function ctxRestore() {
- var prev = this._transformStack.pop();
+ const prev = this._transformStack.pop();
if (prev) {
this._transformMatrix = prev;
@@ -14374,7 +4686,7 @@ function addContextCurrentTransform(ctx) {
};
ctx.translate = function ctxTranslate(x, y) {
- var m = this._transformMatrix;
+ const m = this._transformMatrix;
m[4] = m[0] * x + m[2] * y + m[4];
m[5] = m[1] * x + m[3] * y + m[5];
@@ -14382,7 +4694,7 @@ function addContextCurrentTransform(ctx) {
};
ctx.scale = function ctxScale(x, y) {
- var m = this._transformMatrix;
+ const m = this._transformMatrix;
m[0] = m[0] * x;
m[1] = m[1] * x;
m[2] = m[2] * y;
@@ -14392,7 +4704,7 @@ function addContextCurrentTransform(ctx) {
};
ctx.transform = function ctxTransform(a, b, c, d, e, f) {
- var m = this._transformMatrix;
+ const m = this._transformMatrix;
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]];
ctx._originalTransform(a, b, c, d, e, f);
@@ -14405,9 +4717,9 @@ function addContextCurrentTransform(ctx) {
};
ctx.rotate = function ctxRotate(angle) {
- var cosValue = Math.cos(angle);
- var sinValue = Math.sin(angle);
- var m = this._transformMatrix;
+ const cosValue = Math.cos(angle);
+ const sinValue = Math.sin(angle);
+ const m = this._transformMatrix;
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]];
this._originalRotate(angle);
@@ -14415,7 +4727,7 @@ function addContextCurrentTransform(ctx) {
}
}
-var CachedCanvases = function CachedCanvasesClosure() {
+const CachedCanvases = function CachedCanvasesClosure() {
function CachedCanvases(canvasFactory) {
this.canvasFactory = canvasFactory;
this.cache = Object.create(null);
@@ -14423,7 +4735,7 @@ var CachedCanvases = function CachedCanvasesClosure() {
CachedCanvases.prototype = {
getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {
- var canvasEntry;
+ let canvasEntry;
if (this.cache[id] !== undefined) {
canvasEntry = this.cache[id];
@@ -14440,36 +4752,35 @@ var CachedCanvases = function CachedCanvasesClosure() {
return canvasEntry;
},
- clear: function clear() {
- for (var id in this.cache) {
- var canvasEntry = this.cache[id];
+
+ clear() {
+ for (const id in this.cache) {
+ const canvasEntry = this.cache[id];
this.canvasFactory.destroy(canvasEntry);
delete this.cache[id];
}
}
+
};
return CachedCanvases;
}();
function compileType3Glyph(imgData) {
- var POINT_TO_PROCESS_LIMIT = 1000;
- var width = imgData.width,
- height = imgData.height;
- var i,
- j,
- j0,
- width1 = width + 1;
- var points = new Uint8Array(width1 * (height + 1));
- var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
- var lineSize = width + 7 & ~7,
- data0 = imgData.data;
- var data = new Uint8Array(lineSize * height),
- pos = 0,
- ii;
+ const POINT_TO_PROCESS_LIMIT = 1000;
+ const width = imgData.width,
+ height = imgData.height,
+ width1 = width + 1;
+ let i, ii, j, j0;
+ const points = new Uint8Array(width1 * (height + 1));
+ const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
+ const lineSize = width + 7 & ~7,
+ data0 = imgData.data;
+ const data = new Uint8Array(lineSize * height);
+ let pos = 0;
for (i = 0, ii = data0.length; i < ii; i++) {
- var mask = 128,
- elem = data0[i];
+ const elem = data0[i];
+ let mask = 128;
while (mask > 0) {
data[pos++] = elem & mask ? 0 : 255;
@@ -14477,7 +4788,7 @@ function compileType3Glyph(imgData) {
}
}
- var count = 0;
+ let count = 0;
pos = 0;
if (data[pos] !== 0) {
@@ -14508,7 +4819,7 @@ function compileType3Glyph(imgData) {
++count;
}
- var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);
+ let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);
for (j = 1; j < width; j++) {
sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);
@@ -14557,12 +4868,12 @@ function compileType3Glyph(imgData) {
return null;
}
- var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
- var outlines = [];
+ const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
+ const outlines = [];
for (i = 0; count && i <= height; i++) {
- var p = i * width1;
- var end = p + width;
+ let p = i * width1;
+ const end = p + width;
while (p < end && !points[p]) {
p++;
@@ -14572,19 +4883,18 @@ function compileType3Glyph(imgData) {
continue;
}
- var coords = [p % width1, i];
- var type = points[p],
- p0 = p,
- pp;
+ const coords = [p % width1, i];
+ const p0 = p;
+ let type = points[p];
do {
- var step = steps[type];
+ const step = steps[type];
do {
p += step;
} while (!points[p]);
- pp = points[p];
+ const pp = points[p];
if (pp !== 5 && pp !== 10) {
type = pp;
@@ -14606,18 +4916,18 @@ function compileType3Glyph(imgData) {
--i;
}
- var drawOutline = function drawOutline(c) {
+ const drawOutline = function (c) {
c.save();
c.scale(1 / width, -1 / height);
c.translate(0, -height);
c.beginPath();
- for (var i = 0, ii = outlines.length; i < ii; i++) {
- var o = outlines[i];
+ for (let k = 0, kk = outlines.length; k < kk; k++) {
+ const o = outlines[k];
c.moveTo(o[0], o[1]);
- for (var j = 2, jj = o.length; j < jj; j += 2) {
- c.lineTo(o[j], o[j + 1]);
+ for (let l = 2, ll = o.length; l < ll; l += 2) {
+ c.lineTo(o[l], o[l + 1]);
}
}
@@ -14629,7 +4939,7 @@ function compileType3Glyph(imgData) {
return drawOutline;
}
-var CanvasExtraState = function CanvasExtraStateClosure() {
+const CanvasExtraState = function CanvasExtraStateClosure() {
function CanvasExtraState() {
this.alphaIsShape = false;
this.fontSize = 0;
@@ -14647,14 +4957,15 @@ var CanvasExtraState = function CanvasExtraStateClosure() {
this.textHScale = 1;
this.textRenderingMode = _util.TextRenderingMode.FILL;
this.textRise = 0;
- this.fillColor = '#000000';
- this.strokeColor = '#000000';
+ this.fillColor = "#000000";
+ this.strokeColor = "#000000";
this.patternFill = false;
this.fillAlpha = 1;
this.strokeAlpha = 1;
this.lineWidth = 1;
this.activeSMask = null;
this.resumeSMaskCtx = null;
+ this.transferMaps = null;
}
CanvasExtraState.prototype = {
@@ -14669,11 +4980,11 @@ var CanvasExtraState = function CanvasExtraStateClosure() {
return CanvasExtraState;
}();
-var CanvasGraphics = function CanvasGraphicsClosure() {
- var EXECUTION_TIME = 15;
- var EXECUTION_STEPS = 10;
+const CanvasGraphics = function CanvasGraphicsClosure() {
+ const EXECUTION_TIME = 15;
+ const EXECUTION_STEPS = 10;
- function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {
+ function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {
this.ctx = canvasCtx;
this.current = new CanvasExtraState();
this.stateStack = [];
@@ -14694,6 +5005,9 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.smaskStack = [];
this.smaskCounter = 0;
this.tempSMask = null;
+ this.contentVisible = true;
+ this.markedContentStack = [];
+ this.optionalContentConfig = optionalContentConfig;
this.cachedCanvases = new CachedCanvases(this.canvasFactory);
if (canvasCtx) {
@@ -14703,43 +5017,68 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this._cachedGetSinglePixelWidth = null;
}
- function putBinaryImageData(ctx, imgData) {
- if (typeof ImageData !== 'undefined' && imgData instanceof ImageData) {
+ function putBinaryImageData(ctx, imgData, transferMaps = null) {
+ if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
ctx.putImageData(imgData, 0, 0);
return;
}
- var height = imgData.height,
- width = imgData.width;
- var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
- var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
- var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
- var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
- var srcPos = 0,
+ const height = imgData.height,
+ width = imgData.width;
+ const partialChunkHeight = height % FULL_CHUNK_HEIGHT;
+ const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
+ const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
+ const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
+ let srcPos = 0,
destPos;
- var src = imgData.data;
- var dest = chunkImgData.data;
- var i, j, thisChunkHeight, elemsInThisChunk;
+ const src = imgData.data;
+ const dest = chunkImgData.data;
+ let i, j, thisChunkHeight, elemsInThisChunk;
+ let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;
+
+ if (transferMaps) {
+ switch (transferMaps.length) {
+ case 1:
+ transferMapRed = transferMaps[0];
+ transferMapGreen = transferMaps[0];
+ transferMapBlue = transferMaps[0];
+ transferMapGray = transferMaps[0];
+ break;
+
+ case 4:
+ transferMapRed = transferMaps[0];
+ transferMapGreen = transferMaps[1];
+ transferMapBlue = transferMaps[2];
+ transferMapGray = transferMaps[3];
+ break;
+ }
+ }
if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
- var srcLength = src.byteLength;
- var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
- var dest32DataLength = dest32.length;
- var fullSrcDiff = width + 7 >> 3;
- var white = 0xFFFFFFFF;
- var black = IsLittleEndianCached.value ? 0xFF000000 : 0x000000FF;
+ const srcLength = src.byteLength;
+ const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
+ const dest32DataLength = dest32.length;
+ const fullSrcDiff = width + 7 >> 3;
+ let white = 0xffffffff;
+ let black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;
+
+ if (transferMapGray) {
+ if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {
+ [white, black] = [black, white];
+ }
+ }
for (i = 0; i < totalChunks; i++) {
thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
destPos = 0;
for (j = 0; j < thisChunkHeight; j++) {
- var srcDiff = srcLength - srcPos;
- var k = 0;
- var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
- var kEndUnrolled = kEnd & ~7;
- var mask = 0;
- var srcByte = 0;
+ const srcDiff = srcLength - srcPos;
+ let k = 0;
+ const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
+ const kEndUnrolled = kEnd & ~7;
+ let mask = 0;
+ let srcByte = 0;
for (; k < kEndUnrolled; k += 8) {
srcByte = src[srcPos++];
@@ -14771,12 +5110,30 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
}
} else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
+ const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);
j = 0;
elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;
for (i = 0; i < fullChunks; i++) {
dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
srcPos += elemsInThisChunk;
+
+ if (hasTransferMaps) {
+ for (let k = 0; k < elemsInThisChunk; k += 4) {
+ if (transferMapRed) {
+ dest[k + 0] = transferMapRed[dest[k + 0]];
+ }
+
+ if (transferMapGreen) {
+ dest[k + 1] = transferMapGreen[dest[k + 1]];
+ }
+
+ if (transferMapBlue) {
+ dest[k + 2] = transferMapBlue[dest[k + 2]];
+ }
+ }
+ }
+
ctx.putImageData(chunkImgData, 0, j);
j += FULL_CHUNK_HEIGHT;
}
@@ -14784,9 +5141,27 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
if (i < totalChunks) {
elemsInThisChunk = width * partialChunkHeight * 4;
dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
+
+ if (hasTransferMaps) {
+ for (let k = 0; k < elemsInThisChunk; k += 4) {
+ if (transferMapRed) {
+ dest[k + 0] = transferMapRed[dest[k + 0]];
+ }
+
+ if (transferMapGreen) {
+ dest[k + 1] = transferMapGreen[dest[k + 1]];
+ }
+
+ if (transferMapBlue) {
+ dest[k + 2] = transferMapBlue[dest[k + 2]];
+ }
+ }
+ }
+
ctx.putImageData(chunkImgData, 0, j);
}
} else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
+ const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);
thisChunkHeight = FULL_CHUNK_HEIGHT;
elemsInThisChunk = width * thisChunkHeight;
@@ -14805,34 +5180,51 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
dest[destPos++] = 255;
}
+ if (hasTransferMaps) {
+ for (let k = 0; k < destPos; k += 4) {
+ if (transferMapRed) {
+ dest[k + 0] = transferMapRed[dest[k + 0]];
+ }
+
+ if (transferMapGreen) {
+ dest[k + 1] = transferMapGreen[dest[k + 1]];
+ }
+
+ if (transferMapBlue) {
+ dest[k + 2] = transferMapBlue[dest[k + 2]];
+ }
+ }
+ }
+
ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
}
} else {
- throw new Error("bad image kind: ".concat(imgData.kind));
+ throw new Error(`bad image kind: ${imgData.kind}`);
}
}
function putBinaryImageMask(ctx, imgData) {
- var height = imgData.height,
- width = imgData.width;
- var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
- var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
- var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
- var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
- var srcPos = 0;
- var src = imgData.data;
- var dest = chunkImgData.data;
+ const height = imgData.height,
+ width = imgData.width;
+ const partialChunkHeight = height % FULL_CHUNK_HEIGHT;
+ const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
+ const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
+ const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
+ let srcPos = 0;
+ const src = imgData.data;
+ const dest = chunkImgData.data;
- for (var i = 0; i < totalChunks; i++) {
- var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
- var destPos = 3;
+ for (let i = 0; i < totalChunks; i++) {
+ const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
+ let destPos = 3;
- for (var j = 0; j < thisChunkHeight; j++) {
- var mask = 0;
+ for (let j = 0; j < thisChunkHeight; j++) {
+ let elem,
+ mask = 0;
- for (var k = 0; k < width; k++) {
+ for (let k = 0; k < width; k++) {
if (!mask) {
- var elem = src[srcPos++];
+ elem = src[srcPos++];
mask = 128;
}
@@ -14847,10 +5239,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
function copyCtxState(sourceCtx, destCtx) {
- var properties = ['strokeStyle', 'fillStyle', 'fillRule', 'globalAlpha', 'lineWidth', 'lineCap', 'lineJoin', 'miterLimit', 'globalCompositeOperation', 'font'];
+ const properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"];
- for (var i = 0, ii = properties.length; i < ii; i++) {
- var property = properties[i];
+ for (let i = 0, ii = properties.length; i < ii; i++) {
+ const property = properties[i];
if (sourceCtx[property] !== undefined) {
destCtx[property] = sourceCtx[property];
@@ -14864,16 +5256,16 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
function resetCtxToDefault(ctx) {
- ctx.strokeStyle = '#000000';
- ctx.fillStyle = '#000000';
- ctx.fillRule = 'nonzero';
+ ctx.strokeStyle = "#000000";
+ ctx.fillStyle = "#000000";
+ ctx.fillRule = "nonzero";
ctx.globalAlpha = 1;
ctx.lineWidth = 1;
- ctx.lineCap = 'butt';
- ctx.lineJoin = 'miter';
+ ctx.lineCap = "butt";
+ ctx.lineJoin = "miter";
ctx.miterLimit = 10;
- ctx.globalCompositeOperation = 'source-over';
- ctx.font = '10px sans-serif';
+ ctx.globalCompositeOperation = "source-over";
+ ctx.font = "10px sans-serif";
if (ctx.setLineDash !== undefined) {
ctx.setLineDash([]);
@@ -14882,17 +5274,17 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
function composeSMaskBackdrop(bytes, r0, g0, b0) {
- var length = bytes.length;
+ const length = bytes.length;
- for (var i = 3; i < length; i += 4) {
- var alpha = bytes[i];
+ for (let i = 3; i < length; i += 4) {
+ const alpha = bytes[i];
if (alpha === 0) {
bytes[i - 3] = r0;
bytes[i - 2] = g0;
bytes[i - 1] = b0;
} else if (alpha < 255) {
- var alpha_ = 255 - alpha;
+ const alpha_ = 255 - alpha;
bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
@@ -14901,44 +5293,44 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
function composeSMaskAlpha(maskData, layerData, transferMap) {
- var length = maskData.length;
- var scale = 1 / 255;
+ const length = maskData.length;
+ const scale = 1 / 255;
- for (var i = 3; i < length; i += 4) {
- var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
+ for (let i = 3; i < length; i += 4) {
+ const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
layerData[i] = layerData[i] * alpha * scale | 0;
}
}
function composeSMaskLuminosity(maskData, layerData, transferMap) {
- var length = maskData.length;
+ const length = maskData.length;
- for (var i = 3; i < length; i += 4) {
- var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
+ for (let i = 3; i < length; i += 4) {
+ const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
}
}
function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {
- var hasBackdrop = !!backdrop;
- var r0 = hasBackdrop ? backdrop[0] : 0;
- var g0 = hasBackdrop ? backdrop[1] : 0;
- var b0 = hasBackdrop ? backdrop[2] : 0;
- var composeFn;
+ const hasBackdrop = !!backdrop;
+ const r0 = hasBackdrop ? backdrop[0] : 0;
+ const g0 = hasBackdrop ? backdrop[1] : 0;
+ const b0 = hasBackdrop ? backdrop[2] : 0;
+ let composeFn;
- if (subtype === 'Luminosity') {
+ if (subtype === "Luminosity") {
composeFn = composeSMaskLuminosity;
} else {
composeFn = composeSMaskAlpha;
}
- var PIXELS_TO_PROCESS = 1048576;
- var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
+ const PIXELS_TO_PROCESS = 1048576;
+ const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));
- for (var row = 0; row < height; row += chunkSize) {
- var chunkHeight = Math.min(chunkSize, height - row);
- var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
- var layerData = layerCtx.getImageData(0, row, width, chunkHeight);
+ for (let row = 0; row < height; row += chunkSize) {
+ const chunkHeight = Math.min(chunkSize, height - row);
+ const maskData = maskCtx.getImageData(0, row, width, chunkHeight);
+ const layerData = layerCtx.getImageData(0, row, width, chunkHeight);
if (hasBackdrop) {
composeSMaskBackdrop(maskData.data, r0, g0, b0);
@@ -14950,18 +5342,18 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
function composeSMask(ctx, smask, layerCtx, webGLContext) {
- var mask = smask.canvas;
- var maskCtx = smask.context;
+ const mask = smask.canvas;
+ const maskCtx = smask.context;
ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);
- var backdrop = smask.backdrop || null;
+ const backdrop = smask.backdrop || null;
if (!smask.transferMap && webGLContext.isEnabled) {
- var composed = webGLContext.composeSMask({
+ const composed = webGLContext.composeSMask({
layer: layerCtx.canvas,
- mask: mask,
+ mask,
properties: {
subtype: smask.subtype,
- backdrop: backdrop
+ backdrop
}
});
ctx.setTransform(1, 0, 0, 1, 0, 0);
@@ -14973,27 +5365,26 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
ctx.drawImage(mask, 0, 0);
}
- var LINE_CAP_STYLES = ['butt', 'round', 'square'];
- var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];
- var NORMAL_CLIP = {};
- var EO_CLIP = {};
+ const LINE_CAP_STYLES = ["butt", "round", "square"];
+ const LINE_JOIN_STYLES = ["miter", "round", "bevel"];
+ const NORMAL_CLIP = {};
+ const EO_CLIP = {};
CanvasGraphics.prototype = {
- beginDrawing: function beginDrawing(_ref) {
- var transform = _ref.transform,
- viewport = _ref.viewport,
- _ref$transparency = _ref.transparency,
- transparency = _ref$transparency === void 0 ? false : _ref$transparency,
- _ref$background = _ref.background,
- background = _ref$background === void 0 ? null : _ref$background;
- var width = this.ctx.canvas.width;
- var height = this.ctx.canvas.height;
+ beginDrawing({
+ transform,
+ viewport,
+ transparency = false,
+ background = null
+ }) {
+ const width = this.ctx.canvas.width;
+ const height = this.ctx.canvas.height;
this.ctx.save();
- this.ctx.fillStyle = background || 'rgb(255, 255, 255)';
+ this.ctx.fillStyle = background || "rgb(255, 255, 255)";
this.ctx.fillRect(0, 0, width, height);
this.ctx.restore();
if (transparency) {
- var transparentCanvas = this.cachedCanvases.getCanvas('transparent', width, height, true);
+ const transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
this.compositeCtx = this.ctx;
this.transparentCanvas = transparentCanvas.canvas;
this.ctx = transparentCanvas.context;
@@ -15010,27 +5401,29 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.ctx.transform.apply(this.ctx, viewport.transform);
this.baseTransform = this.ctx.mozCurrentTransform.slice();
+ this._combinedScaleFactor = Math.hypot(this.baseTransform[0], this.baseTransform[2]);
if (this.imageLayer) {
this.imageLayer.beginLayout();
}
},
+
executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
- var argsArray = operatorList.argsArray;
- var fnArray = operatorList.fnArray;
- var i = executionStartIdx || 0;
- var argsArrayLen = argsArray.length;
+ const argsArray = operatorList.argsArray;
+ const fnArray = operatorList.fnArray;
+ let i = executionStartIdx || 0;
+ const argsArrayLen = argsArray.length;
if (argsArrayLen === i) {
return i;
}
- var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === 'function';
- var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
- var steps = 0;
- var commonObjs = this.commonObjs;
- var objs = this.objs;
- var fnId;
+ const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
+ const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
+ let steps = 0;
+ const commonObjs = this.commonObjs;
+ const objs = this.objs;
+ let fnId;
while (true) {
if (stepper !== undefined && i === stepper.nextBreakPoint) {
@@ -15043,32 +5436,12 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
if (fnId !== _util.OPS.dependency) {
this[fnId].apply(this, argsArray[i]);
} else {
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
+ for (const depObjId of argsArray[i]) {
+ const objsPool = depObjId.startsWith("g_") ? commonObjs : objs;
- try {
- for (var _iterator = argsArray[i][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var depObjId = _step.value;
- var objsPool = depObjId.startsWith('g_') ? commonObjs : objs;
-
- if (!objsPool.has(depObjId)) {
- objsPool.get(depObjId, continueCallback);
- return i;
- }
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
+ if (!objsPool.has(depObjId)) {
+ objsPool.get(depObjId, continueCallback);
+ return i;
}
}
}
@@ -15090,8 +5463,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
},
endDrawing: function CanvasGraphics_endDrawing() {
- if (this.current.activeSMask !== null) {
- this.endSMaskGroup();
+ while (this.stateStack.length || this.current.activeSMask !== null) {
+ this.restore();
}
this.ctx.restore();
@@ -15126,68 +5499,71 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.ctx.miterLimit = limit;
},
setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
- var ctx = this.ctx;
+ const ctx = this.ctx;
if (ctx.setLineDash !== undefined) {
ctx.setLineDash(dashArray);
ctx.lineDashOffset = dashPhase;
}
},
- setRenderingIntent: function setRenderingIntent(intent) {},
- setFlatness: function setFlatness(flatness) {},
+
+ setRenderingIntent(intent) {},
+
+ setFlatness(flatness) {},
+
setGState: function CanvasGraphics_setGState(states) {
- for (var i = 0, ii = states.length; i < ii; i++) {
- var state = states[i];
- var key = state[0];
- var value = state[1];
+ for (let i = 0, ii = states.length; i < ii; i++) {
+ const state = states[i];
+ const key = state[0];
+ const value = state[1];
switch (key) {
- case 'LW':
+ case "LW":
this.setLineWidth(value);
break;
- case 'LC':
+ case "LC":
this.setLineCap(value);
break;
- case 'LJ':
+ case "LJ":
this.setLineJoin(value);
break;
- case 'ML':
+ case "ML":
this.setMiterLimit(value);
break;
- case 'D':
+ case "D":
this.setDash(value[0], value[1]);
break;
- case 'RI':
+ case "RI":
this.setRenderingIntent(value);
break;
- case 'FL':
+ case "FL":
this.setFlatness(value);
break;
- case 'Font':
+ case "Font":
this.setFont(value[0], value[1]);
break;
- case 'CA':
+ case "CA":
this.current.strokeAlpha = state[1];
break;
- case 'ca':
+ case "ca":
this.current.fillAlpha = state[1];
this.ctx.globalAlpha = state[1];
break;
- case 'BM':
+ case "BM":
this.ctx.globalCompositeOperation = value;
break;
- case 'SMask':
+ case "SMask":
if (this.current.activeSMask) {
if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {
this.suspendSMaskGroup();
@@ -15204,31 +5580,34 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.tempSMask = null;
break;
+
+ case "TR":
+ this.current.transferMaps = value;
}
}
},
beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {
- var activeSMask = this.current.activeSMask;
- var drawnWidth = activeSMask.canvas.width;
- var drawnHeight = activeSMask.canvas.height;
- var cacheId = 'smaskGroupAt' + this.groupLevel;
- var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
- var currentCtx = this.ctx;
- var currentTransform = currentCtx.mozCurrentTransform;
+ const activeSMask = this.current.activeSMask;
+ const drawnWidth = activeSMask.canvas.width;
+ const drawnHeight = activeSMask.canvas.height;
+ const cacheId = "smaskGroupAt" + this.groupLevel;
+ const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
+ const currentCtx = this.ctx;
+ const currentTransform = currentCtx.mozCurrentTransform;
this.ctx.save();
- var groupCtx = scratchCanvas.context;
+ const groupCtx = scratchCanvas.context;
groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);
groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);
groupCtx.transform.apply(groupCtx, currentTransform);
activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
copyCtxState(currentCtx, groupCtx);
this.ctx = groupCtx;
- this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);
+ this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
this.groupStack.push(currentCtx);
this.groupLevel++;
},
suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {
- var groupCtx = this.ctx;
+ const groupCtx = this.ctx;
this.groupLevel--;
this.ctx = this.groupStack.pop();
composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
@@ -15237,7 +5616,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
copyCtxState(groupCtx, this.ctx);
this.current.resumeSMaskCtx = groupCtx;
- var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
+ const deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
this.ctx.transform.apply(this.ctx, deltaTransform);
groupCtx.save();
@@ -15245,28 +5624,28 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);
groupCtx.restore();
},
- resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {
- var groupCtx = this.current.resumeSMaskCtx;
- var currentCtx = this.ctx;
+ resumeSMaskGroup: function CanvasGraphics_resumeSMaskGroup() {
+ const groupCtx = this.current.resumeSMaskCtx;
+ const currentCtx = this.ctx;
this.ctx = groupCtx;
this.groupStack.push(currentCtx);
this.groupLevel++;
},
endSMaskGroup: function CanvasGraphics_endSMaskGroup() {
- var groupCtx = this.ctx;
+ const groupCtx = this.ctx;
this.groupLevel--;
this.ctx = this.groupStack.pop();
composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
this.ctx.restore();
copyCtxState(groupCtx, this.ctx);
- var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
+ const deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);
this.ctx.transform.apply(this.ctx, deltaTransform);
},
save: function CanvasGraphics_save() {
this.ctx.save();
- var old = this.current;
+ const old = this.current;
this.stateStack.push(old);
this.current = old.clone();
this.current.resumeSMaskCtx = null;
@@ -15285,6 +5664,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.ctx.restore();
this.pendingClip = null;
this._cachedGetSinglePixelWidth = null;
+ } else {
+ this.current.activeSMask = null;
}
},
transform: function CanvasGraphics_transform(a, b, c, d, e, f) {
@@ -15292,35 +5673,31 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this._cachedGetSinglePixelWidth = null;
},
constructPath: function CanvasGraphics_constructPath(ops, args) {
- var ctx = this.ctx;
- var current = this.current;
- var x = current.x,
+ const ctx = this.ctx;
+ const current = this.current;
+ let x = current.x,
y = current.y;
- for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
+ for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {
switch (ops[i] | 0) {
case _util.OPS.rectangle:
x = args[j++];
y = args[j++];
- var width = args[j++];
- var height = args[j++];
+ const width = args[j++];
+ const height = args[j++];
+ const xw = x + width;
+ const yh = y + height;
+ ctx.moveTo(x, y);
- if (width === 0) {
- width = this.getSinglePixelWidth();
+ if (width === 0 || height === 0) {
+ ctx.lineTo(xw, yh);
+ } else {
+ ctx.lineTo(xw, y);
+ ctx.lineTo(xw, yh);
+ ctx.lineTo(x, yh);
}
- if (height === 0) {
- height = this.getSinglePixelWidth();
- }
-
- var xw = x + width;
- var yh = y + height;
- this.ctx.moveTo(x, y);
- this.ctx.lineTo(xw, y);
- this.ctx.lineTo(xw, yh);
- this.ctx.lineTo(x, yh);
- this.ctx.lineTo(x, y);
- this.ctx.closePath();
+ ctx.closePath();
break;
case _util.OPS.moveTo:
@@ -15368,24 +5745,45 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.ctx.closePath();
},
stroke: function CanvasGraphics_stroke(consumePath) {
- consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
- var ctx = this.ctx;
- var strokeColor = this.current.strokeColor;
+ consumePath = typeof consumePath !== "undefined" ? consumePath : true;
+ const ctx = this.ctx;
+ const strokeColor = this.current.strokeColor;
ctx.globalAlpha = this.current.strokeAlpha;
- if (strokeColor && strokeColor.hasOwnProperty('type') && strokeColor.type === 'Pattern') {
- ctx.save();
- var transform = ctx.mozCurrentTransform;
+ if (this.contentVisible) {
+ if (typeof strokeColor === "object" && strokeColor?.getPattern) {
+ ctx.save();
+ const transform = ctx.mozCurrentTransform;
- var scale = _util.Util.singularValueDecompose2dScale(transform)[0];
+ const scale = _util.Util.singularValueDecompose2dScale(transform)[0];
- ctx.strokeStyle = strokeColor.getPattern(ctx, this);
- ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);
- ctx.stroke();
- ctx.restore();
- } else {
- ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);
- ctx.stroke();
+ ctx.strokeStyle = strokeColor.getPattern(ctx, this);
+ const lineWidth = this.getSinglePixelWidth();
+ const scaledLineWidth = this.current.lineWidth * scale;
+
+ if (lineWidth < 0 && -lineWidth >= scaledLineWidth) {
+ ctx.resetTransform();
+ ctx.lineWidth = Math.round(this._combinedScaleFactor);
+ } else {
+ ctx.lineWidth = Math.max(lineWidth, scaledLineWidth);
+ }
+
+ ctx.stroke();
+ ctx.restore();
+ } else {
+ const lineWidth = this.getSinglePixelWidth();
+
+ if (lineWidth < 0 && -lineWidth >= this.current.lineWidth) {
+ ctx.save();
+ ctx.resetTransform();
+ ctx.lineWidth = Math.round(this._combinedScaleFactor);
+ ctx.stroke();
+ ctx.restore();
+ } else {
+ ctx.lineWidth = Math.max(lineWidth, this.current.lineWidth);
+ ctx.stroke();
+ }
+ }
}
if (consumePath) {
@@ -15399,11 +5797,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.stroke();
},
fill: function CanvasGraphics_fill(consumePath) {
- consumePath = typeof consumePath !== 'undefined' ? consumePath : true;
- var ctx = this.ctx;
- var fillColor = this.current.fillColor;
- var isPatternFill = this.current.patternFill;
- var needRestore = false;
+ consumePath = typeof consumePath !== "undefined" ? consumePath : true;
+ const ctx = this.ctx;
+ const fillColor = this.current.fillColor;
+ const isPatternFill = this.current.patternFill;
+ let needRestore = false;
if (isPatternFill) {
ctx.save();
@@ -15416,11 +5814,13 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
needRestore = true;
}
- if (this.pendingEOFill) {
- ctx.fill('evenodd');
- this.pendingEOFill = false;
- } else {
- ctx.fill();
+ if (this.contentVisible) {
+ if (this.pendingEOFill) {
+ ctx.fill("evenodd");
+ this.pendingEOFill = false;
+ } else {
+ ctx.fill();
+ }
}
if (needRestore) {
@@ -15469,8 +5869,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.current.y = this.current.lineY = 0;
},
endText: function CanvasGraphics_endText() {
- var paths = this.pendingTextPaths;
- var ctx = this.ctx;
+ const paths = this.pendingTextPaths;
+ const ctx = this.ctx;
if (paths === undefined) {
ctx.beginPath();
@@ -15480,8 +5880,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
ctx.save();
ctx.beginPath();
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
+ for (let i = 0; i < paths.length; i++) {
+ const path = paths[i];
ctx.setTransform.apply(ctx, path.transform);
ctx.translate(path.x, path.y);
path.addToPath(ctx, path.fontSize);
@@ -15505,17 +5905,17 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.current.leading = -leading;
},
setFont: function CanvasGraphics_setFont(fontRefName, size) {
- var fontObj = this.commonObjs.get(fontRefName);
- var current = this.current;
+ const fontObj = this.commonObjs.get(fontRefName);
+ const current = this.current;
if (!fontObj) {
- throw new Error("Can't find font for ".concat(fontRefName));
+ throw new Error(`Can't find font for ${fontRefName}`);
}
- current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
+ current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
- (0, _util.warn)('Invalid font matrix for font ' + fontRefName);
+ (0, _util.warn)("Invalid font matrix for font " + fontRefName);
}
if (size < 0) {
@@ -15532,13 +5932,27 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
return;
}
- var name = fontObj.loadedName || 'sans-serif';
- var bold = fontObj.black ? '900' : fontObj.bold ? 'bold' : 'normal';
- var italic = fontObj.italic ? 'italic' : 'normal';
- var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
- var browserFontSize = size < MIN_FONT_SIZE ? MIN_FONT_SIZE : size > MAX_FONT_SIZE ? MAX_FONT_SIZE : size;
+ const name = fontObj.loadedName || "sans-serif";
+ let bold = "normal";
+
+ if (fontObj.black) {
+ bold = "900";
+ } else if (fontObj.bold) {
+ bold = "bold";
+ }
+
+ const italic = fontObj.italic ? "italic" : "normal";
+ const typeface = `"${name}", ${fontObj.fallbackName}`;
+ let browserFontSize = size;
+
+ if (size < MIN_FONT_SIZE) {
+ browserFontSize = MIN_FONT_SIZE;
+ } else if (size > MAX_FONT_SIZE) {
+ browserFontSize = MAX_FONT_SIZE;
+ }
+
this.current.fontSizeScale = size / browserFontSize;
- this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface);
+ this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;
},
setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
this.current.textRenderingMode = mode;
@@ -15563,16 +5977,17 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
nextLine: function CanvasGraphics_nextLine() {
this.moveText(0, this.current.leading);
},
- paintChar: function paintChar(character, x, y, patternTransform) {
- var ctx = this.ctx;
- var current = this.current;
- var font = current.font;
- var textRenderingMode = current.textRenderingMode;
- var fontSize = current.fontSize / current.fontSizeScale;
- var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
- var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
- var patternFill = current.patternFill && font.data;
- var addToPath;
+
+ paintChar(character, x, y, patternTransform, resetLineWidthToOne) {
+ const ctx = this.ctx;
+ const current = this.current;
+ const font = current.font;
+ const textRenderingMode = current.textRenderingMode;
+ const fontSize = current.fontSize / current.fontSizeScale;
+ const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
+ const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
+ const patternFill = current.patternFill && !font.missingFile;
+ let addToPath;
if (font.disableFontFace || isAddToPathSet || patternFill) {
addToPath = font.getPathGenerator(this.commonObjs, character);
@@ -15593,6 +6008,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
+ if (resetLineWidthToOne) {
+ ctx.resetTransform();
+ ctx.lineWidth = Math.round(this._combinedScaleFactor);
+ }
+
ctx.stroke();
}
@@ -15603,73 +6023,82 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- ctx.strokeText(character, x, y);
+ if (resetLineWidthToOne) {
+ ctx.save();
+ ctx.moveTo(x, y);
+ ctx.resetTransform();
+ ctx.lineWidth = Math.round(this._combinedScaleFactor);
+ ctx.strokeText(character, 0, 0);
+ ctx.restore();
+ } else {
+ ctx.strokeText(character, x, y);
+ }
}
}
if (isAddToPathSet) {
- var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
+ const paths = this.pendingTextPaths || (this.pendingTextPaths = []);
paths.push({
transform: ctx.mozCurrentTransform,
- x: x,
- y: y,
- fontSize: fontSize,
- addToPath: addToPath
+ x,
+ y,
+ fontSize,
+ addToPath
});
}
},
get isFontSubpixelAAEnabled() {
- var _this$cachedCanvases$ = this.cachedCanvases.getCanvas('isFontSubpixelAAEnabled', 10, 10),
- ctx = _this$cachedCanvases$.context;
-
+ const {
+ context: ctx
+ } = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10);
ctx.scale(1.5, 1);
- ctx.fillText('I', 0, 10);
- var data = ctx.getImageData(0, 0, 10, 10).data;
- var enabled = false;
+ ctx.fillText("I", 0, 10);
+ const data = ctx.getImageData(0, 0, 10, 10).data;
+ let enabled = false;
- for (var i = 3; i < data.length; i += 4) {
+ for (let i = 3; i < data.length; i += 4) {
if (data[i] > 0 && data[i] < 255) {
enabled = true;
break;
}
}
- return (0, _util.shadow)(this, 'isFontSubpixelAAEnabled', enabled);
+ return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
},
showText: function CanvasGraphics_showText(glyphs) {
- var current = this.current;
- var font = current.font;
+ const current = this.current;
+ const font = current.font;
if (font.isType3Font) {
return this.showType3Text(glyphs);
}
- var fontSize = current.fontSize;
+ const fontSize = current.fontSize;
if (fontSize === 0) {
return undefined;
}
- var ctx = this.ctx;
- var fontSizeScale = current.fontSizeScale;
- var charSpacing = current.charSpacing;
- var wordSpacing = current.wordSpacing;
- var fontDirection = current.fontDirection;
- var textHScale = current.textHScale * fontDirection;
- var glyphsLength = glyphs.length;
- var vertical = font.vertical;
- var spacingDir = vertical ? 1 : -1;
- var defaultVMetrics = font.defaultVMetrics;
- var widthAdvanceScale = fontSize * current.fontMatrix[0];
- var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
+ const ctx = this.ctx;
+ const fontSizeScale = current.fontSizeScale;
+ const charSpacing = current.charSpacing;
+ const wordSpacing = current.wordSpacing;
+ const fontDirection = current.fontDirection;
+ const textHScale = current.textHScale * fontDirection;
+ const glyphsLength = glyphs.length;
+ const vertical = font.vertical;
+ const spacingDir = vertical ? 1 : -1;
+ const defaultVMetrics = font.defaultVMetrics;
+ const widthAdvanceScale = fontSize * current.fontMatrix[0];
+ const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
ctx.save();
- var patternTransform;
+ let patternTransform;
if (current.patternFill) {
ctx.save();
- var pattern = current.fillColor.getPattern(ctx, this);
+ const pattern = current.fillColor.getPattern(ctx, this);
patternTransform = ctx.mozCurrentTransform;
ctx.restore();
ctx.fillStyle = pattern;
@@ -15684,15 +6113,17 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
ctx.scale(textHScale, 1);
}
- var lineWidth = current.lineWidth;
- var scale = current.textMatrixScale;
+ let lineWidth = current.lineWidth;
+ let resetLineWidthToOne = false;
+ const scale = current.textMatrixScale;
if (scale === 0 || lineWidth === 0) {
- var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
+ const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
this._cachedGetSinglePixelWidth = null;
- lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;
+ lineWidth = this.getSinglePixelWidth();
+ resetLineWidthToOne = lineWidth < 0;
}
} else {
lineWidth /= scale;
@@ -15704,30 +6135,28 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
ctx.lineWidth = lineWidth;
- var x = 0,
+ let x = 0,
i;
for (i = 0; i < glyphsLength; ++i) {
- var glyph = glyphs[i];
+ const glyph = glyphs[i];
if ((0, _util.isNum)(glyph)) {
x += spacingDir * glyph * fontSize / 1000;
continue;
}
- var restoreNeeded = false;
- var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
- var character = glyph.fontChar;
- var accent = glyph.accent;
- var scaledX, scaledY, scaledAccentX, scaledAccentY;
- var width = glyph.width;
+ let restoreNeeded = false;
+ const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
+ const character = glyph.fontChar;
+ const accent = glyph.accent;
+ let scaledX, scaledY;
+ let width = glyph.width;
if (vertical) {
- var vmetric, vx, vy;
- vmetric = glyph.vmetric || defaultVMetrics;
- vx = glyph.vmetric ? vmetric[1] : width * 0.5;
- vx = -vx * widthAdvanceScale;
- vy = vmetric[2] * widthAdvanceScale;
+ const vmetric = glyph.vmetric || defaultVMetrics;
+ const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;
+ const vy = vmetric[2] * widthAdvanceScale;
width = vmetric ? -vmetric[0] : width;
scaledX = vx / fontSizeScale;
scaledY = (x + vy) / fontSizeScale;
@@ -15737,10 +6166,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
if (font.remeasure && width > 0) {
- var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;
+ const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;
if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
- var characterScaleX = width / measuredWidth;
+ const characterScaleX = width / measuredWidth;
restoreNeeded = true;
ctx.save();
ctx.scale(characterScaleX, 1);
@@ -15750,21 +6179,28 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
}
- if (glyph.isInFont || font.missingFile) {
+ if (this.contentVisible && (glyph.isInFont || font.missingFile)) {
if (simpleFillText && !accent) {
ctx.fillText(character, scaledX, scaledY);
} else {
- this.paintChar(character, scaledX, scaledY, patternTransform);
+ this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne);
if (accent) {
- scaledAccentX = scaledX + accent.offset.x / fontSizeScale;
- scaledAccentY = scaledY - accent.offset.y / fontSizeScale;
- this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);
+ const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;
+ const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;
+ this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne);
}
}
}
- var charWidth = width * widthAdvanceScale + spacing * fontDirection;
+ let charWidth;
+
+ if (vertical) {
+ charWidth = width * widthAdvanceScale - spacing * fontDirection;
+ } else {
+ charWidth = width * widthAdvanceScale + spacing * fontDirection;
+ }
+
x += charWidth;
if (restoreNeeded) {
@@ -15773,7 +6209,7 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
if (vertical) {
- current.y -= x * textHScale;
+ current.y -= x;
} else {
current.x += x * textHScale;
}
@@ -15781,19 +6217,19 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
ctx.restore();
},
showType3Text: function CanvasGraphics_showType3Text(glyphs) {
- var ctx = this.ctx;
- var current = this.current;
- var font = current.font;
- var fontSize = current.fontSize;
- var fontDirection = current.fontDirection;
- var spacingDir = font.vertical ? 1 : -1;
- var charSpacing = current.charSpacing;
- var wordSpacing = current.wordSpacing;
- var textHScale = current.textHScale * fontDirection;
- var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
- var glyphsLength = glyphs.length;
- var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
- var i, glyph, width, spacingLength;
+ const ctx = this.ctx;
+ const current = this.current;
+ const font = current.font;
+ const fontSize = current.fontSize;
+ const fontDirection = current.fontDirection;
+ const spacingDir = font.vertical ? 1 : -1;
+ const charSpacing = current.charSpacing;
+ const wordSpacing = current.wordSpacing;
+ const textHScale = current.textHScale * fontDirection;
+ const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
+ const glyphsLength = glyphs.length;
+ const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
+ let i, glyph, width, spacingLength;
if (isTextInvisible || fontSize === 0) {
return;
@@ -15815,22 +6251,24 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
continue;
}
- var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
- var operatorList = font.charProcOperatorList[glyph.operatorListId];
+ const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
+ const operatorList = font.charProcOperatorList[glyph.operatorListId];
if (!operatorList) {
- (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
+ (0, _util.warn)(`Type3 character "${glyph.operatorListId}" is not available.`);
continue;
}
- this.processingType3 = glyph;
- this.save();
- ctx.scale(fontSize, fontSize);
- ctx.transform.apply(ctx, fontMatrix);
- this.executeOperatorList(operatorList);
- this.restore();
+ if (this.contentVisible) {
+ this.processingType3 = glyph;
+ this.save();
+ ctx.scale(fontSize, fontSize);
+ ctx.transform.apply(ctx, fontMatrix);
+ this.executeOperatorList(operatorList);
+ this.restore();
+ }
- var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);
+ const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);
width = transformed[0] * fontSize + spacing;
ctx.translate(width, 0);
@@ -15847,16 +6285,14 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.endPath();
},
getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
- var _this = this;
+ let pattern;
- var pattern;
-
- if (IR[0] === 'TilingPattern') {
- var color = IR[1];
- var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
- var canvasGraphicsFactory = {
- createCanvasGraphics: function createCanvasGraphics(ctx) {
- return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);
+ if (IR[0] === "TilingPattern") {
+ const color = IR[1];
+ const baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
+ const canvasGraphicsFactory = {
+ createCanvasGraphics: ctx => {
+ return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext);
}
};
pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
@@ -15874,42 +6310,46 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.current.patternFill = true;
},
setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
- var color = _util.Util.makeCssRgb(r, g, b);
+ const color = _util.Util.makeHexColor(r, g, b);
this.ctx.strokeStyle = color;
this.current.strokeColor = color;
},
setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
- var color = _util.Util.makeCssRgb(r, g, b);
+ const color = _util.Util.makeHexColor(r, g, b);
this.ctx.fillStyle = color;
this.current.fillColor = color;
this.current.patternFill = false;
},
shadingFill: function CanvasGraphics_shadingFill(patternIR) {
- var ctx = this.ctx;
+ if (!this.contentVisible) {
+ return;
+ }
+
+ const ctx = this.ctx;
this.save();
- var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);
+ const pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);
ctx.fillStyle = pattern.getPattern(ctx, this, true);
- var inv = ctx.mozCurrentTransformInverse;
+ const inv = ctx.mozCurrentTransformInverse;
if (inv) {
- var canvas = ctx.canvas;
- var width = canvas.width;
- var height = canvas.height;
+ const canvas = ctx.canvas;
+ const width = canvas.width;
+ const height = canvas.height;
- var bl = _util.Util.applyTransform([0, 0], inv);
+ const bl = _util.Util.applyTransform([0, 0], inv);
- var br = _util.Util.applyTransform([0, height], inv);
+ const br = _util.Util.applyTransform([0, height], inv);
- var ul = _util.Util.applyTransform([width, 0], inv);
+ const ul = _util.Util.applyTransform([width, 0], inv);
- var ur = _util.Util.applyTransform([width, height], inv);
+ const ur = _util.Util.applyTransform([width, height], inv);
- var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
- var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
- var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
- var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
+ const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
+ const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
+ const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
+ const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
} else {
this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
@@ -15918,12 +6358,16 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.restore();
},
beginInlineImage: function CanvasGraphics_beginInlineImage() {
- (0, _util.unreachable)('Should not call beginInlineImage');
+ (0, _util.unreachable)("Should not call beginInlineImage");
},
beginImageData: function CanvasGraphics_beginImageData() {
- (0, _util.unreachable)('Should not call beginImageData');
+ (0, _util.unreachable)("Should not call beginImageData");
},
paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {
+ if (!this.contentVisible) {
+ return;
+ }
+
this.save();
this.baseTransformStack.push(this.baseTransform);
@@ -15934,48 +6378,56 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.baseTransform = this.ctx.mozCurrentTransform;
if (bbox) {
- var width = bbox[2] - bbox[0];
- var height = bbox[3] - bbox[1];
+ const width = bbox[2] - bbox[0];
+ const height = bbox[3] - bbox[1];
this.ctx.rect(bbox[0], bbox[1], width, height);
this.clip();
this.endPath();
}
},
paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {
+ if (!this.contentVisible) {
+ return;
+ }
+
this.restore();
this.baseTransform = this.baseTransformStack.pop();
},
beginGroup: function CanvasGraphics_beginGroup(group) {
+ if (!this.contentVisible) {
+ return;
+ }
+
this.save();
- var currentCtx = this.ctx;
+ const currentCtx = this.ctx;
if (!group.isolated) {
- (0, _util.info)('TODO: Support non-isolated groups.');
+ (0, _util.info)("TODO: Support non-isolated groups.");
}
if (group.knockout) {
- (0, _util.warn)('Knockout groups not supported.');
+ (0, _util.warn)("Knockout groups not supported.");
}
- var currentTransform = currentCtx.mozCurrentTransform;
+ const currentTransform = currentCtx.mozCurrentTransform;
if (group.matrix) {
currentCtx.transform.apply(currentCtx, group.matrix);
}
if (!group.bbox) {
- throw new Error('Bounding box is required.');
+ throw new Error("Bounding box is required.");
}
- var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);
+ let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);
- var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
+ const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
- var offsetX = Math.floor(bounds[0]);
- var offsetY = Math.floor(bounds[1]);
- var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
- var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
- var scaleX = 1,
+ const offsetX = Math.floor(bounds[0]);
+ const offsetY = Math.floor(bounds[1]);
+ let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
+ let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
+ let scaleX = 1,
scaleY = 1;
if (drawnWidth > MAX_GROUP_SIZE) {
@@ -15988,14 +6440,14 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
drawnHeight = MAX_GROUP_SIZE;
}
- var cacheId = 'groupAt' + this.groupLevel;
+ let cacheId = "groupAt" + this.groupLevel;
if (group.smask) {
- cacheId += '_smask_' + this.smaskCounter++ % 2;
+ cacheId += "_smask_" + this.smaskCounter++ % 2;
}
- var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
- var groupCtx = scratchCanvas.context;
+ const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
+ const groupCtx = scratchCanvas.context;
groupCtx.scale(1 / scaleX, 1 / scaleY);
groupCtx.translate(-offsetX, -offsetY);
groupCtx.transform.apply(groupCtx, currentTransform);
@@ -16004,10 +6456,10 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.smaskStack.push({
canvas: scratchCanvas.canvas,
context: groupCtx,
- offsetX: offsetX,
- offsetY: offsetY,
- scaleX: scaleX,
- scaleY: scaleY,
+ offsetX,
+ offsetY,
+ scaleX,
+ scaleY,
subtype: group.smask.subtype,
backdrop: group.smask.backdrop,
transferMap: group.smask.transferMap || null,
@@ -16021,14 +6473,18 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
copyCtxState(currentCtx, groupCtx);
this.ctx = groupCtx;
- this.setGState([['BM', 'source-over'], ['ca', 1], ['CA', 1]]);
+ this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
this.groupStack.push(currentCtx);
this.groupLevel++;
this.current.activeSMask = null;
},
endGroup: function CanvasGraphics_endGroup(group) {
+ if (!this.contentVisible) {
+ return;
+ }
+
this.groupLevel--;
- var groupCtx = this.ctx;
+ const groupCtx = this.ctx;
this.ctx = this.groupStack.pop();
if (this.ctx.imageSmoothingEnabled !== undefined) {
@@ -16061,8 +6517,8 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.current = new CanvasExtraState();
if (Array.isArray(rect) && rect.length === 4) {
- var width = rect[2] - rect[0];
- var height = rect[3] - rect[1];
+ const width = rect[2] - rect[0];
+ const height = rect[3] - rect[1];
this.ctx.rect(rect[0], rect[1], width, height);
this.clip();
this.endPath();
@@ -16074,105 +6530,92 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
endAnnotation: function CanvasGraphics_endAnnotation() {
this.restore();
},
- paintJpegXObject: function CanvasGraphics_paintJpegXObject(objId, w, h) {
- var domImage = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
-
- if (!domImage) {
- (0, _util.warn)('Dependent image isn\'t ready yet');
+ paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {
+ if (!this.contentVisible) {
return;
}
- this.save();
- var ctx = this.ctx;
- ctx.scale(1 / w, -1 / h);
- ctx.drawImage(domImage, 0, 0, domImage.width, domImage.height, 0, -h, w, h);
-
- if (this.imageLayer) {
- var currentTransform = ctx.mozCurrentTransformInverse;
- var position = this.getCanvasPosition(0, 0);
- this.imageLayer.appendImage({
- objId: objId,
- left: position[0],
- top: position[1],
- width: w / currentTransform[0],
- height: h / currentTransform[3]
- });
- }
-
- this.restore();
- },
- paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {
- var ctx = this.ctx;
- var width = img.width,
- height = img.height;
- var fillColor = this.current.fillColor;
- var isPatternFill = this.current.patternFill;
- var glyph = this.processingType3;
+ const ctx = this.ctx;
+ const width = img.width,
+ height = img.height;
+ const fillColor = this.current.fillColor;
+ const isPatternFill = this.current.patternFill;
+ const glyph = this.processingType3;
if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
glyph.compiled = compileType3Glyph({
data: img.data,
- width: width,
- height: height
+ width,
+ height
});
} else {
glyph.compiled = null;
}
}
- if (glyph && glyph.compiled) {
+ if (glyph?.compiled) {
glyph.compiled(ctx);
return;
}
- var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);
- var maskCtx = maskCanvas.context;
+ const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
+ const maskCtx = maskCanvas.context;
maskCtx.save();
putBinaryImageMask(maskCtx, img);
- maskCtx.globalCompositeOperation = 'source-in';
+ maskCtx.globalCompositeOperation = "source-in";
maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
maskCtx.fillRect(0, 0, width, height);
maskCtx.restore();
this.paintInlineImageXObject(maskCanvas.canvas);
},
- paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {
- var width = imgData.width;
- var height = imgData.height;
- var fillColor = this.current.fillColor;
- var isPatternFill = this.current.patternFill;
- var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);
- var maskCtx = maskCanvas.context;
+
+ paintImageMaskXObjectRepeat(imgData, scaleX, skewX = 0, skewY = 0, scaleY, positions) {
+ if (!this.contentVisible) {
+ return;
+ }
+
+ const width = imgData.width;
+ const height = imgData.height;
+ const fillColor = this.current.fillColor;
+ const isPatternFill = this.current.patternFill;
+ const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
+ const maskCtx = maskCanvas.context;
maskCtx.save();
putBinaryImageMask(maskCtx, imgData);
- maskCtx.globalCompositeOperation = 'source-in';
+ maskCtx.globalCompositeOperation = "source-in";
maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
maskCtx.fillRect(0, 0, width, height);
maskCtx.restore();
- var ctx = this.ctx;
+ const ctx = this.ctx;
- for (var i = 0, ii = positions.length; i < ii; i += 2) {
+ for (let i = 0, ii = positions.length; i < ii; i += 2) {
ctx.save();
- ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);
+ ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);
ctx.scale(1, -1);
ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
ctx.restore();
}
},
- paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {
- var ctx = this.ctx;
- var fillColor = this.current.fillColor;
- var isPatternFill = this.current.patternFill;
- for (var i = 0, ii = images.length; i < ii; i++) {
- var image = images[i];
- var width = image.width,
- height = image.height;
- var maskCanvas = this.cachedCanvases.getCanvas('maskCanvas', width, height);
- var maskCtx = maskCanvas.context;
+ paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {
+ if (!this.contentVisible) {
+ return;
+ }
+
+ const ctx = this.ctx;
+ const fillColor = this.current.fillColor;
+ const isPatternFill = this.current.patternFill;
+
+ for (let i = 0, ii = images.length; i < ii; i++) {
+ const image = images[i];
+ const width = image.width,
+ height = image.height;
+ const maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
+ const maskCtx = maskCanvas.context;
maskCtx.save();
putBinaryImageMask(maskCtx, image);
- maskCtx.globalCompositeOperation = 'source-in';
+ maskCtx.globalCompositeOperation = "source-in";
maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
maskCtx.fillRect(0, 0, width, height);
maskCtx.restore();
@@ -16184,28 +6627,36 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
},
paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
- var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
+ if (!this.contentVisible) {
+ return;
+ }
+
+ const imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);
if (!imgData) {
- (0, _util.warn)('Dependent image isn\'t ready yet');
+ (0, _util.warn)("Dependent image isn't ready yet");
return;
}
this.paintInlineImageXObject(imgData);
},
paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
- var imgData = this.processingType3 ? this.commonObjs.get(objId) : this.objs.get(objId);
-
- if (!imgData) {
- (0, _util.warn)('Dependent image isn\'t ready yet');
+ if (!this.contentVisible) {
return;
}
- var width = imgData.width;
- var height = imgData.height;
- var map = [];
+ const imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);
- for (var i = 0, ii = positions.length; i < ii; i += 2) {
+ if (!imgData) {
+ (0, _util.warn)("Dependent image isn't ready yet");
+ return;
+ }
+
+ const width = imgData.width;
+ const height = imgData.height;
+ const map = [];
+
+ for (let i = 0, ii = positions.length; i < ii; i += 2) {
map.push({
transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
x: 0,
@@ -16218,35 +6669,39 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.paintInlineImageXObjectGroup(imgData, map);
},
paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {
- var width = imgData.width;
- var height = imgData.height;
- var ctx = this.ctx;
+ if (!this.contentVisible) {
+ return;
+ }
+
+ const width = imgData.width;
+ const height = imgData.height;
+ const ctx = this.ctx;
this.save();
ctx.scale(1 / width, -1 / height);
- var currentTransform = ctx.mozCurrentTransformInverse;
- var a = currentTransform[0],
- b = currentTransform[1];
- var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);
- var c = currentTransform[2],
- d = currentTransform[3];
- var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
- var imgToPaint, tmpCanvas;
+ const currentTransform = ctx.mozCurrentTransformInverse;
+ const a = currentTransform[0],
+ b = currentTransform[1];
+ let widthScale = Math.max(Math.sqrt(a * a + b * b), 1);
+ const c = currentTransform[2],
+ d = currentTransform[3];
+ let heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
+ let imgToPaint, tmpCanvas, tmpCtx;
- if (typeof HTMLElement === 'function' && imgData instanceof HTMLElement || !imgData.data) {
+ if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
imgToPaint = imgData;
} else {
- tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', width, height);
- var tmpCtx = tmpCanvas.context;
- putBinaryImageData(tmpCtx, imgData);
+ tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
+ tmpCtx = tmpCanvas.context;
+ putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);
imgToPaint = tmpCanvas.canvas;
}
- var paintWidth = width,
+ let paintWidth = width,
paintHeight = height;
- var tmpCanvasId = 'prescale1';
+ let tmpCanvasId = "prescale1";
while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
- var newWidth = paintWidth,
+ let newWidth = paintWidth,
newHeight = paintHeight;
if (widthScale > 2 && paintWidth > 1) {
@@ -16266,15 +6721,15 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
imgToPaint = tmpCanvas.canvas;
paintWidth = newWidth;
paintHeight = newHeight;
- tmpCanvasId = tmpCanvasId === 'prescale1' ? 'prescale2' : 'prescale1';
+ tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
}
ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);
if (this.imageLayer) {
- var position = this.getCanvasPosition(0, -height);
+ const position = this.getCanvasPosition(0, -height);
this.imageLayer.appendImage({
- imgData: imgData,
+ imgData,
left: position[0],
top: position[1],
width: width / currentTransform[0],
@@ -16285,24 +6740,28 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
this.restore();
},
paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {
- var ctx = this.ctx;
- var w = imgData.width;
- var h = imgData.height;
- var tmpCanvas = this.cachedCanvases.getCanvas('inlineImage', w, h);
- var tmpCtx = tmpCanvas.context;
- putBinaryImageData(tmpCtx, imgData);
+ if (!this.contentVisible) {
+ return;
+ }
- for (var i = 0, ii = map.length; i < ii; i++) {
- var entry = map[i];
+ const ctx = this.ctx;
+ const w = imgData.width;
+ const h = imgData.height;
+ const tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
+ const tmpCtx = tmpCanvas.context;
+ putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);
+
+ for (let i = 0, ii = map.length; i < ii; i++) {
+ const entry = map[i];
ctx.save();
ctx.transform.apply(ctx, entry.transform);
ctx.scale(1, -1);
ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);
if (this.imageLayer) {
- var position = this.getCanvasPosition(entry.x, entry.y);
+ const position = this.getCanvasPosition(entry.x, entry.y);
this.imageLayer.appendImage({
- imgData: imgData,
+ imgData,
left: position[0],
top: position[1],
width: w,
@@ -16314,24 +6773,44 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
}
},
paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {
+ if (!this.contentVisible) {
+ return;
+ }
+
this.ctx.fillRect(0, 0, 1, 1);
},
- paintXObject: function CanvasGraphics_paintXObject() {
- (0, _util.warn)('Unsupported \'paintXObject\' command.');
- },
markPoint: function CanvasGraphics_markPoint(tag) {},
markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},
- beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},
- beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},
- endMarkedContent: function CanvasGraphics_endMarkedContent() {},
+ beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {
+ this.markedContentStack.push({
+ visible: true
+ });
+ },
+ beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {
+ if (tag === "OC") {
+ this.markedContentStack.push({
+ visible: this.optionalContentConfig.isVisible(properties)
+ });
+ } else {
+ this.markedContentStack.push({
+ visible: true
+ });
+ }
+
+ this.contentVisible = this.isContentVisible();
+ },
+ endMarkedContent: function CanvasGraphics_endMarkedContent() {
+ this.markedContentStack.pop();
+ this.contentVisible = this.isContentVisible();
+ },
beginCompat: function CanvasGraphics_beginCompat() {},
endCompat: function CanvasGraphics_endCompat() {},
consumePath: function CanvasGraphics_consumePath() {
- var ctx = this.ctx;
+ const ctx = this.ctx;
if (this.pendingClip) {
if (this.pendingClip === EO_CLIP) {
- ctx.clip('evenodd');
+ ctx.clip("evenodd");
} else {
ctx.clip();
}
@@ -16341,21 +6820,43 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
ctx.beginPath();
},
- getSinglePixelWidth: function getSinglePixelWidth(scale) {
+
+ getSinglePixelWidth() {
if (this._cachedGetSinglePixelWidth === null) {
- var inverse = this.ctx.mozCurrentTransformInverse;
- this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));
+ const m = this.ctx.mozCurrentTransform;
+ const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);
+ const sqNorm1 = m[0] ** 2 + m[2] ** 2;
+ const sqNorm2 = m[1] ** 2 + m[3] ** 2;
+ const pixelHeight = Math.sqrt(Math.max(sqNorm1, sqNorm2)) / absDet;
+
+ if (sqNorm1 !== sqNorm2 && this._combinedScaleFactor * pixelHeight > 1) {
+ this._cachedGetSinglePixelWidth = -(this._combinedScaleFactor * pixelHeight);
+ } else if (absDet > Number.EPSILON) {
+ this._cachedGetSinglePixelWidth = pixelHeight * 1.0000001;
+ } else {
+ this._cachedGetSinglePixelWidth = 1;
+ }
}
return this._cachedGetSinglePixelWidth;
},
+
getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {
- var transform = this.ctx.mozCurrentTransform;
+ const transform = this.ctx.mozCurrentTransform;
return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];
+ },
+ isContentVisible: function CanvasGraphics_isContentVisible() {
+ for (let i = this.markedContentStack.length - 1; i >= 0; i--) {
+ if (!this.markedContentStack[i].visible) {
+ return false;
+ }
+ }
+
+ return true;
}
};
- for (var op in _util.OPS) {
+ for (const op in _util.OPS) {
CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
}
@@ -16365,57 +6866,55 @@ var CanvasGraphics = function CanvasGraphicsClosure() {
exports.CanvasGraphics = CanvasGraphics;
/***/ }),
-/* 187 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 11 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.getShadingPatternFromIR = getShadingPatternFromIR;
exports.TilingPattern = void 0;
-var _util = __w_pdfjs_require__(1);
+var _util = __w_pdfjs_require__(2);
-var ShadingIRs = {};
+const ShadingIRs = {};
function applyBoundingBox(ctx, bbox) {
- if (!bbox || typeof Path2D === 'undefined') {
+ if (!bbox || typeof Path2D === "undefined") {
return;
}
- var width = bbox[2] - bbox[0];
- var height = bbox[3] - bbox[1];
- var region = new Path2D();
+ const width = bbox[2] - bbox[0];
+ const height = bbox[3] - bbox[1];
+ const region = new Path2D();
region.rect(bbox[0], bbox[1], width, height);
ctx.clip(region);
}
ShadingIRs.RadialAxial = {
fromIR: function RadialAxial_fromIR(raw) {
- var type = raw[1];
- var bbox = raw[2];
- var colorStops = raw[3];
- var p0 = raw[4];
- var p1 = raw[5];
- var r0 = raw[6];
- var r1 = raw[7];
+ const type = raw[1];
+ const bbox = raw[2];
+ const colorStops = raw[3];
+ const p0 = raw[4];
+ const p1 = raw[5];
+ const r0 = raw[6];
+ const r1 = raw[7];
return {
- type: 'Pattern',
getPattern: function RadialAxial_getPattern(ctx) {
applyBoundingBox(ctx, bbox);
- var grad;
+ let grad;
- if (type === 'axial') {
+ if (type === "axial") {
grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
- } else if (type === 'radial') {
+ } else if (type === "radial") {
grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
}
- for (var i = 0, ii = colorStops.length; i < ii; ++i) {
- var c = colorStops[i];
+ for (let i = 0, ii = colorStops.length; i < ii; ++i) {
+ const c = colorStops[i];
grad.addColorStop(c[0], c[1]);
}
@@ -16425,13 +6924,13 @@ ShadingIRs.RadialAxial = {
}
};
-var createMeshCanvas = function createMeshCanvasClosure() {
+const createMeshCanvas = function createMeshCanvasClosure() {
function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
- var coords = context.coords,
- colors = context.colors;
- var bytes = data.data,
- rowSize = data.width * 4;
- var tmp;
+ const coords = context.coords,
+ colors = context.colors;
+ const bytes = data.data,
+ rowSize = data.width * 4;
+ let tmp;
if (coords[p1 + 1] > coords[p2 + 1]) {
tmp = p1;
@@ -16460,59 +6959,91 @@ var createMeshCanvas = function createMeshCanvasClosure() {
c2 = tmp;
}
- var x1 = (coords[p1] + context.offsetX) * context.scaleX;
- var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
- var x2 = (coords[p2] + context.offsetX) * context.scaleX;
- var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
- var x3 = (coords[p3] + context.offsetX) * context.scaleX;
- var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
+ const x1 = (coords[p1] + context.offsetX) * context.scaleX;
+ const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
+ const x2 = (coords[p2] + context.offsetX) * context.scaleX;
+ const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
+ const x3 = (coords[p3] + context.offsetX) * context.scaleX;
+ const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;
if (y1 >= y3) {
return;
}
- var c1r = colors[c1],
- c1g = colors[c1 + 1],
- c1b = colors[c1 + 2];
- var c2r = colors[c2],
- c2g = colors[c2 + 1],
- c2b = colors[c2 + 2];
- var c3r = colors[c3],
- c3g = colors[c3 + 1],
- c3b = colors[c3 + 2];
- var minY = Math.round(y1),
- maxY = Math.round(y3);
- var xa, car, cag, cab;
- var xb, cbr, cbg, cbb;
- var k;
+ const c1r = colors[c1],
+ c1g = colors[c1 + 1],
+ c1b = colors[c1 + 2];
+ const c2r = colors[c2],
+ c2g = colors[c2 + 1],
+ c2b = colors[c2 + 2];
+ const c3r = colors[c3],
+ c3g = colors[c3 + 1],
+ c3b = colors[c3 + 2];
+ const minY = Math.round(y1),
+ maxY = Math.round(y3);
+ let xa, car, cag, cab;
+ let xb, cbr, cbg, cbb;
- for (var y = minY; y <= maxY; y++) {
+ for (let y = minY; y <= maxY; y++) {
if (y < y2) {
- k = y < y1 ? 0 : y1 === y2 ? 1 : (y1 - y) / (y1 - y2);
+ let k;
+
+ if (y < y1) {
+ k = 0;
+ } else if (y1 === y2) {
+ k = 1;
+ } else {
+ k = (y1 - y) / (y1 - y2);
+ }
+
xa = x1 - (x1 - x2) * k;
car = c1r - (c1r - c2r) * k;
cag = c1g - (c1g - c2g) * k;
cab = c1b - (c1b - c2b) * k;
} else {
- k = y > y3 ? 1 : y2 === y3 ? 0 : (y2 - y) / (y2 - y3);
+ let k;
+
+ if (y > y3) {
+ k = 1;
+ } else if (y2 === y3) {
+ k = 0;
+ } else {
+ k = (y2 - y) / (y2 - y3);
+ }
+
xa = x2 - (x2 - x3) * k;
car = c2r - (c2r - c3r) * k;
cag = c2g - (c2g - c3g) * k;
cab = c2b - (c2b - c3b) * k;
}
- k = y < y1 ? 0 : y > y3 ? 1 : (y1 - y) / (y1 - y3);
+ let k;
+
+ if (y < y1) {
+ k = 0;
+ } else if (y > y3) {
+ k = 1;
+ } else {
+ k = (y1 - y) / (y1 - y3);
+ }
+
xb = x1 - (x1 - x3) * k;
cbr = c1r - (c1r - c3r) * k;
cbg = c1g - (c1g - c3g) * k;
cbb = c1b - (c1b - c3b) * k;
- var x1_ = Math.round(Math.min(xa, xb));
- var x2_ = Math.round(Math.max(xa, xb));
- var j = rowSize * y + x1_ * 4;
+ const x1_ = Math.round(Math.min(xa, xb));
+ const x2_ = Math.round(Math.max(xa, xb));
+ let j = rowSize * y + x1_ * 4;
- for (var x = x1_; x <= x2_; x++) {
+ for (let x = x1_; x <= x2_; x++) {
k = (xa - x) / (xa - xb);
- k = k < 0 ? 0 : k > 1 ? 1 : k;
+
+ if (k < 0) {
+ k = 0;
+ } else if (k > 1) {
+ k = 1;
+ }
+
bytes[j++] = car - (car - cbr) * k | 0;
bytes[j++] = cag - (cag - cbg) * k | 0;
bytes[j++] = cab - (cab - cbb) * k | 0;
@@ -16522,20 +7053,20 @@ var createMeshCanvas = function createMeshCanvasClosure() {
}
function drawFigure(data, figure, context) {
- var ps = figure.coords;
- var cs = figure.colors;
- var i, ii;
+ const ps = figure.coords;
+ const cs = figure.colors;
+ let i, ii;
switch (figure.type) {
- case 'lattice':
- var verticesPerRow = figure.verticesPerRow;
- var rows = Math.floor(ps.length / verticesPerRow) - 1;
- var cols = verticesPerRow - 1;
+ case "lattice":
+ const verticesPerRow = figure.verticesPerRow;
+ const rows = Math.floor(ps.length / verticesPerRow) - 1;
+ const cols = verticesPerRow - 1;
for (i = 0; i < rows; i++) {
- var q = i * verticesPerRow;
+ let q = i * verticesPerRow;
- for (var j = 0; j < cols; j++, q++) {
+ for (let j = 0; j < cols; j++, q++) {
drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
}
@@ -16543,7 +7074,7 @@ var createMeshCanvas = function createMeshCanvasClosure() {
break;
- case 'triangles':
+ case "triangles":
for (i = 0, ii = ps.length; i < ii; i += 3) {
drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
}
@@ -16551,52 +7082,52 @@ var createMeshCanvas = function createMeshCanvasClosure() {
break;
default:
- throw new Error('illegal figure');
+ throw new Error("illegal figure");
}
}
function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
- var EXPECTED_SCALE = 1.1;
- var MAX_PATTERN_SIZE = 3000;
- var BORDER_SIZE = 2;
- var offsetX = Math.floor(bounds[0]);
- var offsetY = Math.floor(bounds[1]);
- var boundsWidth = Math.ceil(bounds[2]) - offsetX;
- var boundsHeight = Math.ceil(bounds[3]) - offsetY;
- var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
- var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
- var scaleX = boundsWidth / width;
- var scaleY = boundsHeight / height;
- var context = {
- coords: coords,
- colors: colors,
+ const EXPECTED_SCALE = 1.1;
+ const MAX_PATTERN_SIZE = 3000;
+ const BORDER_SIZE = 2;
+ const offsetX = Math.floor(bounds[0]);
+ const offsetY = Math.floor(bounds[1]);
+ const boundsWidth = Math.ceil(bounds[2]) - offsetX;
+ const boundsHeight = Math.ceil(bounds[3]) - offsetY;
+ const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
+ const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
+ const scaleX = boundsWidth / width;
+ const scaleY = boundsHeight / height;
+ const context = {
+ coords,
+ colors,
offsetX: -offsetX,
offsetY: -offsetY,
scaleX: 1 / scaleX,
scaleY: 1 / scaleY
};
- var paddedWidth = width + BORDER_SIZE * 2;
- var paddedHeight = height + BORDER_SIZE * 2;
- var canvas, tmpCanvas, i, ii;
+ const paddedWidth = width + BORDER_SIZE * 2;
+ const paddedHeight = height + BORDER_SIZE * 2;
+ let canvas, tmpCanvas, i, ii;
if (webGLContext.isEnabled) {
canvas = webGLContext.drawFigures({
- width: width,
- height: height,
- backgroundColor: backgroundColor,
- figures: figures,
- context: context
+ width,
+ height,
+ backgroundColor,
+ figures,
+ context
});
- tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);
+ tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
canvas = tmpCanvas.canvas;
} else {
- tmpCanvas = cachedCanvases.getCanvas('mesh', paddedWidth, paddedHeight, false);
- var tmpCtx = tmpCanvas.context;
- var data = tmpCtx.createImageData(width, height);
+ tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
+ const tmpCtx = tmpCanvas.context;
+ const data = tmpCtx.createImageData(width, height);
if (backgroundColor) {
- var bytes = data.data;
+ const bytes = data.data;
for (i = 0, ii = bytes.length; i < ii; i += 4) {
bytes[i] = backgroundColor[0];
@@ -16615,11 +7146,11 @@ var createMeshCanvas = function createMeshCanvasClosure() {
}
return {
- canvas: canvas,
+ canvas,
offsetX: offsetX - BORDER_SIZE * scaleX,
offsetY: offsetY - BORDER_SIZE * scaleY,
- scaleX: scaleX,
- scaleY: scaleY
+ scaleX,
+ scaleY
};
}
@@ -16628,18 +7159,17 @@ var createMeshCanvas = function createMeshCanvasClosure() {
ShadingIRs.Mesh = {
fromIR: function Mesh_fromIR(raw) {
- var coords = raw[2];
- var colors = raw[3];
- var figures = raw[4];
- var bounds = raw[5];
- var matrix = raw[6];
- var bbox = raw[7];
- var background = raw[8];
+ const coords = raw[2];
+ const colors = raw[3];
+ const figures = raw[4];
+ const bounds = raw[5];
+ const matrix = raw[6];
+ const bbox = raw[7];
+ const background = raw[8];
return {
- type: 'Pattern',
getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
applyBoundingBox(ctx, bbox);
- var scale;
+ let scale;
if (shadingFill) {
scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
@@ -16647,13 +7177,13 @@ ShadingIRs.Mesh = {
scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);
if (matrix) {
- var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);
+ const matrixScale = _util.Util.singularValueDecompose2dScale(matrix);
scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
}
}
- var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);
+ const temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);
if (!shadingFill) {
ctx.setTransform.apply(ctx, owner.baseTransform);
@@ -16665,7 +7195,7 @@ ShadingIRs.Mesh = {
ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
- return ctx.createPattern(temporaryPatternCanvas.canvas, 'no-repeat');
+ return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
}
};
}
@@ -16673,30 +7203,29 @@ ShadingIRs.Mesh = {
ShadingIRs.Dummy = {
fromIR: function Dummy_fromIR() {
return {
- type: 'Pattern',
getPattern: function Dummy_fromIR_getPattern() {
- return 'hotpink';
+ return "hotpink";
}
};
}
};
function getShadingPatternFromIR(raw) {
- var shadingIR = ShadingIRs[raw[0]];
+ const shadingIR = ShadingIRs[raw[0]];
if (!shadingIR) {
- throw new Error("Unknown IR type: ".concat(raw[0]));
+ throw new Error(`Unknown IR type: ${raw[0]}`);
}
return shadingIR.fromIR(raw);
}
-var TilingPattern = function TilingPatternClosure() {
- var PaintType = {
+const TilingPattern = function TilingPatternClosure() {
+ const PaintType = {
COLORED: 1,
UNCOLORED: 2
};
- var MAX_PATTERN_SIZE = 3000;
+ const MAX_PATTERN_SIZE = 3000;
function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
this.operatorList = IR[2];
@@ -16709,36 +7238,35 @@ var TilingPattern = function TilingPatternClosure() {
this.color = color;
this.canvasGraphicsFactory = canvasGraphicsFactory;
this.baseTransform = baseTransform;
- this.type = 'Pattern';
this.ctx = ctx;
}
TilingPattern.prototype = {
createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {
- var operatorList = this.operatorList;
- var bbox = this.bbox;
- var xstep = this.xstep;
- var ystep = this.ystep;
- var paintType = this.paintType;
- var tilingType = this.tilingType;
- var color = this.color;
- var canvasGraphicsFactory = this.canvasGraphicsFactory;
- (0, _util.info)('TilingType: ' + tilingType);
- var x0 = bbox[0],
- y0 = bbox[1],
- x1 = bbox[2],
- y1 = bbox[3];
+ const operatorList = this.operatorList;
+ const bbox = this.bbox;
+ const xstep = this.xstep;
+ const ystep = this.ystep;
+ const paintType = this.paintType;
+ const tilingType = this.tilingType;
+ const color = this.color;
+ const canvasGraphicsFactory = this.canvasGraphicsFactory;
+ (0, _util.info)("TilingType: " + tilingType);
+ const x0 = bbox[0],
+ y0 = bbox[1],
+ x1 = bbox[2],
+ y1 = bbox[3];
- var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
+ const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);
- var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
+ const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);
- var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
- var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
- var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
- var tmpCanvas = owner.cachedCanvases.getCanvas('pattern', dimx.size, dimy.size, true);
- var tmpCtx = tmpCanvas.context;
- var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
+ const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
+ const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
+ const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
+ const tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
+ const tmpCtx = tmpCanvas.context;
+ const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
graphics.groupLevel = owner.groupLevel;
this.setFillAndStrokeStyleToContext(graphics, paintType, color);
graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
@@ -16751,8 +7279,8 @@ var TilingPattern = function TilingPatternClosure() {
},
getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {
step = Math.abs(step);
- var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
- var size = Math.ceil(step * scale);
+ const maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
+ let size = Math.ceil(step * scale);
if (size >= maxSize) {
size = maxSize;
@@ -16761,26 +7289,26 @@ var TilingPattern = function TilingPatternClosure() {
}
return {
- scale: scale,
- size: size
+ scale,
+ size
};
},
clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
if (Array.isArray(bbox) && bbox.length === 4) {
- var bboxWidth = x1 - x0;
- var bboxHeight = y1 - y0;
+ const bboxWidth = x1 - x0;
+ const bboxHeight = y1 - y0;
graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
graphics.clip();
graphics.endPath();
}
},
setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
- var context = graphics.ctx,
- current = graphics.current;
+ const context = graphics.ctx,
+ current = graphics.current;
switch (paintType) {
case PaintType.COLORED:
- var ctx = this.ctx;
+ const ctx = this.ctx;
context.fillStyle = ctx.fillStyle;
context.strokeStyle = ctx.strokeStyle;
current.fillColor = ctx.fillStyle;
@@ -16788,7 +7316,7 @@ var TilingPattern = function TilingPatternClosure() {
break;
case PaintType.UNCOLORED:
- var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);
+ const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);
context.fillStyle = cssColor;
context.strokeStyle = cssColor;
@@ -16797,15 +7325,15 @@ var TilingPattern = function TilingPatternClosure() {
break;
default:
- throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
+ throw new _util.FormatError(`Unsupported paint type: ${paintType}`);
}
},
getPattern: function TilingPattern_getPattern(ctx, owner) {
ctx = this.ctx;
ctx.setTransform.apply(ctx, this.baseTransform);
ctx.transform.apply(ctx, this.matrix);
- var temporaryPatternCanvas = this.createPatternCanvas(owner);
- return ctx.createPattern(temporaryPatternCanvas, 'repeat');
+ const temporaryPatternCanvas = this.createPatternCanvas(owner);
+ return ctx.createPattern(temporaryPatternCanvas, "repeat");
}
};
return TilingPattern;
@@ -16814,38 +7342,39 @@ var TilingPattern = function TilingPatternClosure() {
exports.TilingPattern = TilingPattern;
/***/ }),
-/* 188 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 12 */
+/***/ ((__unused_webpack_module, exports) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.GlobalWorkerOptions = void 0;
-var GlobalWorkerOptions = Object.create(null);
+const GlobalWorkerOptions = Object.create(null);
exports.GlobalWorkerOptions = GlobalWorkerOptions;
GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;
-GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? '' : GlobalWorkerOptions.workerSrc;
+GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc;
/***/ }),
-/* 189 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 13 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
-exports.MessageHandler = MessageHandler;
+}));
+exports.MessageHandler = void 0;
-var _util = __w_pdfjs_require__(1);
+var _util = __w_pdfjs_require__(2);
-function _typeof(obj) { 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); }
-
-var StreamKind = {
+const CallbackKind = {
+ UNKNOWN: 0,
+ DATA: 1,
+ ERROR: 2
+};
+const StreamKind = {
UNKNOWN: 0,
CANCEL: 1,
CANCEL_COMPLETE: 2,
@@ -16858,21 +7387,21 @@ var StreamKind = {
};
function wrapReason(reason) {
- if (_typeof(reason) !== 'object') {
+ if (typeof reason !== "object" || reason === null) {
return reason;
}
switch (reason.name) {
- case 'AbortException':
+ case "AbortException":
return new _util.AbortException(reason.message);
- case 'MissingPDFException':
+ case "MissingPDFException":
return new _util.MissingPDFException(reason.message);
- case 'UnexpectedResponseException':
+ case "UnexpectedResponseException":
return new _util.UnexpectedResponseException(reason.message, reason.status);
- case 'UnknownErrorException':
+ case "UnknownErrorException":
return new _util.UnknownErrorException(reason.message, reason.details);
default:
@@ -16880,195 +7409,205 @@ function wrapReason(reason) {
}
}
-function MessageHandler(sourceName, targetName, comObj) {
- var _this = this;
+class MessageHandler {
+ constructor(sourceName, targetName, comObj) {
+ this.sourceName = sourceName;
+ this.targetName = targetName;
+ this.comObj = comObj;
+ this.callbackId = 1;
+ this.streamId = 1;
+ this.postMessageTransfers = true;
+ this.streamSinks = Object.create(null);
+ this.streamControllers = Object.create(null);
+ this.callbackCapabilities = Object.create(null);
+ this.actionHandler = Object.create(null);
- this.sourceName = sourceName;
- this.targetName = targetName;
- this.comObj = comObj;
- this.callbackId = 1;
- this.streamId = 1;
- this.postMessageTransfers = true;
- this.streamSinks = Object.create(null);
- this.streamControllers = Object.create(null);
- var callbacksCapabilities = this.callbacksCapabilities = Object.create(null);
- var ah = this.actionHandler = Object.create(null);
+ this._onComObjOnMessage = event => {
+ const data = event.data;
- this._onComObjOnMessage = function (event) {
- var data = event.data;
-
- if (data.targetName !== _this.sourceName) {
- return;
- }
-
- if (data.stream) {
- _this._processStreamMessage(data);
- } else if (data.isReply) {
- var callbackId = data.callbackId;
-
- if (data.callbackId in callbacksCapabilities) {
- var callback = callbacksCapabilities[callbackId];
- delete callbacksCapabilities[callbackId];
-
- if ('reason' in data) {
- callback.reject(wrapReason(data.reason));
- } else {
- callback.resolve(data.data);
- }
- } else {
- throw new Error("Cannot resolve callback ".concat(callbackId));
+ if (data.targetName !== this.sourceName) {
+ return;
+ }
+
+ if (data.stream) {
+ this._processStreamMessage(data);
+
+ return;
+ }
+
+ if (data.callback) {
+ const callbackId = data.callbackId;
+ const capability = this.callbackCapabilities[callbackId];
+
+ if (!capability) {
+ throw new Error(`Cannot resolve callback ${callbackId}`);
+ }
+
+ delete this.callbackCapabilities[callbackId];
+
+ if (data.callback === CallbackKind.DATA) {
+ capability.resolve(data.data);
+ } else if (data.callback === CallbackKind.ERROR) {
+ capability.reject(wrapReason(data.reason));
+ } else {
+ throw new Error("Unexpected callback case");
+ }
+
+ return;
+ }
+
+ const action = this.actionHandler[data.action];
+
+ if (!action) {
+ throw new Error(`Unknown action from worker: ${data.action}`);
}
- } else if (data.action in ah) {
- var action = ah[data.action];
if (data.callbackId) {
- var _sourceName = _this.sourceName;
- var _targetName = data.sourceName;
+ const cbSourceName = this.sourceName;
+ const cbTargetName = data.sourceName;
new Promise(function (resolve) {
resolve(action(data.data));
}).then(function (result) {
comObj.postMessage({
- sourceName: _sourceName,
- targetName: _targetName,
- isReply: true,
+ sourceName: cbSourceName,
+ targetName: cbTargetName,
+ callback: CallbackKind.DATA,
callbackId: data.callbackId,
data: result
});
}, function (reason) {
comObj.postMessage({
- sourceName: _sourceName,
- targetName: _targetName,
- isReply: true,
+ sourceName: cbSourceName,
+ targetName: cbTargetName,
+ callback: CallbackKind.ERROR,
callbackId: data.callbackId,
reason: wrapReason(reason)
});
});
- } else if (data.streamId) {
- _this._createStreamSink(data);
- } else {
- action(data.data);
+ return;
}
- } else {
- throw new Error("Unknown action from worker: ".concat(data.action));
- }
- };
- comObj.addEventListener('message', this._onComObjOnMessage);
-}
+ if (data.streamId) {
+ this._createStreamSink(data);
-MessageHandler.prototype = {
- on: function on(actionName, handler) {
- var ah = this.actionHandler;
+ return;
+ }
+
+ action(data.data);
+ };
+
+ comObj.addEventListener("message", this._onComObjOnMessage);
+ }
+
+ on(actionName, handler) {
+ const ah = this.actionHandler;
if (ah[actionName]) {
- throw new Error("There is already an actionName called \"".concat(actionName, "\""));
+ throw new Error(`There is already an actionName called "${actionName}"`);
}
ah[actionName] = handler;
- },
- send: function send(actionName, data, transfers) {
- this.postMessage({
+ }
+
+ send(actionName, data, transfers) {
+ this._postMessage({
sourceName: this.sourceName,
targetName: this.targetName,
action: actionName,
- data: data
+ data
}, transfers);
- },
- sendWithPromise: function sendWithPromise(actionName, data, transfers) {
- var callbackId = this.callbackId++;
- var capability = (0, _util.createPromiseCapability)();
- this.callbacksCapabilities[callbackId] = capability;
+ }
+
+ sendWithPromise(actionName, data, transfers) {
+ const callbackId = this.callbackId++;
+ const capability = (0, _util.createPromiseCapability)();
+ this.callbackCapabilities[callbackId] = capability;
try {
- this.postMessage({
+ this._postMessage({
sourceName: this.sourceName,
targetName: this.targetName,
action: actionName,
- callbackId: callbackId,
- data: data
+ callbackId,
+ data
}, transfers);
} catch (ex) {
capability.reject(ex);
}
return capability.promise;
- },
- sendWithStream: function sendWithStream(actionName, data, queueingStrategy, transfers) {
- var _this2 = this;
+ }
- var streamId = this.streamId++;
- var sourceName = this.sourceName;
- var targetName = this.targetName;
- var comObj = this.comObj;
- return new _util.ReadableStream({
- start: function start(controller) {
- var startCapability = (0, _util.createPromiseCapability)();
- _this2.streamControllers[streamId] = {
- controller: controller,
+ sendWithStream(actionName, data, queueingStrategy, transfers) {
+ const streamId = this.streamId++;
+ const sourceName = this.sourceName;
+ const targetName = this.targetName;
+ const comObj = this.comObj;
+ return new ReadableStream({
+ start: controller => {
+ const startCapability = (0, _util.createPromiseCapability)();
+ this.streamControllers[streamId] = {
+ controller,
startCall: startCapability,
pullCall: null,
cancelCall: null,
isClosed: false
};
- _this2.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ this._postMessage({
+ sourceName,
+ targetName,
action: actionName,
- streamId: streamId,
- data: data,
+ streamId,
+ data,
desiredSize: controller.desiredSize
}, transfers);
return startCapability.promise;
},
- pull: function pull(controller) {
- var pullCapability = (0, _util.createPromiseCapability)();
- _this2.streamControllers[streamId].pullCall = pullCapability;
+ pull: controller => {
+ const pullCapability = (0, _util.createPromiseCapability)();
+ this.streamControllers[streamId].pullCall = pullCapability;
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.PULL,
- streamId: streamId,
+ streamId,
desiredSize: controller.desiredSize
});
return pullCapability.promise;
},
- cancel: function cancel(reason) {
- (0, _util.assert)(reason instanceof Error, 'cancel must have a valid reason');
- var cancelCapability = (0, _util.createPromiseCapability)();
- _this2.streamControllers[streamId].cancelCall = cancelCapability;
- _this2.streamControllers[streamId].isClosed = true;
+ cancel: reason => {
+ (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
+ const cancelCapability = (0, _util.createPromiseCapability)();
+ this.streamControllers[streamId].cancelCall = cancelCapability;
+ this.streamControllers[streamId].isClosed = true;
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.CANCEL,
- streamId: streamId,
+ streamId,
reason: wrapReason(reason)
});
return cancelCapability.promise;
}
}, queueingStrategy);
- },
- _createStreamSink: function _createStreamSink(data) {
- var self = this;
- var action = this.actionHandler[data.action];
- var streamId = data.streamId;
- var desiredSize = data.desiredSize;
- var sourceName = this.sourceName;
- var targetName = data.sourceName;
- var capability = (0, _util.createPromiseCapability)();
- var comObj = this.comObj;
- var streamSink = {
- enqueue: function enqueue(chunk) {
- var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
- var transfers = arguments.length > 2 ? arguments[2] : undefined;
+ }
+ _createStreamSink(data) {
+ const self = this;
+ const action = this.actionHandler[data.action];
+ const streamId = data.streamId;
+ const sourceName = this.sourceName;
+ const targetName = data.sourceName;
+ const comObj = this.comObj;
+ const streamSink = {
+ enqueue(chunk, size = 1, transfers) {
if (this.isCancelled) {
return;
}
- var lastDesiredSize = this.desiredSize;
+ const lastDesiredSize = this.desiredSize;
this.desiredSize -= size;
if (lastDesiredSize > 0 && this.desiredSize <= 0) {
@@ -17076,30 +7615,32 @@ MessageHandler.prototype = {
this.ready = this.sinkCapability.promise;
}
- self.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ self._postMessage({
+ sourceName,
+ targetName,
stream: StreamKind.ENQUEUE,
- streamId: streamId,
- chunk: chunk
+ streamId,
+ chunk
}, transfers);
},
- close: function close() {
+
+ close() {
if (this.isCancelled) {
return;
}
this.isCancelled = true;
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.CLOSE,
- streamId: streamId
+ streamId
});
delete self.streamSinks[streamId];
},
- error: function error(reason) {
- (0, _util.assert)(reason instanceof Error, 'error must have a valid reason');
+
+ error(reason) {
+ (0, _util.assert)(reason instanceof Error, "error must have a valid reason");
if (this.isCancelled) {
return;
@@ -17107,18 +7648,19 @@ MessageHandler.prototype = {
this.isCancelled = true;
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.ERROR,
- streamId: streamId,
+ streamId,
reason: wrapReason(reason)
});
},
- sinkCapability: capability,
+
+ sinkCapability: (0, _util.createPromiseCapability)(),
onPull: null,
onCancel: null,
isCancelled: false,
- desiredSize: desiredSize,
+ desiredSize: data.desiredSize,
ready: null
};
streamSink.sinkCapability.resolve();
@@ -17128,37 +7670,28 @@ MessageHandler.prototype = {
resolve(action(data.data, streamSink));
}).then(function () {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.START_COMPLETE,
- streamId: streamId,
+ streamId,
success: true
});
}, function (reason) {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.START_COMPLETE,
- streamId: streamId,
+ streamId,
reason: wrapReason(reason)
});
});
- },
- _processStreamMessage: function _processStreamMessage(data) {
- var _this3 = this;
+ }
- var sourceName = this.sourceName;
- var targetName = data.sourceName;
- var streamId = data.streamId;
- var comObj = this.comObj;
-
- var deleteStreamController = function deleteStreamController() {
- Promise.all([_this3.streamControllers[streamId].startCall, _this3.streamControllers[streamId].pullCall, _this3.streamControllers[streamId].cancelCall].map(function (capability) {
- return capability && capability.promise["catch"](function () {});
- })).then(function () {
- delete _this3.streamControllers[streamId];
- });
- };
+ _processStreamMessage(data) {
+ const streamId = data.streamId;
+ const sourceName = this.sourceName;
+ const targetName = data.sourceName;
+ const comObj = this.comObj;
switch (data.stream) {
case StreamKind.START_COMPLETE:
@@ -17182,10 +7715,10 @@ MessageHandler.prototype = {
case StreamKind.PULL:
if (!this.streamSinks[streamId]) {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.PULL_COMPLETE,
- streamId: streamId,
+ streamId,
success: true
});
break;
@@ -17196,30 +7729,32 @@ MessageHandler.prototype = {
}
this.streamSinks[streamId].desiredSize = data.desiredSize;
- var onPull = this.streamSinks[data.streamId].onPull;
+ const {
+ onPull
+ } = this.streamSinks[data.streamId];
new Promise(function (resolve) {
resolve(onPull && onPull());
}).then(function () {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.PULL_COMPLETE,
- streamId: streamId,
+ streamId,
success: true
});
}, function (reason) {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.PULL_COMPLETE,
- streamId: streamId,
+ streamId,
reason: wrapReason(reason)
});
});
break;
case StreamKind.ENQUEUE:
- (0, _util.assert)(this.streamControllers[streamId], 'enqueue should have stream controller');
+ (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");
if (this.streamControllers[streamId].isClosed) {
break;
@@ -17229,7 +7764,7 @@ MessageHandler.prototype = {
break;
case StreamKind.CLOSE:
- (0, _util.assert)(this.streamControllers[streamId], 'close should have stream controller');
+ (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");
if (this.streamControllers[streamId].isClosed) {
break;
@@ -17237,13 +7772,17 @@ MessageHandler.prototype = {
this.streamControllers[streamId].isClosed = true;
this.streamControllers[streamId].controller.close();
- deleteStreamController();
+
+ this._deleteStreamController(streamId);
+
break;
case StreamKind.ERROR:
- (0, _util.assert)(this.streamControllers[streamId], 'error should have stream controller');
+ (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
this.streamControllers[streamId].controller.error(wrapReason(data.reason));
- deleteStreamController();
+
+ this._deleteStreamController(streamId);
+
break;
case StreamKind.CANCEL_COMPLETE:
@@ -17253,7 +7792,8 @@ MessageHandler.prototype = {
this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
}
- deleteStreamController();
+ this._deleteStreamController(streamId);
+
break;
case StreamKind.CANCEL:
@@ -17261,23 +7801,25 @@ MessageHandler.prototype = {
break;
}
- var onCancel = this.streamSinks[data.streamId].onCancel;
+ const {
+ onCancel
+ } = this.streamSinks[data.streamId];
new Promise(function (resolve) {
resolve(onCancel && onCancel(wrapReason(data.reason)));
}).then(function () {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.CANCEL_COMPLETE,
- streamId: streamId,
+ streamId,
success: true
});
}, function (reason) {
comObj.postMessage({
- sourceName: sourceName,
- targetName: targetName,
+ sourceName,
+ targetName,
stream: StreamKind.CANCEL_COMPLETE,
- streamId: streamId,
+ streamId,
reason: wrapReason(reason)
});
});
@@ -17287,204 +7829,202 @@ MessageHandler.prototype = {
break;
default:
- throw new Error('Unexpected stream case');
+ throw new Error("Unexpected stream case");
}
- },
- postMessage: function postMessage(message, transfers) {
+ }
+
+ async _deleteStreamController(streamId) {
+ await Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {
+ return capability && capability.promise;
+ }));
+ delete this.streamControllers[streamId];
+ }
+
+ _postMessage(message, transfers) {
if (transfers && this.postMessageTransfers) {
this.comObj.postMessage(message, transfers);
} else {
this.comObj.postMessage(message);
}
- },
- destroy: function destroy() {
- this.comObj.removeEventListener('message', this._onComObjOnMessage);
}
-};
+
+ destroy() {
+ this.comObj.removeEventListener("message", this._onComObjOnMessage);
+ }
+
+}
+
+exports.MessageHandler = MessageHandler;
/***/ }),
-/* 190 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 14 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.Metadata = void 0;
-var _util = __w_pdfjs_require__(1);
+var _util = __w_pdfjs_require__(2);
-var _xml_parser = __w_pdfjs_require__(191);
+var _xml_parser = __w_pdfjs_require__(15);
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var Metadata =
-/*#__PURE__*/
-function () {
- function Metadata(data) {
- _classCallCheck(this, Metadata);
-
- (0, _util.assert)(typeof data === 'string', 'Metadata: input is not a string');
+class Metadata {
+ constructor(data) {
+ (0, _util.assert)(typeof data === "string", "Metadata: input is not a string");
data = this._repair(data);
- var parser = new _xml_parser.SimpleXMLParser();
- var xmlDocument = parser.parseFromString(data);
- this._metadata = Object.create(null);
+ const parser = new _xml_parser.SimpleXMLParser({
+ lowerCaseName: true
+ });
+ const xmlDocument = parser.parseFromString(data);
+ this._metadataMap = new Map();
if (xmlDocument) {
this._parse(xmlDocument);
}
+
+ this._data = data;
}
- _createClass(Metadata, [{
- key: "_repair",
- value: function _repair(data) {
- return data.replace(/^([^<]+)/, '').replace(/>\\376\\377([^<]+)/g, function (all, codes) {
- var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
- return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
- }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
- switch (name) {
- case 'amp':
- return '&';
+ _repair(data) {
+ return data.replace(/^[^<]+/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) {
+ const bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
+ return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
+ }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
+ switch (name) {
+ case "amp":
+ return "&";
- case 'apos':
- return '\'';
+ case "apos":
+ return "'";
- case 'gt':
- return '>';
+ case "gt":
+ return ">";
- case 'lt':
- return '<';
+ case "lt":
+ return "<";
- case 'quot':
- return '\"';
- }
-
- throw new Error("_repair: ".concat(name, " isn't defined."));
- });
- var chars = '';
-
- for (var i = 0, ii = bytes.length; i < ii; i += 2) {
- var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);
-
- if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
- chars += String.fromCharCode(code);
- } else {
- chars += '' + (0x10000 + code).toString(16).substring(1) + ';';
- }
+ case "quot":
+ return '"';
}
- return '>' + chars;
+ throw new Error(`_repair: ${name} isn't defined.`);
});
- }
- }, {
- key: "_parse",
- value: function _parse(xmlDocument) {
- var rdf = xmlDocument.documentElement;
+ let chars = "";
- if (rdf.nodeName.toLowerCase() !== 'rdf:rdf') {
- rdf = rdf.firstChild;
+ for (let i = 0, ii = bytes.length; i < ii; i += 2) {
+ const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);
- while (rdf && rdf.nodeName.toLowerCase() !== 'rdf:rdf') {
- rdf = rdf.nextSibling;
+ if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
+ chars += String.fromCharCode(code);
+ } else {
+ chars += "" + (0x10000 + code).toString(16).substring(1) + ";";
}
}
- var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;
+ return ">" + chars;
+ });
+ }
- if (!rdf || nodeName !== 'rdf:rdf' || !rdf.hasChildNodes()) {
- return;
+ _getSequence(entry) {
+ const name = entry.nodeName;
+
+ if (name !== "rdf:bag" && name !== "rdf:seq" && name !== "rdf:alt") {
+ return null;
+ }
+
+ return entry.childNodes.filter(node => node.nodeName === "rdf:li");
+ }
+
+ _getCreators(entry) {
+ if (entry.nodeName !== "dc:creator") {
+ return false;
+ }
+
+ if (!entry.hasChildNodes()) {
+ return true;
+ }
+
+ const seqNode = entry.childNodes[0];
+ const authors = this._getSequence(seqNode) || [];
+
+ this._metadataMap.set(entry.nodeName, authors.map(node => node.textContent.trim()));
+
+ return true;
+ }
+
+ _parse(xmlDocument) {
+ let rdf = xmlDocument.documentElement;
+
+ if (rdf.nodeName !== "rdf:rdf") {
+ rdf = rdf.firstChild;
+
+ while (rdf && rdf.nodeName !== "rdf:rdf") {
+ rdf = rdf.nextSibling;
+ }
+ }
+
+ if (!rdf || rdf.nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) {
+ return;
+ }
+
+ for (const desc of rdf.childNodes) {
+ if (desc.nodeName !== "rdf:description") {
+ continue;
}
- var children = rdf.childNodes;
+ for (const entry of desc.childNodes) {
+ const name = entry.nodeName;
- for (var i = 0, ii = children.length; i < ii; i++) {
- var desc = children[i];
-
- if (desc.nodeName.toLowerCase() !== 'rdf:description') {
+ if (name === "#text") {
continue;
}
- for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {
- if (desc.childNodes[j].nodeName.toLowerCase() !== '#text') {
- var entry = desc.childNodes[j];
- var name = entry.nodeName.toLowerCase();
- this._metadata[name] = entry.textContent.trim();
- }
+ if (this._getCreators(entry)) {
+ continue;
}
+
+ this._metadataMap.set(name, entry.textContent.trim());
}
}
- }, {
- key: "get",
- value: function get(name) {
- var data = this._metadata[name];
- return typeof data !== 'undefined' ? data : null;
- }
- }, {
- key: "getAll",
- value: function getAll() {
- return this._metadata;
- }
- }, {
- key: "has",
- value: function has(name) {
- return typeof this._metadata[name] !== 'undefined';
- }
- }]);
+ }
- return Metadata;
-}();
+ getRaw() {
+ return this._data;
+ }
+
+ get(name) {
+ return this._metadataMap.get(name) ?? null;
+ }
+
+ getAll() {
+ return (0, _util.objectFromEntries)(this._metadataMap);
+ }
+
+ has(name) {
+ return this._metadataMap.has(name);
+ }
+
+}
exports.Metadata = Metadata;
/***/ }),
-/* 191 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 15 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
-exports.SimpleXMLParser = void 0;
+}));
+exports.SimpleXMLParser = exports.SimpleDOMNode = void 0;
-function _typeof(obj) { 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); }
+var _util = __w_pdfjs_require__(2);
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var XMLParserErrorCode = {
+const XMLParserErrorCode = {
NoError: 0,
EndOfDocument: -1,
UnterminatedCdat: -2,
@@ -17499,12 +8039,12 @@ var XMLParserErrorCode = {
};
function isWhitespace(s, index) {
- var ch = s[index];
- return ch === ' ' || ch === '\n' || ch === '\r' || ch === '\t';
+ const ch = s[index];
+ return ch === " " || ch === "\n" || ch === "\r" || ch === "\t";
}
function isWhitespaceString(s) {
- for (var i = 0, ii = s.length; i < ii; i++) {
+ for (let i = 0, ii = s.length; i < ii; i++) {
if (!isWhitespace(s, i)) {
return false;
}
@@ -17513,510 +8053,704 @@ function isWhitespaceString(s) {
return true;
}
-var XMLParserBase =
-/*#__PURE__*/
-function () {
- function XMLParserBase() {
- _classCallCheck(this, XMLParserBase);
+class XMLParserBase {
+ _resolveEntities(s) {
+ return s.replace(/&([^;]+);/g, (all, entity) => {
+ if (entity.substring(0, 2) === "#x") {
+ return String.fromCodePoint(parseInt(entity.substring(2), 16));
+ } else if (entity.substring(0, 1) === "#") {
+ return String.fromCodePoint(parseInt(entity.substring(1), 10));
+ }
+
+ switch (entity) {
+ case "lt":
+ return "<";
+
+ case "gt":
+ return ">";
+
+ case "amp":
+ return "&";
+
+ case "quot":
+ return '"';
+ }
+
+ return this.onResolveEntity(entity);
+ });
}
- _createClass(XMLParserBase, [{
- key: "_resolveEntities",
- value: function _resolveEntities(s) {
- var _this = this;
+ _parseContent(s, start) {
+ const attributes = [];
+ let pos = start;
- return s.replace(/&([^;]+);/g, function (all, entity) {
- if (entity.substring(0, 2) === '#x') {
- return String.fromCharCode(parseInt(entity.substring(2), 16));
- } else if (entity.substring(0, 1) === '#') {
- return String.fromCharCode(parseInt(entity.substring(1), 10));
- }
+ function skipWs() {
+ while (pos < s.length && isWhitespace(s, pos)) {
+ ++pos;
+ }
+ }
- switch (entity) {
- case 'lt':
- return '<';
+ while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
+ ++pos;
+ }
- case 'gt':
- return '>';
+ const name = s.substring(start, pos);
+ skipWs();
- case 'amp':
- return '&';
+ while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") {
+ skipWs();
+ let attrName = "",
+ attrValue = "";
- case 'quot':
- return '\"';
- }
+ while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") {
+ attrName += s[pos];
+ ++pos;
+ }
- return _this.onResolveEntity(entity);
+ skipWs();
+
+ if (s[pos] !== "=") {
+ return null;
+ }
+
+ ++pos;
+ skipWs();
+ const attrEndChar = s[pos];
+
+ if (attrEndChar !== '"' && attrEndChar !== "'") {
+ return null;
+ }
+
+ const attrEndIndex = s.indexOf(attrEndChar, ++pos);
+
+ if (attrEndIndex < 0) {
+ return null;
+ }
+
+ attrValue = s.substring(pos, attrEndIndex);
+ attributes.push({
+ name: attrName,
+ value: this._resolveEntities(attrValue)
});
- }
- }, {
- key: "_parseContent",
- value: function _parseContent(s, start) {
- var pos = start,
- name,
- attributes = [];
-
- function skipWs() {
- while (pos < s.length && isWhitespace(s, pos)) {
- ++pos;
- }
- }
-
- while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {
- ++pos;
- }
-
- name = s.substring(start, pos);
+ pos = attrEndIndex + 1;
skipWs();
-
- while (pos < s.length && s[pos] !== '>' && s[pos] !== '/' && s[pos] !== '?') {
- skipWs();
- var attrName = '',
- attrValue = '';
-
- while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '=') {
- attrName += s[pos];
- ++pos;
- }
-
- skipWs();
-
- if (s[pos] !== '=') {
- return null;
- }
-
- ++pos;
- skipWs();
- var attrEndChar = s[pos];
-
- if (attrEndChar !== '\"' && attrEndChar !== '\'') {
- return null;
- }
-
- var attrEndIndex = s.indexOf(attrEndChar, ++pos);
-
- if (attrEndIndex < 0) {
- return null;
- }
-
- attrValue = s.substring(pos, attrEndIndex);
- attributes.push({
- name: attrName,
- value: this._resolveEntities(attrValue)
- });
- pos = attrEndIndex + 1;
- skipWs();
- }
-
- return {
- name: name,
- attributes: attributes,
- parsed: pos - start
- };
}
- }, {
- key: "_parseProcessingInstruction",
- value: function _parseProcessingInstruction(s, start) {
- var pos = start,
- name,
- value;
- function skipWs() {
- while (pos < s.length && isWhitespace(s, pos)) {
- ++pos;
- }
- }
+ return {
+ name,
+ attributes,
+ parsed: pos - start
+ };
+ }
- while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== '>' && s[pos] !== '/') {
+ _parseProcessingInstruction(s, start) {
+ let pos = start;
+
+ function skipWs() {
+ while (pos < s.length && isWhitespace(s, pos)) {
++pos;
}
-
- name = s.substring(start, pos);
- skipWs();
- var attrStart = pos;
-
- while (pos < s.length && (s[pos] !== '?' || s[pos + 1] !== '>')) {
- ++pos;
- }
-
- value = s.substring(attrStart, pos);
- return {
- name: name,
- value: value,
- parsed: pos - start
- };
}
- }, {
- key: "parseXml",
- value: function parseXml(s) {
- var i = 0;
- while (i < s.length) {
- var ch = s[i];
- var j = i;
+ while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
+ ++pos;
+ }
- if (ch === '<') {
- ++j;
- var ch2 = s[j];
- var q = void 0;
+ const name = s.substring(start, pos);
+ skipWs();
+ const attrStart = pos;
- switch (ch2) {
- case '/':
- ++j;
- q = s.indexOf('>', j);
+ while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) {
+ ++pos;
+ }
+
+ const value = s.substring(attrStart, pos);
+ return {
+ name,
+ value,
+ parsed: pos - start
+ };
+ }
+
+ parseXml(s) {
+ let i = 0;
+
+ while (i < s.length) {
+ const ch = s[i];
+ let j = i;
+
+ if (ch === "<") {
+ ++j;
+ const ch2 = s[j];
+ let q;
+
+ switch (ch2) {
+ case "/":
+ ++j;
+ q = s.indexOf(">", j);
+
+ if (q < 0) {
+ this.onError(XMLParserErrorCode.UnterminatedElement);
+ return;
+ }
+
+ this.onEndElement(s.substring(j, q));
+ j = q + 1;
+ break;
+
+ case "?":
+ ++j;
+
+ const pi = this._parseProcessingInstruction(s, j);
+
+ if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") {
+ this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
+ return;
+ }
+
+ this.onPi(pi.name, pi.value);
+ j += pi.parsed + 2;
+ break;
+
+ case "!":
+ if (s.substring(j + 1, j + 3) === "--") {
+ q = s.indexOf("-->", j + 3);
if (q < 0) {
- this.onError(XMLParserErrorCode.UnterminatedElement);
+ this.onError(XMLParserErrorCode.UnterminatedComment);
return;
}
- this.onEndElement(s.substring(j, q));
- j = q + 1;
- break;
+ this.onComment(s.substring(j + 3, q));
+ j = q + 3;
+ } else if (s.substring(j + 1, j + 8) === "[CDATA[") {
+ q = s.indexOf("]]>", j + 8);
- case '?':
- ++j;
-
- var pi = this._parseProcessingInstruction(s, j);
-
- if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== '?>') {
- this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
+ if (q < 0) {
+ this.onError(XMLParserErrorCode.UnterminatedCdat);
return;
}
- this.onPi(pi.name, pi.value);
- j += pi.parsed + 2;
- break;
+ this.onCdata(s.substring(j + 8, q));
+ j = q + 3;
+ } else if (s.substring(j + 1, j + 8) === "DOCTYPE") {
+ const q2 = s.indexOf("[", j + 8);
+ let complexDoctype = false;
+ q = s.indexOf(">", j + 8);
- case '!':
- if (s.substring(j + 1, j + 3) === '--') {
- q = s.indexOf('-->', j + 3);
+ if (q < 0) {
+ this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
+ return;
+ }
- if (q < 0) {
- this.onError(XMLParserErrorCode.UnterminatedComment);
- return;
- }
-
- this.onComment(s.substring(j + 3, q));
- j = q + 3;
- } else if (s.substring(j + 1, j + 8) === '[CDATA[') {
- q = s.indexOf(']]>', j + 8);
-
- if (q < 0) {
- this.onError(XMLParserErrorCode.UnterminatedCdat);
- return;
- }
-
- this.onCdata(s.substring(j + 8, q));
- j = q + 3;
- } else if (s.substring(j + 1, j + 8) === 'DOCTYPE') {
- var q2 = s.indexOf('[', j + 8);
- var complexDoctype = false;
- q = s.indexOf('>', j + 8);
+ if (q2 > 0 && q > q2) {
+ q = s.indexOf("]>", j + 8);
if (q < 0) {
this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
return;
}
- if (q2 > 0 && q > q2) {
- q = s.indexOf(']>', j + 8);
-
- if (q < 0) {
- this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
- return;
- }
-
- complexDoctype = true;
- }
-
- var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
- this.onDoctype(doctypeContent);
- j = q + (complexDoctype ? 2 : 1);
- } else {
- this.onError(XMLParserErrorCode.MalformedElement);
- return;
+ complexDoctype = true;
}
- break;
+ const doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
+ this.onDoctype(doctypeContent);
+ j = q + (complexDoctype ? 2 : 1);
+ } else {
+ this.onError(XMLParserErrorCode.MalformedElement);
+ return;
+ }
- default:
- var content = this._parseContent(s, j);
+ break;
- if (content === null) {
- this.onError(XMLParserErrorCode.MalformedElement);
- return;
- }
+ default:
+ const content = this._parseContent(s, j);
- var isClosed = false;
+ if (content === null) {
+ this.onError(XMLParserErrorCode.MalformedElement);
+ return;
+ }
- if (s.substring(j + content.parsed, j + content.parsed + 2) === '/>') {
- isClosed = true;
- } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== '>') {
- this.onError(XMLParserErrorCode.UnterminatedElement);
- return;
- }
+ let isClosed = false;
- this.onBeginElement(content.name, content.attributes, isClosed);
- j += content.parsed + (isClosed ? 2 : 1);
- break;
- }
- } else {
- while (j < s.length && s[j] !== '<') {
- j++;
- }
+ if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") {
+ isClosed = true;
+ } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") {
+ this.onError(XMLParserErrorCode.UnterminatedElement);
+ return;
+ }
- var text = s.substring(i, j);
- this.onText(this._resolveEntities(text));
+ this.onBeginElement(content.name, content.attributes, isClosed);
+ j += content.parsed + (isClosed ? 2 : 1);
+ break;
+ }
+ } else {
+ while (j < s.length && s[j] !== "<") {
+ j++;
}
- i = j;
+ const text = s.substring(i, j);
+ this.onText(this._resolveEntities(text));
}
+
+ i = j;
}
- }, {
- key: "onResolveEntity",
- value: function onResolveEntity(name) {
- return "&".concat(name, ";");
- }
- }, {
- key: "onPi",
- value: function onPi(name, value) {}
- }, {
- key: "onComment",
- value: function onComment(text) {}
- }, {
- key: "onCdata",
- value: function onCdata(text) {}
- }, {
- key: "onDoctype",
- value: function onDoctype(doctypeContent) {}
- }, {
- key: "onText",
- value: function onText(text) {}
- }, {
- key: "onBeginElement",
- value: function onBeginElement(name, attributes, isEmpty) {}
- }, {
- key: "onEndElement",
- value: function onEndElement(name) {}
- }, {
- key: "onError",
- value: function onError(code) {}
- }]);
+ }
- return XMLParserBase;
-}();
+ onResolveEntity(name) {
+ return `&${name};`;
+ }
-var SimpleDOMNode =
-/*#__PURE__*/
-function () {
- function SimpleDOMNode(nodeName, nodeValue) {
- _classCallCheck(this, SimpleDOMNode);
+ onPi(name, value) {}
+ onComment(text) {}
+
+ onCdata(text) {}
+
+ onDoctype(doctypeContent) {}
+
+ onText(text) {}
+
+ onBeginElement(name, attributes, isEmpty) {}
+
+ onEndElement(name) {}
+
+ onError(code) {}
+
+}
+
+class SimpleDOMNode {
+ constructor(nodeName, nodeValue) {
this.nodeName = nodeName;
this.nodeValue = nodeValue;
- Object.defineProperty(this, 'parentNode', {
+ Object.defineProperty(this, "parentNode", {
value: null,
writable: true
});
}
- _createClass(SimpleDOMNode, [{
- key: "hasChildNodes",
- value: function hasChildNodes() {
- return this.childNodes && this.childNodes.length > 0;
- }
- }, {
- key: "firstChild",
- get: function get() {
- return this.childNodes && this.childNodes[0];
- }
- }, {
- key: "nextSibling",
- get: function get() {
- var childNodes = this.parentNode.childNodes;
-
- if (!childNodes) {
- return undefined;
- }
-
- var index = childNodes.indexOf(this);
-
- if (index === -1) {
- return undefined;
- }
-
- return childNodes[index + 1];
- }
- }, {
- key: "textContent",
- get: function get() {
- if (!this.childNodes) {
- return this.nodeValue || '';
- }
-
- return this.childNodes.map(function (child) {
- return child.textContent;
- }).join('');
- }
- }]);
-
- return SimpleDOMNode;
-}();
-
-var SimpleXMLParser =
-/*#__PURE__*/
-function (_XMLParserBase) {
- _inherits(SimpleXMLParser, _XMLParserBase);
-
- function SimpleXMLParser() {
- var _this2;
-
- _classCallCheck(this, SimpleXMLParser);
-
- _this2 = _possibleConstructorReturn(this, _getPrototypeOf(SimpleXMLParser).call(this));
- _this2._currentFragment = null;
- _this2._stack = null;
- _this2._errorCode = XMLParserErrorCode.NoError;
- return _this2;
+ get firstChild() {
+ return this.childNodes && this.childNodes[0];
}
- _createClass(SimpleXMLParser, [{
- key: "parseFromString",
- value: function parseFromString(data) {
- this._currentFragment = [];
- this._stack = [];
- this._errorCode = XMLParserErrorCode.NoError;
- this.parseXml(data);
+ get nextSibling() {
+ const childNodes = this.parentNode.childNodes;
- if (this._errorCode !== XMLParserErrorCode.NoError) {
- return undefined;
+ if (!childNodes) {
+ return undefined;
+ }
+
+ const index = childNodes.indexOf(this);
+
+ if (index === -1) {
+ return undefined;
+ }
+
+ return childNodes[index + 1];
+ }
+
+ get textContent() {
+ if (!this.childNodes) {
+ return this.nodeValue || "";
+ }
+
+ return this.childNodes.map(function (child) {
+ return child.textContent;
+ }).join("");
+ }
+
+ hasChildNodes() {
+ return this.childNodes && this.childNodes.length > 0;
+ }
+
+ searchNode(paths, pos) {
+ if (pos >= paths.length) {
+ return this;
+ }
+
+ const component = paths[pos];
+ const stack = [];
+ let node = this;
+
+ while (true) {
+ if (component.name === node.nodeName) {
+ if (component.pos === 0) {
+ const res = node.searchNode(paths, pos + 1);
+
+ if (res !== null) {
+ return res;
+ }
+ } else if (stack.length === 0) {
+ return null;
+ } else {
+ const [parent] = stack.pop();
+ let siblingPos = 0;
+
+ for (const child of parent.childNodes) {
+ if (component.name === child.nodeName) {
+ if (siblingPos === component.pos) {
+ return child.searchNode(paths, pos + 1);
+ }
+
+ siblingPos++;
+ }
+ }
+
+ return node.searchNode(paths, pos + 1);
+ }
}
- var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),
- documentElement = _this$_currentFragmen[0];
+ if (node.childNodes && node.childNodes.length !== 0) {
+ stack.push([node, 0]);
+ node = node.childNodes[0];
+ } else if (stack.length === 0) {
+ return null;
+ } else {
+ while (stack.length !== 0) {
+ const [parent, currentPos] = stack.pop();
+ const newPos = currentPos + 1;
- if (!documentElement) {
- return undefined;
- }
+ if (newPos < parent.childNodes.length) {
+ stack.push([parent, newPos]);
+ node = parent.childNodes[newPos];
+ break;
+ }
+ }
- return {
- documentElement: documentElement
- };
- }
- }, {
- key: "onResolveEntity",
- value: function onResolveEntity(name) {
- switch (name) {
- case 'apos':
- return '\'';
- }
-
- return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name);
- }
- }, {
- key: "onText",
- value: function onText(text) {
- if (isWhitespaceString(text)) {
- return;
- }
-
- var node = new SimpleDOMNode('#text', text);
-
- this._currentFragment.push(node);
- }
- }, {
- key: "onCdata",
- value: function onCdata(text) {
- var node = new SimpleDOMNode('#text', text);
-
- this._currentFragment.push(node);
- }
- }, {
- key: "onBeginElement",
- value: function onBeginElement(name, attributes, isEmpty) {
- var node = new SimpleDOMNode(name);
- node.childNodes = [];
-
- this._currentFragment.push(node);
-
- if (isEmpty) {
- return;
- }
-
- this._stack.push(this._currentFragment);
-
- this._currentFragment = node.childNodes;
- }
- }, {
- key: "onEndElement",
- value: function onEndElement(name) {
- this._currentFragment = this._stack.pop() || [];
- var lastElement = this._currentFragment[this._currentFragment.length - 1];
-
- if (!lastElement) {
- return;
- }
-
- for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
- lastElement.childNodes[i].parentNode = lastElement;
+ if (stack.length === 0) {
+ return null;
+ }
}
}
- }, {
- key: "onError",
- value: function onError(code) {
- this._errorCode = code;
- }
- }]);
+ }
- return SimpleXMLParser;
-}(XMLParserBase);
+ dump(buffer) {
+ if (this.nodeName === "#text") {
+ buffer.push((0, _util.encodeToXmlString)(this.nodeValue));
+ return;
+ }
+
+ buffer.push(`<${this.nodeName}`);
+
+ if (this.attributes) {
+ for (const attribute of this.attributes) {
+ buffer.push(` ${attribute.name}="${(0, _util.encodeToXmlString)(attribute.value)}"`);
+ }
+ }
+
+ if (this.hasChildNodes()) {
+ buffer.push(">");
+
+ for (const child of this.childNodes) {
+ child.dump(buffer);
+ }
+
+ buffer.push(`${this.nodeName}>`);
+ } else if (this.nodeValue) {
+ buffer.push(`>${(0, _util.encodeToXmlString)(this.nodeValue)}${this.nodeName}>`);
+ } else {
+ buffer.push("/>");
+ }
+ }
+
+}
+
+exports.SimpleDOMNode = SimpleDOMNode;
+
+class SimpleXMLParser extends XMLParserBase {
+ constructor({
+ hasAttributes = false,
+ lowerCaseName = false
+ }) {
+ super();
+ this._currentFragment = null;
+ this._stack = null;
+ this._errorCode = XMLParserErrorCode.NoError;
+ this._hasAttributes = hasAttributes;
+ this._lowerCaseName = lowerCaseName;
+ }
+
+ parseFromString(data) {
+ this._currentFragment = [];
+ this._stack = [];
+ this._errorCode = XMLParserErrorCode.NoError;
+ this.parseXml(data);
+
+ if (this._errorCode !== XMLParserErrorCode.NoError) {
+ return undefined;
+ }
+
+ const [documentElement] = this._currentFragment;
+
+ if (!documentElement) {
+ return undefined;
+ }
+
+ return {
+ documentElement
+ };
+ }
+
+ onResolveEntity(name) {
+ switch (name) {
+ case "apos":
+ return "'";
+ }
+
+ return super.onResolveEntity(name);
+ }
+
+ onText(text) {
+ if (isWhitespaceString(text)) {
+ return;
+ }
+
+ const node = new SimpleDOMNode("#text", text);
+
+ this._currentFragment.push(node);
+ }
+
+ onCdata(text) {
+ const node = new SimpleDOMNode("#text", text);
+
+ this._currentFragment.push(node);
+ }
+
+ onBeginElement(name, attributes, isEmpty) {
+ if (this._lowerCaseName) {
+ name = name.toLowerCase();
+ }
+
+ const node = new SimpleDOMNode(name);
+ node.childNodes = [];
+
+ if (this._hasAttributes) {
+ node.attributes = attributes;
+ }
+
+ this._currentFragment.push(node);
+
+ if (isEmpty) {
+ return;
+ }
+
+ this._stack.push(this._currentFragment);
+
+ this._currentFragment = node.childNodes;
+ }
+
+ onEndElement(name) {
+ this._currentFragment = this._stack.pop() || [];
+ const lastElement = this._currentFragment[this._currentFragment.length - 1];
+
+ if (!lastElement) {
+ return;
+ }
+
+ for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
+ lastElement.childNodes[i].parentNode = lastElement;
+ }
+ }
+
+ onError(code) {
+ this._errorCode = code;
+ }
+
+}
exports.SimpleXMLParser = SimpleXMLParser;
/***/ }),
-/* 192 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 16 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
+exports.OptionalContentConfig = void 0;
+
+var _util = __w_pdfjs_require__(2);
+
+class OptionalContentGroup {
+ constructor(name, intent) {
+ this.visible = true;
+ this.name = name;
+ this.intent = intent;
+ }
+
+}
+
+class OptionalContentConfig {
+ constructor(data) {
+ this.name = null;
+ this.creator = null;
+ this._order = null;
+ this._groups = new Map();
+
+ if (data === null) {
+ return;
+ }
+
+ this.name = data.name;
+ this.creator = data.creator;
+ this._order = data.order;
+
+ for (const group of data.groups) {
+ this._groups.set(group.id, new OptionalContentGroup(group.name, group.intent));
+ }
+
+ if (data.baseState === "OFF") {
+ for (const group of this._groups) {
+ group.visible = false;
+ }
+ }
+
+ for (const on of data.on) {
+ this._groups.get(on).visible = true;
+ }
+
+ for (const off of data.off) {
+ this._groups.get(off).visible = false;
+ }
+ }
+
+ isVisible(group) {
+ if (group.type === "OCG") {
+ if (!this._groups.has(group.id)) {
+ (0, _util.warn)(`Optional content group not found: ${group.id}`);
+ return true;
+ }
+
+ return this._groups.get(group.id).visible;
+ } else if (group.type === "OCMD") {
+ if (group.expression) {
+ (0, _util.warn)("Visibility expression not supported yet.");
+ }
+
+ if (!group.policy || group.policy === "AnyOn") {
+ for (const id of group.ids) {
+ if (!this._groups.has(id)) {
+ (0, _util.warn)(`Optional content group not found: ${id}`);
+ return true;
+ }
+
+ if (this._groups.get(id).visible) {
+ return true;
+ }
+ }
+
+ return false;
+ } else if (group.policy === "AllOn") {
+ for (const id of group.ids) {
+ if (!this._groups.has(id)) {
+ (0, _util.warn)(`Optional content group not found: ${id}`);
+ return true;
+ }
+
+ if (!this._groups.get(id).visible) {
+ return false;
+ }
+ }
+
+ return true;
+ } else if (group.policy === "AnyOff") {
+ for (const id of group.ids) {
+ if (!this._groups.has(id)) {
+ (0, _util.warn)(`Optional content group not found: ${id}`);
+ return true;
+ }
+
+ if (!this._groups.get(id).visible) {
+ return true;
+ }
+ }
+
+ return false;
+ } else if (group.policy === "AllOff") {
+ for (const id of group.ids) {
+ if (!this._groups.has(id)) {
+ (0, _util.warn)(`Optional content group not found: ${id}`);
+ return true;
+ }
+
+ if (this._groups.get(id).visible) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);
+ return true;
+ }
+
+ (0, _util.warn)(`Unknown group type ${group.type}.`);
+ return true;
+ }
+
+ setVisibility(id, visible = true) {
+ if (!this._groups.has(id)) {
+ (0, _util.warn)(`Optional content group not found: ${id}`);
+ return;
+ }
+
+ this._groups.get(id).visible = !!visible;
+ }
+
+ getOrder() {
+ if (!this._groups.size) {
+ return null;
+ }
+
+ if (this._order) {
+ return this._order.slice();
+ }
+
+ return Array.from(this._groups.keys());
+ }
+
+ getGroups() {
+ if (!this._groups.size) {
+ return null;
+ }
+
+ return (0, _util.objectFromEntries)(this._groups);
+ }
+
+ getGroup(id) {
+ return this._groups.get(id) || null;
+ }
+
+}
+
+exports.OptionalContentConfig = OptionalContentConfig;
+
+/***/ }),
+/* 17 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
exports.PDFDataTransportStream = void 0;
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
+var _util = __w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var PDFDataTransportStream =
-/*#__PURE__*/
-function () {
- function PDFDataTransportStream(params, pdfDataRangeTransport) {
- var _this = this;
-
- _classCallCheck(this, PDFDataTransportStream);
-
- (0, _util.assert)(pdfDataRangeTransport);
+class PDFDataTransportStream {
+ constructor(params, pdfDataRangeTransport) {
+ (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');
this._queuedChunks = [];
this._progressiveDone = params.progressiveDone || false;
- var initialData = params.initialData;
+ const initialData = params.initialData;
- if (initialData && initialData.length > 0) {
- var buffer = new Uint8Array(initialData).buffer;
+ if (initialData?.length > 0) {
+ const buffer = new Uint8Array(initialData).buffer;
this._queuedChunks.push(buffer);
}
@@ -18028,183 +8762,147 @@ function () {
this._fullRequestReader = null;
this._rangeReaders = [];
- this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
- _this._onReceiveData({
- begin: begin,
- chunk: chunk
+ this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {
+ this._onReceiveData({
+ begin,
+ chunk
});
});
- this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
- _this._onProgress({
- loaded: loaded,
- total: total
+ this._pdfDataRangeTransport.addProgressListener((loaded, total) => {
+ this._onProgress({
+ loaded,
+ total
});
});
- this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
- _this._onReceiveData({
- chunk: chunk
+ this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {
+ this._onReceiveData({
+ chunk
});
});
- this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
- _this._onProgressiveDone();
+ this._pdfDataRangeTransport.addProgressiveDoneListener(() => {
+ this._onProgressiveDone();
});
this._pdfDataRangeTransport.transportReady();
}
- _createClass(PDFDataTransportStream, [{
- key: "_onReceiveData",
- value: function _onReceiveData(args) {
- var buffer = new Uint8Array(args.chunk).buffer;
+ _onReceiveData(args) {
+ const buffer = new Uint8Array(args.chunk).buffer;
- if (args.begin === undefined) {
- if (this._fullRequestReader) {
- this._fullRequestReader._enqueue(buffer);
- } else {
- this._queuedChunks.push(buffer);
- }
- } else {
- var found = this._rangeReaders.some(function (rangeReader) {
- if (rangeReader._begin !== args.begin) {
- return false;
- }
-
- rangeReader._enqueue(buffer);
-
- return true;
- });
-
- (0, _util.assert)(found);
- }
- }
- }, {
- key: "_onProgress",
- value: function _onProgress(evt) {
- if (evt.total === undefined) {
- var firstReader = this._rangeReaders[0];
-
- if (firstReader && firstReader.onProgress) {
- firstReader.onProgress({
- loaded: evt.loaded
- });
- }
- } else {
- var fullReader = this._fullRequestReader;
-
- if (fullReader && fullReader.onProgress) {
- fullReader.onProgress({
- loaded: evt.loaded,
- total: evt.total
- });
- }
- }
- }
- }, {
- key: "_onProgressiveDone",
- value: function _onProgressiveDone() {
+ if (args.begin === undefined) {
if (this._fullRequestReader) {
- this._fullRequestReader.progressiveDone();
+ this._fullRequestReader._enqueue(buffer);
+ } else {
+ this._queuedChunks.push(buffer);
}
+ } else {
+ const found = this._rangeReaders.some(function (rangeReader) {
+ if (rangeReader._begin !== args.begin) {
+ return false;
+ }
- this._progressiveDone = true;
- }
- }, {
- key: "_removeRangeReader",
- value: function _removeRangeReader(reader) {
- var i = this._rangeReaders.indexOf(reader);
+ rangeReader._enqueue(buffer);
- if (i >= 0) {
- this._rangeReaders.splice(i, 1);
- }
- }
- }, {
- key: "getFullReader",
- value: function getFullReader() {
- (0, _util.assert)(!this._fullRequestReader);
- var queuedChunks = this._queuedChunks;
- this._queuedChunks = null;
- return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
- }
- }, {
- key: "getRangeReader",
- value: function getRangeReader(begin, end) {
- if (end <= this._progressiveDataLength) {
- return null;
- }
-
- var reader = new PDFDataTransportStreamRangeReader(this, begin, end);
-
- this._pdfDataRangeTransport.requestDataRange(begin, end);
-
- this._rangeReaders.push(reader);
-
- return reader;
- }
- }, {
- key: "cancelAllRequests",
- value: function cancelAllRequests(reason) {
- if (this._fullRequestReader) {
- this._fullRequestReader.cancel(reason);
- }
-
- var readers = this._rangeReaders.slice(0);
-
- readers.forEach(function (rangeReader) {
- rangeReader.cancel(reason);
+ return true;
});
- this._pdfDataRangeTransport.abort();
+ (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.");
}
- }, {
- key: "_progressiveDataLength",
- get: function get() {
- return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
- }
- }]);
+ }
- return PDFDataTransportStream;
-}();
+ get _progressiveDataLength() {
+ return this._fullRequestReader?._loaded ?? 0;
+ }
+
+ _onProgress(evt) {
+ if (evt.total === undefined) {
+ const firstReader = this._rangeReaders[0];
+
+ if (firstReader?.onProgress) {
+ firstReader.onProgress({
+ loaded: evt.loaded
+ });
+ }
+ } else {
+ const fullReader = this._fullRequestReader;
+
+ if (fullReader?.onProgress) {
+ fullReader.onProgress({
+ loaded: evt.loaded,
+ total: evt.total
+ });
+ }
+ }
+ }
+
+ _onProgressiveDone() {
+ if (this._fullRequestReader) {
+ this._fullRequestReader.progressiveDone();
+ }
+
+ this._progressiveDone = true;
+ }
+
+ _removeRangeReader(reader) {
+ const i = this._rangeReaders.indexOf(reader);
+
+ if (i >= 0) {
+ this._rangeReaders.splice(i, 1);
+ }
+ }
+
+ getFullReader() {
+ (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once.");
+ const queuedChunks = this._queuedChunks;
+ this._queuedChunks = null;
+ return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
+ }
+
+ getRangeReader(begin, end) {
+ if (end <= this._progressiveDataLength) {
+ return null;
+ }
+
+ const reader = new PDFDataTransportStreamRangeReader(this, begin, end);
+
+ this._pdfDataRangeTransport.requestDataRange(begin, end);
+
+ this._rangeReaders.push(reader);
+
+ return reader;
+ }
+
+ cancelAllRequests(reason) {
+ if (this._fullRequestReader) {
+ this._fullRequestReader.cancel(reason);
+ }
+
+ const readers = this._rangeReaders.slice(0);
+
+ readers.forEach(function (rangeReader) {
+ rangeReader.cancel(reason);
+ });
+
+ this._pdfDataRangeTransport.abort();
+ }
+
+}
exports.PDFDataTransportStream = PDFDataTransportStream;
-var PDFDataTransportStreamReader =
-/*#__PURE__*/
-function () {
- function PDFDataTransportStreamReader(stream, queuedChunks) {
- var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
- _classCallCheck(this, PDFDataTransportStreamReader);
-
+class PDFDataTransportStreamReader {
+ constructor(stream, queuedChunks, progressiveDone = false) {
this._stream = stream;
this._done = progressiveDone || false;
this._filename = null;
this._queuedChunks = queuedChunks || [];
this._loaded = 0;
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
- try {
- for (var _iterator = this._queuedChunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var chunk = _step.value;
- this._loaded += chunk.byteLength;
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
+ for (const chunk of this._queuedChunks) {
+ this._loaded += chunk.byteLength;
}
this._requests = [];
@@ -18213,139 +8911,94 @@ function () {
this.onProgress = null;
}
- _createClass(PDFDataTransportStreamReader, [{
- key: "_enqueue",
- value: function _enqueue(chunk) {
- if (this._done) {
- return;
- }
-
- if (this._requests.length > 0) {
- var requestCapability = this._requests.shift();
-
- requestCapability.resolve({
- value: chunk,
- done: false
- });
- } else {
- this._queuedChunks.push(chunk);
- }
-
- this._loaded += chunk.byteLength;
+ _enqueue(chunk) {
+ if (this._done) {
+ return;
}
- }, {
- key: "read",
- value: function () {
- var _read = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee() {
- var chunk, requestCapability;
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- if (!(this._queuedChunks.length > 0)) {
- _context.next = 3;
- break;
- }
- chunk = this._queuedChunks.shift();
- return _context.abrupt("return", {
- value: chunk,
- done: false
- });
+ if (this._requests.length > 0) {
+ const requestCapability = this._requests.shift();
- case 3:
- if (!this._done) {
- _context.next = 5;
- break;
- }
-
- return _context.abrupt("return", {
- value: undefined,
- done: true
- });
-
- case 5:
- requestCapability = (0, _util.createPromiseCapability)();
-
- this._requests.push(requestCapability);
-
- return _context.abrupt("return", requestCapability.promise);
-
- case 8:
- case "end":
- return _context.stop();
- }
- }
- }, _callee, this);
- }));
-
- function read() {
- return _read.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- this._done = true;
-
- this._requests.forEach(function (requestCapability) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
+ requestCapability.resolve({
+ value: chunk,
+ done: false
});
+ } else {
+ this._queuedChunks.push(chunk);
+ }
- this._requests = [];
- }
- }, {
- key: "progressiveDone",
- value: function progressiveDone() {
- if (this._done) {
- return;
- }
+ this._loaded += chunk.byteLength;
+ }
- this._done = true;
- }
- }, {
- key: "headersReady",
- get: function get() {
- return this._headersReady;
- }
- }, {
- key: "filename",
- get: function get() {
- return this._filename;
- }
- }, {
- key: "isRangeSupported",
- get: function get() {
- return this._stream._isRangeSupported;
- }
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return this._stream._isStreamingSupported;
- }
- }, {
- key: "contentLength",
- get: function get() {
- return this._stream._contentLength;
- }
- }]);
+ get headersReady() {
+ return this._headersReady;
+ }
- return PDFDataTransportStreamReader;
-}();
+ get filename() {
+ return this._filename;
+ }
-var PDFDataTransportStreamRangeReader =
-/*#__PURE__*/
-function () {
- function PDFDataTransportStreamRangeReader(stream, begin, end) {
- _classCallCheck(this, PDFDataTransportStreamRangeReader);
+ get isRangeSupported() {
+ return this._stream._isRangeSupported;
+ }
+ get isStreamingSupported() {
+ return this._stream._isStreamingSupported;
+ }
+
+ get contentLength() {
+ return this._stream._contentLength;
+ }
+
+ async read() {
+ if (this._queuedChunks.length > 0) {
+ const chunk = this._queuedChunks.shift();
+
+ return {
+ value: chunk,
+ done: false
+ };
+ }
+
+ if (this._done) {
+ return {
+ value: undefined,
+ done: true
+ };
+ }
+
+ const requestCapability = (0, _util.createPromiseCapability)();
+
+ this._requests.push(requestCapability);
+
+ return requestCapability.promise;
+ }
+
+ cancel(reason) {
+ this._done = true;
+
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.resolve({
+ value: undefined,
+ done: true
+ });
+ });
+
+ this._requests = [];
+ }
+
+ progressiveDone() {
+ if (this._done) {
+ return;
+ }
+
+ this._done = true;
+ }
+
+}
+
+class PDFDataTransportStreamRangeReader {
+ constructor(stream, begin, end) {
this._stream = stream;
this._begin = begin;
this._end = end;
@@ -18355,96 +9008,20 @@ function () {
this.onProgress = null;
}
- _createClass(PDFDataTransportStreamRangeReader, [{
- key: "_enqueue",
- value: function _enqueue(chunk) {
- if (this._done) {
- return;
- }
-
- if (this._requests.length === 0) {
- this._queuedChunk = chunk;
- } else {
- var requestsCapability = this._requests.shift();
-
- requestsCapability.resolve({
- value: chunk,
- done: false
- });
-
- this._requests.forEach(function (requestCapability) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- });
-
- this._requests = [];
- }
-
- this._done = true;
-
- this._stream._removeRangeReader(this);
+ _enqueue(chunk) {
+ if (this._done) {
+ return;
}
- }, {
- key: "read",
- value: function () {
- var _read2 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee2() {
- var chunk, requestCapability;
- return _regenerator["default"].wrap(function _callee2$(_context2) {
- while (1) {
- switch (_context2.prev = _context2.next) {
- case 0:
- if (!this._queuedChunk) {
- _context2.next = 4;
- break;
- }
- chunk = this._queuedChunk;
- this._queuedChunk = null;
- return _context2.abrupt("return", {
- value: chunk,
- done: false
- });
+ if (this._requests.length === 0) {
+ this._queuedChunk = chunk;
+ } else {
+ const requestsCapability = this._requests.shift();
- case 4:
- if (!this._done) {
- _context2.next = 6;
- break;
- }
-
- return _context2.abrupt("return", {
- value: undefined,
- done: true
- });
-
- case 6:
- requestCapability = (0, _util.createPromiseCapability)();
-
- this._requests.push(requestCapability);
-
- return _context2.abrupt("return", requestCapability.promise);
-
- case 9:
- case "end":
- return _context2.stop();
- }
- }
- }, _callee2, this);
- }));
-
- function read() {
- return _read2.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- this._done = true;
+ requestsCapability.resolve({
+ value: chunk,
+ done: false
+ });
this._requests.forEach(function (requestCapability) {
requestCapability.resolve({
@@ -18454,102 +9031,124 @@ function () {
});
this._requests = [];
-
- this._stream._removeRangeReader(this);
}
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return false;
- }
- }]);
- return PDFDataTransportStreamRangeReader;
-}();
+ this._done = true;
+
+ this._stream._removeRangeReader(this);
+ }
+
+ get isStreamingSupported() {
+ return false;
+ }
+
+ async read() {
+ if (this._queuedChunk) {
+ const chunk = this._queuedChunk;
+ this._queuedChunk = null;
+ return {
+ value: chunk,
+ done: false
+ };
+ }
+
+ if (this._done) {
+ return {
+ value: undefined,
+ done: true
+ };
+ }
+
+ const requestCapability = (0, _util.createPromiseCapability)();
+
+ this._requests.push(requestCapability);
+
+ return requestCapability.promise;
+ }
+
+ cancel(reason) {
+ this._done = true;
+
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.resolve({
+ value: undefined,
+ done: true
+ });
+ });
+
+ this._requests = [];
+
+ this._stream._removeRangeReader(this);
+ }
+
+}
/***/ }),
-/* 193 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 18 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.WebGLContext = void 0;
-var _util = __w_pdfjs_require__(1);
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var WebGLContext =
-/*#__PURE__*/
-function () {
- function WebGLContext(_ref) {
- var _ref$enable = _ref.enable,
- enable = _ref$enable === void 0 ? false : _ref$enable;
-
- _classCallCheck(this, WebGLContext);
+var _util = __w_pdfjs_require__(2);
+class WebGLContext {
+ constructor({
+ enable = false
+ }) {
this._enabled = enable === true;
}
- _createClass(WebGLContext, [{
- key: "composeSMask",
- value: function composeSMask(_ref2) {
- var layer = _ref2.layer,
- mask = _ref2.mask,
- properties = _ref2.properties;
- return WebGLUtils.composeSMask(layer, mask, properties);
- }
- }, {
- key: "drawFigures",
- value: function drawFigures(_ref3) {
- var width = _ref3.width,
- height = _ref3.height,
- backgroundColor = _ref3.backgroundColor,
- figures = _ref3.figures,
- context = _ref3.context;
- return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
- }
- }, {
- key: "clear",
- value: function clear() {
- WebGLUtils.cleanup();
- }
- }, {
- key: "isEnabled",
- get: function get() {
- var enabled = this._enabled;
+ get isEnabled() {
+ let enabled = this._enabled;
- if (enabled) {
- enabled = WebGLUtils.tryInitGL();
- }
-
- return (0, _util.shadow)(this, 'isEnabled', enabled);
+ if (enabled) {
+ enabled = WebGLUtils.tryInitGL();
}
- }]);
- return WebGLContext;
-}();
+ return (0, _util.shadow)(this, "isEnabled", enabled);
+ }
+
+ composeSMask({
+ layer,
+ mask,
+ properties
+ }) {
+ return WebGLUtils.composeSMask(layer, mask, properties);
+ }
+
+ drawFigures({
+ width,
+ height,
+ backgroundColor,
+ figures,
+ context
+ }) {
+ return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
+ }
+
+ clear() {
+ WebGLUtils.cleanup();
+ }
+
+}
exports.WebGLContext = WebGLContext;
-var WebGLUtils = function WebGLUtilsClosure() {
+const WebGLUtils = function WebGLUtilsClosure() {
function loadShader(gl, code, shaderType) {
- var shader = gl.createShader(shaderType);
+ const shader = gl.createShader(shaderType);
gl.shaderSource(shader, code);
gl.compileShader(shader);
- var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
+ const compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
if (!compiled) {
- var errorMsg = gl.getShaderInfoLog(shader);
- throw new Error('Error during shader compilation: ' + errorMsg);
+ const errorMsg = gl.getShaderInfoLog(shader);
+ throw new Error("Error during shader compilation: " + errorMsg);
}
return shader;
@@ -18564,18 +9163,18 @@ var WebGLUtils = function WebGLUtilsClosure() {
}
function createProgram(gl, shaders) {
- var program = gl.createProgram();
+ const program = gl.createProgram();
- for (var i = 0, ii = shaders.length; i < ii; ++i) {
+ for (let i = 0, ii = shaders.length; i < ii; ++i) {
gl.attachShader(program, shaders[i]);
}
gl.linkProgram(program);
- var linked = gl.getProgramParameter(program, gl.LINK_STATUS);
+ const linked = gl.getProgramParameter(program, gl.LINK_STATUS);
if (!linked) {
- var errorMsg = gl.getProgramInfoLog(program);
- throw new Error('Error during program linking: ' + errorMsg);
+ const errorMsg = gl.getProgramInfoLog(program);
+ throw new Error("Error during program linking: " + errorMsg);
}
return program;
@@ -18583,7 +9182,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
function createTexture(gl, image, textureId) {
gl.activeTexture(textureId);
- var texture = gl.createTexture();
+ const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
@@ -18593,20 +9192,20 @@ var WebGLUtils = function WebGLUtilsClosure() {
return texture;
}
- var currentGL, currentCanvas;
+ let currentGL, currentCanvas;
function generateGL() {
if (currentGL) {
return;
}
- currentCanvas = document.createElement('canvas');
- currentGL = currentCanvas.getContext('webgl', {
+ currentCanvas = document.createElement("canvas");
+ currentGL = currentCanvas.getContext("webgl", {
premultipliedalpha: false
});
}
- var smaskVertexShaderCode = '\
+ const smaskVertexShaderCode = "\
attribute vec2 a_position; \
attribute vec2 a_texCoord; \
\
@@ -18619,8 +9218,8 @@ var WebGLUtils = function WebGLUtilsClosure() {
gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \
\
v_texCoord = a_texCoord; \
- } ';
- var smaskFragmentShaderCode = '\
+ } ";
+ const smaskFragmentShaderCode = "\
precision mediump float; \
\
uniform vec4 u_backdrop; \
@@ -18647,31 +9246,30 @@ var WebGLUtils = function WebGLUtilsClosure() {
imageColor.a *= lum; \
imageColor.rgb *= imageColor.a; \
gl_FragColor = imageColor; \
- } ';
- var smaskCache = null;
+ } ";
+ let smaskCache = null;
function initSmaskGL() {
- var canvas, gl;
generateGL();
- canvas = currentCanvas;
+ const canvas = currentCanvas;
currentCanvas = null;
- gl = currentGL;
+ const gl = currentGL;
currentGL = null;
- var vertexShader = createVertexShader(gl, smaskVertexShaderCode);
- var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);
- var program = createProgram(gl, [vertexShader, fragmentShader]);
+ const vertexShader = createVertexShader(gl, smaskVertexShaderCode);
+ const fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);
+ const program = createProgram(gl, [vertexShader, fragmentShader]);
gl.useProgram(program);
- var cache = {};
+ const cache = {};
cache.gl = gl;
cache.canvas = canvas;
- cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');
- cache.positionLocation = gl.getAttribLocation(program, 'a_position');
- cache.backdropLocation = gl.getUniformLocation(program, 'u_backdrop');
- cache.subtypeLocation = gl.getUniformLocation(program, 'u_subtype');
- var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');
- var texLayerLocation = gl.getUniformLocation(program, 'u_image');
- var texMaskLocation = gl.getUniformLocation(program, 'u_mask');
- var texCoordBuffer = gl.createBuffer();
+ cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
+ cache.positionLocation = gl.getAttribLocation(program, "a_position");
+ cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop");
+ cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype");
+ const texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
+ const texLayerLocation = gl.getUniformLocation(program, "u_image");
+ const texMaskLocation = gl.getUniformLocation(program, "u_mask");
+ const texCoordBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
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);
gl.enableVertexAttribArray(texCoordLocation);
@@ -18682,16 +9280,16 @@ var WebGLUtils = function WebGLUtilsClosure() {
}
function composeSMask(layer, mask, properties) {
- var width = layer.width,
- height = layer.height;
+ const width = layer.width,
+ height = layer.height;
if (!smaskCache) {
initSmaskGL();
}
- var cache = smaskCache,
- canvas = cache.canvas,
- gl = cache.gl;
+ const cache = smaskCache,
+ canvas = cache.canvas,
+ gl = cache.gl;
canvas.width = width;
canvas.height = height;
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
@@ -18703,10 +9301,10 @@ var WebGLUtils = function WebGLUtilsClosure() {
gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);
}
- gl.uniform1i(cache.subtypeLocation, properties.subtype === 'Luminosity' ? 1 : 0);
- var texture = createTexture(gl, layer, gl.TEXTURE0);
- var maskTexture = createTexture(gl, mask, gl.TEXTURE1);
- var buffer = gl.createBuffer();
+ gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0);
+ const texture = createTexture(gl, layer, gl.TEXTURE0);
+ const maskTexture = createTexture(gl, mask, gl.TEXTURE1);
+ const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);
gl.enableVertexAttribArray(cache.positionLocation);
@@ -18723,7 +9321,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
return canvas;
}
- var figuresVertexShaderCode = '\
+ const figuresVertexShaderCode = "\
attribute vec2 a_position; \
attribute vec3 a_color; \
\
@@ -18739,36 +9337,35 @@ var WebGLUtils = function WebGLUtilsClosure() {
gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \
\
v_color = vec4(a_color / 255.0, 1.0); \
- } ';
- var figuresFragmentShaderCode = '\
+ } ";
+ const figuresFragmentShaderCode = "\
precision mediump float; \
\
varying vec4 v_color; \
\
void main() { \
gl_FragColor = v_color; \
- } ';
- var figuresCache = null;
+ } ";
+ let figuresCache = null;
function initFiguresGL() {
- var canvas, gl;
generateGL();
- canvas = currentCanvas;
+ const canvas = currentCanvas;
currentCanvas = null;
- gl = currentGL;
+ const gl = currentGL;
currentGL = null;
- var vertexShader = createVertexShader(gl, figuresVertexShaderCode);
- var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);
- var program = createProgram(gl, [vertexShader, fragmentShader]);
+ const vertexShader = createVertexShader(gl, figuresVertexShaderCode);
+ const fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);
+ const program = createProgram(gl, [vertexShader, fragmentShader]);
gl.useProgram(program);
- var cache = {};
+ const cache = {};
cache.gl = gl;
cache.canvas = canvas;
- cache.resolutionLocation = gl.getUniformLocation(program, 'u_resolution');
- cache.scaleLocation = gl.getUniformLocation(program, 'u_scale');
- cache.offsetLocation = gl.getUniformLocation(program, 'u_offset');
- cache.positionLocation = gl.getAttribLocation(program, 'a_position');
- cache.colorLocation = gl.getAttribLocation(program, 'a_color');
+ cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
+ cache.scaleLocation = gl.getUniformLocation(program, "u_scale");
+ cache.offsetLocation = gl.getUniformLocation(program, "u_offset");
+ cache.positionLocation = gl.getAttribLocation(program, "a_position");
+ cache.colorLocation = gl.getAttribLocation(program, "a_color");
figuresCache = cache;
}
@@ -18777,50 +9374,49 @@ var WebGLUtils = function WebGLUtilsClosure() {
initFiguresGL();
}
- var cache = figuresCache,
- canvas = cache.canvas,
- gl = cache.gl;
+ const cache = figuresCache,
+ canvas = cache.canvas,
+ gl = cache.gl;
canvas.width = width;
canvas.height = height;
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
gl.uniform2f(cache.resolutionLocation, width, height);
- var count = 0;
- var i, ii, rows;
+ let count = 0;
- for (i = 0, ii = figures.length; i < ii; i++) {
+ for (let i = 0, ii = figures.length; i < ii; i++) {
switch (figures[i].type) {
- case 'lattice':
- rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
+ case "lattice":
+ const rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;
break;
- case 'triangles':
+ case "triangles":
count += figures[i].coords.length;
break;
}
}
- var coords = new Float32Array(count * 2);
- var colors = new Uint8Array(count * 3);
- var coordsMap = context.coords,
- colorsMap = context.colors;
- var pIndex = 0,
+ const coords = new Float32Array(count * 2);
+ const colors = new Uint8Array(count * 3);
+ const coordsMap = context.coords,
+ colorsMap = context.colors;
+ let pIndex = 0,
cIndex = 0;
- for (i = 0, ii = figures.length; i < ii; i++) {
- var figure = figures[i],
- ps = figure.coords,
- cs = figure.colors;
+ for (let i = 0, ii = figures.length; i < ii; i++) {
+ const figure = figures[i],
+ ps = figure.coords,
+ cs = figure.colors;
switch (figure.type) {
- case 'lattice':
- var cols = figure.verticesPerRow;
- rows = ps.length / cols | 0;
+ case "lattice":
+ const cols = figure.verticesPerRow;
+ const rows = ps.length / cols | 0;
- for (var row = 1; row < rows; row++) {
- var offset = row * cols + 1;
+ for (let row = 1; row < rows; row++) {
+ let offset = row * cols + 1;
- for (var col = 1; col < cols; col++, offset++) {
+ for (let col = 1; col < cols; col++, offset++) {
coords[pIndex] = coordsMap[ps[offset - cols - 1]];
coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];
coords[pIndex + 2] = coordsMap[ps[offset - cols]];
@@ -18858,8 +9454,8 @@ var WebGLUtils = function WebGLUtilsClosure() {
break;
- case 'triangles':
- for (var j = 0, jj = ps.length; j < jj; j++) {
+ case "triangles":
+ for (let j = 0, jj = ps.length; j < jj; j++) {
coords[pIndex] = coordsMap[ps[j]];
coords[pIndex + 1] = coordsMap[ps[j] + 1];
colors[cIndex] = colorsMap[cs[j]];
@@ -18880,12 +9476,12 @@ var WebGLUtils = function WebGLUtilsClosure() {
}
gl.clear(gl.COLOR_BUFFER_BIT);
- var coordsBuffer = gl.createBuffer();
+ const coordsBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);
gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);
gl.enableVertexAttribArray(cache.positionLocation);
gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
- var colorsBuffer = gl.createBuffer();
+ const colorsBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);
gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);
gl.enableVertexAttribArray(cache.colorLocation);
@@ -18900,7 +9496,7 @@ var WebGLUtils = function WebGLUtilsClosure() {
}
return {
- tryInitGL: function tryInitGL() {
+ tryInitGL() {
try {
generateGL();
return !!currentGL;
@@ -18908,15 +9504,17 @@ var WebGLUtils = function WebGLUtilsClosure() {
return false;
},
- composeSMask: composeSMask,
- drawFigures: drawFigures,
- cleanup: function cleanup() {
- if (smaskCache && smaskCache.canvas) {
+
+ composeSMask,
+ drawFigures,
+
+ cleanup() {
+ if (smaskCache?.canvas) {
smaskCache.canvas.width = 0;
smaskCache.canvas.height = 0;
}
- if (figuresCache && figuresCache.canvas) {
+ if (figuresCache?.canvas) {
figuresCache.canvas.width = 0;
figuresCache.canvas.height = 0;
}
@@ -18924,38 +9522,1771 @@ var WebGLUtils = function WebGLUtilsClosure() {
smaskCache = null;
figuresCache = null;
}
+
};
}();
/***/ }),
-/* 194 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 19 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
+exports.AnnotationLayer = void 0;
+
+var _display_utils = __w_pdfjs_require__(1);
+
+var _util = __w_pdfjs_require__(2);
+
+var _annotation_storage = __w_pdfjs_require__(8);
+
+var _scripting_utils = __w_pdfjs_require__(20);
+
+class AnnotationElementFactory {
+ static create(parameters) {
+ const subtype = parameters.data.annotationType;
+
+ switch (subtype) {
+ case _util.AnnotationType.LINK:
+ return new LinkAnnotationElement(parameters);
+
+ case _util.AnnotationType.TEXT:
+ return new TextAnnotationElement(parameters);
+
+ case _util.AnnotationType.WIDGET:
+ const fieldType = parameters.data.fieldType;
+
+ switch (fieldType) {
+ case "Tx":
+ return new TextWidgetAnnotationElement(parameters);
+
+ case "Btn":
+ if (parameters.data.radioButton) {
+ return new RadioButtonWidgetAnnotationElement(parameters);
+ } else if (parameters.data.checkBox) {
+ return new CheckboxWidgetAnnotationElement(parameters);
+ }
+
+ return new PushButtonWidgetAnnotationElement(parameters);
+
+ case "Ch":
+ return new ChoiceWidgetAnnotationElement(parameters);
+ }
+
+ return new WidgetAnnotationElement(parameters);
+
+ case _util.AnnotationType.POPUP:
+ return new PopupAnnotationElement(parameters);
+
+ case _util.AnnotationType.FREETEXT:
+ return new FreeTextAnnotationElement(parameters);
+
+ case _util.AnnotationType.LINE:
+ return new LineAnnotationElement(parameters);
+
+ case _util.AnnotationType.SQUARE:
+ return new SquareAnnotationElement(parameters);
+
+ case _util.AnnotationType.CIRCLE:
+ return new CircleAnnotationElement(parameters);
+
+ case _util.AnnotationType.POLYLINE:
+ return new PolylineAnnotationElement(parameters);
+
+ case _util.AnnotationType.CARET:
+ return new CaretAnnotationElement(parameters);
+
+ case _util.AnnotationType.INK:
+ return new InkAnnotationElement(parameters);
+
+ case _util.AnnotationType.POLYGON:
+ return new PolygonAnnotationElement(parameters);
+
+ case _util.AnnotationType.HIGHLIGHT:
+ return new HighlightAnnotationElement(parameters);
+
+ case _util.AnnotationType.UNDERLINE:
+ return new UnderlineAnnotationElement(parameters);
+
+ case _util.AnnotationType.SQUIGGLY:
+ return new SquigglyAnnotationElement(parameters);
+
+ case _util.AnnotationType.STRIKEOUT:
+ return new StrikeOutAnnotationElement(parameters);
+
+ case _util.AnnotationType.STAMP:
+ return new StampAnnotationElement(parameters);
+
+ case _util.AnnotationType.FILEATTACHMENT:
+ return new FileAttachmentAnnotationElement(parameters);
+
+ default:
+ return new AnnotationElement(parameters);
+ }
+ }
+
+}
+
+class AnnotationElement {
+ constructor(parameters, {
+ isRenderable = false,
+ ignoreBorder = false,
+ createQuadrilaterals = false
+ } = {}) {
+ this.isRenderable = isRenderable;
+ this.data = parameters.data;
+ this.layer = parameters.layer;
+ this.page = parameters.page;
+ this.viewport = parameters.viewport;
+ this.linkService = parameters.linkService;
+ this.downloadManager = parameters.downloadManager;
+ this.imageResourcesPath = parameters.imageResourcesPath;
+ this.renderInteractiveForms = parameters.renderInteractiveForms;
+ this.svgFactory = parameters.svgFactory;
+ this.annotationStorage = parameters.annotationStorage;
+ this.enableScripting = parameters.enableScripting;
+ this.hasJSActions = parameters.hasJSActions;
+ this._mouseState = parameters.mouseState;
+
+ if (isRenderable) {
+ this.container = this._createContainer(ignoreBorder);
+ }
+
+ if (createQuadrilaterals) {
+ this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);
+ }
+ }
+
+ _createContainer(ignoreBorder = false) {
+ const data = this.data,
+ page = this.page,
+ viewport = this.viewport;
+ const container = document.createElement("section");
+ let width = data.rect[2] - data.rect[0];
+ let height = data.rect[3] - data.rect[1];
+ container.setAttribute("data-annotation-id", data.id);
+
+ 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]]);
+
+ container.style.transform = `matrix(${viewport.transform.join(",")})`;
+ container.style.transformOrigin = `${-rect[0]}px ${-rect[1]}px`;
+
+ if (!ignoreBorder && data.borderStyle.width > 0) {
+ container.style.borderWidth = `${data.borderStyle.width}px`;
+
+ if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
+ width = width - 2 * data.borderStyle.width;
+ height = height - 2 * data.borderStyle.width;
+ }
+
+ const horizontalRadius = data.borderStyle.horizontalCornerRadius;
+ const verticalRadius = data.borderStyle.verticalCornerRadius;
+
+ if (horizontalRadius > 0 || verticalRadius > 0) {
+ const radius = `${horizontalRadius}px / ${verticalRadius}px`;
+ container.style.borderRadius = radius;
+ }
+
+ switch (data.borderStyle.style) {
+ case _util.AnnotationBorderStyleType.SOLID:
+ container.style.borderStyle = "solid";
+ break;
+
+ case _util.AnnotationBorderStyleType.DASHED:
+ container.style.borderStyle = "dashed";
+ break;
+
+ case _util.AnnotationBorderStyleType.BEVELED:
+ (0, _util.warn)("Unimplemented border style: beveled");
+ break;
+
+ case _util.AnnotationBorderStyleType.INSET:
+ (0, _util.warn)("Unimplemented border style: inset");
+ break;
+
+ case _util.AnnotationBorderStyleType.UNDERLINE:
+ container.style.borderBottomStyle = "solid";
+ break;
+
+ default:
+ break;
+ }
+
+ if (data.color) {
+ container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
+ } else {
+ container.style.borderWidth = 0;
+ }
+ }
+
+ container.style.left = `${rect[0]}px`;
+ container.style.top = `${rect[1]}px`;
+ container.style.width = `${width}px`;
+ container.style.height = `${height}px`;
+ return container;
+ }
+
+ _createQuadrilaterals(ignoreBorder = false) {
+ if (!this.data.quadPoints) {
+ return null;
+ }
+
+ const quadrilaterals = [];
+ const savedRect = this.data.rect;
+
+ for (const quadPoint of this.data.quadPoints) {
+ this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];
+ quadrilaterals.push(this._createContainer(ignoreBorder));
+ }
+
+ this.data.rect = savedRect;
+ return quadrilaterals;
+ }
+
+ _createPopup(trigger, data) {
+ let container = this.container;
+
+ if (this.quadrilaterals) {
+ trigger = trigger || this.quadrilaterals;
+ container = this.quadrilaterals[0];
+ }
+
+ if (!trigger) {
+ trigger = document.createElement("div");
+ trigger.style.height = container.style.height;
+ trigger.style.width = container.style.width;
+ container.appendChild(trigger);
+ }
+
+ const popupElement = new PopupElement({
+ container,
+ trigger,
+ color: data.color,
+ title: data.title,
+ modificationDate: data.modificationDate,
+ contents: data.contents,
+ hideWrapper: true
+ });
+ const popup = popupElement.render();
+ popup.style.left = container.style.width;
+ container.appendChild(popup);
+ }
+
+ _renderQuadrilaterals(className) {
+ this.quadrilaterals.forEach(quadrilateral => {
+ quadrilateral.className = className;
+ });
+ return this.quadrilaterals;
+ }
+
+ render() {
+ (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
+ }
+
+}
+
+class LinkAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions["Mouse Up"] || parameters.data.actions["Mouse Down"]));
+ super(parameters, {
+ isRenderable,
+ createQuadrilaterals: true
+ });
+ }
+
+ render() {
+ const {
+ data,
+ linkService
+ } = this;
+ const link = document.createElement("a");
+
+ if (data.url) {
+ (0, _display_utils.addLinkAttributes)(link, {
+ url: data.url,
+ target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
+ rel: linkService.externalLinkRel,
+ enabled: linkService.externalLinkEnabled
+ });
+ } else if (data.action) {
+ this._bindNamedAction(link, data.action);
+ } else if (data.dest) {
+ this._bindLink(link, data.dest);
+ } else if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) {
+ this._bindJSAction(link, data);
+ } else {
+ this._bindLink(link, "");
+ }
+
+ if (this.quadrilaterals) {
+ return this._renderQuadrilaterals("linkAnnotation").map((quadrilateral, index) => {
+ const linkElement = index === 0 ? link : link.cloneNode();
+ quadrilateral.appendChild(linkElement);
+ return quadrilateral;
+ });
+ }
+
+ this.container.className = "linkAnnotation";
+ this.container.appendChild(link);
+ return this.container;
+ }
+
+ _bindLink(link, destination) {
+ link.href = this.linkService.getDestinationHash(destination);
+
+ link.onclick = () => {
+ if (destination) {
+ this.linkService.goToDestination(destination);
+ }
+
+ return false;
+ };
+
+ if (destination || destination === "") {
+ link.className = "internalLink";
+ }
+ }
+
+ _bindNamedAction(link, action) {
+ link.href = this.linkService.getAnchorUrl("");
+
+ link.onclick = () => {
+ this.linkService.executeNamedAction(action);
+ return false;
+ };
+
+ link.className = "internalLink";
+ }
+
+ _bindJSAction(link, data) {
+ link.href = this.linkService.getAnchorUrl("");
+ const map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]);
+
+ for (const name of Object.keys(data.actions)) {
+ const jsName = map.get(name);
+
+ if (!jsName) {
+ continue;
+ }
+
+ link[jsName] = () => {
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id: data.id,
+ name
+ }
+ });
+ return false;
+ };
+ }
+
+ link.className = "internalLink";
+ }
+
+}
+
+class TextAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable
+ });
+ }
+
+ render() {
+ this.container.className = "textAnnotation";
+ const image = document.createElement("img");
+ image.style.height = this.container.style.height;
+ image.style.width = this.container.style.width;
+ image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
+ image.alt = "[{{type}} Annotation]";
+ image.dataset.l10nId = "text_annotation_type";
+ image.dataset.l10nArgs = JSON.stringify({
+ type: this.data.name
+ });
+
+ if (!this.data.hasPopup) {
+ this._createPopup(image, this.data);
+ }
+
+ this.container.appendChild(image);
+ return this.container;
+ }
+
+}
+
+class WidgetAnnotationElement extends AnnotationElement {
+ render() {
+ if (this.data.alternativeText) {
+ this.container.title = this.data.alternativeText;
+ }
+
+ return this.container;
+ }
+
+ _getKeyModifier(event) {
+ return navigator.platform.includes("Win") && event.ctrlKey || navigator.platform.includes("Mac") && event.metaKey;
+ }
+
+ _setEventListener(element, baseName, eventName, valueGetter) {
+ if (baseName.includes("mouse")) {
+ element.addEventListener(baseName, event => {
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id: this.data.id,
+ name: eventName,
+ value: valueGetter(event),
+ shift: event.shiftKey,
+ modifier: this._getKeyModifier(event)
+ }
+ });
+ });
+ } else {
+ element.addEventListener(baseName, event => {
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id: this.data.id,
+ name: eventName,
+ value: event.target.checked
+ }
+ });
+ });
+ }
+ }
+
+ _setEventListeners(element, names, getter) {
+ for (const [baseName, eventName] of names) {
+ if (eventName === "Action" || this.data.actions?.[eventName]) {
+ this._setEventListener(element, baseName, eventName, getter);
+ }
+ }
+ }
+
+}
+
+class TextWidgetAnnotationElement extends WidgetAnnotationElement {
+ constructor(parameters) {
+ const isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
+ super(parameters, {
+ isRenderable
+ });
+ }
+
+ render() {
+ const storage = this.annotationStorage;
+ const id = this.data.id;
+ this.container.className = "textWidgetAnnotation";
+ let element = null;
+
+ if (this.renderInteractiveForms) {
+ const textContent = storage.getOrCreateValue(id, {
+ value: this.data.fieldValue
+ }).value;
+ const elementData = {
+ userValue: null,
+ formattedValue: null,
+ beforeInputSelectionRange: null,
+ beforeInputValue: null
+ };
+
+ if (this.data.multiLine) {
+ element = document.createElement("textarea");
+ element.textContent = textContent;
+ } else {
+ element = document.createElement("input");
+ element.type = "text";
+ element.setAttribute("value", textContent);
+ }
+
+ elementData.userValue = textContent;
+ element.setAttribute("id", id);
+ element.addEventListener("input", function (event) {
+ storage.setValue(id, {
+ value: event.target.value
+ });
+ });
+
+ let blurListener = event => {
+ if (elementData.formattedValue) {
+ event.target.value = elementData.formattedValue;
+ }
+
+ event.target.setSelectionRange(0, 0);
+ elementData.beforeInputSelectionRange = null;
+ };
+
+ if (this.enableScripting && this.hasJSActions) {
+ element.addEventListener("focus", event => {
+ if (elementData.userValue) {
+ event.target.value = elementData.userValue;
+ }
+ });
+ element.addEventListener("updatefromsandbox", function (event) {
+ const {
+ detail
+ } = event;
+ const actions = {
+ value() {
+ elementData.userValue = detail.value || "";
+ storage.setValue(id, {
+ value: elementData.userValue.toString()
+ });
+
+ if (!elementData.formattedValue) {
+ event.target.value = elementData.userValue;
+ }
+ },
+
+ valueAsString() {
+ elementData.formattedValue = detail.valueAsString || "";
+
+ if (event.target !== document.activeElement) {
+ event.target.value = elementData.formattedValue;
+ }
+
+ storage.setValue(id, {
+ formattedValue: elementData.formattedValue
+ });
+ },
+
+ focus() {
+ setTimeout(() => event.target.focus({
+ preventScroll: false
+ }), 0);
+ },
+
+ userName() {
+ event.target.title = detail.userName;
+ },
+
+ hidden() {
+ event.target.style.visibility = detail.hidden ? "hidden" : "visible";
+ storage.setValue(id, {
+ hidden: detail.hidden
+ });
+ },
+
+ editable() {
+ event.target.disabled = !detail.editable;
+ },
+
+ selRange() {
+ const [selStart, selEnd] = detail.selRange;
+
+ if (selStart >= 0 && selEnd < event.target.value.length) {
+ event.target.setSelectionRange(selStart, selEnd);
+ }
+ },
+
+ strokeColor() {
+ const color = detail.strokeColor;
+ event.target.style.color = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));
+ }
+
+ };
+ Object.keys(detail).filter(name => name in actions).forEach(name => actions[name]());
+ });
+
+ if (this.data.actions) {
+ element.addEventListener("keydown", event => {
+ elementData.beforeInputValue = event.target.value;
+ let commitKey = -1;
+
+ if (event.key === "Escape") {
+ commitKey = 0;
+ } else if (event.key === "Enter") {
+ commitKey = 2;
+ } else if (event.key === "Tab") {
+ commitKey = 3;
+ }
+
+ if (commitKey === -1) {
+ return;
+ }
+
+ elementData.userValue = event.target.value;
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id,
+ name: "Keystroke",
+ value: event.target.value,
+ willCommit: true,
+ commitKey,
+ selStart: event.target.selectionStart,
+ selEnd: event.target.selectionEnd
+ }
+ });
+ });
+ const _blurListener = blurListener;
+ blurListener = null;
+ element.addEventListener("blur", event => {
+ if (this._mouseState.isDown) {
+ elementData.userValue = event.target.value;
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id,
+ name: "Keystroke",
+ value: event.target.value,
+ willCommit: true,
+ commitKey: 1,
+ selStart: event.target.selectionStart,
+ selEnd: event.target.selectionEnd
+ }
+ });
+ }
+
+ _blurListener(event);
+ });
+ element.addEventListener("mousedown", event => {
+ elementData.beforeInputValue = event.target.value;
+ elementData.beforeInputSelectionRange = null;
+ });
+ element.addEventListener("keyup", event => {
+ if (event.target.selectionStart === event.target.selectionEnd) {
+ elementData.beforeInputSelectionRange = null;
+ }
+ });
+ element.addEventListener("select", event => {
+ elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd];
+ });
+
+ if ("Keystroke" in this.data.actions) {
+ element.addEventListener("input", event => {
+ let selStart = -1;
+ let selEnd = -1;
+
+ if (elementData.beforeInputSelectionRange) {
+ [selStart, selEnd] = elementData.beforeInputSelectionRange;
+ }
+
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id,
+ name: "Keystroke",
+ value: elementData.beforeInputValue,
+ change: event.data,
+ willCommit: false,
+ selStart,
+ selEnd
+ }
+ });
+ });
+ }
+
+ this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.value);
+ }
+ }
+
+ if (blurListener) {
+ element.addEventListener("blur", blurListener);
+ }
+
+ element.disabled = this.data.readOnly;
+ element.name = this.data.fieldName;
+
+ if (this.data.maxLen !== null) {
+ element.maxLength = this.data.maxLen;
+ }
+
+ if (this.data.comb) {
+ const fieldWidth = this.data.rect[2] - this.data.rect[0];
+ const combWidth = fieldWidth / this.data.maxLen;
+ element.classList.add("comb");
+ element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;
+ }
+ } else {
+ element = document.createElement("div");
+ element.textContent = this.data.fieldValue;
+ element.style.verticalAlign = "middle";
+ element.style.display = "table-cell";
+ }
+
+ this._setTextStyle(element);
+
+ this.container.appendChild(element);
+ return this.container;
+ }
+
+ _setTextStyle(element) {
+ const TEXT_ALIGNMENT = ["left", "center", "right"];
+ const {
+ fontSize,
+ fontColor
+ } = this.data.defaultAppearanceData;
+ const style = element.style;
+
+ if (fontSize) {
+ style.fontSize = `${fontSize}px`;
+ }
+
+ style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);
+
+ if (this.data.textAlignment !== null) {
+ style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
+ }
+ }
+
+}
+
+class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {
+ constructor(parameters) {
+ super(parameters, {
+ isRenderable: parameters.renderInteractiveForms
+ });
+ }
+
+ render() {
+ const storage = this.annotationStorage;
+ const data = this.data;
+ const id = data.id;
+ const value = storage.getOrCreateValue(id, {
+ value: data.fieldValue && data.fieldValue !== "Off"
+ }).value;
+ this.container.className = "buttonWidgetAnnotation checkBox";
+ const element = document.createElement("input");
+ element.disabled = data.readOnly;
+ element.type = "checkbox";
+ element.name = this.data.fieldName;
+
+ if (value) {
+ element.setAttribute("checked", true);
+ }
+
+ element.setAttribute("id", id);
+ element.addEventListener("change", function (event) {
+ const name = event.target.name;
+
+ for (const checkbox of document.getElementsByName(name)) {
+ if (checkbox !== event.target) {
+ checkbox.checked = false;
+ storage.setValue(checkbox.parentNode.getAttribute("data-annotation-id"), {
+ value: false
+ });
+ }
+ }
+
+ storage.setValue(id, {
+ value: event.target.checked
+ });
+ });
+
+ if (this.enableScripting && this.hasJSActions) {
+ element.addEventListener("updatefromsandbox", event => {
+ const {
+ detail
+ } = event;
+ const actions = {
+ value() {
+ event.target.checked = detail.value !== "Off";
+ storage.setValue(id, {
+ value: event.target.checked
+ });
+ },
+
+ focus() {
+ setTimeout(() => event.target.focus({
+ preventScroll: false
+ }), 0);
+ },
+
+ hidden() {
+ event.target.style.visibility = detail.hidden ? "hidden" : "visible";
+ storage.setValue(id, {
+ hidden: detail.hidden
+ });
+ },
+
+ editable() {
+ event.target.disabled = !detail.editable;
+ }
+
+ };
+ Object.keys(detail).filter(name => name in actions).forEach(name => actions[name]());
+ });
+
+ this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked);
+ }
+
+ this.container.appendChild(element);
+ return this.container;
+ }
+
+}
+
+class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {
+ constructor(parameters) {
+ super(parameters, {
+ isRenderable: parameters.renderInteractiveForms
+ });
+ }
+
+ render() {
+ this.container.className = "buttonWidgetAnnotation radioButton";
+ const storage = this.annotationStorage;
+ const data = this.data;
+ const id = data.id;
+ const value = storage.getOrCreateValue(id, {
+ value: data.fieldValue === data.buttonValue
+ }).value;
+ const element = document.createElement("input");
+ element.disabled = data.readOnly;
+ element.type = "radio";
+ element.name = data.fieldName;
+
+ if (value) {
+ element.setAttribute("checked", true);
+ }
+
+ element.setAttribute("pdfButtonValue", data.buttonValue);
+ element.setAttribute("id", id);
+ element.addEventListener("change", function (event) {
+ const {
+ target
+ } = event;
+
+ for (const radio of document.getElementsByName(target.name)) {
+ if (radio !== target) {
+ storage.setValue(radio.getAttribute("id"), {
+ value: false
+ });
+ }
+ }
+
+ storage.setValue(id, {
+ value: target.checked
+ });
+ });
+
+ if (this.enableScripting && this.hasJSActions) {
+ element.addEventListener("updatefromsandbox", event => {
+ const {
+ detail
+ } = event;
+ const actions = {
+ value() {
+ const fieldValue = detail.value;
+
+ for (const radio of document.getElementsByName(event.target.name)) {
+ const radioId = radio.getAttribute("id");
+
+ if (fieldValue === radio.getAttribute("pdfButtonValue")) {
+ radio.setAttribute("checked", true);
+ storage.setValue(radioId, {
+ value: true
+ });
+ } else {
+ storage.setValue(radioId, {
+ value: false
+ });
+ }
+ }
+ },
+
+ focus() {
+ setTimeout(() => event.target.focus({
+ preventScroll: false
+ }), 0);
+ },
+
+ hidden() {
+ event.target.style.visibility = detail.hidden ? "hidden" : "visible";
+ storage.setValue(id, {
+ hidden: detail.hidden
+ });
+ },
+
+ editable() {
+ event.target.disabled = !detail.editable;
+ }
+
+ };
+ Object.keys(detail).filter(name => name in actions).forEach(name => actions[name]());
+ });
+
+ this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked);
+ }
+
+ this.container.appendChild(element);
+ return this.container;
+ }
+
+}
+
+class PushButtonWidgetAnnotationElement extends LinkAnnotationElement {
+ render() {
+ const container = super.render();
+ container.className = "buttonWidgetAnnotation pushButton";
+
+ if (this.data.alternativeText) {
+ container.title = this.data.alternativeText;
+ }
+
+ return container;
+ }
+
+}
+
+class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {
+ constructor(parameters) {
+ super(parameters, {
+ isRenderable: parameters.renderInteractiveForms
+ });
+ }
+
+ render() {
+ this.container.className = "choiceWidgetAnnotation";
+ const storage = this.annotationStorage;
+ const id = this.data.id;
+ storage.getOrCreateValue(id, {
+ value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined
+ });
+ const selectElement = document.createElement("select");
+ selectElement.disabled = this.data.readOnly;
+ selectElement.name = this.data.fieldName;
+ selectElement.setAttribute("id", id);
+
+ if (!this.data.combo) {
+ selectElement.size = this.data.options.length;
+
+ if (this.data.multiSelect) {
+ selectElement.multiple = true;
+ }
+ }
+
+ for (const option of this.data.options) {
+ const optionElement = document.createElement("option");
+ optionElement.textContent = option.displayValue;
+ optionElement.value = option.exportValue;
+
+ if (this.data.fieldValue.includes(option.exportValue)) {
+ optionElement.setAttribute("selected", true);
+ }
+
+ selectElement.appendChild(optionElement);
+ }
+
+ function getValue(event) {
+ const options = event.target.options;
+ return options[options.selectedIndex].value;
+ }
+
+ if (this.enableScripting && this.hasJSActions) {
+ selectElement.addEventListener("updatefromsandbox", event => {
+ const {
+ detail
+ } = event;
+ const actions = {
+ value() {
+ const options = event.target.options;
+ const value = detail.value;
+ const i = options.indexOf(value);
+
+ if (i !== -1) {
+ options.selectedIndex = i;
+ storage.setValue(id, {
+ value
+ });
+ }
+ },
+
+ focus() {
+ setTimeout(() => event.target.focus({
+ preventScroll: false
+ }), 0);
+ },
+
+ hidden() {
+ event.target.style.visibility = detail.hidden ? "hidden" : "visible";
+ storage.setValue(id, {
+ hidden: detail.hidden
+ });
+ },
+
+ editable() {
+ event.target.disabled = !detail.editable;
+ }
+
+ };
+ Object.keys(detail).filter(name => name in actions).forEach(name => actions[name]());
+ });
+ selectElement.addEventListener("input", event => {
+ const value = getValue(event);
+ storage.setValue(id, {
+ value
+ });
+ this.linkService.eventBus?.dispatch("dispatcheventinsandbox", {
+ source: this,
+ detail: {
+ id,
+ name: "Keystroke",
+ changeEx: value,
+ willCommit: true,
+ commitKey: 1,
+ keyDown: false
+ }
+ });
+ });
+
+ this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], event => event.target.checked);
+ } else {
+ selectElement.addEventListener("input", function (event) {
+ storage.setValue(id, {
+ value: getValue(event)
+ });
+ });
+ }
+
+ this.container.appendChild(selectElement);
+ return this.container;
+ }
+
+}
+
+class PopupAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable
+ });
+ }
+
+ render() {
+ const IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
+ this.container.className = "popupAnnotation";
+
+ if (IGNORE_TYPES.includes(this.data.parentType)) {
+ return this.container;
+ }
+
+ const selector = `[data-annotation-id="${this.data.parentId}"]`;
+ const parentElements = this.layer.querySelectorAll(selector);
+
+ if (parentElements.length === 0) {
+ return this.container;
+ }
+
+ const popup = new PopupElement({
+ container: this.container,
+ trigger: Array.from(parentElements),
+ color: this.data.color,
+ title: this.data.title,
+ modificationDate: this.data.modificationDate,
+ contents: this.data.contents
+ });
+ const page = this.page;
+
+ const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);
+
+ const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];
+ const popupTop = rect[1];
+ this.container.style.transformOrigin = `${-popupLeft}px ${-popupTop}px`;
+ this.container.style.left = `${popupLeft}px`;
+ this.container.style.top = `${popupTop}px`;
+ this.container.appendChild(popup.render());
+ return this.container;
+ }
+
+}
+
+class PopupElement {
+ constructor(parameters) {
+ this.container = parameters.container;
+ this.trigger = parameters.trigger;
+ this.color = parameters.color;
+ this.title = parameters.title;
+ this.modificationDate = parameters.modificationDate;
+ this.contents = parameters.contents;
+ this.hideWrapper = parameters.hideWrapper || false;
+ this.pinned = false;
+ }
+
+ render() {
+ const BACKGROUND_ENLIGHT = 0.7;
+ const wrapper = document.createElement("div");
+ wrapper.className = "popupWrapper";
+ this.hideElement = this.hideWrapper ? wrapper : this.container;
+ this.hideElement.setAttribute("hidden", true);
+ const popup = document.createElement("div");
+ popup.className = "popup";
+ const color = this.color;
+
+ if (color) {
+ const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
+ const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
+ const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
+ popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);
+ }
+
+ const title = document.createElement("h1");
+ title.textContent = this.title;
+ popup.appendChild(title);
+
+ const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
+
+ if (dateObject) {
+ const modificationDate = document.createElement("span");
+ modificationDate.textContent = "{{date}}, {{time}}";
+ modificationDate.dataset.l10nId = "annotation_date_string";
+ modificationDate.dataset.l10nArgs = JSON.stringify({
+ date: dateObject.toLocaleDateString(),
+ time: dateObject.toLocaleTimeString()
+ });
+ popup.appendChild(modificationDate);
+ }
+
+ const contents = this._formatContents(this.contents);
+
+ popup.appendChild(contents);
+
+ if (!Array.isArray(this.trigger)) {
+ this.trigger = [this.trigger];
+ }
+
+ this.trigger.forEach(element => {
+ element.addEventListener("click", this._toggle.bind(this));
+ element.addEventListener("mouseover", this._show.bind(this, false));
+ element.addEventListener("mouseout", this._hide.bind(this, false));
+ });
+ popup.addEventListener("click", this._hide.bind(this, true));
+ wrapper.appendChild(popup);
+ return wrapper;
+ }
+
+ _formatContents(contents) {
+ const p = document.createElement("p");
+ const lines = contents.split(/(?:\r\n?|\n)/);
+
+ for (let i = 0, ii = lines.length; i < ii; ++i) {
+ const line = lines[i];
+ p.appendChild(document.createTextNode(line));
+
+ if (i < ii - 1) {
+ p.appendChild(document.createElement("br"));
+ }
+ }
+
+ return p;
+ }
+
+ _toggle() {
+ if (this.pinned) {
+ this._hide(true);
+ } else {
+ this._show(true);
+ }
+ }
+
+ _show(pin = false) {
+ if (pin) {
+ this.pinned = true;
+ }
+
+ if (this.hideElement.hasAttribute("hidden")) {
+ this.hideElement.removeAttribute("hidden");
+ this.container.style.zIndex += 1;
+ }
+ }
+
+ _hide(unpin = true) {
+ if (unpin) {
+ this.pinned = false;
+ }
+
+ if (!this.hideElement.hasAttribute("hidden") && !this.pinned) {
+ this.hideElement.setAttribute("hidden", true);
+ this.container.style.zIndex -= 1;
+ }
+ }
+
+}
+
+class FreeTextAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ }
+
+ render() {
+ this.container.className = "freeTextAnnotation";
+
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ return this.container;
+ }
+
+}
+
+class LineAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ }
+
+ render() {
+ this.container.className = "lineAnnotation";
+ const data = this.data;
+ const width = data.rect[2] - data.rect[0];
+ const height = data.rect[3] - data.rect[1];
+ const svg = this.svgFactory.create(width, height);
+ const line = this.svgFactory.createElement("svg:line");
+ line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
+ line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
+ line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
+ line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
+ line.setAttribute("stroke-width", data.borderStyle.width || 1);
+ line.setAttribute("stroke", "transparent");
+ svg.appendChild(line);
+ this.container.append(svg);
+
+ this._createPopup(line, data);
+
+ return this.container;
+ }
+
+}
+
+class SquareAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ }
+
+ render() {
+ this.container.className = "squareAnnotation";
+ const data = this.data;
+ const width = data.rect[2] - data.rect[0];
+ const height = data.rect[3] - data.rect[1];
+ const svg = this.svgFactory.create(width, height);
+ const borderWidth = data.borderStyle.width;
+ const square = this.svgFactory.createElement("svg:rect");
+ square.setAttribute("x", borderWidth / 2);
+ square.setAttribute("y", borderWidth / 2);
+ square.setAttribute("width", width - borderWidth);
+ square.setAttribute("height", height - borderWidth);
+ square.setAttribute("stroke-width", borderWidth || 1);
+ square.setAttribute("stroke", "transparent");
+ square.setAttribute("fill", "none");
+ svg.appendChild(square);
+ this.container.append(svg);
+
+ this._createPopup(square, data);
+
+ return this.container;
+ }
+
+}
+
+class CircleAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ }
+
+ render() {
+ this.container.className = "circleAnnotation";
+ const data = this.data;
+ const width = data.rect[2] - data.rect[0];
+ const height = data.rect[3] - data.rect[1];
+ const svg = this.svgFactory.create(width, height);
+ const borderWidth = data.borderStyle.width;
+ const circle = this.svgFactory.createElement("svg:ellipse");
+ circle.setAttribute("cx", width / 2);
+ circle.setAttribute("cy", height / 2);
+ circle.setAttribute("rx", width / 2 - borderWidth / 2);
+ circle.setAttribute("ry", height / 2 - borderWidth / 2);
+ circle.setAttribute("stroke-width", borderWidth || 1);
+ circle.setAttribute("stroke", "transparent");
+ circle.setAttribute("fill", "none");
+ svg.appendChild(circle);
+ this.container.append(svg);
+
+ this._createPopup(circle, data);
+
+ return this.container;
+ }
+
+}
+
+class PolylineAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ this.containerClassName = "polylineAnnotation";
+ this.svgElementName = "svg:polyline";
+ }
+
+ render() {
+ this.container.className = this.containerClassName;
+ const data = this.data;
+ const width = data.rect[2] - data.rect[0];
+ const height = data.rect[3] - data.rect[1];
+ const svg = this.svgFactory.create(width, height);
+ let points = [];
+
+ for (const coordinate of data.vertices) {
+ const x = coordinate.x - data.rect[0];
+ const y = data.rect[3] - coordinate.y;
+ points.push(x + "," + y);
+ }
+
+ points = points.join(" ");
+ const polyline = this.svgFactory.createElement(this.svgElementName);
+ polyline.setAttribute("points", points);
+ polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
+ polyline.setAttribute("stroke", "transparent");
+ polyline.setAttribute("fill", "none");
+ svg.appendChild(polyline);
+ this.container.append(svg);
+
+ this._createPopup(polyline, data);
+
+ return this.container;
+ }
+
+}
+
+class PolygonAnnotationElement extends PolylineAnnotationElement {
+ constructor(parameters) {
+ super(parameters);
+ this.containerClassName = "polygonAnnotation";
+ this.svgElementName = "svg:polygon";
+ }
+
+}
+
+class CaretAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ }
+
+ render() {
+ this.container.className = "caretAnnotation";
+
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ return this.container;
+ }
+
+}
+
+class InkAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ this.containerClassName = "inkAnnotation";
+ this.svgElementName = "svg:polyline";
+ }
+
+ render() {
+ this.container.className = this.containerClassName;
+ const data = this.data;
+ const width = data.rect[2] - data.rect[0];
+ const height = data.rect[3] - data.rect[1];
+ const svg = this.svgFactory.create(width, height);
+
+ for (const inkList of data.inkLists) {
+ let points = [];
+
+ for (const coordinate of inkList) {
+ const x = coordinate.x - data.rect[0];
+ const y = data.rect[3] - coordinate.y;
+ points.push(`${x},${y}`);
+ }
+
+ points = points.join(" ");
+ const polyline = this.svgFactory.createElement(this.svgElementName);
+ polyline.setAttribute("points", points);
+ polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
+ polyline.setAttribute("stroke", "transparent");
+ polyline.setAttribute("fill", "none");
+
+ this._createPopup(polyline, data);
+
+ svg.appendChild(polyline);
+ }
+
+ this.container.append(svg);
+ return this.container;
+ }
+
+}
+
+class HighlightAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true,
+ createQuadrilaterals: true
+ });
+ }
+
+ render() {
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ if (this.quadrilaterals) {
+ return this._renderQuadrilaterals("highlightAnnotation");
+ }
+
+ this.container.className = "highlightAnnotation";
+ return this.container;
+ }
+
+}
+
+class UnderlineAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true,
+ createQuadrilaterals: true
+ });
+ }
+
+ render() {
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ if (this.quadrilaterals) {
+ return this._renderQuadrilaterals("underlineAnnotation");
+ }
+
+ this.container.className = "underlineAnnotation";
+ return this.container;
+ }
+
+}
+
+class SquigglyAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true,
+ createQuadrilaterals: true
+ });
+ }
+
+ render() {
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ if (this.quadrilaterals) {
+ return this._renderQuadrilaterals("squigglyAnnotation");
+ }
+
+ this.container.className = "squigglyAnnotation";
+ return this.container;
+ }
+
+}
+
+class StrikeOutAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true,
+ createQuadrilaterals: true
+ });
+ }
+
+ render() {
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ if (this.quadrilaterals) {
+ return this._renderQuadrilaterals("strikeoutAnnotation");
+ }
+
+ this.container.className = "strikeoutAnnotation";
+ return this.container;
+ }
+
+}
+
+class StampAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
+ super(parameters, {
+ isRenderable,
+ ignoreBorder: true
+ });
+ }
+
+ render() {
+ this.container.className = "stampAnnotation";
+
+ if (!this.data.hasPopup) {
+ this._createPopup(null, this.data);
+ }
+
+ return this.container;
+ }
+
+}
+
+class FileAttachmentAnnotationElement extends AnnotationElement {
+ constructor(parameters) {
+ super(parameters, {
+ isRenderable: true
+ });
+ const {
+ filename,
+ content
+ } = this.data.file;
+ this.filename = (0, _display_utils.getFilenameFromUrl)(filename);
+ this.content = content;
+ this.linkService.eventBus?.dispatch("fileattachmentannotation", {
+ source: this,
+ id: (0, _util.stringToPDFString)(filename),
+ filename,
+ content
+ });
+ }
+
+ render() {
+ this.container.className = "fileAttachmentAnnotation";
+ const trigger = document.createElement("div");
+ trigger.style.height = this.container.style.height;
+ trigger.style.width = this.container.style.width;
+ trigger.addEventListener("dblclick", this._download.bind(this));
+
+ if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
+ this._createPopup(trigger, this.data);
+ }
+
+ this.container.appendChild(trigger);
+ return this.container;
+ }
+
+ _download() {
+ if (!this.downloadManager) {
+ (0, _util.warn)("Download cannot be started due to unavailable download manager");
+ return;
+ }
+
+ this.downloadManager.downloadData(this.content, this.filename, "");
+ }
+
+}
+
+class AnnotationLayer {
+ static render(parameters) {
+ const sortedAnnotations = [],
+ popupAnnotations = [];
+
+ for (const data of parameters.annotations) {
+ if (!data) {
+ continue;
+ }
+
+ if (data.annotationType === _util.AnnotationType.POPUP) {
+ popupAnnotations.push(data);
+ continue;
+ }
+
+ sortedAnnotations.push(data);
+ }
+
+ if (popupAnnotations.length) {
+ sortedAnnotations.push(...popupAnnotations);
+ }
+
+ for (const data of sortedAnnotations) {
+ const element = AnnotationElementFactory.create({
+ data,
+ layer: parameters.div,
+ page: parameters.page,
+ viewport: parameters.viewport,
+ linkService: parameters.linkService,
+ downloadManager: parameters.downloadManager,
+ imageResourcesPath: parameters.imageResourcesPath || "",
+ renderInteractiveForms: typeof parameters.renderInteractiveForms === "boolean" ? parameters.renderInteractiveForms : true,
+ svgFactory: new _display_utils.DOMSVGFactory(),
+ annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),
+ enableScripting: parameters.enableScripting,
+ hasJSActions: parameters.hasJSActions,
+ mouseState: parameters.mouseState || {
+ isDown: false
+ }
+ });
+
+ if (element.isRenderable) {
+ const rendered = element.render();
+
+ if (data.hidden) {
+ rendered.style.visibility = "hidden";
+ }
+
+ if (Array.isArray(rendered)) {
+ for (const renderedElement of rendered) {
+ parameters.div.appendChild(renderedElement);
+ }
+ } else {
+ if (element instanceof PopupAnnotationElement) {
+ parameters.div.prepend(rendered);
+ } else {
+ parameters.div.appendChild(rendered);
+ }
+ }
+ }
+ }
+ }
+
+ static update(parameters) {
+ const transform = `matrix(${parameters.viewport.transform.join(",")})`;
+
+ for (const data of parameters.annotations) {
+ const elements = parameters.div.querySelectorAll(`[data-annotation-id="${data.id}"]`);
+
+ if (elements) {
+ elements.forEach(element => {
+ element.style.transform = transform;
+ });
+ }
+ }
+
+ parameters.div.removeAttribute("hidden");
+ }
+
+}
+
+exports.AnnotationLayer = AnnotationLayer;
+
+/***/ }),
+/* 20 */
+/***/ ((__unused_webpack_module, exports) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
+exports.ColorConverters = void 0;
+
+function makeColorComp(n) {
+ return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0");
+}
+
+class ColorConverters {
+ static CMYK_G([c, y, m, k]) {
+ return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];
+ }
+
+ static G_CMYK([g]) {
+ return ["CMYK", 0, 0, 0, 1 - g];
+ }
+
+ static G_RGB([g]) {
+ return ["RGB", g, g, g];
+ }
+
+ static G_HTML([g]) {
+ const G = makeColorComp(g);
+ return `#${G}${G}${G}`;
+ }
+
+ static RGB_G([r, g, b]) {
+ return ["G", 0.3 * r + 0.59 * g + 0.11 * b];
+ }
+
+ static RGB_HTML([r, g, b]) {
+ const R = makeColorComp(r);
+ const G = makeColorComp(g);
+ const B = makeColorComp(b);
+ return `#${R}${G}${B}`;
+ }
+
+ static T_HTML() {
+ return "#00000000";
+ }
+
+ static CMYK_RGB([c, y, m, k]) {
+ return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];
+ }
+
+ static CMYK_HTML(components) {
+ return this.RGB_HTML(this.CMYK_RGB(components));
+ }
+
+ static RGB_CMYK([r, g, b]) {
+ const c = 1 - r;
+ const m = 1 - g;
+ const y = 1 - b;
+ const k = Math.min(c, m, y);
+ return ["CMYK", c, m, y, k];
+ }
+
+}
+
+exports.ColorConverters = ColorConverters;
+
+/***/ }),
+/* 21 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
+
+
+
+Object.defineProperty(exports, "__esModule", ({
+ value: true
+}));
exports.renderTextLayer = void 0;
-var _util = __w_pdfjs_require__(1);
+var _util = __w_pdfjs_require__(2);
-var _global_scope = _interopRequireDefault(__w_pdfjs_require__(3));
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-var renderTextLayer = function renderTextLayerClosure() {
- var MAX_TEXT_DIVS_TO_RENDER = 100000;
- var NonWhitespaceRegexp = /\S/;
+const renderTextLayer = function renderTextLayerClosure() {
+ const MAX_TEXT_DIVS_TO_RENDER = 100000;
+ const NonWhitespaceRegexp = /\S/;
function isAllWhitespace(str) {
return !NonWhitespaceRegexp.test(str);
}
function appendText(task, geom, styles) {
- var textDiv = document.createElement('span');
- var textDivProperties = {
+ const textDiv = document.createElement("span");
+ const textDivProperties = {
angle: 0,
canvasWidth: 0,
isWhitespace: false,
@@ -18977,17 +11308,17 @@ var renderTextLayer = function renderTextLayerClosure() {
return;
}
- var tx = _util.Util.transform(task._viewport.transform, geom.transform);
+ const tx = _util.Util.transform(task._viewport.transform, geom.transform);
- var angle = Math.atan2(tx[1], tx[0]);
- var style = styles[geom.fontName];
+ let angle = Math.atan2(tx[1], tx[0]);
+ const style = styles[geom.fontName];
if (style.vertical) {
angle += Math.PI / 2;
}
- var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);
- var fontAscent = fontHeight;
+ const fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);
+ let fontAscent = fontHeight;
if (style.ascent) {
fontAscent = style.ascent * fontAscent;
@@ -18995,7 +11326,7 @@ var renderTextLayer = function renderTextLayerClosure() {
fontAscent = (1 + style.descent) * fontAscent;
}
- var left, top;
+ let left, top;
if (angle === 0) {
left = tx[4];
@@ -19005,9 +11336,9 @@ var renderTextLayer = function renderTextLayerClosure() {
top = tx[5] - fontAscent * Math.cos(angle);
}
- textDiv.style.left = "".concat(left, "px");
- textDiv.style.top = "".concat(top, "px");
- textDiv.style.fontSize = "".concat(fontHeight, "px");
+ textDiv.style.left = `${left}px`;
+ textDiv.style.top = `${top}px`;
+ textDiv.style.fontSize = `${fontHeight}px`;
textDiv.style.fontFamily = style.fontFamily;
textDiv.textContent = geom.str;
@@ -19019,7 +11350,20 @@ var renderTextLayer = function renderTextLayerClosure() {
textDivProperties.angle = angle * (180 / Math.PI);
}
+ let shouldScaleText = false;
+
if (geom.str.length > 1) {
+ shouldScaleText = true;
+ } else if (geom.transform[0] !== geom.transform[3]) {
+ const absScaleX = Math.abs(geom.transform[0]),
+ absScaleY = Math.abs(geom.transform[3]);
+
+ if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {
+ shouldScaleText = true;
+ }
+ }
+
+ if (shouldScaleText) {
if (style.vertical) {
textDivProperties.canvasWidth = geom.height * task._viewport.scale;
} else {
@@ -19034,7 +11378,7 @@ var renderTextLayer = function renderTextLayerClosure() {
}
if (task._enhanceTextSelection) {
- var angleCos = 1,
+ let angleCos = 1,
angleSin = 0;
if (angle !== 0) {
@@ -19042,9 +11386,9 @@ var renderTextLayer = function renderTextLayerClosure() {
angleSin = Math.sin(angle);
}
- var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
- var divHeight = fontHeight;
- var m, b;
+ const divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
+ const divHeight = fontHeight;
+ let m, b;
if (angle !== 0) {
m = [angleCos, angleSin, -angleSin, angleCos, left, top];
@@ -19060,7 +11404,7 @@ var renderTextLayer = function renderTextLayerClosure() {
bottom: b[3],
div: textDiv,
size: [divWidth, divHeight],
- m: m
+ m
});
}
}
@@ -19070,9 +11414,9 @@ var renderTextLayer = function renderTextLayerClosure() {
return;
}
- var textDivs = task._textDivs;
- var capability = task._capability;
- var textDivsLength = textDivs.length;
+ const textDivs = task._textDivs;
+ const capability = task._capability;
+ const textDivsLength = textDivs.length;
if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
task._renderingDone = true;
@@ -19081,7 +11425,7 @@ var renderTextLayer = function renderTextLayerClosure() {
}
if (!task._textContentStream) {
- for (var i = 0; i < textDivsLength; i++) {
+ for (let i = 0; i < textDivsLength; i++) {
task._layoutText(textDivs[i]);
}
}
@@ -19090,15 +11434,29 @@ var renderTextLayer = function renderTextLayerClosure() {
capability.resolve();
}
+ function findPositiveMin(ts, offset, count) {
+ let result = 0;
+
+ for (let i = 0; i < count; i++) {
+ const t = ts[offset++];
+
+ if (t > 0) {
+ result = result ? Math.min(t, result) : t;
+ }
+ }
+
+ return result;
+ }
+
function expand(task) {
- var bounds = task._bounds;
- var viewport = task._viewport;
- var expanded = expandBounds(viewport.width, viewport.height, bounds);
+ const bounds = task._bounds;
+ const viewport = task._viewport;
+ const expanded = expandBounds(viewport.width, viewport.height, bounds);
- for (var i = 0; i < expanded.length; i++) {
- var div = bounds[i].div;
+ for (let i = 0; i < expanded.length; i++) {
+ const div = bounds[i].div;
- var divProperties = task._textDivProperties.get(div);
+ const divProperties = task._textDivProperties.get(div);
if (divProperties.angle === 0) {
divProperties.paddingLeft = bounds[i].left - expanded[i].left;
@@ -19111,49 +11469,34 @@ var renderTextLayer = function renderTextLayerClosure() {
continue;
}
- var e = expanded[i],
- b = bounds[i];
- var m = b.m,
- c = m[0],
- s = m[1];
- var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
- var ts = new Float64Array(64);
- points.forEach(function (p, i) {
- var t = _util.Util.applyTransform(p, m);
+ const e = expanded[i],
+ b = bounds[i];
+ const m = b.m,
+ c = m[0],
+ s = m[1];
+ const points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
+ const ts = new Float64Array(64);
+ points.forEach(function (p, j) {
+ const t = _util.Util.applyTransform(p, m);
- ts[i + 0] = c && (e.left - t[0]) / c;
- ts[i + 4] = s && (e.top - t[1]) / s;
- ts[i + 8] = c && (e.right - t[0]) / c;
- ts[i + 12] = s && (e.bottom - t[1]) / s;
- ts[i + 16] = s && (e.left - t[0]) / -s;
- ts[i + 20] = c && (e.top - t[1]) / c;
- ts[i + 24] = s && (e.right - t[0]) / -s;
- ts[i + 28] = c && (e.bottom - t[1]) / c;
- ts[i + 32] = c && (e.left - t[0]) / -c;
- ts[i + 36] = s && (e.top - t[1]) / -s;
- ts[i + 40] = c && (e.right - t[0]) / -c;
- ts[i + 44] = s && (e.bottom - t[1]) / -s;
- ts[i + 48] = s && (e.left - t[0]) / s;
- ts[i + 52] = c && (e.top - t[1]) / -c;
- ts[i + 56] = s && (e.right - t[0]) / s;
- ts[i + 60] = c && (e.bottom - t[1]) / -c;
+ ts[j + 0] = c && (e.left - t[0]) / c;
+ ts[j + 4] = s && (e.top - t[1]) / s;
+ ts[j + 8] = c && (e.right - t[0]) / c;
+ ts[j + 12] = s && (e.bottom - t[1]) / s;
+ ts[j + 16] = s && (e.left - t[0]) / -s;
+ ts[j + 20] = c && (e.top - t[1]) / c;
+ ts[j + 24] = s && (e.right - t[0]) / -s;
+ ts[j + 28] = c && (e.bottom - t[1]) / c;
+ ts[j + 32] = c && (e.left - t[0]) / -c;
+ ts[j + 36] = s && (e.top - t[1]) / -s;
+ ts[j + 40] = c && (e.right - t[0]) / -c;
+ ts[j + 44] = s && (e.bottom - t[1]) / -s;
+ ts[j + 48] = s && (e.left - t[0]) / s;
+ ts[j + 52] = c && (e.top - t[1]) / -c;
+ ts[j + 56] = s && (e.right - t[0]) / s;
+ ts[j + 60] = c && (e.bottom - t[1]) / -c;
});
-
- var findPositiveMin = function findPositiveMin(ts, offset, count) {
- var result = 0;
-
- for (var i = 0; i < count; i++) {
- var t = ts[offset++];
-
- if (t > 0) {
- result = result ? Math.min(t, result) : t;
- }
- }
-
- return result;
- };
-
- var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
+ const boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;
divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;
divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;
@@ -19164,7 +11507,7 @@ var renderTextLayer = function renderTextLayerClosure() {
}
function expandBounds(width, height, boxes) {
- var bounds = boxes.map(function (box, i) {
+ const bounds = boxes.map(function (box, i) {
return {
x1: box.left,
y1: box.top,
@@ -19176,9 +11519,9 @@ var renderTextLayer = function renderTextLayerClosure() {
};
});
expandBoundsLTR(width, bounds);
- var expanded = new Array(boxes.length);
+ const expanded = new Array(boxes.length);
bounds.forEach(function (b) {
- var i = b.index;
+ const i = b.index;
expanded[i] = {
left: b.x1New,
top: 0,
@@ -19187,8 +11530,8 @@ var renderTextLayer = function renderTextLayerClosure() {
};
});
boxes.map(function (box, i) {
- var e = expanded[i],
- b = bounds[i];
+ const e = expanded[i],
+ b = bounds[i];
b.x1 = box.top;
b.y1 = width - e.right;
b.x2 = box.bottom;
@@ -19199,7 +11542,7 @@ var renderTextLayer = function renderTextLayerClosure() {
});
expandBoundsLTR(height, bounds);
bounds.forEach(function (b) {
- var i = b.index;
+ const i = b.index;
expanded[i].top = b.x1New;
expanded[i].bottom = b.x2New;
});
@@ -19210,7 +11553,7 @@ var renderTextLayer = function renderTextLayerClosure() {
bounds.sort(function (a, b) {
return a.x1 - b.x1 || a.index - b.index;
});
- var fakeBoundary = {
+ const fakeBoundary = {
x1: -Infinity,
y1: -Infinity,
x2: 0,
@@ -19219,33 +11562,33 @@ var renderTextLayer = function renderTextLayerClosure() {
x1New: 0,
x2New: 0
};
- var horizon = [{
+ const horizon = [{
start: -Infinity,
end: Infinity,
boundary: fakeBoundary
}];
bounds.forEach(function (boundary) {
- var i = 0;
+ let i = 0;
while (i < horizon.length && horizon[i].end <= boundary.y1) {
i++;
}
- var j = horizon.length - 1;
+ let j = horizon.length - 1;
while (j >= 0 && horizon[j].start >= boundary.y2) {
j--;
}
- var horizonPart, affectedBoundary;
- var q,
+ let horizonPart, affectedBoundary;
+ let q,
k,
maxXNew = -Infinity;
for (q = i; q <= j; q++) {
horizonPart = horizon[q];
affectedBoundary = horizonPart.boundary;
- var xNew;
+ let xNew;
if (affectedBoundary.x2 > boundary.x1) {
xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;
@@ -19279,13 +11622,13 @@ var renderTextLayer = function renderTextLayerClosure() {
}
}
- var changedHorizon = [],
- lastBoundary = null;
+ const changedHorizon = [];
+ let lastBoundary = null;
for (q = i; q <= j; q++) {
horizonPart = horizon[q];
affectedBoundary = horizonPart.boundary;
- var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;
+ const useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;
if (lastBoundary === useBoundary) {
changedHorizon[changedHorizon.length - 1].end = horizonPart.end;
@@ -19325,7 +11668,7 @@ var renderTextLayer = function renderTextLayerClosure() {
continue;
}
- var used = false;
+ let used = false;
for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {
used = horizon[k].boundary === affectedBoundary;
@@ -19347,7 +11690,7 @@ var renderTextLayer = function renderTextLayerClosure() {
Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));
});
horizon.forEach(function (horizonPart) {
- var affectedBoundary = horizonPart.boundary;
+ const affectedBoundary = horizonPart.boundary;
if (affectedBoundary.x2New === undefined) {
affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);
@@ -19355,24 +11698,24 @@ var renderTextLayer = function renderTextLayerClosure() {
});
}
- function TextLayerRenderTask(_ref) {
- var _this = this;
-
- var textContent = _ref.textContent,
- textContentStream = _ref.textContentStream,
- container = _ref.container,
- viewport = _ref.viewport,
- textDivs = _ref.textDivs,
- textContentItemsStr = _ref.textContentItemsStr,
- enhanceTextSelection = _ref.enhanceTextSelection;
+ function TextLayerRenderTask({
+ textContent,
+ textContentStream,
+ container,
+ viewport,
+ textDivs,
+ textContentItemsStr,
+ enhanceTextSelection
+ }) {
this._textContent = textContent;
this._textContentStream = textContentStream;
this._container = container;
+ this._document = container.ownerDocument;
this._viewport = viewport;
this._textDivs = textDivs || [];
this._textContentItemsStr = textContentItemsStr || [];
this._enhanceTextSelection = !!enhanceTextSelection;
- this._fontInspectorEnabled = !!(_global_scope["default"].FontInspector && _global_scope["default"].FontInspector.enabled);
+ this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;
this._reader = null;
this._layoutTextLastFontSize = null;
this._layoutTextLastFontFamily = null;
@@ -19384,13 +11727,13 @@ var renderTextLayer = function renderTextLayerClosure() {
this._renderTimer = null;
this._bounds = [];
- this._capability.promise["finally"](function () {
- if (_this._layoutTextCtx) {
- _this._layoutTextCtx.canvas.width = 0;
- _this._layoutTextCtx.canvas.height = 0;
- _this._layoutTextCtx = null;
+ this._capability.promise.finally(() => {
+ if (this._layoutTextCtx) {
+ this._layoutTextCtx.canvas.width = 0;
+ this._layoutTextCtx.canvas.height = 0;
+ this._layoutTextCtx = null;
}
- })["catch"](function () {});
+ }).catch(() => {});
}
TextLayerRenderTask.prototype = {
@@ -19402,7 +11745,7 @@ var renderTextLayer = function renderTextLayerClosure() {
this._canceled = true;
if (this._reader) {
- this._reader.cancel(new _util.AbortException('TextLayer task cancelled.'));
+ this._reader.cancel(new _util.AbortException("TextLayer task cancelled."));
this._reader = null;
}
@@ -19412,46 +11755,50 @@ var renderTextLayer = function renderTextLayerClosure() {
this._renderTimer = null;
}
- this._capability.reject(new Error('TextLayer task cancelled.'));
+ this._capability.reject(new Error("TextLayer task cancelled."));
},
- _processItems: function _processItems(items, styleCache) {
- for (var i = 0, len = items.length; i < len; i++) {
+
+ _processItems(items, styleCache) {
+ for (let i = 0, len = items.length; i < len; i++) {
this._textContentItemsStr.push(items[i].str);
appendText(this, items[i], styleCache);
}
},
- _layoutText: function _layoutText(textDiv) {
- var textDivProperties = this._textDivProperties.get(textDiv);
+
+ _layoutText(textDiv) {
+ const textDivProperties = this._textDivProperties.get(textDiv);
if (textDivProperties.isWhitespace) {
return;
}
- var transform = '';
+ let transform = "";
if (textDivProperties.canvasWidth !== 0) {
- var _textDiv$style = textDiv.style,
- fontSize = _textDiv$style.fontSize,
- fontFamily = _textDiv$style.fontFamily;
+ const {
+ fontSize,
+ fontFamily
+ } = textDiv.style;
if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
- this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
+ this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;
this._layoutTextLastFontSize = fontSize;
this._layoutTextLastFontFamily = fontFamily;
}
- var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
- width = _this$_layoutTextCtx$.width;
+ const {
+ width
+ } = this._layoutTextCtx.measureText(textDiv.textContent);
if (width > 0) {
textDivProperties.scale = textDivProperties.canvasWidth / width;
- transform = "scaleX(".concat(textDivProperties.scale, ")");
+ transform = `scaleX(${textDivProperties.scale})`;
}
}
if (textDivProperties.angle !== 0) {
- transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
+ transform = `rotate(${textDivProperties.angle}deg) ${transform}`;
}
if (transform.length > 0) {
@@ -19466,30 +11813,31 @@ var renderTextLayer = function renderTextLayerClosure() {
this._container.appendChild(textDiv);
},
- _render: function TextLayer_render(timeout) {
- var _this2 = this;
- var capability = (0, _util.createPromiseCapability)();
- var styleCache = Object.create(null);
- var canvas = document.createElement('canvas');
+ _render: function TextLayer_render(timeout) {
+ const capability = (0, _util.createPromiseCapability)();
+ let styleCache = Object.create(null);
+
+ const canvas = this._document.createElement("canvas");
+
canvas.mozOpaque = true;
- this._layoutTextCtx = canvas.getContext('2d', {
+ this._layoutTextCtx = canvas.getContext("2d", {
alpha: false
});
if (this._textContent) {
- var textItems = this._textContent.items;
- var textStyles = this._textContent.styles;
+ const textItems = this._textContent.items;
+ const textStyles = this._textContent.styles;
this._processItems(textItems, textStyles);
capability.resolve();
} else if (this._textContentStream) {
- var pump = function pump() {
- _this2._reader.read().then(function (_ref2) {
- var value = _ref2.value,
- done = _ref2.done;
-
+ const pump = () => {
+ this._reader.read().then(({
+ value,
+ done
+ }) => {
if (done) {
capability.resolve();
return;
@@ -19497,7 +11845,7 @@ var renderTextLayer = function renderTextLayerClosure() {
Object.assign(styleCache, value.styles);
- _this2._processItems(value.items, styleCache);
+ this._processItems(value.items, styleCache);
pump();
}, capability.reject);
@@ -19506,18 +11854,18 @@ var renderTextLayer = function renderTextLayerClosure() {
this._reader = this._textContentStream.getReader();
pump();
} else {
- throw new Error('Neither "textContent" nor "textContentStream"' + ' parameters specified.');
+ throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified.");
}
- capability.promise.then(function () {
+ capability.promise.then(() => {
styleCache = null;
if (!timeout) {
- render(_this2);
+ render(this);
} else {
- _this2._renderTimer = setTimeout(function () {
- render(_this2);
- _this2._renderTimer = null;
+ this._renderTimer = setTimeout(() => {
+ render(this);
+ this._renderTimer = null;
}, timeout);
}
}, this._capability.reject);
@@ -19532,14 +11880,13 @@ var renderTextLayer = function renderTextLayerClosure() {
this._bounds = null;
}
- var NO_PADDING = '0 0 0 0';
- var transformBuf = [],
- paddingBuf = [];
+ const transformBuf = [],
+ paddingBuf = [];
- for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
- var div = this._textDivs[i];
+ for (let i = 0, ii = this._textDivs.length; i < ii; i++) {
+ const div = this._textDivs[i];
- var divProps = this._textDivProperties.get(div);
+ const divProps = this._textDivProperties.get(div);
if (divProps.isWhitespace) {
continue;
@@ -19554,39 +11901,35 @@ var renderTextLayer = function renderTextLayerClosure() {
}
if (divProps.paddingTop > 0) {
- paddingBuf.push("".concat(divProps.paddingTop, "px"));
- transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
+ paddingBuf.push(`${divProps.paddingTop}px`);
+ transformBuf.push(`translateY(${-divProps.paddingTop}px)`);
} else {
paddingBuf.push(0);
}
if (divProps.paddingRight > 0) {
- paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
+ paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);
} else {
paddingBuf.push(0);
}
if (divProps.paddingBottom > 0) {
- paddingBuf.push("".concat(divProps.paddingBottom, "px"));
+ paddingBuf.push(`${divProps.paddingBottom}px`);
} else {
paddingBuf.push(0);
}
if (divProps.paddingLeft > 0) {
- paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
- transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
+ paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);
+ transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);
} else {
paddingBuf.push(0);
}
- var padding = paddingBuf.join(' ');
-
- if (padding !== NO_PADDING) {
- div.style.padding = padding;
- }
+ div.style.padding = paddingBuf.join(" ");
if (transformBuf.length) {
- div.style.transform = transformBuf.join(' ');
+ div.style.transform = transformBuf.join(" ");
}
} else {
div.style.padding = null;
@@ -19597,7 +11940,7 @@ var renderTextLayer = function renderTextLayerClosure() {
};
function renderTextLayer(renderParameters) {
- var task = new TextLayerRenderTask({
+ const task = new TextLayerRenderTask({
textContent: renderParameters.textContent,
textContentStream: renderParameters.textContentStream,
container: renderParameters.container,
@@ -19618,1617 +11961,49 @@ var renderTextLayer = function renderTextLayerClosure() {
exports.renderTextLayer = renderTextLayer;
/***/ }),
-/* 195 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 22 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
-exports.AnnotationLayer = void 0;
-
-var _display_utils = __w_pdfjs_require__(183);
-
-var _util = __w_pdfjs_require__(1);
-
-function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
-
-function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
-
-function _typeof(obj) { 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); }
-
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
-
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
-
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var AnnotationElementFactory =
-/*#__PURE__*/
-function () {
- function AnnotationElementFactory() {
- _classCallCheck(this, AnnotationElementFactory);
- }
-
- _createClass(AnnotationElementFactory, null, [{
- key: "create",
- value: function create(parameters) {
- var subtype = parameters.data.annotationType;
-
- switch (subtype) {
- case _util.AnnotationType.LINK:
- return new LinkAnnotationElement(parameters);
-
- case _util.AnnotationType.TEXT:
- return new TextAnnotationElement(parameters);
-
- case _util.AnnotationType.WIDGET:
- var fieldType = parameters.data.fieldType;
-
- switch (fieldType) {
- case 'Tx':
- return new TextWidgetAnnotationElement(parameters);
-
- case 'Btn':
- if (parameters.data.radioButton) {
- return new RadioButtonWidgetAnnotationElement(parameters);
- } else if (parameters.data.checkBox) {
- return new CheckboxWidgetAnnotationElement(parameters);
- }
-
- return new PushButtonWidgetAnnotationElement(parameters);
-
- case 'Ch':
- return new ChoiceWidgetAnnotationElement(parameters);
- }
-
- return new WidgetAnnotationElement(parameters);
-
- case _util.AnnotationType.POPUP:
- return new PopupAnnotationElement(parameters);
-
- case _util.AnnotationType.FREETEXT:
- return new FreeTextAnnotationElement(parameters);
-
- case _util.AnnotationType.LINE:
- return new LineAnnotationElement(parameters);
-
- case _util.AnnotationType.SQUARE:
- return new SquareAnnotationElement(parameters);
-
- case _util.AnnotationType.CIRCLE:
- return new CircleAnnotationElement(parameters);
-
- case _util.AnnotationType.POLYLINE:
- return new PolylineAnnotationElement(parameters);
-
- case _util.AnnotationType.CARET:
- return new CaretAnnotationElement(parameters);
-
- case _util.AnnotationType.INK:
- return new InkAnnotationElement(parameters);
-
- case _util.AnnotationType.POLYGON:
- return new PolygonAnnotationElement(parameters);
-
- case _util.AnnotationType.HIGHLIGHT:
- return new HighlightAnnotationElement(parameters);
-
- case _util.AnnotationType.UNDERLINE:
- return new UnderlineAnnotationElement(parameters);
-
- case _util.AnnotationType.SQUIGGLY:
- return new SquigglyAnnotationElement(parameters);
-
- case _util.AnnotationType.STRIKEOUT:
- return new StrikeOutAnnotationElement(parameters);
-
- case _util.AnnotationType.STAMP:
- return new StampAnnotationElement(parameters);
-
- case _util.AnnotationType.FILEATTACHMENT:
- return new FileAttachmentAnnotationElement(parameters);
-
- default:
- return new AnnotationElement(parameters);
- }
- }
- }]);
-
- return AnnotationElementFactory;
-}();
-
-var AnnotationElement =
-/*#__PURE__*/
-function () {
- function AnnotationElement(parameters) {
- var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
- var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
-
- _classCallCheck(this, AnnotationElement);
-
- this.isRenderable = isRenderable;
- this.data = parameters.data;
- this.layer = parameters.layer;
- this.page = parameters.page;
- this.viewport = parameters.viewport;
- this.linkService = parameters.linkService;
- this.downloadManager = parameters.downloadManager;
- this.imageResourcesPath = parameters.imageResourcesPath;
- this.renderInteractiveForms = parameters.renderInteractiveForms;
- this.svgFactory = parameters.svgFactory;
-
- if (isRenderable) {
- this.container = this._createContainer(ignoreBorder);
- }
- }
-
- _createClass(AnnotationElement, [{
- key: "_createContainer",
- value: function _createContainer() {
- var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
- var data = this.data,
- page = this.page,
- viewport = this.viewport;
- var container = document.createElement('section');
- var width = data.rect[2] - data.rect[0];
- var height = data.rect[3] - data.rect[1];
- container.setAttribute('data-annotation-id', data.id);
-
- var 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]]);
-
- container.style.transform = "matrix(".concat(viewport.transform.join(','), ")");
- container.style.transformOrigin = "-".concat(rect[0], "px -").concat(rect[1], "px");
-
- if (!ignoreBorder && data.borderStyle.width > 0) {
- container.style.borderWidth = "".concat(data.borderStyle.width, "px");
-
- if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
- width = width - 2 * data.borderStyle.width;
- height = height - 2 * data.borderStyle.width;
- }
-
- var horizontalRadius = data.borderStyle.horizontalCornerRadius;
- var verticalRadius = data.borderStyle.verticalCornerRadius;
-
- if (horizontalRadius > 0 || verticalRadius > 0) {
- var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
- container.style.borderRadius = radius;
- }
-
- switch (data.borderStyle.style) {
- case _util.AnnotationBorderStyleType.SOLID:
- container.style.borderStyle = 'solid';
- break;
-
- case _util.AnnotationBorderStyleType.DASHED:
- container.style.borderStyle = 'dashed';
- break;
-
- case _util.AnnotationBorderStyleType.BEVELED:
- (0, _util.warn)('Unimplemented border style: beveled');
- break;
-
- case _util.AnnotationBorderStyleType.INSET:
- (0, _util.warn)('Unimplemented border style: inset');
- break;
-
- case _util.AnnotationBorderStyleType.UNDERLINE:
- container.style.borderBottomStyle = 'solid';
- break;
-
- default:
- break;
- }
-
- if (data.color) {
- container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
- } else {
- container.style.borderWidth = 0;
- }
- }
-
- container.style.left = "".concat(rect[0], "px");
- container.style.top = "".concat(rect[1], "px");
- container.style.width = "".concat(width, "px");
- container.style.height = "".concat(height, "px");
- return container;
- }
- }, {
- key: "_createPopup",
- value: function _createPopup(container, trigger, data) {
- if (!trigger) {
- trigger = document.createElement('div');
- trigger.style.height = container.style.height;
- trigger.style.width = container.style.width;
- container.appendChild(trigger);
- }
-
- var popupElement = new PopupElement({
- container: container,
- trigger: trigger,
- color: data.color,
- title: data.title,
- modificationDate: data.modificationDate,
- contents: data.contents,
- hideWrapper: true
- });
- var popup = popupElement.render();
- popup.style.left = container.style.width;
- container.appendChild(popup);
- }
- }, {
- key: "render",
- value: function render() {
- (0, _util.unreachable)('Abstract method `AnnotationElement.render` called');
- }
- }]);
-
- return AnnotationElement;
-}();
-
-var LinkAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement) {
- _inherits(LinkAnnotationElement, _AnnotationElement);
-
- function LinkAnnotationElement(parameters) {
- _classCallCheck(this, LinkAnnotationElement);
-
- var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);
- return _possibleConstructorReturn(this, _getPrototypeOf(LinkAnnotationElement).call(this, parameters, isRenderable));
- }
-
- _createClass(LinkAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'linkAnnotation';
- var data = this.data,
- linkService = this.linkService;
- var link = document.createElement('a');
-
- if (data.url) {
- (0, _display_utils.addLinkAttributes)(link, {
- url: data.url,
- target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
- rel: linkService.externalLinkRel,
- enabled: linkService.externalLinkEnabled
- });
- } else if (data.action) {
- this._bindNamedAction(link, data.action);
- } else {
- this._bindLink(link, data.dest);
- }
-
- this.container.appendChild(link);
- return this.container;
- }
- }, {
- key: "_bindLink",
- value: function _bindLink(link, destination) {
- var _this = this;
-
- link.href = this.linkService.getDestinationHash(destination);
-
- link.onclick = function () {
- if (destination) {
- _this.linkService.navigateTo(destination);
- }
-
- return false;
- };
-
- if (destination) {
- link.className = 'internalLink';
- }
- }
- }, {
- key: "_bindNamedAction",
- value: function _bindNamedAction(link, action) {
- var _this2 = this;
-
- link.href = this.linkService.getAnchorUrl('');
-
- link.onclick = function () {
- _this2.linkService.executeNamedAction(action);
-
- return false;
- };
-
- link.className = 'internalLink';
- }
- }]);
-
- return LinkAnnotationElement;
-}(AnnotationElement);
-
-var TextAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement2) {
- _inherits(TextAnnotationElement, _AnnotationElement2);
-
- function TextAnnotationElement(parameters) {
- _classCallCheck(this, TextAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(TextAnnotationElement).call(this, parameters, isRenderable));
- }
-
- _createClass(TextAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'textAnnotation';
- var image = document.createElement('img');
- image.style.height = this.container.style.height;
- image.style.width = this.container.style.width;
- image.src = this.imageResourcesPath + 'annotation-' + this.data.name.toLowerCase() + '.svg';
- image.alt = '[{{type}} Annotation]';
- image.dataset.l10nId = 'text_annotation_type';
- image.dataset.l10nArgs = JSON.stringify({
- type: this.data.name
- });
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, image, this.data);
- }
-
- this.container.appendChild(image);
- return this.container;
- }
- }]);
-
- return TextAnnotationElement;
-}(AnnotationElement);
-
-var WidgetAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement3) {
- _inherits(WidgetAnnotationElement, _AnnotationElement3);
-
- function WidgetAnnotationElement() {
- _classCallCheck(this, WidgetAnnotationElement);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(WidgetAnnotationElement).apply(this, arguments));
- }
-
- _createClass(WidgetAnnotationElement, [{
- key: "render",
- value: function render() {
- return this.container;
- }
- }]);
-
- return WidgetAnnotationElement;
-}(AnnotationElement);
-
-var TextWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem) {
- _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);
-
- function TextWidgetAnnotationElement(parameters) {
- _classCallCheck(this, TextWidgetAnnotationElement);
-
- var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
- return _possibleConstructorReturn(this, _getPrototypeOf(TextWidgetAnnotationElement).call(this, parameters, isRenderable));
- }
-
- _createClass(TextWidgetAnnotationElement, [{
- key: "render",
- value: function render() {
- var TEXT_ALIGNMENT = ['left', 'center', 'right'];
- this.container.className = 'textWidgetAnnotation';
- var element = null;
-
- if (this.renderInteractiveForms) {
- if (this.data.multiLine) {
- element = document.createElement('textarea');
- element.textContent = this.data.fieldValue;
- } else {
- element = document.createElement('input');
- element.type = 'text';
- element.setAttribute('value', this.data.fieldValue);
- }
-
- element.disabled = this.data.readOnly;
-
- if (this.data.maxLen !== null) {
- element.maxLength = this.data.maxLen;
- }
-
- if (this.data.comb) {
- var fieldWidth = this.data.rect[2] - this.data.rect[0];
- var combWidth = fieldWidth / this.data.maxLen;
- element.classList.add('comb');
- element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
- }
- } else {
- element = document.createElement('div');
- element.textContent = this.data.fieldValue;
- element.style.verticalAlign = 'middle';
- element.style.display = 'table-cell';
- var font = null;
-
- if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {
- font = this.page.commonObjs.get(this.data.fontRefName);
- }
-
- this._setTextStyle(element, font);
- }
-
- if (this.data.textAlignment !== null) {
- element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
- }
-
- this.container.appendChild(element);
- return this.container;
- }
- }, {
- key: "_setTextStyle",
- value: function _setTextStyle(element, font) {
- var style = element.style;
- style.fontSize = "".concat(this.data.fontSize, "px");
- style.direction = this.data.fontDirection < 0 ? 'rtl' : 'ltr';
-
- if (!font) {
- return;
- }
-
- style.fontWeight = font.black ? font.bold ? '900' : 'bold' : font.bold ? 'bold' : 'normal';
- style.fontStyle = font.italic ? 'italic' : 'normal';
- var fontFamily = font.loadedName ? "\"".concat(font.loadedName, "\", ") : '';
- var fallbackName = font.fallbackName || 'Helvetica, sans-serif';
- style.fontFamily = fontFamily + fallbackName;
- }
- }]);
-
- return TextWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var CheckboxWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem2) {
- _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);
-
- function CheckboxWidgetAnnotationElement(parameters) {
- _classCallCheck(this, CheckboxWidgetAnnotationElement);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(CheckboxWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
- }
-
- _createClass(CheckboxWidgetAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'buttonWidgetAnnotation checkBox';
- var element = document.createElement('input');
- element.disabled = this.data.readOnly;
- element.type = 'checkbox';
-
- if (this.data.fieldValue && this.data.fieldValue !== 'Off') {
- element.setAttribute('checked', true);
- }
-
- this.container.appendChild(element);
- return this.container;
- }
- }]);
-
- return CheckboxWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var RadioButtonWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem3) {
- _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);
-
- function RadioButtonWidgetAnnotationElement(parameters) {
- _classCallCheck(this, RadioButtonWidgetAnnotationElement);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(RadioButtonWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
- }
-
- _createClass(RadioButtonWidgetAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'buttonWidgetAnnotation radioButton';
- var element = document.createElement('input');
- element.disabled = this.data.readOnly;
- element.type = 'radio';
- element.name = this.data.fieldName;
-
- if (this.data.fieldValue === this.data.buttonValue) {
- element.setAttribute('checked', true);
- }
-
- this.container.appendChild(element);
- return this.container;
- }
- }]);
-
- return RadioButtonWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var PushButtonWidgetAnnotationElement =
-/*#__PURE__*/
-function (_LinkAnnotationElemen) {
- _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);
-
- function PushButtonWidgetAnnotationElement() {
- _classCallCheck(this, PushButtonWidgetAnnotationElement);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(PushButtonWidgetAnnotationElement).apply(this, arguments));
- }
-
- _createClass(PushButtonWidgetAnnotationElement, [{
- key: "render",
- value: function render() {
- var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this);
-
- container.className = 'buttonWidgetAnnotation pushButton';
- return container;
- }
- }]);
-
- return PushButtonWidgetAnnotationElement;
-}(LinkAnnotationElement);
-
-var ChoiceWidgetAnnotationElement =
-/*#__PURE__*/
-function (_WidgetAnnotationElem4) {
- _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);
-
- function ChoiceWidgetAnnotationElement(parameters) {
- _classCallCheck(this, ChoiceWidgetAnnotationElement);
-
- return _possibleConstructorReturn(this, _getPrototypeOf(ChoiceWidgetAnnotationElement).call(this, parameters, parameters.renderInteractiveForms));
- }
-
- _createClass(ChoiceWidgetAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'choiceWidgetAnnotation';
- var selectElement = document.createElement('select');
- selectElement.disabled = this.data.readOnly;
-
- if (!this.data.combo) {
- selectElement.size = this.data.options.length;
-
- if (this.data.multiSelect) {
- selectElement.multiple = true;
- }
- }
-
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = this.data.options[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var option = _step.value;
- var optionElement = document.createElement('option');
- optionElement.textContent = option.displayValue;
- optionElement.value = option.exportValue;
-
- if (this.data.fieldValue.includes(option.displayValue)) {
- optionElement.setAttribute('selected', true);
- }
-
- selectElement.appendChild(optionElement);
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
-
- this.container.appendChild(selectElement);
- return this.container;
- }
- }]);
-
- return ChoiceWidgetAnnotationElement;
-}(WidgetAnnotationElement);
-
-var PopupAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement4) {
- _inherits(PopupAnnotationElement, _AnnotationElement4);
-
- function PopupAnnotationElement(parameters) {
- _classCallCheck(this, PopupAnnotationElement);
-
- var isRenderable = !!(parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(PopupAnnotationElement).call(this, parameters, isRenderable));
- }
-
- _createClass(PopupAnnotationElement, [{
- key: "render",
- value: function render() {
- var IGNORE_TYPES = ['Line', 'Square', 'Circle', 'PolyLine', 'Polygon', 'Ink'];
- this.container.className = 'popupAnnotation';
-
- if (IGNORE_TYPES.includes(this.data.parentType)) {
- return this.container;
- }
-
- var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
- var parentElement = this.layer.querySelector(selector);
-
- if (!parentElement) {
- return this.container;
- }
-
- var popup = new PopupElement({
- container: this.container,
- trigger: parentElement,
- color: this.data.color,
- title: this.data.title,
- modificationDate: this.data.modificationDate,
- contents: this.data.contents
- });
- var parentLeft = parseFloat(parentElement.style.left);
- var parentWidth = parseFloat(parentElement.style.width);
- this.container.style.transformOrigin = "-".concat(parentLeft + parentWidth, "px -").concat(parentElement.style.top);
- this.container.style.left = "".concat(parentLeft + parentWidth, "px");
- this.container.appendChild(popup.render());
- return this.container;
- }
- }]);
-
- return PopupAnnotationElement;
-}(AnnotationElement);
-
-var PopupElement =
-/*#__PURE__*/
-function () {
- function PopupElement(parameters) {
- _classCallCheck(this, PopupElement);
-
- this.container = parameters.container;
- this.trigger = parameters.trigger;
- this.color = parameters.color;
- this.title = parameters.title;
- this.modificationDate = parameters.modificationDate;
- this.contents = parameters.contents;
- this.hideWrapper = parameters.hideWrapper || false;
- this.pinned = false;
- }
-
- _createClass(PopupElement, [{
- key: "render",
- value: function render() {
- var BACKGROUND_ENLIGHT = 0.7;
- var wrapper = document.createElement('div');
- wrapper.className = 'popupWrapper';
- this.hideElement = this.hideWrapper ? wrapper : this.container;
- this.hideElement.setAttribute('hidden', true);
- var popup = document.createElement('div');
- popup.className = 'popup';
- var color = this.color;
-
- if (color) {
- var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
- var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
- var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
- popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);
- }
-
- var title = document.createElement('h1');
- title.textContent = this.title;
- popup.appendChild(title);
-
- var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);
-
- if (dateObject) {
- var modificationDate = document.createElement('span');
- modificationDate.textContent = '{{date}}, {{time}}';
- modificationDate.dataset.l10nId = 'annotation_date_string';
- modificationDate.dataset.l10nArgs = JSON.stringify({
- date: dateObject.toLocaleDateString(),
- time: dateObject.toLocaleTimeString()
- });
- popup.appendChild(modificationDate);
- }
-
- var contents = this._formatContents(this.contents);
-
- popup.appendChild(contents);
- this.trigger.addEventListener('click', this._toggle.bind(this));
- this.trigger.addEventListener('mouseover', this._show.bind(this, false));
- this.trigger.addEventListener('mouseout', this._hide.bind(this, false));
- popup.addEventListener('click', this._hide.bind(this, true));
- wrapper.appendChild(popup);
- return wrapper;
- }
- }, {
- key: "_formatContents",
- value: function _formatContents(contents) {
- var p = document.createElement('p');
- var lines = contents.split(/(?:\r\n?|\n)/);
-
- for (var i = 0, ii = lines.length; i < ii; ++i) {
- var line = lines[i];
- p.appendChild(document.createTextNode(line));
-
- if (i < ii - 1) {
- p.appendChild(document.createElement('br'));
- }
- }
-
- return p;
- }
- }, {
- key: "_toggle",
- value: function _toggle() {
- if (this.pinned) {
- this._hide(true);
- } else {
- this._show(true);
- }
- }
- }, {
- key: "_show",
- value: function _show() {
- var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-
- if (pin) {
- this.pinned = true;
- }
-
- if (this.hideElement.hasAttribute('hidden')) {
- this.hideElement.removeAttribute('hidden');
- this.container.style.zIndex += 1;
- }
- }
- }, {
- key: "_hide",
- value: function _hide() {
- var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
-
- if (unpin) {
- this.pinned = false;
- }
-
- if (!this.hideElement.hasAttribute('hidden') && !this.pinned) {
- this.hideElement.setAttribute('hidden', true);
- this.container.style.zIndex -= 1;
- }
- }
- }]);
-
- return PopupElement;
-}();
-
-var FreeTextAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement5) {
- _inherits(FreeTextAnnotationElement, _AnnotationElement5);
-
- function FreeTextAnnotationElement(parameters) {
- _classCallCheck(this, FreeTextAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(FreeTextAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(FreeTextAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'freeTextAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return FreeTextAnnotationElement;
-}(AnnotationElement);
-
-var LineAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement6) {
- _inherits(LineAnnotationElement, _AnnotationElement6);
-
- function LineAnnotationElement(parameters) {
- _classCallCheck(this, LineAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(LineAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(LineAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'lineAnnotation';
- var data = this.data;
- var width = data.rect[2] - data.rect[0];
- var height = data.rect[3] - data.rect[1];
- var svg = this.svgFactory.create(width, height);
- var line = this.svgFactory.createElement('svg:line');
- line.setAttribute('x1', data.rect[2] - data.lineCoordinates[0]);
- line.setAttribute('y1', data.rect[3] - data.lineCoordinates[1]);
- line.setAttribute('x2', data.rect[2] - data.lineCoordinates[2]);
- line.setAttribute('y2', data.rect[3] - data.lineCoordinates[3]);
- line.setAttribute('stroke-width', data.borderStyle.width);
- line.setAttribute('stroke', 'transparent');
- svg.appendChild(line);
- this.container.append(svg);
-
- this._createPopup(this.container, line, data);
-
- return this.container;
- }
- }]);
-
- return LineAnnotationElement;
-}(AnnotationElement);
-
-var SquareAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement7) {
- _inherits(SquareAnnotationElement, _AnnotationElement7);
-
- function SquareAnnotationElement(parameters) {
- _classCallCheck(this, SquareAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(SquareAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(SquareAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'squareAnnotation';
- var data = this.data;
- var width = data.rect[2] - data.rect[0];
- var height = data.rect[3] - data.rect[1];
- var svg = this.svgFactory.create(width, height);
- var borderWidth = data.borderStyle.width;
- var square = this.svgFactory.createElement('svg:rect');
- square.setAttribute('x', borderWidth / 2);
- square.setAttribute('y', borderWidth / 2);
- square.setAttribute('width', width - borderWidth);
- square.setAttribute('height', height - borderWidth);
- square.setAttribute('stroke-width', borderWidth);
- square.setAttribute('stroke', 'transparent');
- square.setAttribute('fill', 'none');
- svg.appendChild(square);
- this.container.append(svg);
-
- this._createPopup(this.container, square, data);
-
- return this.container;
- }
- }]);
-
- return SquareAnnotationElement;
-}(AnnotationElement);
-
-var CircleAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement8) {
- _inherits(CircleAnnotationElement, _AnnotationElement8);
-
- function CircleAnnotationElement(parameters) {
- _classCallCheck(this, CircleAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(CircleAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(CircleAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'circleAnnotation';
- var data = this.data;
- var width = data.rect[2] - data.rect[0];
- var height = data.rect[3] - data.rect[1];
- var svg = this.svgFactory.create(width, height);
- var borderWidth = data.borderStyle.width;
- var circle = this.svgFactory.createElement('svg:ellipse');
- circle.setAttribute('cx', width / 2);
- circle.setAttribute('cy', height / 2);
- circle.setAttribute('rx', width / 2 - borderWidth / 2);
- circle.setAttribute('ry', height / 2 - borderWidth / 2);
- circle.setAttribute('stroke-width', borderWidth);
- circle.setAttribute('stroke', 'transparent');
- circle.setAttribute('fill', 'none');
- svg.appendChild(circle);
- this.container.append(svg);
-
- this._createPopup(this.container, circle, data);
-
- return this.container;
- }
- }]);
-
- return CircleAnnotationElement;
-}(AnnotationElement);
-
-var PolylineAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement9) {
- _inherits(PolylineAnnotationElement, _AnnotationElement9);
-
- function PolylineAnnotationElement(parameters) {
- var _this3;
-
- _classCallCheck(this, PolylineAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PolylineAnnotationElement).call(this, parameters, isRenderable, true));
- _this3.containerClassName = 'polylineAnnotation';
- _this3.svgElementName = 'svg:polyline';
- return _this3;
- }
-
- _createClass(PolylineAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = this.containerClassName;
- var data = this.data;
- var width = data.rect[2] - data.rect[0];
- var height = data.rect[3] - data.rect[1];
- var svg = this.svgFactory.create(width, height);
- var points = [];
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
-
- try {
- for (var _iterator2 = data.vertices[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
- var coordinate = _step2.value;
- var x = coordinate.x - data.rect[0];
- var y = data.rect[3] - coordinate.y;
- points.push(x + ',' + y);
- }
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
- _iterator2["return"]();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
-
- points = points.join(' ');
- var polyline = this.svgFactory.createElement(this.svgElementName);
- polyline.setAttribute('points', points);
- polyline.setAttribute('stroke-width', data.borderStyle.width);
- polyline.setAttribute('stroke', 'transparent');
- polyline.setAttribute('fill', 'none');
- svg.appendChild(polyline);
- this.container.append(svg);
-
- this._createPopup(this.container, polyline, data);
-
- return this.container;
- }
- }]);
-
- return PolylineAnnotationElement;
-}(AnnotationElement);
-
-var PolygonAnnotationElement =
-/*#__PURE__*/
-function (_PolylineAnnotationEl) {
- _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);
-
- function PolygonAnnotationElement(parameters) {
- var _this4;
-
- _classCallCheck(this, PolygonAnnotationElement);
-
- _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PolygonAnnotationElement).call(this, parameters));
- _this4.containerClassName = 'polygonAnnotation';
- _this4.svgElementName = 'svg:polygon';
- return _this4;
- }
-
- return PolygonAnnotationElement;
-}(PolylineAnnotationElement);
-
-var CaretAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement10) {
- _inherits(CaretAnnotationElement, _AnnotationElement10);
-
- function CaretAnnotationElement(parameters) {
- _classCallCheck(this, CaretAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(CaretAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(CaretAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'caretAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return CaretAnnotationElement;
-}(AnnotationElement);
-
-var InkAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement11) {
- _inherits(InkAnnotationElement, _AnnotationElement11);
-
- function InkAnnotationElement(parameters) {
- var _this5;
-
- _classCallCheck(this, InkAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- _this5 = _possibleConstructorReturn(this, _getPrototypeOf(InkAnnotationElement).call(this, parameters, isRenderable, true));
- _this5.containerClassName = 'inkAnnotation';
- _this5.svgElementName = 'svg:polyline';
- return _this5;
- }
-
- _createClass(InkAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = this.containerClassName;
- var data = this.data;
- var width = data.rect[2] - data.rect[0];
- var height = data.rect[3] - data.rect[1];
- var svg = this.svgFactory.create(width, height);
- var _iteratorNormalCompletion3 = true;
- var _didIteratorError3 = false;
- var _iteratorError3 = undefined;
-
- try {
- for (var _iterator3 = data.inkLists[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
- var inkList = _step3.value;
- var points = [];
- var _iteratorNormalCompletion4 = true;
- var _didIteratorError4 = false;
- var _iteratorError4 = undefined;
-
- try {
- for (var _iterator4 = inkList[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
- var coordinate = _step4.value;
- var x = coordinate.x - data.rect[0];
- var y = data.rect[3] - coordinate.y;
- points.push("".concat(x, ",").concat(y));
- }
- } catch (err) {
- _didIteratorError4 = true;
- _iteratorError4 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
- _iterator4["return"]();
- }
- } finally {
- if (_didIteratorError4) {
- throw _iteratorError4;
- }
- }
- }
-
- points = points.join(' ');
- var polyline = this.svgFactory.createElement(this.svgElementName);
- polyline.setAttribute('points', points);
- polyline.setAttribute('stroke-width', data.borderStyle.width);
- polyline.setAttribute('stroke', 'transparent');
- polyline.setAttribute('fill', 'none');
-
- this._createPopup(this.container, polyline, data);
-
- svg.appendChild(polyline);
- }
- } catch (err) {
- _didIteratorError3 = true;
- _iteratorError3 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
- _iterator3["return"]();
- }
- } finally {
- if (_didIteratorError3) {
- throw _iteratorError3;
- }
- }
- }
-
- this.container.append(svg);
- return this.container;
- }
- }]);
-
- return InkAnnotationElement;
-}(AnnotationElement);
-
-var HighlightAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement12) {
- _inherits(HighlightAnnotationElement, _AnnotationElement12);
-
- function HighlightAnnotationElement(parameters) {
- _classCallCheck(this, HighlightAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(HighlightAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(HighlightAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'highlightAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return HighlightAnnotationElement;
-}(AnnotationElement);
-
-var UnderlineAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement13) {
- _inherits(UnderlineAnnotationElement, _AnnotationElement13);
-
- function UnderlineAnnotationElement(parameters) {
- _classCallCheck(this, UnderlineAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(UnderlineAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(UnderlineAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'underlineAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return UnderlineAnnotationElement;
-}(AnnotationElement);
-
-var SquigglyAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement14) {
- _inherits(SquigglyAnnotationElement, _AnnotationElement14);
-
- function SquigglyAnnotationElement(parameters) {
- _classCallCheck(this, SquigglyAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(SquigglyAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(SquigglyAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'squigglyAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return SquigglyAnnotationElement;
-}(AnnotationElement);
-
-var StrikeOutAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement15) {
- _inherits(StrikeOutAnnotationElement, _AnnotationElement15);
-
- function StrikeOutAnnotationElement(parameters) {
- _classCallCheck(this, StrikeOutAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(StrikeOutAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(StrikeOutAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'strikeoutAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return StrikeOutAnnotationElement;
-}(AnnotationElement);
-
-var StampAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement16) {
- _inherits(StampAnnotationElement, _AnnotationElement16);
-
- function StampAnnotationElement(parameters) {
- _classCallCheck(this, StampAnnotationElement);
-
- var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
- return _possibleConstructorReturn(this, _getPrototypeOf(StampAnnotationElement).call(this, parameters, isRenderable, true));
- }
-
- _createClass(StampAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'stampAnnotation';
-
- if (!this.data.hasPopup) {
- this._createPopup(this.container, null, this.data);
- }
-
- return this.container;
- }
- }]);
-
- return StampAnnotationElement;
-}(AnnotationElement);
-
-var FileAttachmentAnnotationElement =
-/*#__PURE__*/
-function (_AnnotationElement17) {
- _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);
-
- function FileAttachmentAnnotationElement(parameters) {
- var _this6;
-
- _classCallCheck(this, FileAttachmentAnnotationElement);
-
- _this6 = _possibleConstructorReturn(this, _getPrototypeOf(FileAttachmentAnnotationElement).call(this, parameters, true));
- var _this6$data$file = _this6.data.file,
- filename = _this6$data$file.filename,
- content = _this6$data$file.content;
- _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);
- _this6.content = content;
-
- if (_this6.linkService.eventBus) {
- _this6.linkService.eventBus.dispatch('fileattachmentannotation', {
- source: _assertThisInitialized(_this6),
- id: (0, _util.stringToPDFString)(filename),
- filename: filename,
- content: content
- });
- }
-
- return _this6;
- }
-
- _createClass(FileAttachmentAnnotationElement, [{
- key: "render",
- value: function render() {
- this.container.className = 'fileAttachmentAnnotation';
- var trigger = document.createElement('div');
- trigger.style.height = this.container.style.height;
- trigger.style.width = this.container.style.width;
- trigger.addEventListener('dblclick', this._download.bind(this));
-
- if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
- this._createPopup(this.container, trigger, this.data);
- }
-
- this.container.appendChild(trigger);
- return this.container;
- }
- }, {
- key: "_download",
- value: function _download() {
- if (!this.downloadManager) {
- (0, _util.warn)('Download cannot be started due to unavailable download manager');
- return;
- }
-
- this.downloadManager.downloadData(this.content, this.filename, '');
- }
- }]);
-
- return FileAttachmentAnnotationElement;
-}(AnnotationElement);
-
-var AnnotationLayer =
-/*#__PURE__*/
-function () {
- function AnnotationLayer() {
- _classCallCheck(this, AnnotationLayer);
- }
-
- _createClass(AnnotationLayer, null, [{
- key: "render",
- value: function render(parameters) {
- var _iteratorNormalCompletion5 = true;
- var _didIteratorError5 = false;
- var _iteratorError5 = undefined;
-
- try {
- for (var _iterator5 = parameters.annotations[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
- var data = _step5.value;
-
- if (!data) {
- continue;
- }
-
- var element = AnnotationElementFactory.create({
- data: data,
- layer: parameters.div,
- page: parameters.page,
- viewport: parameters.viewport,
- linkService: parameters.linkService,
- downloadManager: parameters.downloadManager,
- imageResourcesPath: parameters.imageResourcesPath || '',
- renderInteractiveForms: parameters.renderInteractiveForms || false,
- svgFactory: new _display_utils.DOMSVGFactory()
- });
-
- if (element.isRenderable) {
- parameters.div.appendChild(element.render());
- }
- }
- } catch (err) {
- _didIteratorError5 = true;
- _iteratorError5 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
- _iterator5["return"]();
- }
- } finally {
- if (_didIteratorError5) {
- throw _iteratorError5;
- }
- }
- }
- }
- }, {
- key: "update",
- value: function update(parameters) {
- var _iteratorNormalCompletion6 = true;
- var _didIteratorError6 = false;
- var _iteratorError6 = undefined;
-
- try {
- for (var _iterator6 = parameters.annotations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
- var data = _step6.value;
- var element = parameters.div.querySelector("[data-annotation-id=\"".concat(data.id, "\"]"));
-
- if (element) {
- element.style.transform = "matrix(".concat(parameters.viewport.transform.join(','), ")");
- }
- }
- } catch (err) {
- _didIteratorError6 = true;
- _iteratorError6 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
- _iterator6["return"]();
- }
- } finally {
- if (_didIteratorError6) {
- throw _iteratorError6;
- }
- }
- }
-
- parameters.div.removeAttribute('hidden');
- }
- }]);
-
- return AnnotationLayer;
-}();
-
-exports.AnnotationLayer = AnnotationLayer;
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
+}));
exports.SVGGraphics = void 0;
-var _util = __w_pdfjs_require__(1);
+var _util = __w_pdfjs_require__(2);
-var _display_utils = __w_pdfjs_require__(183);
+var _display_utils = __w_pdfjs_require__(1);
-var _is_node = _interopRequireDefault(__w_pdfjs_require__(4));
+var _is_node = __w_pdfjs_require__(4);
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
-
-function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
-
-function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
-
-function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
-
-function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
-
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var SVGGraphics = function SVGGraphics() {
- throw new Error('Not implemented: SVGGraphics');
+let SVGGraphics = function () {
+ throw new Error("Not implemented: SVGGraphics");
};
exports.SVGGraphics = SVGGraphics;
{
- var opListToTree = function opListToTree(opList) {
- var opTree = [];
- var tmp = [];
- var _iteratorNormalCompletion = true;
- var _didIteratorError = false;
- var _iteratorError = undefined;
-
- try {
- for (var _iterator = opList[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
- var opListElement = _step.value;
-
- if (opListElement.fn === 'save') {
- opTree.push({
- 'fnId': 92,
- 'fn': 'group',
- 'items': []
- });
- tmp.push(opTree);
- opTree = opTree[opTree.length - 1].items;
- continue;
- }
-
- if (opListElement.fn === 'restore') {
- opTree = tmp.pop();
- } else {
- opTree.push(opListElement);
- }
- }
- } catch (err) {
- _didIteratorError = true;
- _iteratorError = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion && _iterator["return"] != null) {
- _iterator["return"]();
- }
- } finally {
- if (_didIteratorError) {
- throw _iteratorError;
- }
- }
- }
-
- return opTree;
+ const SVG_DEFAULTS = {
+ fontStyle: "normal",
+ fontWeight: "normal",
+ fillColor: "#000000"
};
+ const XML_NS = "http://www.w3.org/XML/1998/namespace";
+ const XLINK_NS = "http://www.w3.org/1999/xlink";
+ const LINE_CAP_STYLES = ["butt", "round", "square"];
+ const LINE_JOIN_STYLES = ["miter", "round", "bevel"];
- var pf = function pf(value) {
- if (Number.isInteger(value)) {
- return value.toString();
- }
+ const convertImgDataToPng = function () {
+ const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
+ const CHUNK_WRAPPER_SIZE = 12;
+ const crcTable = new Int32Array(256);
- var s = value.toFixed(10);
- var i = s.length - 1;
+ for (let i = 0; i < 256; i++) {
+ let c = i;
- if (s[i] !== '0') {
- return s;
- }
-
- do {
- i--;
- } while (s[i] === '0');
-
- return s.substring(0, s[i] === '.' ? i : i + 1);
- };
-
- var pm = function pm(m) {
- if (m[4] === 0 && m[5] === 0) {
- if (m[1] === 0 && m[2] === 0) {
- if (m[0] === 1 && m[3] === 1) {
- return '';
- }
-
- return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
- }
-
- if (m[0] === m[3] && m[1] === -m[2]) {
- var a = Math.acos(m[0]) * 180 / Math.PI;
- return "rotate(".concat(pf(a), ")");
- }
- } else {
- if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
- return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
- }
- }
-
- return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")");
- };
-
- var SVG_DEFAULTS = {
- fontStyle: 'normal',
- fontWeight: 'normal',
- fillColor: '#000000'
- };
- var XML_NS = 'http://www.w3.org/XML/1998/namespace';
- var XLINK_NS = 'http://www.w3.org/1999/xlink';
- var LINE_CAP_STYLES = ['butt', 'round', 'square'];
- var LINE_JOIN_STYLES = ['miter', 'round', 'bevel'];
-
- var convertImgDataToPng = function () {
- var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
- var CHUNK_WRAPPER_SIZE = 12;
- var crcTable = new Int32Array(256);
-
- for (var i = 0; i < 256; i++) {
- var c = i;
-
- for (var h = 0; h < 8; h++) {
+ for (let h = 0; h < 8; h++) {
if (c & 1) {
- c = 0xedB88320 ^ c >> 1 & 0x7fffffff;
+ c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
} else {
c = c >> 1 & 0x7fffffff;
}
@@ -21238,11 +12013,11 @@ exports.SVGGraphics = SVGGraphics;
}
function crc32(data, start, end) {
- var crc = -1;
+ let crc = -1;
- for (var _i = start; _i < end; _i++) {
- var a = (crc ^ data[_i]) & 0xff;
- var b = crcTable[a];
+ for (let i = start; i < end; i++) {
+ const a = (crc ^ data[i]) & 0xff;
+ const b = crcTable[a];
crc = crc >>> 8 ^ b;
}
@@ -21250,8 +12025,8 @@ exports.SVGGraphics = SVGGraphics;
}
function writePngChunk(type, body, data, offset) {
- var p = offset;
- var len = body.length;
+ let p = offset;
+ const len = body.length;
data[p] = len >> 24 & 0xff;
data[p + 1] = len >> 16 & 0xff;
data[p + 2] = len >> 8 & 0xff;
@@ -21264,7 +12039,7 @@ exports.SVGGraphics = SVGGraphics;
p += 4;
data.set(body, p);
p += body.length;
- var crc = crc32(data, offset + 4, p);
+ const crc = crc32(data, offset + 4, p);
data[p] = crc >> 24 & 0xff;
data[p + 1] = crc >> 16 & 0xff;
data[p + 2] = crc >> 8 & 0xff;
@@ -21272,11 +12047,11 @@ exports.SVGGraphics = SVGGraphics;
}
function adler32(data, start, end) {
- var a = 1;
- var b = 0;
+ let a = 1;
+ let b = 0;
- for (var _i2 = start; _i2 < end; ++_i2) {
- a = (a + (data[_i2] & 0xff)) % 65521;
+ for (let i = start; i < end; ++i) {
+ a = (a + (data[i] & 0xff)) % 65521;
b = (b + a) % 65521;
}
@@ -21284,40 +12059,40 @@ exports.SVGGraphics = SVGGraphics;
}
function deflateSync(literals) {
- if (!(0, _is_node["default"])()) {
+ if (!_is_node.isNodeJS) {
return deflateSyncUncompressed(literals);
}
try {
- var input;
+ let input;
if (parseInt(process.versions.node) >= 8) {
input = literals;
} else {
- input = new Buffer(literals);
+ input = Buffer.from(literals);
}
- var output = require('zlib').deflateSync(input, {
+ const output = require("zlib").deflateSync(input, {
level: 9
});
return output instanceof Uint8Array ? output : new Uint8Array(output);
} catch (e) {
- (0, _util.warn)('Not compressing PNG because zlib.deflateSync is unavailable: ' + e);
+ (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
}
return deflateSyncUncompressed(literals);
}
function deflateSyncUncompressed(literals) {
- var len = literals.length;
- var maxBlockLength = 0xFFFF;
- var deflateBlocks = Math.ceil(len / maxBlockLength);
- var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
- var pi = 0;
+ let len = literals.length;
+ const maxBlockLength = 0xffff;
+ const deflateBlocks = Math.ceil(len / maxBlockLength);
+ const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
+ let pi = 0;
idat[pi++] = 0x78;
idat[pi++] = 0x9c;
- var pos = 0;
+ let pos = 0;
while (len > maxBlockLength) {
idat[pi++] = 0x00;
@@ -21338,7 +12113,7 @@ exports.SVGGraphics = SVGGraphics;
idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
idat.set(literals.subarray(pos), pi);
pi += literals.length - pos;
- var adler = adler32(literals, 0, literals.length);
+ const adler = adler32(literals, 0, literals.length);
idat[pi++] = adler >> 24 & 0xff;
idat[pi++] = adler >> 16 & 0xff;
idat[pi++] = adler >> 8 & 0xff;
@@ -21347,10 +12122,10 @@ exports.SVGGraphics = SVGGraphics;
}
function encode(imgData, kind, forceDataSchema, isMask) {
- var width = imgData.width;
- var height = imgData.height;
- var bitDepth, colorType, lineSize;
- var bytes = imgData.data;
+ const width = imgData.width;
+ const height = imgData.height;
+ let bitDepth, colorType, lineSize;
+ const bytes = imgData.data;
switch (kind) {
case _util.ImageKind.GRAYSCALE_1BPP:
@@ -21372,14 +12147,14 @@ exports.SVGGraphics = SVGGraphics;
break;
default:
- throw new Error('invalid format');
+ throw new Error("invalid format");
}
- var literals = new Uint8Array((1 + lineSize) * height);
- var offsetLiterals = 0,
+ const literals = new Uint8Array((1 + lineSize) * height);
+ let offsetLiterals = 0,
offsetBytes = 0;
- for (var y = 0; y < height; ++y) {
+ for (let y = 0; y < height; ++y) {
literals[offsetLiterals++] = 0;
literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
offsetBytes += lineSize;
@@ -21389,42 +12164,38 @@ exports.SVGGraphics = SVGGraphics;
if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
offsetLiterals = 0;
- for (var _y = 0; _y < height; _y++) {
+ for (let y = 0; y < height; y++) {
offsetLiterals++;
- for (var _i3 = 0; _i3 < lineSize; _i3++) {
- literals[offsetLiterals++] ^= 0xFF;
+ for (let i = 0; i < lineSize; i++) {
+ literals[offsetLiterals++] ^= 0xff;
}
}
}
- var 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]);
- var idat = deflateSync(literals);
- var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
- var data = new Uint8Array(pngLength);
- var offset = 0;
+ const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);
+ const idat = deflateSync(literals);
+ const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
+ const data = new Uint8Array(pngLength);
+ let offset = 0;
data.set(PNG_HEADER, offset);
offset += PNG_HEADER.length;
- writePngChunk('IHDR', ihdr, data, offset);
+ writePngChunk("IHDR", ihdr, data, offset);
offset += CHUNK_WRAPPER_SIZE + ihdr.length;
- writePngChunk('IDATA', idat, data, offset);
+ writePngChunk("IDATA", idat, data, offset);
offset += CHUNK_WRAPPER_SIZE + idat.length;
- writePngChunk('IEND', new Uint8Array(0), data, offset);
- return (0, _util.createObjectURL)(data, 'image/png', forceDataSchema);
+ writePngChunk("IEND", new Uint8Array(0), data, offset);
+ return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
}
return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
- var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
+ const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
return encode(imgData, kind, forceDataSchema, isMask);
};
}();
- var SVGExtraState =
- /*#__PURE__*/
- function () {
- function SVGExtraState() {
- _classCallCheck(this, SVGExtraState);
-
+ class SVGExtraState {
+ constructor() {
this.fontSizeScale = 1;
this.fontWeight = SVG_DEFAULTS.fontWeight;
this.fontSize = 0;
@@ -21442,47 +12213,105 @@ exports.SVGGraphics = SVGGraphics;
this.textHScale = 1;
this.textRise = 0;
this.fillColor = SVG_DEFAULTS.fillColor;
- this.strokeColor = '#000000';
+ this.strokeColor = "#000000";
this.fillAlpha = 1;
this.strokeAlpha = 1;
this.lineWidth = 1;
- this.lineJoin = '';
- this.lineCap = '';
+ this.lineJoin = "";
+ this.lineCap = "";
this.miterLimit = 0;
this.dashArray = [];
this.dashPhase = 0;
this.dependencies = [];
this.activeClipUrl = null;
this.clipGroup = null;
- this.maskId = '';
+ this.maskId = "";
}
- _createClass(SVGExtraState, [{
- key: "clone",
- value: function clone() {
- return Object.create(this);
+ clone() {
+ return Object.create(this);
+ }
+
+ setCurrentPoint(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ }
+
+ function opListToTree(opList) {
+ let opTree = [];
+ const tmp = [];
+
+ for (const opListElement of opList) {
+ if (opListElement.fn === "save") {
+ opTree.push({
+ fnId: 92,
+ fn: "group",
+ items: []
+ });
+ tmp.push(opTree);
+ opTree = opTree[opTree.length - 1].items;
+ continue;
}
- }, {
- key: "setCurrentPoint",
- value: function setCurrentPoint(x, y) {
- this.x = x;
- this.y = y;
+
+ if (opListElement.fn === "restore") {
+ opTree = tmp.pop();
+ } else {
+ opTree.push(opListElement);
}
- }]);
+ }
- return SVGExtraState;
- }();
+ return opTree;
+ }
- var clipCount = 0;
- var maskCount = 0;
- var shadingCount = 0;
+ function pf(value) {
+ if (Number.isInteger(value)) {
+ return value.toString();
+ }
- exports.SVGGraphics = SVGGraphics =
- /*#__PURE__*/
- function () {
- function SVGGraphics(commonObjs, objs, forceDataSchema) {
- _classCallCheck(this, SVGGraphics);
+ const s = value.toFixed(10);
+ let i = s.length - 1;
+ if (s[i] !== "0") {
+ return s;
+ }
+
+ do {
+ i--;
+ } while (s[i] === "0");
+
+ return s.substring(0, s[i] === "." ? i : i + 1);
+ }
+
+ function pm(m) {
+ if (m[4] === 0 && m[5] === 0) {
+ if (m[1] === 0 && m[2] === 0) {
+ if (m[0] === 1 && m[3] === 1) {
+ return "";
+ }
+
+ return `scale(${pf(m[0])} ${pf(m[3])})`;
+ }
+
+ if (m[0] === m[3] && m[1] === -m[2]) {
+ const a = Math.acos(m[0]) * 180 / Math.PI;
+ return `rotate(${pf(a)})`;
+ }
+ } else {
+ if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
+ return `translate(${pf(m[4])} ${pf(m[5])})`;
+ }
+ }
+
+ return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;
+ }
+
+ let clipCount = 0;
+ let maskCount = 0;
+ let shadingCount = 0;
+ exports.SVGGraphics = SVGGraphics = class SVGGraphics {
+ constructor(commonObjs, objs, forceDataSchema = false) {
this.svgFactory = new _display_utils.DOMSVGFactory();
this.current = new SVGExtraState();
this.transformMatrix = _util.IDENTITY_MATRIX;
@@ -21498,1485 +12327,1265 @@ exports.SVGGraphics = SVGGraphics;
this.forceDataSchema = !!forceDataSchema;
this._operatorIdMapping = [];
- for (var op in _util.OPS) {
+ for (const op in _util.OPS) {
this._operatorIdMapping[_util.OPS[op]] = op;
}
}
- _createClass(SVGGraphics, [{
- key: "save",
- value: function save() {
- this.transformStack.push(this.transformMatrix);
- var old = this.current;
- this.extraStack.push(old);
- this.current = old.clone();
- }
- }, {
- key: "restore",
- value: function restore() {
- this.transformMatrix = this.transformStack.pop();
- this.current = this.extraStack.pop();
- this.pendingClip = null;
- this.tgrp = null;
- }
- }, {
- key: "group",
- value: function group(items) {
- this.save();
- this.executeOpTree(items);
- this.restore();
- }
- }, {
- key: "loadDependencies",
- value: function loadDependencies(operatorList) {
- var _this = this;
+ save() {
+ this.transformStack.push(this.transformMatrix);
+ const old = this.current;
+ this.extraStack.push(old);
+ this.current = old.clone();
+ }
- var fnArray = operatorList.fnArray;
- var argsArray = operatorList.argsArray;
+ restore() {
+ this.transformMatrix = this.transformStack.pop();
+ this.current = this.extraStack.pop();
+ this.pendingClip = null;
+ this.tgrp = null;
+ }
- for (var i = 0, ii = fnArray.length; i < ii; i++) {
- if (fnArray[i] !== _util.OPS.dependency) {
- continue;
- }
+ group(items) {
+ this.save();
+ this.executeOpTree(items);
+ this.restore();
+ }
- var _iteratorNormalCompletion2 = true;
- var _didIteratorError2 = false;
- var _iteratorError2 = undefined;
+ loadDependencies(operatorList) {
+ const fnArray = operatorList.fnArray;
+ const argsArray = operatorList.argsArray;
- try {
- var _loop = function _loop() {
- var obj = _step2.value;
- var objsPool = obj.startsWith('g_') ? _this.commonObjs : _this.objs;
- var promise = new Promise(function (resolve) {
- objsPool.get(obj, resolve);
- });
-
- _this.current.dependencies.push(promise);
- };
-
- for (var _iterator2 = argsArray[i][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
- _loop();
- }
- } catch (err) {
- _didIteratorError2 = true;
- _iteratorError2 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
- _iterator2["return"]();
- }
- } finally {
- if (_didIteratorError2) {
- throw _iteratorError2;
- }
- }
- }
+ for (let i = 0, ii = fnArray.length; i < ii; i++) {
+ if (fnArray[i] !== _util.OPS.dependency) {
+ continue;
}
- return Promise.all(this.current.dependencies);
+ for (const obj of argsArray[i]) {
+ const objsPool = obj.startsWith("g_") ? this.commonObjs : this.objs;
+ const promise = new Promise(resolve => {
+ objsPool.get(obj, resolve);
+ });
+ this.current.dependencies.push(promise);
+ }
}
- }, {
- key: "transform",
- value: function transform(a, b, c, d, e, f) {
- var transformMatrix = [a, b, c, d, e, f];
- this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
- this.tgrp = null;
- }
- }, {
- key: "getSVG",
- value: function getSVG(operatorList, viewport) {
- var _this2 = this;
- this.viewport = viewport;
+ return Promise.all(this.current.dependencies);
+ }
- var svgElement = this._initialize(viewport);
+ transform(a, b, c, d, e, f) {
+ const transformMatrix = [a, b, c, d, e, f];
+ this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
+ this.tgrp = null;
+ }
- return this.loadDependencies(operatorList).then(function () {
- _this2.transformMatrix = _util.IDENTITY_MATRIX;
+ getSVG(operatorList, viewport) {
+ this.viewport = viewport;
- _this2.executeOpTree(_this2.convertOpList(operatorList));
+ const svgElement = this._initialize(viewport);
- return svgElement;
+ return this.loadDependencies(operatorList).then(() => {
+ this.transformMatrix = _util.IDENTITY_MATRIX;
+ this.executeOpTree(this.convertOpList(operatorList));
+ return svgElement;
+ });
+ }
+
+ convertOpList(operatorList) {
+ const operatorIdMapping = this._operatorIdMapping;
+ const argsArray = operatorList.argsArray;
+ const fnArray = operatorList.fnArray;
+ const opList = [];
+
+ for (let i = 0, ii = fnArray.length; i < ii; i++) {
+ const fnId = fnArray[i];
+ opList.push({
+ fnId,
+ fn: operatorIdMapping[fnId],
+ args: argsArray[i]
});
}
- }, {
- key: "convertOpList",
- value: function convertOpList(operatorList) {
- var operatorIdMapping = this._operatorIdMapping;
- var argsArray = operatorList.argsArray;
- var fnArray = operatorList.fnArray;
- var opList = [];
-
- for (var i = 0, ii = fnArray.length; i < ii; i++) {
- var fnId = fnArray[i];
- opList.push({
- 'fnId': fnId,
- 'fn': operatorIdMapping[fnId],
- 'args': argsArray[i]
- });
- }
-
- return opListToTree(opList);
- }
- }, {
- key: "executeOpTree",
- value: function executeOpTree(opTree) {
- var _iteratorNormalCompletion3 = true;
- var _didIteratorError3 = false;
- var _iteratorError3 = undefined;
-
- try {
- for (var _iterator3 = opTree[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
- var opTreeElement = _step3.value;
- var fn = opTreeElement.fn;
- var fnId = opTreeElement.fnId;
- var args = opTreeElement.args;
-
- switch (fnId | 0) {
- case _util.OPS.beginText:
- this.beginText();
- break;
-
- case _util.OPS.dependency:
- break;
-
- case _util.OPS.setLeading:
- this.setLeading(args);
- break;
-
- case _util.OPS.setLeadingMoveText:
- this.setLeadingMoveText(args[0], args[1]);
- break;
-
- case _util.OPS.setFont:
- this.setFont(args);
- break;
-
- case _util.OPS.showText:
- this.showText(args[0]);
- break;
-
- case _util.OPS.showSpacedText:
- this.showText(args[0]);
- break;
-
- case _util.OPS.endText:
- this.endText();
- break;
-
- case _util.OPS.moveText:
- this.moveText(args[0], args[1]);
- break;
-
- case _util.OPS.setCharSpacing:
- this.setCharSpacing(args[0]);
- break;
-
- case _util.OPS.setWordSpacing:
- this.setWordSpacing(args[0]);
- break;
-
- case _util.OPS.setHScale:
- this.setHScale(args[0]);
- break;
-
- case _util.OPS.setTextMatrix:
- this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
- break;
-
- case _util.OPS.setTextRise:
- this.setTextRise(args[0]);
- break;
-
- case _util.OPS.setTextRenderingMode:
- this.setTextRenderingMode(args[0]);
- break;
-
- case _util.OPS.setLineWidth:
- this.setLineWidth(args[0]);
- break;
-
- case _util.OPS.setLineJoin:
- this.setLineJoin(args[0]);
- break;
-
- case _util.OPS.setLineCap:
- this.setLineCap(args[0]);
- break;
-
- case _util.OPS.setMiterLimit:
- this.setMiterLimit(args[0]);
- break;
-
- case _util.OPS.setFillRGBColor:
- this.setFillRGBColor(args[0], args[1], args[2]);
- break;
-
- case _util.OPS.setStrokeRGBColor:
- this.setStrokeRGBColor(args[0], args[1], args[2]);
- break;
-
- case _util.OPS.setStrokeColorN:
- this.setStrokeColorN(args);
- break;
-
- case _util.OPS.setFillColorN:
- this.setFillColorN(args);
- break;
- case _util.OPS.shadingFill:
- this.shadingFill(args[0]);
- break;
+ return opListToTree(opList);
+ }
- case _util.OPS.setDash:
- this.setDash(args[0], args[1]);
- break;
+ executeOpTree(opTree) {
+ for (const opTreeElement of opTree) {
+ const fn = opTreeElement.fn;
+ const fnId = opTreeElement.fnId;
+ const args = opTreeElement.args;
- case _util.OPS.setRenderingIntent:
- this.setRenderingIntent(args[0]);
- break;
+ switch (fnId | 0) {
+ case _util.OPS.beginText:
+ this.beginText();
+ break;
- case _util.OPS.setFlatness:
- this.setFlatness(args[0]);
- break;
+ case _util.OPS.dependency:
+ break;
- case _util.OPS.setGState:
- this.setGState(args[0]);
- break;
-
- case _util.OPS.fill:
- this.fill();
- break;
-
- case _util.OPS.eoFill:
- this.eoFill();
- break;
-
- case _util.OPS.stroke:
- this.stroke();
- break;
-
- case _util.OPS.fillStroke:
- this.fillStroke();
- break;
-
- case _util.OPS.eoFillStroke:
- this.eoFillStroke();
- break;
-
- case _util.OPS.clip:
- this.clip('nonzero');
- break;
-
- case _util.OPS.eoClip:
- this.clip('evenodd');
- break;
-
- case _util.OPS.paintSolidColorImageMask:
- this.paintSolidColorImageMask();
- break;
-
- case _util.OPS.paintJpegXObject:
- this.paintJpegXObject(args[0], args[1], args[2]);
- break;
-
- case _util.OPS.paintImageXObject:
- this.paintImageXObject(args[0]);
- break;
-
- case _util.OPS.paintInlineImageXObject:
- this.paintInlineImageXObject(args[0]);
- break;
-
- case _util.OPS.paintImageMaskXObject:
- this.paintImageMaskXObject(args[0]);
- break;
-
- case _util.OPS.paintFormXObjectBegin:
- this.paintFormXObjectBegin(args[0], args[1]);
- break;
-
- case _util.OPS.paintFormXObjectEnd:
- this.paintFormXObjectEnd();
- break;
-
- case _util.OPS.closePath:
- this.closePath();
- break;
-
- case _util.OPS.closeStroke:
- this.closeStroke();
- break;
-
- case _util.OPS.closeFillStroke:
- this.closeFillStroke();
- break;
-
- case _util.OPS.closeEOFillStroke:
- this.closeEOFillStroke();
- break;
-
- case _util.OPS.nextLine:
- this.nextLine();
- break;
-
- case _util.OPS.transform:
- this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
- break;
-
- case _util.OPS.constructPath:
- this.constructPath(args[0], args[1]);
- break;
-
- case _util.OPS.endPath:
- this.endPath();
- break;
-
- case 92:
- this.group(opTreeElement.items);
- break;
-
- default:
- (0, _util.warn)("Unimplemented operator ".concat(fn));
- break;
- }
- }
- } catch (err) {
- _didIteratorError3 = true;
- _iteratorError3 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
- _iterator3["return"]();
- }
- } finally {
- if (_didIteratorError3) {
- throw _iteratorError3;
- }
- }
- }
- }
- }, {
- key: "setWordSpacing",
- value: function setWordSpacing(wordSpacing) {
- this.current.wordSpacing = wordSpacing;
- }
- }, {
- key: "setCharSpacing",
- value: function setCharSpacing(charSpacing) {
- this.current.charSpacing = charSpacing;
- }
- }, {
- key: "nextLine",
- value: function nextLine() {
- this.moveText(0, this.current.leading);
- }
- }, {
- key: "setTextMatrix",
- value: function setTextMatrix(a, b, c, d, e, f) {
- var current = this.current;
- current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
- current.textMatrixScale = Math.sqrt(a * a + b * b);
- current.x = current.lineX = 0;
- current.y = current.lineY = 0;
- current.xcoords = [];
- current.tspan = this.svgFactory.createElement('svg:tspan');
- current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);
- current.tspan.setAttributeNS(null, 'font-size', "".concat(pf(current.fontSize), "px"));
- current.tspan.setAttributeNS(null, 'y', pf(-current.y));
- current.txtElement = this.svgFactory.createElement('svg:text');
- current.txtElement.appendChild(current.tspan);
- }
- }, {
- key: "beginText",
- value: function beginText() {
- var current = this.current;
- current.x = current.lineX = 0;
- current.y = current.lineY = 0;
- current.textMatrix = _util.IDENTITY_MATRIX;
- current.lineMatrix = _util.IDENTITY_MATRIX;
- current.textMatrixScale = 1;
- current.tspan = this.svgFactory.createElement('svg:tspan');
- current.txtElement = this.svgFactory.createElement('svg:text');
- current.txtgrp = this.svgFactory.createElement('svg:g');
- current.xcoords = [];
- }
- }, {
- key: "moveText",
- value: function moveText(x, y) {
- var current = this.current;
- current.x = current.lineX += x;
- current.y = current.lineY += y;
- current.xcoords = [];
- current.tspan = this.svgFactory.createElement('svg:tspan');
- current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);
- current.tspan.setAttributeNS(null, 'font-size', "".concat(pf(current.fontSize), "px"));
- current.tspan.setAttributeNS(null, 'y', pf(-current.y));
- }
- }, {
- key: "showText",
- value: function showText(glyphs) {
- var current = this.current;
- var font = current.font;
- var fontSize = current.fontSize;
-
- if (fontSize === 0) {
- return;
- }
-
- var charSpacing = current.charSpacing;
- var wordSpacing = current.wordSpacing;
- var fontDirection = current.fontDirection;
- var textHScale = current.textHScale * fontDirection;
- var vertical = font.vertical;
- var widthAdvanceScale = fontSize * current.fontMatrix[0];
- var x = 0;
- var _iteratorNormalCompletion4 = true;
- var _didIteratorError4 = false;
- var _iteratorError4 = undefined;
-
- try {
- for (var _iterator4 = glyphs[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
- var glyph = _step4.value;
-
- if (glyph === null) {
- x += fontDirection * wordSpacing;
- continue;
- } else if ((0, _util.isNum)(glyph)) {
- x += -glyph * fontSize * 0.001;
- continue;
- }
-
- var width = glyph.width;
- var character = glyph.fontChar;
- var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
- var charWidth = width * widthAdvanceScale + spacing * fontDirection;
-
- if (!glyph.isInFont && !font.missingFile) {
- x += charWidth;
- continue;
- }
-
- current.xcoords.push(current.x + x * textHScale);
- current.tspan.textContent += character;
- x += charWidth;
- }
- } catch (err) {
- _didIteratorError4 = true;
- _iteratorError4 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
- _iterator4["return"]();
- }
- } finally {
- if (_didIteratorError4) {
- throw _iteratorError4;
- }
- }
- }
-
- if (vertical) {
- current.y -= x * textHScale;
- } else {
- current.x += x * textHScale;
- }
-
- current.tspan.setAttributeNS(null, 'x', current.xcoords.map(pf).join(' '));
- current.tspan.setAttributeNS(null, 'y', pf(-current.y));
- current.tspan.setAttributeNS(null, 'font-family', current.fontFamily);
- current.tspan.setAttributeNS(null, 'font-size', "".concat(pf(current.fontSize), "px"));
-
- if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
- current.tspan.setAttributeNS(null, 'font-style', current.fontStyle);
- }
-
- if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
- current.tspan.setAttributeNS(null, 'font-weight', current.fontWeight);
- }
-
- var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
-
- if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- if (current.fillColor !== SVG_DEFAULTS.fillColor) {
- current.tspan.setAttributeNS(null, 'fill', current.fillColor);
- }
-
- if (current.fillAlpha < 1) {
- current.tspan.setAttributeNS(null, 'fill-opacity', current.fillAlpha);
- }
- } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
- current.tspan.setAttributeNS(null, 'fill', 'transparent');
- } else {
- current.tspan.setAttributeNS(null, 'fill', 'none');
- }
-
- if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
- var lineWidthScale = 1 / (current.textMatrixScale || 1);
-
- this._setStrokeAttributes(current.tspan, lineWidthScale);
- }
-
- var textMatrix = current.textMatrix;
-
- if (current.textRise !== 0) {
- textMatrix = textMatrix.slice();
- textMatrix[5] += current.textRise;
- }
-
- current.txtElement.setAttributeNS(null, 'transform', "".concat(pm(textMatrix), " scale(1, -1)"));
- current.txtElement.setAttributeNS(XML_NS, 'xml:space', 'preserve');
- current.txtElement.appendChild(current.tspan);
- current.txtgrp.appendChild(current.txtElement);
-
- this._ensureTransformGroup().appendChild(current.txtElement);
- }
- }, {
- key: "setLeadingMoveText",
- value: function setLeadingMoveText(x, y) {
- this.setLeading(-y);
- this.moveText(x, y);
- }
- }, {
- key: "addFontStyle",
- value: function addFontStyle(fontObj) {
- if (!this.cssStyle) {
- this.cssStyle = this.svgFactory.createElement('svg:style');
- this.cssStyle.setAttributeNS(null, 'type', 'text/css');
- this.defs.appendChild(this.cssStyle);
- }
-
- var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
- this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n");
- }
- }, {
- key: "setFont",
- value: function setFont(details) {
- var current = this.current;
- var fontObj = this.commonObjs.get(details[0]);
- var size = details[1];
- current.font = fontObj;
-
- if (this.embedFonts && fontObj.data && !this.embeddedFonts[fontObj.loadedName]) {
- this.addFontStyle(fontObj);
- this.embeddedFonts[fontObj.loadedName] = fontObj;
- }
-
- current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
- var bold = fontObj.black ? fontObj.bold ? 'bolder' : 'bold' : fontObj.bold ? 'bold' : 'normal';
- var italic = fontObj.italic ? 'italic' : 'normal';
-
- if (size < 0) {
- size = -size;
- current.fontDirection = -1;
- } else {
- current.fontDirection = 1;
- }
-
- current.fontSize = size;
- current.fontFamily = fontObj.loadedName;
- current.fontWeight = bold;
- current.fontStyle = italic;
- current.tspan = this.svgFactory.createElement('svg:tspan');
- current.tspan.setAttributeNS(null, 'y', pf(-current.y));
- current.xcoords = [];
- }
- }, {
- key: "endText",
- value: function endText() {
- var current = this.current;
-
- if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {
- current.element = current.txtElement;
- this.clip('nonzero');
- this.endPath();
- }
- }
- }, {
- key: "setLineWidth",
- value: function setLineWidth(width) {
- if (width > 0) {
- this.current.lineWidth = width;
- }
- }
- }, {
- key: "setLineCap",
- value: function setLineCap(style) {
- this.current.lineCap = LINE_CAP_STYLES[style];
- }
- }, {
- key: "setLineJoin",
- value: function setLineJoin(style) {
- this.current.lineJoin = LINE_JOIN_STYLES[style];
- }
- }, {
- key: "setMiterLimit",
- value: function setMiterLimit(limit) {
- this.current.miterLimit = limit;
- }
- }, {
- key: "setStrokeAlpha",
- value: function setStrokeAlpha(strokeAlpha) {
- this.current.strokeAlpha = strokeAlpha;
- }
- }, {
- key: "setStrokeRGBColor",
- value: function setStrokeRGBColor(r, g, b) {
- this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);
- }
- }, {
- key: "setFillAlpha",
- value: function setFillAlpha(fillAlpha) {
- this.current.fillAlpha = fillAlpha;
- }
- }, {
- key: "setFillRGBColor",
- value: function setFillRGBColor(r, g, b) {
- this.current.fillColor = _util.Util.makeCssRgb(r, g, b);
- this.current.tspan = this.svgFactory.createElement('svg:tspan');
- this.current.xcoords = [];
- }
- }, {
- key: "setStrokeColorN",
- value: function setStrokeColorN(args) {
- this.current.strokeColor = this._makeColorN_Pattern(args);
- }
- }, {
- key: "setFillColorN",
- value: function setFillColorN(args) {
- this.current.fillColor = this._makeColorN_Pattern(args);
- }
- }, {
- key: "shadingFill",
- value: function shadingFill(args) {
- var width = this.viewport.width;
- var height = this.viewport.height;
-
- var inv = _util.Util.inverseTransform(this.transformMatrix);
-
- var bl = _util.Util.applyTransform([0, 0], inv);
-
- var br = _util.Util.applyTransform([0, height], inv);
-
- var ul = _util.Util.applyTransform([width, 0], inv);
-
- var ur = _util.Util.applyTransform([width, height], inv);
-
- var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
- var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
- var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
- var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
- var rect = this.svgFactory.createElement('svg:rect');
- rect.setAttributeNS(null, 'x', x0);
- rect.setAttributeNS(null, 'y', y0);
- rect.setAttributeNS(null, 'width', x1 - x0);
- rect.setAttributeNS(null, 'height', y1 - y0);
- rect.setAttributeNS(null, 'fill', this._makeShadingPattern(args));
-
- this._ensureTransformGroup().appendChild(rect);
- }
- }, {
- key: "_makeColorN_Pattern",
- value: function _makeColorN_Pattern(args) {
- if (args[0] === 'TilingPattern') {
- return this._makeTilingPattern(args);
- }
-
- return this._makeShadingPattern(args);
- }
- }, {
- key: "_makeTilingPattern",
- value: function _makeTilingPattern(args) {
- var color = args[1];
- var operatorList = args[2];
- var matrix = args[3] || _util.IDENTITY_MATRIX;
-
- var _args$ = _slicedToArray(args[4], 4),
- x0 = _args$[0],
- y0 = _args$[1],
- x1 = _args$[2],
- y1 = _args$[3];
-
- var xstep = args[5];
- var ystep = args[6];
- var paintType = args[7];
- var tilingId = "shading".concat(shadingCount++);
-
- var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),
- _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),
- tx0 = _Util$applyTransform2[0],
- ty0 = _Util$applyTransform2[1];
-
- var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),
- _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
- tx1 = _Util$applyTransform4[0],
- ty1 = _Util$applyTransform4[1];
-
- var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
- _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
- xscale = _Util$singularValueDe2[0],
- yscale = _Util$singularValueDe2[1];
-
- var txstep = xstep * xscale;
- var tystep = ystep * yscale;
- var tiling = this.svgFactory.createElement('svg:pattern');
- tiling.setAttributeNS(null, 'id', tilingId);
- tiling.setAttributeNS(null, 'patternUnits', 'userSpaceOnUse');
- tiling.setAttributeNS(null, 'width', txstep);
- tiling.setAttributeNS(null, 'height', tystep);
- tiling.setAttributeNS(null, 'x', "".concat(tx0));
- tiling.setAttributeNS(null, 'y', "".concat(ty0));
- var svg = this.svg;
- var transformMatrix = this.transformMatrix;
- var fillColor = this.current.fillColor;
- var strokeColor = this.current.strokeColor;
- var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
- this.svg = bbox;
- this.transformMatrix = matrix;
-
- if (paintType === 2) {
- var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));
-
- this.current.fillColor = cssColor;
- this.current.strokeColor = cssColor;
- }
-
- this.executeOpTree(this.convertOpList(operatorList));
- this.svg = svg;
- this.transformMatrix = transformMatrix;
- this.current.fillColor = fillColor;
- this.current.strokeColor = strokeColor;
- tiling.appendChild(bbox.childNodes[0]);
- this.defs.appendChild(tiling);
- return "url(#".concat(tilingId, ")");
- }
- }, {
- key: "_makeShadingPattern",
- value: function _makeShadingPattern(args) {
- switch (args[0]) {
- case 'RadialAxial':
- var shadingId = "shading".concat(shadingCount++);
- var colorStops = args[2];
- var gradient;
-
- switch (args[1]) {
- case 'axial':
- var point0 = args[3];
- var point1 = args[4];
- gradient = this.svgFactory.createElement('svg:linearGradient');
- gradient.setAttributeNS(null, 'id', shadingId);
- gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');
- gradient.setAttributeNS(null, 'x1', point0[0]);
- gradient.setAttributeNS(null, 'y1', point0[1]);
- gradient.setAttributeNS(null, 'x2', point1[0]);
- gradient.setAttributeNS(null, 'y2', point1[1]);
- break;
-
- case 'radial':
- var focalPoint = args[3];
- var circlePoint = args[4];
- var focalRadius = args[5];
- var circleRadius = args[6];
- gradient = this.svgFactory.createElement('svg:radialGradient');
- gradient.setAttributeNS(null, 'id', shadingId);
- gradient.setAttributeNS(null, 'gradientUnits', 'userSpaceOnUse');
- gradient.setAttributeNS(null, 'cx', circlePoint[0]);
- gradient.setAttributeNS(null, 'cy', circlePoint[1]);
- gradient.setAttributeNS(null, 'r', circleRadius);
- gradient.setAttributeNS(null, 'fx', focalPoint[0]);
- gradient.setAttributeNS(null, 'fy', focalPoint[1]);
- gradient.setAttributeNS(null, 'fr', focalRadius);
- break;
-
- default:
- throw new Error("Unknown RadialAxial type: ".concat(args[1]));
- }
-
- var _iteratorNormalCompletion5 = true;
- var _didIteratorError5 = false;
- var _iteratorError5 = undefined;
-
- try {
- for (var _iterator5 = colorStops[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
- var colorStop = _step5.value;
- var stop = this.svgFactory.createElement('svg:stop');
- stop.setAttributeNS(null, 'offset', colorStop[0]);
- stop.setAttributeNS(null, 'stop-color', colorStop[1]);
- gradient.appendChild(stop);
- }
- } catch (err) {
- _didIteratorError5 = true;
- _iteratorError5 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
- _iterator5["return"]();
- }
- } finally {
- if (_didIteratorError5) {
- throw _iteratorError5;
- }
- }
- }
-
- this.defs.appendChild(gradient);
- return "url(#".concat(shadingId, ")");
-
- case 'Mesh':
- (0, _util.warn)('Unimplemented pattern Mesh');
- return null;
-
- case 'Dummy':
- return 'hotpink';
+ case _util.OPS.setLeading:
+ this.setLeading(args);
+ break;
+
+ case _util.OPS.setLeadingMoveText:
+ this.setLeadingMoveText(args[0], args[1]);
+ break;
+
+ case _util.OPS.setFont:
+ this.setFont(args);
+ break;
+
+ case _util.OPS.showText:
+ this.showText(args[0]);
+ break;
+
+ case _util.OPS.showSpacedText:
+ this.showText(args[0]);
+ break;
+
+ case _util.OPS.endText:
+ this.endText();
+ break;
+
+ case _util.OPS.moveText:
+ this.moveText(args[0], args[1]);
+ break;
+
+ case _util.OPS.setCharSpacing:
+ this.setCharSpacing(args[0]);
+ break;
+
+ case _util.OPS.setWordSpacing:
+ this.setWordSpacing(args[0]);
+ break;
+
+ case _util.OPS.setHScale:
+ this.setHScale(args[0]);
+ break;
+
+ case _util.OPS.setTextMatrix:
+ this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
+ break;
+
+ case _util.OPS.setTextRise:
+ this.setTextRise(args[0]);
+ break;
+
+ case _util.OPS.setTextRenderingMode:
+ this.setTextRenderingMode(args[0]);
+ break;
+
+ case _util.OPS.setLineWidth:
+ this.setLineWidth(args[0]);
+ break;
+
+ case _util.OPS.setLineJoin:
+ this.setLineJoin(args[0]);
+ break;
+
+ case _util.OPS.setLineCap:
+ this.setLineCap(args[0]);
+ break;
+
+ case _util.OPS.setMiterLimit:
+ this.setMiterLimit(args[0]);
+ break;
+
+ case _util.OPS.setFillRGBColor:
+ this.setFillRGBColor(args[0], args[1], args[2]);
+ break;
+
+ case _util.OPS.setStrokeRGBColor:
+ this.setStrokeRGBColor(args[0], args[1], args[2]);
+ break;
+
+ case _util.OPS.setStrokeColorN:
+ this.setStrokeColorN(args);
+ break;
+
+ case _util.OPS.setFillColorN:
+ this.setFillColorN(args);
+ break;
+
+ case _util.OPS.shadingFill:
+ this.shadingFill(args[0]);
+ break;
+
+ case _util.OPS.setDash:
+ this.setDash(args[0], args[1]);
+ break;
+
+ case _util.OPS.setRenderingIntent:
+ this.setRenderingIntent(args[0]);
+ break;
+
+ case _util.OPS.setFlatness:
+ this.setFlatness(args[0]);
+ break;
+
+ case _util.OPS.setGState:
+ this.setGState(args[0]);
+ break;
+
+ case _util.OPS.fill:
+ this.fill();
+ break;
+
+ case _util.OPS.eoFill:
+ this.eoFill();
+ break;
+
+ case _util.OPS.stroke:
+ this.stroke();
+ break;
+
+ case _util.OPS.fillStroke:
+ this.fillStroke();
+ break;
+
+ case _util.OPS.eoFillStroke:
+ this.eoFillStroke();
+ break;
+
+ case _util.OPS.clip:
+ this.clip("nonzero");
+ break;
+
+ case _util.OPS.eoClip:
+ this.clip("evenodd");
+ break;
+
+ case _util.OPS.paintSolidColorImageMask:
+ this.paintSolidColorImageMask();
+ break;
+
+ case _util.OPS.paintImageXObject:
+ this.paintImageXObject(args[0]);
+ break;
+
+ case _util.OPS.paintInlineImageXObject:
+ this.paintInlineImageXObject(args[0]);
+ break;
+
+ case _util.OPS.paintImageMaskXObject:
+ this.paintImageMaskXObject(args[0]);
+ break;
+
+ case _util.OPS.paintFormXObjectBegin:
+ this.paintFormXObjectBegin(args[0], args[1]);
+ break;
+
+ case _util.OPS.paintFormXObjectEnd:
+ this.paintFormXObjectEnd();
+ break;
+
+ case _util.OPS.closePath:
+ this.closePath();
+ break;
+
+ case _util.OPS.closeStroke:
+ this.closeStroke();
+ break;
+
+ case _util.OPS.closeFillStroke:
+ this.closeFillStroke();
+ break;
+
+ case _util.OPS.closeEOFillStroke:
+ this.closeEOFillStroke();
+ break;
+
+ case _util.OPS.nextLine:
+ this.nextLine();
+ break;
+
+ case _util.OPS.transform:
+ this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
+ break;
+
+ case _util.OPS.constructPath:
+ this.constructPath(args[0], args[1]);
+ break;
+
+ case _util.OPS.endPath:
+ this.endPath();
+ break;
+
+ case 92:
+ this.group(opTreeElement.items);
+ break;
default:
- throw new Error("Unknown IR type: ".concat(args[0]));
+ (0, _util.warn)(`Unimplemented operator ${fn}`);
+ break;
}
}
- }, {
- key: "setDash",
- value: function setDash(dashArray, dashPhase) {
- this.current.dashArray = dashArray;
- this.current.dashPhase = dashPhase;
+ }
+
+ setWordSpacing(wordSpacing) {
+ this.current.wordSpacing = wordSpacing;
+ }
+
+ setCharSpacing(charSpacing) {
+ this.current.charSpacing = charSpacing;
+ }
+
+ nextLine() {
+ this.moveText(0, this.current.leading);
+ }
+
+ setTextMatrix(a, b, c, d, e, f) {
+ const current = this.current;
+ current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
+ current.textMatrixScale = Math.sqrt(a * a + b * b);
+ current.x = current.lineX = 0;
+ current.y = current.lineY = 0;
+ current.xcoords = [];
+ current.ycoords = [];
+ current.tspan = this.svgFactory.createElement("svg:tspan");
+ current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
+ current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
+ current.txtElement = this.svgFactory.createElement("svg:text");
+ current.txtElement.appendChild(current.tspan);
+ }
+
+ beginText() {
+ const current = this.current;
+ current.x = current.lineX = 0;
+ current.y = current.lineY = 0;
+ current.textMatrix = _util.IDENTITY_MATRIX;
+ current.lineMatrix = _util.IDENTITY_MATRIX;
+ current.textMatrixScale = 1;
+ current.tspan = this.svgFactory.createElement("svg:tspan");
+ current.txtElement = this.svgFactory.createElement("svg:text");
+ current.txtgrp = this.svgFactory.createElement("svg:g");
+ current.xcoords = [];
+ current.ycoords = [];
+ }
+
+ moveText(x, y) {
+ const current = this.current;
+ current.x = current.lineX += x;
+ current.y = current.lineY += y;
+ current.xcoords = [];
+ current.ycoords = [];
+ current.tspan = this.svgFactory.createElement("svg:tspan");
+ current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
+ current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
+ }
+
+ showText(glyphs) {
+ const current = this.current;
+ const font = current.font;
+ const fontSize = current.fontSize;
+
+ if (fontSize === 0) {
+ return;
}
- }, {
- key: "constructPath",
- value: function constructPath(ops, args) {
- var current = this.current;
- var x = current.x,
- y = current.y;
- var d = [];
- var j = 0;
- var _iteratorNormalCompletion6 = true;
- var _didIteratorError6 = false;
- var _iteratorError6 = undefined;
- try {
- for (var _iterator6 = ops[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
- var op = _step6.value;
+ const fontSizeScale = current.fontSizeScale;
+ const charSpacing = current.charSpacing;
+ const wordSpacing = current.wordSpacing;
+ const fontDirection = current.fontDirection;
+ const textHScale = current.textHScale * fontDirection;
+ const vertical = font.vertical;
+ const spacingDir = vertical ? 1 : -1;
+ const defaultVMetrics = font.defaultVMetrics;
+ const widthAdvanceScale = fontSize * current.fontMatrix[0];
+ let x = 0;
- switch (op | 0) {
- case _util.OPS.rectangle:
- x = args[j++];
- y = args[j++];
- var width = args[j++];
- var height = args[j++];
- var xw = x + width;
- var yh = y + height;
- d.push('M', pf(x), pf(y), 'L', pf(xw), pf(y), 'L', pf(xw), pf(yh), 'L', pf(x), pf(yh), 'Z');
- break;
-
- case _util.OPS.moveTo:
- x = args[j++];
- y = args[j++];
- d.push('M', pf(x), pf(y));
- break;
-
- case _util.OPS.lineTo:
- x = args[j++];
- y = args[j++];
- d.push('L', pf(x), pf(y));
- break;
-
- case _util.OPS.curveTo:
- x = args[j + 4];
- y = args[j + 5];
- d.push('C', pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
- j += 6;
- break;
-
- case _util.OPS.curveTo2:
- x = args[j + 2];
- y = args[j + 3];
- d.push('C', pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
- j += 4;
- break;
-
- case _util.OPS.curveTo3:
- x = args[j + 2];
- y = args[j + 3];
- d.push('C', pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
- j += 4;
- break;
-
- case _util.OPS.closePath:
- d.push('Z');
- break;
- }
- }
- } catch (err) {
- _didIteratorError6 = true;
- _iteratorError6 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion6 && _iterator6["return"] != null) {
- _iterator6["return"]();
- }
- } finally {
- if (_didIteratorError6) {
- throw _iteratorError6;
- }
- }
+ for (const glyph of glyphs) {
+ if (glyph === null) {
+ x += fontDirection * wordSpacing;
+ continue;
+ } else if ((0, _util.isNum)(glyph)) {
+ x += spacingDir * glyph * fontSize / 1000;
+ continue;
}
- d = d.join(' ');
+ const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
+ const character = glyph.fontChar;
+ let scaledX, scaledY;
+ let width = glyph.width;
- if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
- d = current.path.getAttributeNS(null, 'd') + d;
+ if (vertical) {
+ let vx;
+ const vmetric = glyph.vmetric || defaultVMetrics;
+ vx = glyph.vmetric ? vmetric[1] : width * 0.5;
+ vx = -vx * widthAdvanceScale;
+ const vy = vmetric[2] * widthAdvanceScale;
+ width = vmetric ? -vmetric[0] : width;
+ scaledX = vx / fontSizeScale;
+ scaledY = (x + vy) / fontSizeScale;
} else {
- current.path = this.svgFactory.createElement('svg:path');
-
- this._ensureTransformGroup().appendChild(current.path);
+ scaledX = x / fontSizeScale;
+ scaledY = 0;
}
- current.path.setAttributeNS(null, 'd', d);
- current.path.setAttributeNS(null, 'fill', 'none');
- current.element = current.path;
- current.setCurrentPoint(x, y);
- }
- }, {
- key: "endPath",
- value: function endPath() {
- var current = this.current;
- current.path = null;
+ if (glyph.isInFont || font.missingFile) {
+ current.xcoords.push(current.x + scaledX);
- if (!this.pendingClip) {
- return;
- }
+ if (vertical) {
+ current.ycoords.push(-current.y + scaledY);
+ }
- if (!current.element) {
- this.pendingClip = null;
- return;
- }
+ current.tspan.textContent += character;
+ } else {}
- var clipId = "clippath".concat(clipCount++);
- var clipPath = this.svgFactory.createElement('svg:clipPath');
- clipPath.setAttributeNS(null, 'id', clipId);
- clipPath.setAttributeNS(null, 'transform', pm(this.transformMatrix));
- var clipElement = current.element.cloneNode(true);
+ let charWidth;
- if (this.pendingClip === 'evenodd') {
- clipElement.setAttributeNS(null, 'clip-rule', 'evenodd');
+ if (vertical) {
+ charWidth = width * widthAdvanceScale - spacing * fontDirection;
} else {
- clipElement.setAttributeNS(null, 'clip-rule', 'nonzero');
+ charWidth = width * widthAdvanceScale + spacing * fontDirection;
}
+ x += charWidth;
+ }
+
+ current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));
+
+ if (vertical) {
+ current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" "));
+ } else {
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
+ }
+
+ if (vertical) {
+ current.y -= x;
+ } else {
+ current.x += x * textHScale;
+ }
+
+ current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
+ current.tspan.setAttributeNS(null, "font-size", `${pf(current.fontSize)}px`);
+
+ if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
+ current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
+ }
+
+ if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
+ current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
+ }
+
+ const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
+
+ if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
+ if (current.fillColor !== SVG_DEFAULTS.fillColor) {
+ current.tspan.setAttributeNS(null, "fill", current.fillColor);
+ }
+
+ if (current.fillAlpha < 1) {
+ current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
+ }
+ } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
+ current.tspan.setAttributeNS(null, "fill", "transparent");
+ } else {
+ current.tspan.setAttributeNS(null, "fill", "none");
+ }
+
+ if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
+ const lineWidthScale = 1 / (current.textMatrixScale || 1);
+
+ this._setStrokeAttributes(current.tspan, lineWidthScale);
+ }
+
+ let textMatrix = current.textMatrix;
+
+ if (current.textRise !== 0) {
+ textMatrix = textMatrix.slice();
+ textMatrix[5] += current.textRise;
+ }
+
+ current.txtElement.setAttributeNS(null, "transform", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);
+ current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
+ current.txtElement.appendChild(current.tspan);
+ current.txtgrp.appendChild(current.txtElement);
+
+ this._ensureTransformGroup().appendChild(current.txtElement);
+ }
+
+ setLeadingMoveText(x, y) {
+ this.setLeading(-y);
+ this.moveText(x, y);
+ }
+
+ addFontStyle(fontObj) {
+ if (!fontObj.data) {
+ throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.');
+ }
+
+ if (!this.cssStyle) {
+ this.cssStyle = this.svgFactory.createElement("svg:style");
+ this.cssStyle.setAttributeNS(null, "type", "text/css");
+ this.defs.appendChild(this.cssStyle);
+ }
+
+ const url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
+ this.cssStyle.textContent += `@font-face { font-family: "${fontObj.loadedName}";` + ` src: url(${url}); }\n`;
+ }
+
+ setFont(details) {
+ const current = this.current;
+ const fontObj = this.commonObjs.get(details[0]);
+ let size = details[1];
+ current.font = fontObj;
+
+ if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {
+ this.addFontStyle(fontObj);
+ this.embeddedFonts[fontObj.loadedName] = fontObj;
+ }
+
+ current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
+ let bold = "normal";
+
+ if (fontObj.black) {
+ bold = "900";
+ } else if (fontObj.bold) {
+ bold = "bold";
+ }
+
+ const italic = fontObj.italic ? "italic" : "normal";
+
+ if (size < 0) {
+ size = -size;
+ current.fontDirection = -1;
+ } else {
+ current.fontDirection = 1;
+ }
+
+ current.fontSize = size;
+ current.fontFamily = fontObj.loadedName;
+ current.fontWeight = bold;
+ current.fontStyle = italic;
+ current.tspan = this.svgFactory.createElement("svg:tspan");
+ current.tspan.setAttributeNS(null, "y", pf(-current.y));
+ current.xcoords = [];
+ current.ycoords = [];
+ }
+
+ endText() {
+ const current = this.current;
+
+ if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {
+ current.element = current.txtElement;
+ this.clip("nonzero");
+ this.endPath();
+ }
+ }
+
+ setLineWidth(width) {
+ if (width > 0) {
+ this.current.lineWidth = width;
+ }
+ }
+
+ setLineCap(style) {
+ this.current.lineCap = LINE_CAP_STYLES[style];
+ }
+
+ setLineJoin(style) {
+ this.current.lineJoin = LINE_JOIN_STYLES[style];
+ }
+
+ setMiterLimit(limit) {
+ this.current.miterLimit = limit;
+ }
+
+ setStrokeAlpha(strokeAlpha) {
+ this.current.strokeAlpha = strokeAlpha;
+ }
+
+ setStrokeRGBColor(r, g, b) {
+ this.current.strokeColor = _util.Util.makeHexColor(r, g, b);
+ }
+
+ setFillAlpha(fillAlpha) {
+ this.current.fillAlpha = fillAlpha;
+ }
+
+ setFillRGBColor(r, g, b) {
+ this.current.fillColor = _util.Util.makeHexColor(r, g, b);
+ this.current.tspan = this.svgFactory.createElement("svg:tspan");
+ this.current.xcoords = [];
+ this.current.ycoords = [];
+ }
+
+ setStrokeColorN(args) {
+ this.current.strokeColor = this._makeColorN_Pattern(args);
+ }
+
+ setFillColorN(args) {
+ this.current.fillColor = this._makeColorN_Pattern(args);
+ }
+
+ shadingFill(args) {
+ const width = this.viewport.width;
+ const height = this.viewport.height;
+
+ const inv = _util.Util.inverseTransform(this.transformMatrix);
+
+ const bl = _util.Util.applyTransform([0, 0], inv);
+
+ const br = _util.Util.applyTransform([0, height], inv);
+
+ const ul = _util.Util.applyTransform([width, 0], inv);
+
+ const ur = _util.Util.applyTransform([width, height], inv);
+
+ const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
+ const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
+ const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
+ const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
+ const rect = this.svgFactory.createElement("svg:rect");
+ rect.setAttributeNS(null, "x", x0);
+ rect.setAttributeNS(null, "y", y0);
+ rect.setAttributeNS(null, "width", x1 - x0);
+ rect.setAttributeNS(null, "height", y1 - y0);
+ rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));
+
+ if (this.current.fillAlpha < 1) {
+ rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha);
+ }
+
+ this._ensureTransformGroup().appendChild(rect);
+ }
+
+ _makeColorN_Pattern(args) {
+ if (args[0] === "TilingPattern") {
+ return this._makeTilingPattern(args);
+ }
+
+ return this._makeShadingPattern(args);
+ }
+
+ _makeTilingPattern(args) {
+ const color = args[1];
+ const operatorList = args[2];
+ const matrix = args[3] || _util.IDENTITY_MATRIX;
+ const [x0, y0, x1, y1] = args[4];
+ const xstep = args[5];
+ const ystep = args[6];
+ const paintType = args[7];
+ const tilingId = `shading${shadingCount++}`;
+
+ const [tx0, ty0] = _util.Util.applyTransform([x0, y0], matrix);
+
+ const [tx1, ty1] = _util.Util.applyTransform([x1, y1], matrix);
+
+ const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);
+
+ const txstep = xstep * xscale;
+ const tystep = ystep * yscale;
+ const tiling = this.svgFactory.createElement("svg:pattern");
+ tiling.setAttributeNS(null, "id", tilingId);
+ tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
+ tiling.setAttributeNS(null, "width", txstep);
+ tiling.setAttributeNS(null, "height", tystep);
+ tiling.setAttributeNS(null, "x", `${tx0}`);
+ tiling.setAttributeNS(null, "y", `${ty0}`);
+ const svg = this.svg;
+ const transformMatrix = this.transformMatrix;
+ const fillColor = this.current.fillColor;
+ const strokeColor = this.current.strokeColor;
+ const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
+ this.svg = bbox;
+ this.transformMatrix = matrix;
+
+ if (paintType === 2) {
+ const cssColor = _util.Util.makeHexColor(...color);
+
+ this.current.fillColor = cssColor;
+ this.current.strokeColor = cssColor;
+ }
+
+ this.executeOpTree(this.convertOpList(operatorList));
+ this.svg = svg;
+ this.transformMatrix = transformMatrix;
+ this.current.fillColor = fillColor;
+ this.current.strokeColor = strokeColor;
+ tiling.appendChild(bbox.childNodes[0]);
+ this.defs.appendChild(tiling);
+ return `url(#${tilingId})`;
+ }
+
+ _makeShadingPattern(args) {
+ switch (args[0]) {
+ case "RadialAxial":
+ const shadingId = `shading${shadingCount++}`;
+ const colorStops = args[3];
+ let gradient;
+
+ switch (args[1]) {
+ case "axial":
+ const point0 = args[4];
+ const point1 = args[5];
+ gradient = this.svgFactory.createElement("svg:linearGradient");
+ gradient.setAttributeNS(null, "id", shadingId);
+ gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
+ gradient.setAttributeNS(null, "x1", point0[0]);
+ gradient.setAttributeNS(null, "y1", point0[1]);
+ gradient.setAttributeNS(null, "x2", point1[0]);
+ gradient.setAttributeNS(null, "y2", point1[1]);
+ break;
+
+ case "radial":
+ const focalPoint = args[4];
+ const circlePoint = args[5];
+ const focalRadius = args[6];
+ const circleRadius = args[7];
+ gradient = this.svgFactory.createElement("svg:radialGradient");
+ gradient.setAttributeNS(null, "id", shadingId);
+ gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
+ gradient.setAttributeNS(null, "cx", circlePoint[0]);
+ gradient.setAttributeNS(null, "cy", circlePoint[1]);
+ gradient.setAttributeNS(null, "r", circleRadius);
+ gradient.setAttributeNS(null, "fx", focalPoint[0]);
+ gradient.setAttributeNS(null, "fy", focalPoint[1]);
+ gradient.setAttributeNS(null, "fr", focalRadius);
+ break;
+
+ default:
+ throw new Error(`Unknown RadialAxial type: ${args[1]}`);
+ }
+
+ for (const colorStop of colorStops) {
+ const stop = this.svgFactory.createElement("svg:stop");
+ stop.setAttributeNS(null, "offset", colorStop[0]);
+ stop.setAttributeNS(null, "stop-color", colorStop[1]);
+ gradient.appendChild(stop);
+ }
+
+ this.defs.appendChild(gradient);
+ return `url(#${shadingId})`;
+
+ case "Mesh":
+ (0, _util.warn)("Unimplemented pattern Mesh");
+ return null;
+
+ case "Dummy":
+ return "hotpink";
+
+ default:
+ throw new Error(`Unknown IR type: ${args[0]}`);
+ }
+ }
+
+ setDash(dashArray, dashPhase) {
+ this.current.dashArray = dashArray;
+ this.current.dashPhase = dashPhase;
+ }
+
+ constructPath(ops, args) {
+ const current = this.current;
+ let x = current.x,
+ y = current.y;
+ let d = [];
+ let j = 0;
+
+ for (const op of ops) {
+ switch (op | 0) {
+ case _util.OPS.rectangle:
+ x = args[j++];
+ y = args[j++];
+ const width = args[j++];
+ const height = args[j++];
+ const xw = x + width;
+ const yh = y + height;
+ d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
+ break;
+
+ case _util.OPS.moveTo:
+ x = args[j++];
+ y = args[j++];
+ d.push("M", pf(x), pf(y));
+ break;
+
+ case _util.OPS.lineTo:
+ x = args[j++];
+ y = args[j++];
+ d.push("L", pf(x), pf(y));
+ break;
+
+ case _util.OPS.curveTo:
+ x = args[j + 4];
+ y = args[j + 5];
+ d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
+ j += 6;
+ break;
+
+ case _util.OPS.curveTo2:
+ d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
+ x = args[j + 2];
+ y = args[j + 3];
+ j += 4;
+ break;
+
+ case _util.OPS.curveTo3:
+ x = args[j + 2];
+ y = args[j + 3];
+ d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
+ j += 4;
+ break;
+
+ case _util.OPS.closePath:
+ d.push("Z");
+ break;
+ }
+ }
+
+ d = d.join(" ");
+
+ if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
+ d = current.path.getAttributeNS(null, "d") + d;
+ } else {
+ current.path = this.svgFactory.createElement("svg:path");
+
+ this._ensureTransformGroup().appendChild(current.path);
+ }
+
+ current.path.setAttributeNS(null, "d", d);
+ current.path.setAttributeNS(null, "fill", "none");
+ current.element = current.path;
+ current.setCurrentPoint(x, y);
+ }
+
+ endPath() {
+ const current = this.current;
+ current.path = null;
+
+ if (!this.pendingClip) {
+ return;
+ }
+
+ if (!current.element) {
this.pendingClip = null;
- clipPath.appendChild(clipElement);
- this.defs.appendChild(clipPath);
-
- if (current.activeClipUrl) {
- current.clipGroup = null;
- this.extraStack.forEach(function (prev) {
- prev.clipGroup = null;
- });
- clipPath.setAttributeNS(null, 'clip-path', current.activeClipUrl);
- }
-
- current.activeClipUrl = "url(#".concat(clipId, ")");
- this.tgrp = null;
+ return;
}
- }, {
- key: "clip",
- value: function clip(type) {
- this.pendingClip = type;
- }
- }, {
- key: "closePath",
- value: function closePath() {
- var current = this.current;
- if (current.path) {
- var d = "".concat(current.path.getAttributeNS(null, 'd'), "Z");
- current.path.setAttributeNS(null, 'd', d);
+ const clipId = `clippath${clipCount++}`;
+ const clipPath = this.svgFactory.createElement("svg:clipPath");
+ clipPath.setAttributeNS(null, "id", clipId);
+ clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
+ const clipElement = current.element.cloneNode(true);
+
+ if (this.pendingClip === "evenodd") {
+ clipElement.setAttributeNS(null, "clip-rule", "evenodd");
+ } else {
+ clipElement.setAttributeNS(null, "clip-rule", "nonzero");
+ }
+
+ this.pendingClip = null;
+ clipPath.appendChild(clipElement);
+ this.defs.appendChild(clipPath);
+
+ if (current.activeClipUrl) {
+ current.clipGroup = null;
+ this.extraStack.forEach(function (prev) {
+ prev.clipGroup = null;
+ });
+ clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
+ }
+
+ current.activeClipUrl = `url(#${clipId})`;
+ this.tgrp = null;
+ }
+
+ clip(type) {
+ this.pendingClip = type;
+ }
+
+ closePath() {
+ const current = this.current;
+
+ if (current.path) {
+ const d = `${current.path.getAttributeNS(null, "d")}Z`;
+ current.path.setAttributeNS(null, "d", d);
+ }
+ }
+
+ setLeading(leading) {
+ this.current.leading = -leading;
+ }
+
+ setTextRise(textRise) {
+ this.current.textRise = textRise;
+ }
+
+ setTextRenderingMode(textRenderingMode) {
+ this.current.textRenderingMode = textRenderingMode;
+ }
+
+ setHScale(scale) {
+ this.current.textHScale = scale / 100;
+ }
+
+ setRenderingIntent(intent) {}
+
+ setFlatness(flatness) {}
+
+ setGState(states) {
+ for (const [key, value] of states) {
+ switch (key) {
+ case "LW":
+ this.setLineWidth(value);
+ break;
+
+ case "LC":
+ this.setLineCap(value);
+ break;
+
+ case "LJ":
+ this.setLineJoin(value);
+ break;
+
+ case "ML":
+ this.setMiterLimit(value);
+ break;
+
+ case "D":
+ this.setDash(value[0], value[1]);
+ break;
+
+ case "RI":
+ this.setRenderingIntent(value);
+ break;
+
+ case "FL":
+ this.setFlatness(value);
+ break;
+
+ case "Font":
+ this.setFont(value);
+ break;
+
+ case "CA":
+ this.setStrokeAlpha(value);
+ break;
+
+ case "ca":
+ this.setFillAlpha(value);
+ break;
+
+ default:
+ (0, _util.warn)(`Unimplemented graphic state operator ${key}`);
+ break;
}
}
- }, {
- key: "setLeading",
- value: function setLeading(leading) {
- this.current.leading = -leading;
+ }
+
+ fill() {
+ const current = this.current;
+
+ if (current.element) {
+ current.element.setAttributeNS(null, "fill", current.fillColor);
+ current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
+ this.endPath();
}
- }, {
- key: "setTextRise",
- value: function setTextRise(textRise) {
- this.current.textRise = textRise;
+ }
+
+ stroke() {
+ const current = this.current;
+
+ if (current.element) {
+ this._setStrokeAttributes(current.element);
+
+ current.element.setAttributeNS(null, "fill", "none");
+ this.endPath();
}
- }, {
- key: "setTextRenderingMode",
- value: function setTextRenderingMode(textRenderingMode) {
- this.current.textRenderingMode = textRenderingMode;
+ }
+
+ _setStrokeAttributes(element, lineWidthScale = 1) {
+ const current = this.current;
+ let dashArray = current.dashArray;
+
+ if (lineWidthScale !== 1 && dashArray.length > 0) {
+ dashArray = dashArray.map(function (value) {
+ return lineWidthScale * value;
+ });
}
- }, {
- key: "setHScale",
- value: function setHScale(scale) {
- this.current.textHScale = scale / 100;
+
+ element.setAttributeNS(null, "stroke", current.strokeColor);
+ element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
+ element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
+ element.setAttributeNS(null, "stroke-linecap", current.lineCap);
+ element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
+ element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
+ element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
+ element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
+ }
+
+ eoFill() {
+ if (this.current.element) {
+ this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
}
- }, {
- key: "setRenderingIntent",
- value: function setRenderingIntent(intent) {}
- }, {
- key: "setFlatness",
- value: function setFlatness(flatness) {}
- }, {
- key: "setGState",
- value: function setGState(states) {
- var _iteratorNormalCompletion7 = true;
- var _didIteratorError7 = false;
- var _iteratorError7 = undefined;
- try {
- for (var _iterator7 = states[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
- var _step7$value = _slicedToArray(_step7.value, 2),
- key = _step7$value[0],
- value = _step7$value[1];
+ this.fill();
+ }
- switch (key) {
- case 'LW':
- this.setLineWidth(value);
- break;
+ fillStroke() {
+ this.stroke();
+ this.fill();
+ }
- case 'LC':
- this.setLineCap(value);
- break;
-
- case 'LJ':
- this.setLineJoin(value);
- break;
-
- case 'ML':
- this.setMiterLimit(value);
- break;
-
- case 'D':
- this.setDash(value[0], value[1]);
- break;
-
- case 'RI':
- this.setRenderingIntent(value);
- break;
-
- case 'FL':
- this.setFlatness(value);
- break;
-
- case 'Font':
- this.setFont(value);
- break;
-
- case 'CA':
- this.setStrokeAlpha(value);
- break;
-
- case 'ca':
- this.setFillAlpha(value);
- break;
-
- default:
- (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
- break;
- }
- }
- } catch (err) {
- _didIteratorError7 = true;
- _iteratorError7 = err;
- } finally {
- try {
- if (!_iteratorNormalCompletion7 && _iterator7["return"] != null) {
- _iterator7["return"]();
- }
- } finally {
- if (_didIteratorError7) {
- throw _iteratorError7;
- }
- }
- }
+ eoFillStroke() {
+ if (this.current.element) {
+ this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
}
- }, {
- key: "fill",
- value: function fill() {
- var current = this.current;
- if (current.element) {
- current.element.setAttributeNS(null, 'fill', current.fillColor);
- current.element.setAttributeNS(null, 'fill-opacity', current.fillAlpha);
- this.endPath();
- }
- }
- }, {
- key: "stroke",
- value: function stroke() {
- var current = this.current;
+ this.fillStroke();
+ }
- if (current.element) {
- this._setStrokeAttributes(current.element);
+ closeStroke() {
+ this.closePath();
+ this.stroke();
+ }
- current.element.setAttributeNS(null, 'fill', 'none');
- this.endPath();
- }
- }
- }, {
- key: "_setStrokeAttributes",
- value: function _setStrokeAttributes(element) {
- var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
- var current = this.current;
- var dashArray = current.dashArray;
+ closeFillStroke() {
+ this.closePath();
+ this.fillStroke();
+ }
- if (lineWidthScale !== 1 && dashArray.length > 0) {
- dashArray = dashArray.map(function (value) {
- return lineWidthScale * value;
- });
- }
+ closeEOFillStroke() {
+ this.closePath();
+ this.eoFillStroke();
+ }
- element.setAttributeNS(null, 'stroke', current.strokeColor);
- element.setAttributeNS(null, 'stroke-opacity', current.strokeAlpha);
- element.setAttributeNS(null, 'stroke-miterlimit', pf(current.miterLimit));
- element.setAttributeNS(null, 'stroke-linecap', current.lineCap);
- element.setAttributeNS(null, 'stroke-linejoin', current.lineJoin);
- element.setAttributeNS(null, 'stroke-width', pf(lineWidthScale * current.lineWidth) + 'px');
- element.setAttributeNS(null, 'stroke-dasharray', dashArray.map(pf).join(' '));
- element.setAttributeNS(null, 'stroke-dashoffset', pf(lineWidthScale * current.dashPhase) + 'px');
- }
- }, {
- key: "eoFill",
- value: function eoFill() {
- if (this.current.element) {
- this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');
- }
+ paintSolidColorImageMask() {
+ const rect = this.svgFactory.createElement("svg:rect");
+ rect.setAttributeNS(null, "x", "0");
+ rect.setAttributeNS(null, "y", "0");
+ rect.setAttributeNS(null, "width", "1px");
+ rect.setAttributeNS(null, "height", "1px");
+ rect.setAttributeNS(null, "fill", this.current.fillColor);
- this.fill();
- }
- }, {
- key: "fillStroke",
- value: function fillStroke() {
- this.stroke();
- this.fill();
- }
- }, {
- key: "eoFillStroke",
- value: function eoFillStroke() {
- if (this.current.element) {
- this.current.element.setAttributeNS(null, 'fill-rule', 'evenodd');
- }
+ this._ensureTransformGroup().appendChild(rect);
+ }
- this.fillStroke();
- }
- }, {
- key: "closeStroke",
- value: function closeStroke() {
- this.closePath();
- this.stroke();
- }
- }, {
- key: "closeFillStroke",
- value: function closeFillStroke() {
- this.closePath();
- this.fillStroke();
- }
- }, {
- key: "closeEOFillStroke",
- value: function closeEOFillStroke() {
- this.closePath();
- this.eoFillStroke();
- }
- }, {
- key: "paintSolidColorImageMask",
- value: function paintSolidColorImageMask() {
- var rect = this.svgFactory.createElement('svg:rect');
- rect.setAttributeNS(null, 'x', '0');
- rect.setAttributeNS(null, 'y', '0');
- rect.setAttributeNS(null, 'width', '1px');
- rect.setAttributeNS(null, 'height', '1px');
- rect.setAttributeNS(null, 'fill', this.current.fillColor);
+ paintImageXObject(objId) {
+ const imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);
- this._ensureTransformGroup().appendChild(rect);
+ if (!imgData) {
+ (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);
+ return;
}
- }, {
- key: "paintJpegXObject",
- value: function paintJpegXObject(objId, w, h) {
- var imgObj = this.objs.get(objId);
- var imgEl = this.svgFactory.createElement('svg:image');
- imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgObj.src);
- imgEl.setAttributeNS(null, 'width', pf(w));
- imgEl.setAttributeNS(null, 'height', pf(h));
- imgEl.setAttributeNS(null, 'x', '0');
- imgEl.setAttributeNS(null, 'y', pf(-h));
- imgEl.setAttributeNS(null, 'transform', "scale(".concat(pf(1 / w), " ").concat(pf(-1 / h), ")"));
+ this.paintInlineImageXObject(imgData);
+ }
+
+ paintInlineImageXObject(imgData, mask) {
+ const width = imgData.width;
+ const height = imgData.height;
+ const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
+ const cliprect = this.svgFactory.createElement("svg:rect");
+ cliprect.setAttributeNS(null, "x", "0");
+ cliprect.setAttributeNS(null, "y", "0");
+ cliprect.setAttributeNS(null, "width", pf(width));
+ cliprect.setAttributeNS(null, "height", pf(height));
+ this.current.element = cliprect;
+ this.clip("nonzero");
+ const imgEl = this.svgFactory.createElement("svg:image");
+ imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
+ imgEl.setAttributeNS(null, "x", "0");
+ imgEl.setAttributeNS(null, "y", pf(-height));
+ imgEl.setAttributeNS(null, "width", pf(width) + "px");
+ imgEl.setAttributeNS(null, "height", pf(height) + "px");
+ imgEl.setAttributeNS(null, "transform", `scale(${pf(1 / width)} ${pf(-1 / height)})`);
+
+ if (mask) {
+ mask.appendChild(imgEl);
+ } else {
this._ensureTransformGroup().appendChild(imgEl);
}
- }, {
- key: "paintImageXObject",
- value: function paintImageXObject(objId) {
- var imgData = this.objs.get(objId);
+ }
- if (!imgData) {
- (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
- return;
- }
+ paintImageMaskXObject(imgData) {
+ const current = this.current;
+ const width = imgData.width;
+ const height = imgData.height;
+ const fillColor = current.fillColor;
+ current.maskId = `mask${maskCount++}`;
+ const mask = this.svgFactory.createElement("svg:mask");
+ mask.setAttributeNS(null, "id", current.maskId);
+ const rect = this.svgFactory.createElement("svg:rect");
+ rect.setAttributeNS(null, "x", "0");
+ rect.setAttributeNS(null, "y", "0");
+ rect.setAttributeNS(null, "width", pf(width));
+ rect.setAttributeNS(null, "height", pf(height));
+ rect.setAttributeNS(null, "fill", fillColor);
+ rect.setAttributeNS(null, "mask", `url(#${current.maskId})`);
+ this.defs.appendChild(mask);
- this.paintInlineImageXObject(imgData);
+ this._ensureTransformGroup().appendChild(rect);
+
+ this.paintInlineImageXObject(imgData, mask);
+ }
+
+ paintFormXObjectBegin(matrix, bbox) {
+ if (Array.isArray(matrix) && matrix.length === 6) {
+ this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
}
- }, {
- key: "paintInlineImageXObject",
- value: function paintInlineImageXObject(imgData, mask) {
- var width = imgData.width;
- var height = imgData.height;
- var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
- var cliprect = this.svgFactory.createElement('svg:rect');
- cliprect.setAttributeNS(null, 'x', '0');
- cliprect.setAttributeNS(null, 'y', '0');
- cliprect.setAttributeNS(null, 'width', pf(width));
- cliprect.setAttributeNS(null, 'height', pf(height));
+
+ if (bbox) {
+ const width = bbox[2] - bbox[0];
+ const height = bbox[3] - bbox[1];
+ const cliprect = this.svgFactory.createElement("svg:rect");
+ cliprect.setAttributeNS(null, "x", bbox[0]);
+ cliprect.setAttributeNS(null, "y", bbox[1]);
+ cliprect.setAttributeNS(null, "width", pf(width));
+ cliprect.setAttributeNS(null, "height", pf(height));
this.current.element = cliprect;
- this.clip('nonzero');
- var imgEl = this.svgFactory.createElement('svg:image');
- imgEl.setAttributeNS(XLINK_NS, 'xlink:href', imgSrc);
- imgEl.setAttributeNS(null, 'x', '0');
- imgEl.setAttributeNS(null, 'y', pf(-height));
- imgEl.setAttributeNS(null, 'width', pf(width) + 'px');
- imgEl.setAttributeNS(null, 'height', pf(height) + 'px');
- imgEl.setAttributeNS(null, 'transform', "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")"));
+ this.clip("nonzero");
+ this.endPath();
+ }
+ }
- if (mask) {
- mask.appendChild(imgEl);
+ paintFormXObjectEnd() {}
+
+ _initialize(viewport) {
+ const svg = this.svgFactory.create(viewport.width, viewport.height);
+ const definitions = this.svgFactory.createElement("svg:defs");
+ svg.appendChild(definitions);
+ this.defs = definitions;
+ const rootGroup = this.svgFactory.createElement("svg:g");
+ rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
+ svg.appendChild(rootGroup);
+ this.svg = rootGroup;
+ return svg;
+ }
+
+ _ensureClipGroup() {
+ if (!this.current.clipGroup) {
+ const clipGroup = this.svgFactory.createElement("svg:g");
+ clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
+ this.svg.appendChild(clipGroup);
+ this.current.clipGroup = clipGroup;
+ }
+
+ return this.current.clipGroup;
+ }
+
+ _ensureTransformGroup() {
+ if (!this.tgrp) {
+ this.tgrp = this.svgFactory.createElement("svg:g");
+ this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));
+
+ if (this.current.activeClipUrl) {
+ this._ensureClipGroup().appendChild(this.tgrp);
} else {
- this._ensureTransformGroup().appendChild(imgEl);
+ this.svg.appendChild(this.tgrp);
}
}
- }, {
- key: "paintImageMaskXObject",
- value: function paintImageMaskXObject(imgData) {
- var current = this.current;
- var width = imgData.width;
- var height = imgData.height;
- var fillColor = current.fillColor;
- current.maskId = "mask".concat(maskCount++);
- var mask = this.svgFactory.createElement('svg:mask');
- mask.setAttributeNS(null, 'id', current.maskId);
- var rect = this.svgFactory.createElement('svg:rect');
- rect.setAttributeNS(null, 'x', '0');
- rect.setAttributeNS(null, 'y', '0');
- rect.setAttributeNS(null, 'width', pf(width));
- rect.setAttributeNS(null, 'height', pf(height));
- rect.setAttributeNS(null, 'fill', fillColor);
- rect.setAttributeNS(null, 'mask', "url(#".concat(current.maskId, ")"));
- this.defs.appendChild(mask);
- this._ensureTransformGroup().appendChild(rect);
+ return this.tgrp;
+ }
- this.paintInlineImageXObject(imgData, mask);
- }
- }, {
- key: "paintFormXObjectBegin",
- value: function paintFormXObjectBegin(matrix, bbox) {
- if (Array.isArray(matrix) && matrix.length === 6) {
- this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
- }
-
- if (bbox) {
- var width = bbox[2] - bbox[0];
- var height = bbox[3] - bbox[1];
- var cliprect = this.svgFactory.createElement('svg:rect');
- cliprect.setAttributeNS(null, 'x', bbox[0]);
- cliprect.setAttributeNS(null, 'y', bbox[1]);
- cliprect.setAttributeNS(null, 'width', pf(width));
- cliprect.setAttributeNS(null, 'height', pf(height));
- this.current.element = cliprect;
- this.clip('nonzero');
- this.endPath();
- }
- }
- }, {
- key: "paintFormXObjectEnd",
- value: function paintFormXObjectEnd() {}
- }, {
- key: "_initialize",
- value: function _initialize(viewport) {
- var svg = this.svgFactory.create(viewport.width, viewport.height);
- var definitions = this.svgFactory.createElement('svg:defs');
- svg.appendChild(definitions);
- this.defs = definitions;
- var rootGroup = this.svgFactory.createElement('svg:g');
- rootGroup.setAttributeNS(null, 'transform', pm(viewport.transform));
- svg.appendChild(rootGroup);
- this.svg = rootGroup;
- return svg;
- }
- }, {
- key: "_ensureClipGroup",
- value: function _ensureClipGroup() {
- if (!this.current.clipGroup) {
- var clipGroup = this.svgFactory.createElement('svg:g');
- clipGroup.setAttributeNS(null, 'clip-path', this.current.activeClipUrl);
- this.svg.appendChild(clipGroup);
- this.current.clipGroup = clipGroup;
- }
-
- return this.current.clipGroup;
- }
- }, {
- key: "_ensureTransformGroup",
- value: function _ensureTransformGroup() {
- if (!this.tgrp) {
- this.tgrp = this.svgFactory.createElement('svg:g');
- this.tgrp.setAttributeNS(null, 'transform', pm(this.transformMatrix));
-
- if (this.current.activeClipUrl) {
- this._ensureClipGroup().appendChild(this.tgrp);
- } else {
- this.svg.appendChild(this.tgrp);
- }
- }
-
- return this.tgrp;
- }
- }]);
-
- return SVGGraphics;
- }();
+ };
}
/***/ }),
-/* 197 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 23 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.PDFNodeStream = void 0;
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
+var _util = __w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
+var _network_utils = __w_pdfjs_require__(24);
-var _network_utils = __w_pdfjs_require__(198);
+;
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
+const fs = require("fs");
-function _typeof(obj) { 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); }
+const http = require("http");
-function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
+const https = require("https");
-function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
+const url = require("url");
-function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
-
-function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
-var fs = require('fs');
-
-var http = require('http');
-
-var https = require('https');
-
-var url = require('url');
-
-var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
+const fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;
function parseUrl(sourceUrl) {
- var parsedUrl = url.parse(sourceUrl);
+ const parsedUrl = url.parse(sourceUrl);
- if (parsedUrl.protocol === 'file:' || parsedUrl.host) {
+ if (parsedUrl.protocol === "file:" || parsedUrl.host) {
return parsedUrl;
}
if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
- return url.parse("file:///".concat(sourceUrl));
+ return url.parse(`file:///${sourceUrl}`);
}
if (!parsedUrl.host) {
- parsedUrl.protocol = 'file:';
+ parsedUrl.protocol = "file:";
}
return parsedUrl;
}
-var PDFNodeStream =
-/*#__PURE__*/
-function () {
- function PDFNodeStream(source) {
- _classCallCheck(this, PDFNodeStream);
-
+class PDFNodeStream {
+ constructor(source) {
this.source = source;
this.url = parseUrl(source.url);
- this.isHttp = this.url.protocol === 'http:' || this.url.protocol === 'https:';
- this.isFsUrl = this.url.protocol === 'file:';
+ this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
+ this.isFsUrl = this.url.protocol === "file:";
this.httpHeaders = this.isHttp && source.httpHeaders || {};
this._fullRequestReader = null;
this._rangeRequestReaders = [];
}
- _createClass(PDFNodeStream, [{
- key: "getFullReader",
- value: function getFullReader() {
- (0, _util.assert)(!this._fullRequestReader);
- this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
- return this._fullRequestReader;
+ get _progressiveDataLength() {
+ return this._fullRequestReader?._loaded ?? 0;
+ }
+
+ getFullReader() {
+ (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once.");
+ this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
+ return this._fullRequestReader;
+ }
+
+ getRangeReader(start, end) {
+ if (end <= this._progressiveDataLength) {
+ return null;
}
- }, {
- key: "getRangeReader",
- value: function getRangeReader(start, end) {
- if (end <= this._progressiveDataLength) {
- return null;
- }
- var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);
+ const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);
- this._rangeRequestReaders.push(rangeReader);
+ this._rangeRequestReaders.push(rangeReader);
- return rangeReader;
+ return rangeReader;
+ }
+
+ cancelAllRequests(reason) {
+ if (this._fullRequestReader) {
+ this._fullRequestReader.cancel(reason);
}
- }, {
- key: "cancelAllRequests",
- value: function cancelAllRequests(reason) {
- if (this._fullRequestReader) {
- this._fullRequestReader.cancel(reason);
- }
- var readers = this._rangeRequestReaders.slice(0);
+ const readers = this._rangeRequestReaders.slice(0);
- readers.forEach(function (reader) {
- reader.cancel(reason);
- });
- }
- }, {
- key: "_progressiveDataLength",
- get: function get() {
- return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
- }
- }]);
+ readers.forEach(function (reader) {
+ reader.cancel(reason);
+ });
+ }
- return PDFNodeStream;
-}();
+}
exports.PDFNodeStream = PDFNodeStream;
-var BaseFullReader =
-/*#__PURE__*/
-function () {
- function BaseFullReader(stream) {
- _classCallCheck(this, BaseFullReader);
-
+class BaseFullReader {
+ constructor(stream) {
this._url = stream.url;
this._done = false;
this._storedError = null;
this.onProgress = null;
- var source = stream.source;
+ const source = stream.source;
this._contentLength = source.length;
this._loaded = 0;
this._filename = null;
@@ -22994,161 +13603,107 @@ function () {
this._headersCapability = (0, _util.createPromiseCapability)();
}
- _createClass(BaseFullReader, [{
- key: "read",
- value: function () {
- var _read = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee() {
- var chunk, buffer;
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- _context.next = 2;
- return this._readCapability.promise;
+ get headersReady() {
+ return this._headersCapability.promise;
+ }
- case 2:
- if (!this._done) {
- _context.next = 4;
- break;
- }
+ get filename() {
+ return this._filename;
+ }
- return _context.abrupt("return", {
- value: undefined,
- done: true
- });
+ get contentLength() {
+ return this._contentLength;
+ }
- case 4:
- if (!this._storedError) {
- _context.next = 6;
- break;
- }
+ get isRangeSupported() {
+ return this._isRangeSupported;
+ }
- throw this._storedError;
+ get isStreamingSupported() {
+ return this._isStreamingSupported;
+ }
- case 6:
- chunk = this._readableStream.read();
+ async read() {
+ await this._readCapability.promise;
- if (!(chunk === null)) {
- _context.next = 10;
- break;
- }
-
- this._readCapability = (0, _util.createPromiseCapability)();
- return _context.abrupt("return", this.read());
-
- case 10:
- this._loaded += chunk.length;
-
- if (this.onProgress) {
- this.onProgress({
- loaded: this._loaded,
- total: this._contentLength
- });
- }
-
- buffer = new Uint8Array(chunk).buffer;
- return _context.abrupt("return", {
- value: buffer,
- done: false
- });
-
- case 14:
- case "end":
- return _context.stop();
- }
- }
- }, _callee, this);
- }));
-
- function read() {
- return _read.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- if (!this._readableStream) {
- this._error(reason);
-
- return;
- }
-
- this._readableStream.destroy(reason);
+ if (this._done) {
+ return {
+ value: undefined,
+ done: true
+ };
}
- }, {
- key: "_error",
- value: function _error(reason) {
- this._storedError = reason;
+
+ if (this._storedError) {
+ throw this._storedError;
+ }
+
+ const chunk = this._readableStream.read();
+
+ if (chunk === null) {
+ this._readCapability = (0, _util.createPromiseCapability)();
+ return this.read();
+ }
+
+ this._loaded += chunk.length;
+
+ if (this.onProgress) {
+ this.onProgress({
+ loaded: this._loaded,
+ total: this._contentLength
+ });
+ }
+
+ const buffer = new Uint8Array(chunk).buffer;
+ return {
+ value: buffer,
+ done: false
+ };
+ }
+
+ cancel(reason) {
+ if (!this._readableStream) {
+ this._error(reason);
+
+ return;
+ }
+
+ this._readableStream.destroy(reason);
+ }
+
+ _error(reason) {
+ this._storedError = reason;
+
+ this._readCapability.resolve();
+ }
+
+ _setReadableStream(readableStream) {
+ this._readableStream = readableStream;
+ readableStream.on("readable", () => {
+ this._readCapability.resolve();
+ });
+ readableStream.on("end", () => {
+ readableStream.destroy();
+ this._done = true;
this._readCapability.resolve();
- }
- }, {
- key: "_setReadableStream",
- value: function _setReadableStream(readableStream) {
- var _this = this;
+ });
+ readableStream.on("error", reason => {
+ this._error(reason);
+ });
- this._readableStream = readableStream;
- readableStream.on('readable', function () {
- _this._readCapability.resolve();
- });
- readableStream.on('end', function () {
- readableStream.destroy();
- _this._done = true;
-
- _this._readCapability.resolve();
- });
- readableStream.on('error', function (reason) {
- _this._error(reason);
- });
-
- if (!this._isStreamingSupported && this._isRangeSupported) {
- this._error(new _util.AbortException('streaming is disabled'));
- }
-
- if (this._storedError) {
- this._readableStream.destroy(this._storedError);
- }
+ if (!this._isStreamingSupported && this._isRangeSupported) {
+ this._error(new _util.AbortException("streaming is disabled"));
}
- }, {
- key: "headersReady",
- get: function get() {
- return this._headersCapability.promise;
- }
- }, {
- key: "filename",
- get: function get() {
- return this._filename;
- }
- }, {
- key: "contentLength",
- get: function get() {
- return this._contentLength;
- }
- }, {
- key: "isRangeSupported",
- get: function get() {
- return this._isRangeSupported;
- }
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return this._isStreamingSupported;
- }
- }]);
- return BaseFullReader;
-}();
+ if (this._storedError) {
+ this._readableStream.destroy(this._storedError);
+ }
+ }
-var BaseRangeReader =
-/*#__PURE__*/
-function () {
- function BaseRangeReader(stream) {
- _classCallCheck(this, BaseRangeReader);
+}
+class BaseRangeReader {
+ constructor(stream) {
this._url = stream.url;
this._done = false;
this._storedError = null;
@@ -23156,367 +13711,278 @@ function () {
this._loaded = 0;
this._readableStream = null;
this._readCapability = (0, _util.createPromiseCapability)();
- var source = stream.source;
+ const source = stream.source;
this._isStreamingSupported = !source.disableStream;
}
- _createClass(BaseRangeReader, [{
- key: "read",
- value: function () {
- var _read2 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee2() {
- var chunk, buffer;
- return _regenerator["default"].wrap(function _callee2$(_context2) {
- while (1) {
- switch (_context2.prev = _context2.next) {
- case 0:
- _context2.next = 2;
- return this._readCapability.promise;
+ get isStreamingSupported() {
+ return this._isStreamingSupported;
+ }
- case 2:
- if (!this._done) {
- _context2.next = 4;
- break;
- }
+ async read() {
+ await this._readCapability.promise;
- return _context2.abrupt("return", {
- value: undefined,
- done: true
- });
-
- case 4:
- if (!this._storedError) {
- _context2.next = 6;
- break;
- }
-
- throw this._storedError;
-
- case 6:
- chunk = this._readableStream.read();
-
- if (!(chunk === null)) {
- _context2.next = 10;
- break;
- }
-
- this._readCapability = (0, _util.createPromiseCapability)();
- return _context2.abrupt("return", this.read());
-
- case 10:
- this._loaded += chunk.length;
-
- if (this.onProgress) {
- this.onProgress({
- loaded: this._loaded
- });
- }
-
- buffer = new Uint8Array(chunk).buffer;
- return _context2.abrupt("return", {
- value: buffer,
- done: false
- });
-
- case 14:
- case "end":
- return _context2.stop();
- }
- }
- }, _callee2, this);
- }));
-
- function read() {
- return _read2.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- if (!this._readableStream) {
- this._error(reason);
-
- return;
- }
-
- this._readableStream.destroy(reason);
+ if (this._done) {
+ return {
+ value: undefined,
+ done: true
+ };
}
- }, {
- key: "_error",
- value: function _error(reason) {
- this._storedError = reason;
+
+ if (this._storedError) {
+ throw this._storedError;
+ }
+
+ const chunk = this._readableStream.read();
+
+ if (chunk === null) {
+ this._readCapability = (0, _util.createPromiseCapability)();
+ return this.read();
+ }
+
+ this._loaded += chunk.length;
+
+ if (this.onProgress) {
+ this.onProgress({
+ loaded: this._loaded
+ });
+ }
+
+ const buffer = new Uint8Array(chunk).buffer;
+ return {
+ value: buffer,
+ done: false
+ };
+ }
+
+ cancel(reason) {
+ if (!this._readableStream) {
+ this._error(reason);
+
+ return;
+ }
+
+ this._readableStream.destroy(reason);
+ }
+
+ _error(reason) {
+ this._storedError = reason;
+
+ this._readCapability.resolve();
+ }
+
+ _setReadableStream(readableStream) {
+ this._readableStream = readableStream;
+ readableStream.on("readable", () => {
+ this._readCapability.resolve();
+ });
+ readableStream.on("end", () => {
+ readableStream.destroy();
+ this._done = true;
this._readCapability.resolve();
+ });
+ readableStream.on("error", reason => {
+ this._error(reason);
+ });
+
+ if (this._storedError) {
+ this._readableStream.destroy(this._storedError);
}
- }, {
- key: "_setReadableStream",
- value: function _setReadableStream(readableStream) {
- var _this2 = this;
+ }
- this._readableStream = readableStream;
- readableStream.on('readable', function () {
- _this2._readCapability.resolve();
- });
- readableStream.on('end', function () {
- readableStream.destroy();
- _this2._done = true;
+}
- _this2._readCapability.resolve();
- });
- readableStream.on('error', function (reason) {
- _this2._error(reason);
- });
-
- if (this._storedError) {
- this._readableStream.destroy(this._storedError);
- }
- }
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return this._isStreamingSupported;
- }
- }]);
-
- return BaseRangeReader;
-}();
-
-function createRequestOptions(url, headers) {
+function createRequestOptions(parsedUrl, headers) {
return {
- protocol: url.protocol,
- auth: url.auth,
- host: url.hostname,
- port: url.port,
- path: url.path,
- method: 'GET',
- headers: headers
+ protocol: parsedUrl.protocol,
+ auth: parsedUrl.auth,
+ host: parsedUrl.hostname,
+ port: parsedUrl.port,
+ path: parsedUrl.path,
+ method: "GET",
+ headers
};
}
-var PDFNodeStreamFullReader =
-/*#__PURE__*/
-function (_BaseFullReader) {
- _inherits(PDFNodeStreamFullReader, _BaseFullReader);
+class PDFNodeStreamFullReader extends BaseFullReader {
+ constructor(stream) {
+ super(stream);
- function PDFNodeStreamFullReader(stream) {
- var _this3;
-
- _classCallCheck(this, PDFNodeStreamFullReader);
-
- _this3 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFullReader).call(this, stream));
-
- var handleResponse = function handleResponse(response) {
+ const handleResponse = response => {
if (response.statusCode === 404) {
- var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
- _this3._storedError = error;
+ const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`);
+ this._storedError = error;
- _this3._headersCapability.reject(error);
+ this._headersCapability.reject(error);
return;
}
- _this3._headersCapability.resolve();
+ this._headersCapability.resolve();
- _this3._setReadableStream(response);
+ this._setReadableStream(response);
- var getResponseHeader = function getResponseHeader(name) {
- return _this3._readableStream.headers[name.toLowerCase()];
+ const getResponseHeader = name => {
+ return this._readableStream.headers[name.toLowerCase()];
};
- var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
- getResponseHeader: getResponseHeader,
+ const {
+ allowRangeRequests,
+ suggestedLength
+ } = (0, _network_utils.validateRangeRequestCapabilities)({
+ getResponseHeader,
isHttp: stream.isHttp,
- rangeChunkSize: _this3._rangeChunkSize,
- disableRange: _this3._disableRange
- }),
- allowRangeRequests = _validateRangeRequest.allowRangeRequests,
- suggestedLength = _validateRangeRequest.suggestedLength;
-
- _this3._isRangeSupported = allowRangeRequests;
- _this3._contentLength = suggestedLength || _this3._contentLength;
- _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
+ rangeChunkSize: this._rangeChunkSize,
+ disableRange: this._disableRange
+ });
+ this._isRangeSupported = allowRangeRequests;
+ this._contentLength = suggestedLength || this._contentLength;
+ this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
};
- _this3._request = null;
+ this._request = null;
- if (_this3._url.protocol === 'http:') {
- _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
+ if (this._url.protocol === "http:") {
+ this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);
} else {
- _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
+ this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);
}
- _this3._request.on('error', function (reason) {
- _this3._storedError = reason;
+ this._request.on("error", reason => {
+ this._storedError = reason;
- _this3._headersCapability.reject(reason);
+ this._headersCapability.reject(reason);
});
- _this3._request.end();
-
- return _this3;
+ this._request.end();
}
- return PDFNodeStreamFullReader;
-}(BaseFullReader);
+}
-var PDFNodeStreamRangeReader =
-/*#__PURE__*/
-function (_BaseRangeReader) {
- _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);
+class PDFNodeStreamRangeReader extends BaseRangeReader {
+ constructor(stream, start, end) {
+ super(stream);
+ this._httpHeaders = {};
- function PDFNodeStreamRangeReader(stream, start, end) {
- var _this4;
+ for (const property in stream.httpHeaders) {
+ const value = stream.httpHeaders[property];
- _classCallCheck(this, PDFNodeStreamRangeReader);
-
- _this4 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamRangeReader).call(this, stream));
- _this4._httpHeaders = {};
-
- for (var property in stream.httpHeaders) {
- var value = stream.httpHeaders[property];
-
- if (typeof value === 'undefined') {
+ if (typeof value === "undefined") {
continue;
}
- _this4._httpHeaders[property] = value;
+ this._httpHeaders[property] = value;
}
- _this4._httpHeaders['Range'] = "bytes=".concat(start, "-").concat(end - 1);
+ this._httpHeaders.Range = `bytes=${start}-${end - 1}`;
- var handleResponse = function handleResponse(response) {
+ const handleResponse = response => {
if (response.statusCode === 404) {
- var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
- _this4._storedError = error;
+ const error = new _util.MissingPDFException(`Missing PDF "${this._url}".`);
+ this._storedError = error;
return;
}
- _this4._setReadableStream(response);
+ this._setReadableStream(response);
};
- _this4._request = null;
+ this._request = null;
- if (_this4._url.protocol === 'http:') {
- _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
+ if (this._url.protocol === "http:") {
+ this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);
} else {
- _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
+ this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);
}
- _this4._request.on('error', function (reason) {
- _this4._storedError = reason;
+ this._request.on("error", reason => {
+ this._storedError = reason;
});
- _this4._request.end();
-
- return _this4;
+ this._request.end();
}
- return PDFNodeStreamRangeReader;
-}(BaseRangeReader);
+}
-var PDFNodeStreamFsFullReader =
-/*#__PURE__*/
-function (_BaseFullReader2) {
- _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);
+class PDFNodeStreamFsFullReader extends BaseFullReader {
+ constructor(stream) {
+ super(stream);
+ let path = decodeURIComponent(this._url.path);
- function PDFNodeStreamFsFullReader(stream) {
- var _this5;
-
- _classCallCheck(this, PDFNodeStreamFsFullReader);
-
- _this5 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsFullReader).call(this, stream));
- var path = decodeURIComponent(_this5._url.path);
-
- if (fileUriRegex.test(_this5._url.href)) {
- path = path.replace(/^\//, '');
+ if (fileUriRegex.test(this._url.href)) {
+ path = path.replace(/^\//, "");
}
- fs.lstat(path, function (error, stat) {
+ fs.lstat(path, (error, stat) => {
if (error) {
- if (error.code === 'ENOENT') {
- error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
+ if (error.code === "ENOENT") {
+ error = new _util.MissingPDFException(`Missing PDF "${path}".`);
}
- _this5._storedError = error;
+ this._storedError = error;
- _this5._headersCapability.reject(error);
+ this._headersCapability.reject(error);
return;
}
- _this5._contentLength = stat.size;
+ this._contentLength = stat.size;
- _this5._setReadableStream(fs.createReadStream(path));
+ this._setReadableStream(fs.createReadStream(path));
- _this5._headersCapability.resolve();
+ this._headersCapability.resolve();
});
- return _this5;
}
- return PDFNodeStreamFsFullReader;
-}(BaseFullReader);
+}
-var PDFNodeStreamFsRangeReader =
-/*#__PURE__*/
-function (_BaseRangeReader2) {
- _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);
+class PDFNodeStreamFsRangeReader extends BaseRangeReader {
+ constructor(stream, start, end) {
+ super(stream);
+ let path = decodeURIComponent(this._url.path);
- function PDFNodeStreamFsRangeReader(stream, start, end) {
- var _this6;
-
- _classCallCheck(this, PDFNodeStreamFsRangeReader);
-
- _this6 = _possibleConstructorReturn(this, _getPrototypeOf(PDFNodeStreamFsRangeReader).call(this, stream));
- var path = decodeURIComponent(_this6._url.path);
-
- if (fileUriRegex.test(_this6._url.href)) {
- path = path.replace(/^\//, '');
+ if (fileUriRegex.test(this._url.href)) {
+ path = path.replace(/^\//, "");
}
- _this6._setReadableStream(fs.createReadStream(path, {
- start: start,
+ this._setReadableStream(fs.createReadStream(path, {
+ start,
end: end - 1
}));
-
- return _this6;
}
- return PDFNodeStreamFsRangeReader;
-}(BaseRangeReader);
+}
/***/ }),
-/* 198 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 24 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.createResponseStatusError = createResponseStatusError;
exports.extractFilenameFromHeader = extractFilenameFromHeader;
exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
exports.validateResponseStatus = validateResponseStatus;
-var _util = __w_pdfjs_require__(1);
+var _util = __w_pdfjs_require__(2);
-var _content_disposition = __w_pdfjs_require__(199);
+var _content_disposition = __w_pdfjs_require__(25);
-function validateRangeRequestCapabilities(_ref) {
- var getResponseHeader = _ref.getResponseHeader,
- isHttp = _ref.isHttp,
- rangeChunkSize = _ref.rangeChunkSize,
- disableRange = _ref.disableRange;
- (0, _util.assert)(rangeChunkSize > 0, 'Range chunk size must be larger than zero');
- var returnValues = {
+function validateRangeRequestCapabilities({
+ getResponseHeader,
+ isHttp,
+ rangeChunkSize,
+ disableRange
+}) {
+ (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
+ const returnValues = {
allowRangeRequests: false,
suggestedLength: undefined
};
- var length = parseInt(getResponseHeader('Content-Length'), 10);
+ const length = parseInt(getResponseHeader("Content-Length"), 10);
if (!Number.isInteger(length)) {
return returnValues;
@@ -23532,13 +13998,13 @@ function validateRangeRequestCapabilities(_ref) {
return returnValues;
}
- if (getResponseHeader('Accept-Ranges') !== 'bytes') {
+ if (getResponseHeader("Accept-Ranges") !== "bytes") {
return returnValues;
}
- var contentEncoding = getResponseHeader('Content-Encoding') || 'identity';
+ const contentEncoding = getResponseHeader("Content-Encoding") || "identity";
- if (contentEncoding !== 'identity') {
+ if (contentEncoding !== "identity") {
return returnValues;
}
@@ -23547,12 +14013,12 @@ function validateRangeRequestCapabilities(_ref) {
}
function extractFilenameFromHeader(getResponseHeader) {
- var contentDisposition = getResponseHeader('Content-Disposition');
+ const contentDisposition = getResponseHeader("Content-Disposition");
if (contentDisposition) {
- var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
+ let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);
- if (filename.includes('%')) {
+ if (filename.includes("%")) {
try {
filename = decodeURIComponent(filename);
} catch (ex) {}
@@ -23567,11 +14033,11 @@ function extractFilenameFromHeader(getResponseHeader) {
}
function createResponseStatusError(status, url) {
- if (status === 404 || status === 0 && /^file:/.test(url)) {
+ if (status === 404 || status === 0 && url.startsWith("file:")) {
return new _util.MissingPDFException('Missing PDF "' + url + '".');
}
- return new _util.UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF "' + url + '".', status);
+ return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving PDF "' + url + '".', status);
}
function validateResponseStatus(status) {
@@ -23579,32 +14045,23 @@ function validateResponseStatus(status) {
}
/***/ }),
-/* 199 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 25 */
+/***/ ((__unused_webpack_module, exports) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;
-function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
-
-function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
-
-function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
-
-function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
-
function getFilenameFromContentDispositionHeader(contentDisposition) {
- var needsEncodingFixup = true;
- var tmp = toParamRegExp('filename\\*', 'i').exec(contentDisposition);
+ let needsEncodingFixup = true;
+ let tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);
if (tmp) {
tmp = tmp[1];
- var filename = rfc2616unquote(tmp);
+ let filename = rfc2616unquote(tmp);
filename = unescape(filename);
filename = rfc5987decode(filename);
filename = rfc2047decode(filename);
@@ -23614,24 +14071,21 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
tmp = rfc2231getparam(contentDisposition);
if (tmp) {
- var _filename = rfc2047decode(tmp);
-
- return fixupEncoding(_filename);
+ const filename = rfc2047decode(tmp);
+ return fixupEncoding(filename);
}
- tmp = toParamRegExp('filename', 'i').exec(contentDisposition);
+ tmp = toParamRegExp("filename", "i").exec(contentDisposition);
if (tmp) {
tmp = tmp[1];
-
- var _filename2 = rfc2616unquote(tmp);
-
- _filename2 = rfc2047decode(_filename2);
- return fixupEncoding(_filename2);
+ let filename = rfc2616unquote(tmp);
+ filename = rfc2047decode(filename);
+ return fixupEncoding(filename);
}
function toParamRegExp(attributePattern, flags) {
- return new RegExp('(?:^|;)\\s*' + attributePattern + '\\s*=\\s*' + '(' + '[^";\\s][^;\\s]*' + '|' + '"(?:[^"\\\\]|\\\\"?)+"?' + ')', flags);
+ return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
}
function textdecode(encoding, value) {
@@ -23641,11 +14095,11 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
}
try {
- var decoder = new TextDecoder(encoding, {
+ const decoder = new TextDecoder(encoding, {
fatal: true
});
- var bytes = Array.from(value, function (ch) {
- return ch.charCodeAt(0) & 0xFF;
+ const bytes = Array.from(value, function (ch) {
+ return ch.charCodeAt(0) & 0xff;
});
value = decoder.decode(new Uint8Array(bytes));
needsEncodingFixup = false;
@@ -23664,28 +14118,23 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
function fixupEncoding(value) {
if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
- value = textdecode('utf-8', value);
+ value = textdecode("utf-8", value);
if (needsEncodingFixup) {
- value = textdecode('iso-8859-1', value);
+ value = textdecode("iso-8859-1", value);
}
}
return value;
}
- function rfc2231getparam(contentDisposition) {
- var matches = [],
- match;
- var iter = toParamRegExp('filename\\*((?!0\\d)\\d+)(\\*?)', 'ig');
-
- while ((match = iter.exec(contentDisposition)) !== null) {
- var _match = match,
- _match2 = _slicedToArray(_match, 4),
- n = _match2[1],
- quot = _match2[2],
- part = _match2[3];
+ function rfc2231getparam(contentDispositionStr) {
+ const matches = [];
+ let match;
+ const iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");
+ while ((match = iter.exec(contentDispositionStr)) !== null) {
+ let [, n, quot, part] = match;
n = parseInt(n, 10);
if (n in matches) {
@@ -23699,17 +14148,14 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
matches[n] = [quot, part];
}
- var parts = [];
+ const parts = [];
- for (var n = 0; n < matches.length; ++n) {
+ for (let n = 0; n < matches.length; ++n) {
if (!(n in matches)) {
break;
}
- var _matches$n = _slicedToArray(matches[n], 2),
- quot = _matches$n[0],
- part = _matches$n[1];
-
+ let [quot, part] = matches[n];
part = rfc2616unquote(part);
if (quot) {
@@ -23723,22 +14169,22 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
parts.push(part);
}
- return parts.join('');
+ return parts.join("");
}
function rfc2616unquote(value) {
if (value.startsWith('"')) {
- var parts = value.slice(1).split('\\"');
+ const parts = value.slice(1).split('\\"');
- for (var i = 0; i < parts.length; ++i) {
- var quotindex = parts[i].indexOf('"');
+ for (let i = 0; i < parts.length; ++i) {
+ const quotindex = parts[i].indexOf('"');
if (quotindex !== -1) {
parts[i] = parts[i].slice(0, quotindex);
parts.length = i + 1;
}
- parts[i] = parts[i].replace(/\\(.)/g, '$1');
+ parts[i] = parts[i].replace(/\\(.)/g, "$1");
}
value = parts.join('"');
@@ -23748,27 +14194,27 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
}
function rfc5987decode(extvalue) {
- var encodingend = extvalue.indexOf('\'');
+ const encodingend = extvalue.indexOf("'");
if (encodingend === -1) {
return extvalue;
}
- var encoding = extvalue.slice(0, encodingend);
- var langvalue = extvalue.slice(encodingend + 1);
- var value = langvalue.replace(/^[^']*'/, '');
+ const encoding = extvalue.slice(0, encodingend);
+ const langvalue = extvalue.slice(encodingend + 1);
+ const value = langvalue.replace(/^[^']*'/, "");
return textdecode(encoding, value);
}
function rfc2047decode(value) {
- if (!value.startsWith('=?') || /[\x00-\x19\x80-\xff]/.test(value)) {
+ if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
return value;
}
- return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (_, charset, encoding, text) {
- if (encoding === 'q' || encoding === 'Q') {
- text = text.replace(/_/g, ' ');
- text = text.replace(/=([0-9a-fA-F]{2})/g, function (_, hex) {
+ return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) {
+ if (encoding === "q" || encoding === "Q") {
+ text = text.replace(/_/g, " ");
+ text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {
return String.fromCharCode(parseInt(hex, 16));
});
return textdecode(charset, text);
@@ -23782,60 +14228,41 @@ function getFilenameFromContentDispositionHeader(contentDisposition) {
});
}
- return '';
+ return "";
}
/***/ }),
-/* 200 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 26 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.PDFNetworkStream = void 0;
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
+var _util = __w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
-
-var _network_utils = __w_pdfjs_require__(198);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+var _network_utils = __w_pdfjs_require__(24);
;
-var OK_RESPONSE = 200;
-var PARTIAL_CONTENT_RESPONSE = 206;
+const OK_RESPONSE = 200;
+const PARTIAL_CONTENT_RESPONSE = 206;
function getArrayBuffer(xhr) {
- var data = xhr.response;
+ const data = xhr.response;
- if (typeof data !== 'string') {
+ if (typeof data !== "string") {
return data;
}
- var array = (0, _util.stringToBytes)(data);
+ const array = (0, _util.stringToBytes)(data);
return array.buffer;
}
-var NetworkManager =
-/*#__PURE__*/
-function () {
- function NetworkManager(url, args) {
- _classCallCheck(this, NetworkManager);
-
+class NetworkManager {
+ constructor(url, args) {
this.url = url;
args = args || {};
this.isHttp = /^https?:/i.test(url);
@@ -23850,190 +14277,159 @@ function () {
this.pendingRequests = Object.create(null);
}
- _createClass(NetworkManager, [{
- key: "requestRange",
- value: function requestRange(begin, end, listeners) {
- var args = {
- begin: begin,
- end: end
+ requestRange(begin, end, listeners) {
+ const args = {
+ begin,
+ end
+ };
+
+ for (const prop in listeners) {
+ args[prop] = listeners[prop];
+ }
+
+ return this.request(args);
+ }
+
+ requestFull(listeners) {
+ return this.request(listeners);
+ }
+
+ request(args) {
+ const xhr = this.getXhr();
+ const xhrId = this.currXhrId++;
+ const pendingRequest = this.pendingRequests[xhrId] = {
+ xhr
+ };
+ xhr.open("GET", this.url);
+ xhr.withCredentials = this.withCredentials;
+
+ for (const property in this.httpHeaders) {
+ const value = this.httpHeaders[property];
+
+ if (typeof value === "undefined") {
+ continue;
+ }
+
+ xhr.setRequestHeader(property, value);
+ }
+
+ if (this.isHttp && "begin" in args && "end" in args) {
+ xhr.setRequestHeader("Range", `bytes=${args.begin}-${args.end - 1}`);
+ pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
+ } else {
+ pendingRequest.expectedStatus = OK_RESPONSE;
+ }
+
+ xhr.responseType = "arraybuffer";
+
+ if (args.onError) {
+ xhr.onerror = function (evt) {
+ args.onError(xhr.status);
};
-
- for (var prop in listeners) {
- args[prop] = listeners[prop];
- }
-
- return this.request(args);
}
- }, {
- key: "requestFull",
- value: function requestFull(listeners) {
- return this.request(listeners);
+
+ xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
+ xhr.onprogress = this.onProgress.bind(this, xhrId);
+ pendingRequest.onHeadersReceived = args.onHeadersReceived;
+ pendingRequest.onDone = args.onDone;
+ pendingRequest.onError = args.onError;
+ pendingRequest.onProgress = args.onProgress;
+ xhr.send(null);
+ return xhrId;
+ }
+
+ onProgress(xhrId, evt) {
+ const pendingRequest = this.pendingRequests[xhrId];
+
+ if (!pendingRequest) {
+ return;
}
- }, {
- key: "request",
- value: function request(args) {
- var xhr = this.getXhr();
- var xhrId = this.currXhrId++;
- var pendingRequest = this.pendingRequests[xhrId] = {
- xhr: xhr
- };
- xhr.open('GET', this.url);
- xhr.withCredentials = this.withCredentials;
- for (var property in this.httpHeaders) {
- var value = this.httpHeaders[property];
-
- if (typeof value === 'undefined') {
- continue;
- }
-
- xhr.setRequestHeader(property, value);
- }
-
- if (this.isHttp && 'begin' in args && 'end' in args) {
- xhr.setRequestHeader('Range', "bytes=".concat(args.begin, "-").concat(args.end - 1));
- pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
- } else {
- pendingRequest.expectedStatus = OK_RESPONSE;
- }
-
- xhr.responseType = 'arraybuffer';
-
- if (args.onError) {
- xhr.onerror = function (evt) {
- args.onError(xhr.status);
- };
- }
-
- xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
- xhr.onprogress = this.onProgress.bind(this, xhrId);
- pendingRequest.onHeadersReceived = args.onHeadersReceived;
- pendingRequest.onDone = args.onDone;
- pendingRequest.onError = args.onError;
- pendingRequest.onProgress = args.onProgress;
- xhr.send(null);
- return xhrId;
+ if (pendingRequest.onProgress) {
+ pendingRequest.onProgress(evt);
}
- }, {
- key: "onProgress",
- value: function onProgress(xhrId, evt) {
- var pendingRequest = this.pendingRequests[xhrId];
+ }
- if (!pendingRequest) {
- return;
- }
+ onStateChange(xhrId, evt) {
+ const pendingRequest = this.pendingRequests[xhrId];
- if (pendingRequest.onProgress) {
- pendingRequest.onProgress(evt);
- }
+ if (!pendingRequest) {
+ return;
}
- }, {
- key: "onStateChange",
- value: function onStateChange(xhrId, evt) {
- var pendingRequest = this.pendingRequests[xhrId];
- if (!pendingRequest) {
- return;
- }
+ const xhr = pendingRequest.xhr;
- var xhr = pendingRequest.xhr;
+ if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
+ pendingRequest.onHeadersReceived();
+ delete pendingRequest.onHeadersReceived;
+ }
- if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
- pendingRequest.onHeadersReceived();
- delete pendingRequest.onHeadersReceived;
- }
+ if (xhr.readyState !== 4) {
+ return;
+ }
- if (xhr.readyState !== 4) {
- return;
- }
+ if (!(xhrId in this.pendingRequests)) {
+ return;
+ }
- if (!(xhrId in this.pendingRequests)) {
- return;
- }
+ delete this.pendingRequests[xhrId];
- delete this.pendingRequests[xhrId];
-
- if (xhr.status === 0 && this.isHttp) {
- if (pendingRequest.onError) {
- pendingRequest.onError(xhr.status);
- }
-
- return;
- }
-
- var xhrStatus = xhr.status || OK_RESPONSE;
- var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
-
- if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
- if (pendingRequest.onError) {
- pendingRequest.onError(xhr.status);
- }
-
- return;
- }
-
- var chunk = getArrayBuffer(xhr);
-
- if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
- var rangeHeader = xhr.getResponseHeader('Content-Range');
- var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
- pendingRequest.onDone({
- begin: parseInt(matches[1], 10),
- chunk: chunk
- });
- } else if (chunk) {
- pendingRequest.onDone({
- begin: 0,
- chunk: chunk
- });
- } else if (pendingRequest.onError) {
+ if (xhr.status === 0 && this.isHttp) {
+ if (pendingRequest.onError) {
pendingRequest.onError(xhr.status);
}
+
+ return;
}
- }, {
- key: "hasPendingRequests",
- value: function hasPendingRequests() {
- for (var xhrId in this.pendingRequests) {
- return true;
+
+ const xhrStatus = xhr.status || OK_RESPONSE;
+ const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
+
+ if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
+ if (pendingRequest.onError) {
+ pendingRequest.onError(xhr.status);
}
- return false;
+ return;
}
- }, {
- key: "getRequestXhr",
- value: function getRequestXhr(xhrId) {
- return this.pendingRequests[xhrId].xhr;
- }
- }, {
- key: "isPendingRequest",
- value: function isPendingRequest(xhrId) {
- return xhrId in this.pendingRequests;
- }
- }, {
- key: "abortAllRequests",
- value: function abortAllRequests() {
- for (var xhrId in this.pendingRequests) {
- this.abortRequest(xhrId | 0);
- }
- }
- }, {
- key: "abortRequest",
- value: function abortRequest(xhrId) {
- var xhr = this.pendingRequests[xhrId].xhr;
- delete this.pendingRequests[xhrId];
- xhr.abort();
- }
- }]);
- return NetworkManager;
-}();
+ const chunk = getArrayBuffer(xhr);
-var PDFNetworkStream =
-/*#__PURE__*/
-function () {
- function PDFNetworkStream(source) {
- _classCallCheck(this, PDFNetworkStream);
+ if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
+ const rangeHeader = xhr.getResponseHeader("Content-Range");
+ const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
+ pendingRequest.onDone({
+ begin: parseInt(matches[1], 10),
+ chunk
+ });
+ } else if (chunk) {
+ pendingRequest.onDone({
+ begin: 0,
+ chunk
+ });
+ } else if (pendingRequest.onError) {
+ pendingRequest.onError(xhr.status);
+ }
+ }
+ getRequestXhr(xhrId) {
+ return this.pendingRequests[xhrId].xhr;
+ }
+
+ isPendingRequest(xhrId) {
+ return xhrId in this.pendingRequests;
+ }
+
+ abortRequest(xhrId) {
+ const xhr = this.pendingRequests[xhrId].xhr;
+ delete this.pendingRequests[xhrId];
+ xhr.abort();
+ }
+
+}
+
+class PDFNetworkStream {
+ constructor(source) {
this._source = source;
this._manager = new NetworkManager(source.url, {
httpHeaders: source.httpHeaders,
@@ -24044,60 +14440,49 @@ function () {
this._rangeRequestReaders = [];
}
- _createClass(PDFNetworkStream, [{
- key: "_onRangeRequestReaderClosed",
- value: function _onRangeRequestReaderClosed(reader) {
- var i = this._rangeRequestReaders.indexOf(reader);
+ _onRangeRequestReaderClosed(reader) {
+ const i = this._rangeRequestReaders.indexOf(reader);
- if (i >= 0) {
- this._rangeRequestReaders.splice(i, 1);
- }
+ if (i >= 0) {
+ this._rangeRequestReaders.splice(i, 1);
}
- }, {
- key: "getFullReader",
- value: function getFullReader() {
- (0, _util.assert)(!this._fullRequestReader);
- this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
- return this._fullRequestReader;
+ }
+
+ getFullReader() {
+ (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once.");
+ this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
+ return this._fullRequestReader;
+ }
+
+ getRangeReader(begin, end) {
+ const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
+ reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
+
+ this._rangeRequestReaders.push(reader);
+
+ return reader;
+ }
+
+ cancelAllRequests(reason) {
+ if (this._fullRequestReader) {
+ this._fullRequestReader.cancel(reason);
}
- }, {
- key: "getRangeReader",
- value: function getRangeReader(begin, end) {
- var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
- reader.onClosed = this._onRangeRequestReaderClosed.bind(this);
- this._rangeRequestReaders.push(reader);
+ const readers = this._rangeRequestReaders.slice(0);
- return reader;
- }
- }, {
- key: "cancelAllRequests",
- value: function cancelAllRequests(reason) {
- if (this._fullRequestReader) {
- this._fullRequestReader.cancel(reason);
- }
+ readers.forEach(function (reader) {
+ reader.cancel(reason);
+ });
+ }
- var readers = this._rangeRequestReaders.slice(0);
-
- readers.forEach(function (reader) {
- reader.cancel(reason);
- });
- }
- }]);
-
- return PDFNetworkStream;
-}();
+}
exports.PDFNetworkStream = PDFNetworkStream;
-var PDFNetworkStreamFullRequestReader =
-/*#__PURE__*/
-function () {
- function PDFNetworkStreamFullRequestReader(manager, source) {
- _classCallCheck(this, PDFNetworkStreamFullRequestReader);
-
+class PDFNetworkStreamFullRequestReader {
+ constructor(manager, source) {
this._manager = manager;
- var args = {
+ const args = {
onHeadersReceived: this._onHeadersReceived.bind(this),
onDone: this._onDone.bind(this),
onError: this._onError.bind(this),
@@ -24124,218 +14509,168 @@ function () {
this.onProgress = null;
}
- _createClass(PDFNetworkStreamFullRequestReader, [{
- key: "_onHeadersReceived",
- value: function _onHeadersReceived() {
- var fullRequestXhrId = this._fullRequestId;
+ _onHeadersReceived() {
+ const fullRequestXhrId = this._fullRequestId;
- var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
+ const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);
- var getResponseHeader = function getResponseHeader(name) {
- return fullRequestXhr.getResponseHeader(name);
+ const getResponseHeader = name => {
+ return fullRequestXhr.getResponseHeader(name);
+ };
+
+ const {
+ allowRangeRequests,
+ suggestedLength
+ } = (0, _network_utils.validateRangeRequestCapabilities)({
+ getResponseHeader,
+ isHttp: this._manager.isHttp,
+ rangeChunkSize: this._rangeChunkSize,
+ disableRange: this._disableRange
+ });
+
+ if (allowRangeRequests) {
+ this._isRangeSupported = true;
+ }
+
+ this._contentLength = suggestedLength || this._contentLength;
+ this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
+
+ if (this._isRangeSupported) {
+ this._manager.abortRequest(fullRequestXhrId);
+ }
+
+ this._headersReceivedCapability.resolve();
+ }
+
+ _onDone(args) {
+ if (args) {
+ if (this._requests.length > 0) {
+ const requestCapability = this._requests.shift();
+
+ requestCapability.resolve({
+ value: args.chunk,
+ done: false
+ });
+ } else {
+ this._cachedChunks.push(args.chunk);
+ }
+ }
+
+ this._done = true;
+
+ if (this._cachedChunks.length > 0) {
+ return;
+ }
+
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.resolve({
+ value: undefined,
+ done: true
+ });
+ });
+
+ this._requests = [];
+ }
+
+ _onError(status) {
+ const url = this._url;
+ const exception = (0, _network_utils.createResponseStatusError)(status, url);
+ this._storedError = exception;
+
+ this._headersReceivedCapability.reject(exception);
+
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.reject(exception);
+ });
+
+ this._requests = [];
+ this._cachedChunks = [];
+ }
+
+ _onProgress(data) {
+ if (this.onProgress) {
+ this.onProgress({
+ loaded: data.loaded,
+ total: data.lengthComputable ? data.total : this._contentLength
+ });
+ }
+ }
+
+ get filename() {
+ return this._filename;
+ }
+
+ get isRangeSupported() {
+ return this._isRangeSupported;
+ }
+
+ get isStreamingSupported() {
+ return this._isStreamingSupported;
+ }
+
+ get contentLength() {
+ return this._contentLength;
+ }
+
+ get headersReady() {
+ return this._headersReceivedCapability.promise;
+ }
+
+ async read() {
+ if (this._storedError) {
+ throw this._storedError;
+ }
+
+ if (this._cachedChunks.length > 0) {
+ const chunk = this._cachedChunks.shift();
+
+ return {
+ value: chunk,
+ done: false
};
-
- var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
- getResponseHeader: getResponseHeader,
- isHttp: this._manager.isHttp,
- rangeChunkSize: this._rangeChunkSize,
- disableRange: this._disableRange
- }),
- allowRangeRequests = _validateRangeRequest.allowRangeRequests,
- suggestedLength = _validateRangeRequest.suggestedLength;
-
- if (allowRangeRequests) {
- this._isRangeSupported = true;
- }
-
- this._contentLength = suggestedLength || this._contentLength;
- this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
-
- if (this._isRangeSupported) {
- this._manager.abortRequest(fullRequestXhrId);
- }
-
- this._headersReceivedCapability.resolve();
}
- }, {
- key: "_onDone",
- value: function _onDone(args) {
- if (args) {
- if (this._requests.length > 0) {
- var requestCapability = this._requests.shift();
- requestCapability.resolve({
- value: args.chunk,
- done: false
- });
- } else {
- this._cachedChunks.push(args.chunk);
- }
- }
+ if (this._done) {
+ return {
+ value: undefined,
+ done: true
+ };
+ }
- this._done = true;
+ const requestCapability = (0, _util.createPromiseCapability)();
- if (this._cachedChunks.length > 0) {
- return;
- }
+ this._requests.push(requestCapability);
- this._requests.forEach(function (requestCapability) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
+ return requestCapability.promise;
+ }
+
+ cancel(reason) {
+ this._done = true;
+
+ this._headersReceivedCapability.reject(reason);
+
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.resolve({
+ value: undefined,
+ done: true
});
+ });
- this._requests = [];
+ this._requests = [];
+
+ if (this._manager.isPendingRequest(this._fullRequestId)) {
+ this._manager.abortRequest(this._fullRequestId);
}
- }, {
- key: "_onError",
- value: function _onError(status) {
- var url = this._url;
- var exception = (0, _network_utils.createResponseStatusError)(status, url);
- this._storedError = exception;
- this._headersReceivedCapability.reject(exception);
+ this._fullRequestReader = null;
+ }
- this._requests.forEach(function (requestCapability) {
- requestCapability.reject(exception);
- });
-
- this._requests = [];
- this._cachedChunks = [];
- }
- }, {
- key: "_onProgress",
- value: function _onProgress(data) {
- if (this.onProgress) {
- this.onProgress({
- loaded: data.loaded,
- total: data.lengthComputable ? data.total : this._contentLength
- });
- }
- }
- }, {
- key: "read",
- value: function () {
- var _read = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee() {
- var chunk, requestCapability;
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- if (!this._storedError) {
- _context.next = 2;
- break;
- }
-
- throw this._storedError;
-
- case 2:
- if (!(this._cachedChunks.length > 0)) {
- _context.next = 5;
- break;
- }
-
- chunk = this._cachedChunks.shift();
- return _context.abrupt("return", {
- value: chunk,
- done: false
- });
-
- case 5:
- if (!this._done) {
- _context.next = 7;
- break;
- }
-
- return _context.abrupt("return", {
- value: undefined,
- done: true
- });
-
- case 7:
- requestCapability = (0, _util.createPromiseCapability)();
-
- this._requests.push(requestCapability);
-
- return _context.abrupt("return", requestCapability.promise);
-
- case 10:
- case "end":
- return _context.stop();
- }
- }
- }, _callee, this);
- }));
-
- function read() {
- return _read.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- this._done = true;
-
- this._headersReceivedCapability.reject(reason);
-
- this._requests.forEach(function (requestCapability) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
- });
-
- this._requests = [];
-
- if (this._manager.isPendingRequest(this._fullRequestId)) {
- this._manager.abortRequest(this._fullRequestId);
- }
-
- this._fullRequestReader = null;
- }
- }, {
- key: "filename",
- get: function get() {
- return this._filename;
- }
- }, {
- key: "isRangeSupported",
- get: function get() {
- return this._isRangeSupported;
- }
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return this._isStreamingSupported;
- }
- }, {
- key: "contentLength",
- get: function get() {
- return this._contentLength;
- }
- }, {
- key: "headersReady",
- get: function get() {
- return this._headersReceivedCapability.promise;
- }
- }]);
-
- return PDFNetworkStreamFullRequestReader;
-}();
-
-var PDFNetworkStreamRangeRequestReader =
-/*#__PURE__*/
-function () {
- function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
- _classCallCheck(this, PDFNetworkStreamRangeRequestReader);
+}
+class PDFNetworkStreamRangeRequestReader {
+ constructor(manager, begin, end) {
this._manager = manager;
- var args = {
+ const args = {
onDone: this._onDone.bind(this),
onProgress: this._onProgress.bind(this)
};
@@ -24347,183 +14682,143 @@ function () {
this.onClosed = null;
}
- _createClass(PDFNetworkStreamRangeRequestReader, [{
- key: "_close",
- value: function _close() {
- if (this.onClosed) {
- this.onClosed(this);
- }
+ _close() {
+ if (this.onClosed) {
+ this.onClosed(this);
}
- }, {
- key: "_onDone",
- value: function _onDone(data) {
- var chunk = data.chunk;
+ }
- if (this._requests.length > 0) {
- var requestCapability = this._requests.shift();
+ _onDone(data) {
+ const chunk = data.chunk;
- requestCapability.resolve({
- value: chunk,
- done: false
- });
- } else {
- this._queuedChunk = chunk;
- }
+ if (this._requests.length > 0) {
+ const requestCapability = this._requests.shift();
- this._done = true;
-
- this._requests.forEach(function (requestCapability) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
+ requestCapability.resolve({
+ value: chunk,
+ done: false
});
-
- this._requests = [];
-
- this._close();
+ } else {
+ this._queuedChunk = chunk;
}
- }, {
- key: "_onProgress",
- value: function _onProgress(evt) {
- if (!this.isStreamingSupported && this.onProgress) {
- this.onProgress({
- loaded: evt.loaded
- });
- }
- }
- }, {
- key: "read",
- value: function () {
- var _read2 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee2() {
- var chunk, requestCapability;
- return _regenerator["default"].wrap(function _callee2$(_context2) {
- while (1) {
- switch (_context2.prev = _context2.next) {
- case 0:
- if (!(this._queuedChunk !== null)) {
- _context2.next = 4;
- break;
- }
- chunk = this._queuedChunk;
- this._queuedChunk = null;
- return _context2.abrupt("return", {
- value: chunk,
- done: false
- });
+ this._done = true;
- case 4:
- if (!this._done) {
- _context2.next = 6;
- break;
- }
-
- return _context2.abrupt("return", {
- value: undefined,
- done: true
- });
-
- case 6:
- requestCapability = (0, _util.createPromiseCapability)();
-
- this._requests.push(requestCapability);
-
- return _context2.abrupt("return", requestCapability.promise);
-
- case 9:
- case "end":
- return _context2.stop();
- }
- }
- }, _callee2, this);
- }));
-
- function read() {
- return _read2.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- this._done = true;
-
- this._requests.forEach(function (requestCapability) {
- requestCapability.resolve({
- value: undefined,
- done: true
- });
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.resolve({
+ value: undefined,
+ done: true
});
+ });
- this._requests = [];
+ this._requests = [];
- if (this._manager.isPendingRequest(this._requestId)) {
- this._manager.abortRequest(this._requestId);
- }
+ this._close();
+ }
- this._close();
+ _onProgress(evt) {
+ if (!this.isStreamingSupported && this.onProgress) {
+ this.onProgress({
+ loaded: evt.loaded
+ });
}
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return false;
- }
- }]);
+ }
- return PDFNetworkStreamRangeRequestReader;
-}();
+ get isStreamingSupported() {
+ return false;
+ }
+
+ async read() {
+ if (this._queuedChunk !== null) {
+ const chunk = this._queuedChunk;
+ this._queuedChunk = null;
+ return {
+ value: chunk,
+ done: false
+ };
+ }
+
+ if (this._done) {
+ return {
+ value: undefined,
+ done: true
+ };
+ }
+
+ const requestCapability = (0, _util.createPromiseCapability)();
+
+ this._requests.push(requestCapability);
+
+ return requestCapability.promise;
+ }
+
+ cancel(reason) {
+ this._done = true;
+
+ this._requests.forEach(function (requestCapability) {
+ requestCapability.resolve({
+ value: undefined,
+ done: true
+ });
+ });
+
+ this._requests = [];
+
+ if (this._manager.isPendingRequest(this._requestId)) {
+ this._manager.abortRequest(this._requestId);
+ }
+
+ this._close();
+ }
+
+}
/***/ }),
-/* 201 */
-/***/ (function(module, exports, __w_pdfjs_require__) {
-
-"use strict";
+/* 27 */
+/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
-Object.defineProperty(exports, "__esModule", {
+
+Object.defineProperty(exports, "__esModule", ({
value: true
-});
+}));
exports.PDFFetchStream = void 0;
-var _regenerator = _interopRequireDefault(__w_pdfjs_require__(180));
+var _util = __w_pdfjs_require__(2);
-var _util = __w_pdfjs_require__(1);
+var _network_utils = __w_pdfjs_require__(24);
-var _network_utils = __w_pdfjs_require__(198);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
-
-function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+;
function createFetchOptions(headers, withCredentials, abortController) {
return {
- method: 'GET',
- headers: headers,
- signal: abortController && abortController.signal,
- mode: 'cors',
- credentials: withCredentials ? 'include' : 'same-origin',
- redirect: 'follow'
+ method: "GET",
+ headers,
+ signal: abortController?.signal,
+ mode: "cors",
+ credentials: withCredentials ? "include" : "same-origin",
+ redirect: "follow"
};
}
-var PDFFetchStream =
-/*#__PURE__*/
-function () {
- function PDFFetchStream(source) {
- _classCallCheck(this, PDFFetchStream);
+function createHeaders(httpHeaders) {
+ const headers = new Headers();
+ for (const property in httpHeaders) {
+ const value = httpHeaders[property];
+
+ if (typeof value === "undefined") {
+ continue;
+ }
+
+ headers.append(property, value);
+ }
+
+ return headers;
+}
+
+class PDFFetchStream {
+ constructor(source) {
this.source = source;
this.isHttp = /^https?:/i.test(source.url);
this.httpHeaders = this.isHttp && source.httpHeaders || {};
@@ -24531,64 +14826,51 @@ function () {
this._rangeRequestReaders = [];
}
- _createClass(PDFFetchStream, [{
- key: "getFullReader",
- value: function getFullReader() {
- (0, _util.assert)(!this._fullRequestReader);
- this._fullRequestReader = new PDFFetchStreamReader(this);
- return this._fullRequestReader;
+ get _progressiveDataLength() {
+ return this._fullRequestReader?._loaded ?? 0;
+ }
+
+ getFullReader() {
+ (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once.");
+ this._fullRequestReader = new PDFFetchStreamReader(this);
+ return this._fullRequestReader;
+ }
+
+ getRangeReader(begin, end) {
+ if (end <= this._progressiveDataLength) {
+ return null;
}
- }, {
- key: "getRangeReader",
- value: function getRangeReader(begin, end) {
- if (end <= this._progressiveDataLength) {
- return null;
- }
- var reader = new PDFFetchStreamRangeReader(this, begin, end);
+ const reader = new PDFFetchStreamRangeReader(this, begin, end);
- this._rangeRequestReaders.push(reader);
+ this._rangeRequestReaders.push(reader);
- return reader;
+ return reader;
+ }
+
+ cancelAllRequests(reason) {
+ if (this._fullRequestReader) {
+ this._fullRequestReader.cancel(reason);
}
- }, {
- key: "cancelAllRequests",
- value: function cancelAllRequests(reason) {
- if (this._fullRequestReader) {
- this._fullRequestReader.cancel(reason);
- }
- var readers = this._rangeRequestReaders.slice(0);
+ const readers = this._rangeRequestReaders.slice(0);
- readers.forEach(function (reader) {
- reader.cancel(reason);
- });
- }
- }, {
- key: "_progressiveDataLength",
- get: function get() {
- return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
- }
- }]);
+ readers.forEach(function (reader) {
+ reader.cancel(reason);
+ });
+ }
- return PDFFetchStream;
-}();
+}
exports.PDFFetchStream = PDFFetchStream;
-var PDFFetchStreamReader =
-/*#__PURE__*/
-function () {
- function PDFFetchStreamReader(stream) {
- var _this = this;
-
- _classCallCheck(this, PDFFetchStreamReader);
-
+class PDFFetchStreamReader {
+ constructor(stream) {
this._stream = stream;
this._reader = null;
this._loaded = 0;
this._filename = null;
- var source = stream.source;
+ const source = stream.source;
this._withCredentials = source.withCredentials || false;
this._contentLength = source.length;
this._headersCapability = (0, _util.createPromiseCapability)();
@@ -24599,295 +14881,223 @@ function () {
this._disableRange = true;
}
- if (typeof AbortController !== 'undefined') {
+ if (typeof AbortController !== "undefined") {
this._abortController = new AbortController();
}
this._isStreamingSupported = !source.disableStream;
this._isRangeSupported = !source.disableRange;
- this._headers = new Headers();
-
- for (var property in this._stream.httpHeaders) {
- var value = this._stream.httpHeaders[property];
-
- if (typeof value === 'undefined') {
- continue;
- }
-
- this._headers.append(property, value);
- }
-
- var url = source.url;
- fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
+ this._headers = createHeaders(this._stream.httpHeaders);
+ const url = source.url;
+ fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {
if (!(0, _network_utils.validateResponseStatus)(response.status)) {
throw (0, _network_utils.createResponseStatusError)(response.status, url);
}
- _this._reader = response.body.getReader();
+ this._reader = response.body.getReader();
- _this._headersCapability.resolve();
+ this._headersCapability.resolve();
- var getResponseHeader = function getResponseHeader(name) {
+ const getResponseHeader = name => {
return response.headers.get(name);
};
- var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
- getResponseHeader: getResponseHeader,
- isHttp: _this._stream.isHttp,
- rangeChunkSize: _this._rangeChunkSize,
- disableRange: _this._disableRange
- }),
- allowRangeRequests = _validateRangeRequest.allowRangeRequests,
- suggestedLength = _validateRangeRequest.suggestedLength;
+ const {
+ allowRangeRequests,
+ suggestedLength
+ } = (0, _network_utils.validateRangeRequestCapabilities)({
+ getResponseHeader,
+ isHttp: this._stream.isHttp,
+ rangeChunkSize: this._rangeChunkSize,
+ disableRange: this._disableRange
+ });
+ this._isRangeSupported = allowRangeRequests;
+ this._contentLength = suggestedLength || this._contentLength;
+ this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
- _this._isRangeSupported = allowRangeRequests;
- _this._contentLength = suggestedLength || _this._contentLength;
- _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
-
- if (!_this._isStreamingSupported && _this._isRangeSupported) {
- _this.cancel(new _util.AbortException('Streaming is disabled.'));
+ if (!this._isStreamingSupported && this._isRangeSupported) {
+ this.cancel(new _util.AbortException("Streaming is disabled."));
}
- })["catch"](this._headersCapability.reject);
+ }).catch(this._headersCapability.reject);
this.onProgress = null;
}
- _createClass(PDFFetchStreamReader, [{
- key: "read",
- value: function () {
- var _read = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee() {
- var _ref, value, done, buffer;
+ get headersReady() {
+ return this._headersCapability.promise;
+ }
- return _regenerator["default"].wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- _context.next = 2;
- return this._headersCapability.promise;
+ get filename() {
+ return this._filename;
+ }
- case 2:
- _context.next = 4;
- return this._reader.read();
+ get contentLength() {
+ return this._contentLength;
+ }
- case 4:
- _ref = _context.sent;
- value = _ref.value;
- done = _ref.done;
+ get isRangeSupported() {
+ return this._isRangeSupported;
+ }
- if (!done) {
- _context.next = 9;
- break;
- }
+ get isStreamingSupported() {
+ return this._isStreamingSupported;
+ }
- return _context.abrupt("return", {
- value: value,
- done: done
- });
+ async read() {
+ await this._headersCapability.promise;
+ const {
+ value,
+ done
+ } = await this._reader.read();
- case 9:
- this._loaded += value.byteLength;
-
- if (this.onProgress) {
- this.onProgress({
- loaded: this._loaded,
- total: this._contentLength
- });
- }
-
- buffer = new Uint8Array(value).buffer;
- return _context.abrupt("return", {
- value: buffer,
- done: false
- });
-
- case 13:
- case "end":
- return _context.stop();
- }
- }
- }, _callee, this);
- }));
-
- function read() {
- return _read.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- if (this._reader) {
- this._reader.cancel(reason);
- }
-
- if (this._abortController) {
- this._abortController.abort();
- }
+ if (done) {
+ return {
+ value,
+ done
+ };
}
- }, {
- key: "headersReady",
- get: function get() {
- return this._headersCapability.promise;
- }
- }, {
- key: "filename",
- get: function get() {
- return this._filename;
- }
- }, {
- key: "contentLength",
- get: function get() {
- return this._contentLength;
- }
- }, {
- key: "isRangeSupported",
- get: function get() {
- return this._isRangeSupported;
- }
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return this._isStreamingSupported;
- }
- }]);
- return PDFFetchStreamReader;
-}();
+ this._loaded += value.byteLength;
-var PDFFetchStreamRangeReader =
-/*#__PURE__*/
-function () {
- function PDFFetchStreamRangeReader(stream, begin, end) {
- var _this2 = this;
+ if (this.onProgress) {
+ this.onProgress({
+ loaded: this._loaded,
+ total: this._contentLength
+ });
+ }
- _classCallCheck(this, PDFFetchStreamRangeReader);
+ const buffer = new Uint8Array(value).buffer;
+ return {
+ value: buffer,
+ done: false
+ };
+ }
+ cancel(reason) {
+ if (this._reader) {
+ this._reader.cancel(reason);
+ }
+
+ if (this._abortController) {
+ this._abortController.abort();
+ }
+ }
+
+}
+
+class PDFFetchStreamRangeReader {
+ constructor(stream, begin, end) {
this._stream = stream;
this._reader = null;
this._loaded = 0;
- var source = stream.source;
+ const source = stream.source;
this._withCredentials = source.withCredentials || false;
this._readCapability = (0, _util.createPromiseCapability)();
this._isStreamingSupported = !source.disableStream;
- if (typeof AbortController !== 'undefined') {
+ if (typeof AbortController !== "undefined") {
this._abortController = new AbortController();
}
- this._headers = new Headers();
+ this._headers = createHeaders(this._stream.httpHeaders);
- for (var property in this._stream.httpHeaders) {
- var value = this._stream.httpHeaders[property];
+ this._headers.append("Range", `bytes=${begin}-${end - 1}`);
- if (typeof value === 'undefined') {
- continue;
- }
-
- this._headers.append(property, value);
- }
-
- this._headers.append('Range', "bytes=".concat(begin, "-").concat(end - 1));
-
- var url = source.url;
- fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
+ const url = source.url;
+ fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {
if (!(0, _network_utils.validateResponseStatus)(response.status)) {
throw (0, _network_utils.createResponseStatusError)(response.status, url);
}
- _this2._readCapability.resolve();
+ this._readCapability.resolve();
- _this2._reader = response.body.getReader();
+ this._reader = response.body.getReader();
+ }).catch(reason => {
+ if (reason?.name === "AbortError") {
+ return;
+ }
+
+ throw reason;
});
this.onProgress = null;
}
- _createClass(PDFFetchStreamRangeReader, [{
- key: "read",
- value: function () {
- var _read2 = _asyncToGenerator(
- /*#__PURE__*/
- _regenerator["default"].mark(function _callee2() {
- var _ref2, value, done, buffer;
+ get isStreamingSupported() {
+ return this._isStreamingSupported;
+ }
- return _regenerator["default"].wrap(function _callee2$(_context2) {
- while (1) {
- switch (_context2.prev = _context2.next) {
- case 0:
- _context2.next = 2;
- return this._readCapability.promise;
+ async read() {
+ await this._readCapability.promise;
+ const {
+ value,
+ done
+ } = await this._reader.read();
- case 2:
- _context2.next = 4;
- return this._reader.read();
-
- case 4:
- _ref2 = _context2.sent;
- value = _ref2.value;
- done = _ref2.done;
-
- if (!done) {
- _context2.next = 9;
- break;
- }
-
- return _context2.abrupt("return", {
- value: value,
- done: done
- });
-
- case 9:
- this._loaded += value.byteLength;
-
- if (this.onProgress) {
- this.onProgress({
- loaded: this._loaded
- });
- }
-
- buffer = new Uint8Array(value).buffer;
- return _context2.abrupt("return", {
- value: buffer,
- done: false
- });
-
- case 13:
- case "end":
- return _context2.stop();
- }
- }
- }, _callee2, this);
- }));
-
- function read() {
- return _read2.apply(this, arguments);
- }
-
- return read;
- }()
- }, {
- key: "cancel",
- value: function cancel(reason) {
- if (this._reader) {
- this._reader.cancel(reason);
- }
-
- if (this._abortController) {
- this._abortController.abort();
- }
+ if (done) {
+ return {
+ value,
+ done
+ };
}
- }, {
- key: "isStreamingSupported",
- get: function get() {
- return this._isStreamingSupported;
- }
- }]);
- return PDFFetchStreamRangeReader;
-}();
+ this._loaded += value.byteLength;
+
+ if (this.onProgress) {
+ this.onProgress({
+ loaded: this._loaded
+ });
+ }
+
+ const buffer = new Uint8Array(value).buffer;
+ return {
+ value: buffer,
+ done: false
+ };
+ }
+
+ cancel(reason) {
+ if (this._reader) {
+ this._reader.cancel(reason);
+ }
+
+ if (this._abortController) {
+ this._abortController.abort();
+ }
+ }
+
+}
/***/ })
-/******/ ]);
+/******/ ]);
+/************************************************************************/
+/******/ // The module cache
+/******/ var __webpack_module_cache__ = {};
+/******/
+/******/ // The require function
+/******/ function __w_pdfjs_require__(moduleId) {
+/******/ // Check if module is in cache
+/******/ if(__webpack_module_cache__[moduleId]) {
+/******/ return __webpack_module_cache__[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = __webpack_module_cache__[moduleId] = {
+/******/ // no module.id needed
+/******/ // no module.loaded needed
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ __webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/************************************************************************/
+/******/ // module exports must be returned from runtime so entry inlining is disabled
+/******/ // startup
+/******/ // Load entry module and return exports
+/******/ return __w_pdfjs_require__(0);
+/******/ })()
+;
});
//# sourceMappingURL=pdf.js.map
\ No newline at end of file
diff --git a/static/pdfjs/build/pdf.js.map b/static/pdfjs/build/pdf.js.map
index caaed51..485fc6e 100644
--- a/static/pdfjs/build/pdf.js.map
+++ b/static/pdfjs/build/pdf.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/global_scope.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.starts-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/export.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/descriptors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/fails.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/indexed-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof-raw.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/require-object-coercible.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/has.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hide.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-state.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-key.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/hidden-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/own-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-built-in.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/path.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys-internal.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-length.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-absolute-index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-forced.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/not-a-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-regexp.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/entry-unbind.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/bind-context.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-function.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.ends-with.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.includes.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/array/from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-multibyte.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators-core.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-from.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/classof.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-assign.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/math/log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.log2.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-nan.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/number/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-integer.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/promise/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-string.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/dom-iterables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/redefine-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/set-species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/an-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/species-constructor.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/task.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/promise-resolve.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/new-promise-capability.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/host-report-errors.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/perform.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/web/url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/native-url.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/punycode-to-ascii.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url-search-params.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/get-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/web.url.to-json.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-map/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-map.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/internal-metadata.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/freezing.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inherit-if-required.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/collection-weak.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-iteration.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-species-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/weak-set/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.weak-set.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/symbol/index.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.concat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/wrapped-well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.description.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.has-instance.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.match-all.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.replace.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.search.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.species.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.split.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.symbol.unscopables.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-start.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-pad.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/string-repeat.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/webkit-string-pad-bug.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/string/pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.string.pad-end.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/object/values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.object.values.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-to-array.js","webpack://pdfjs-dist/build/pdf/src/shared/streams_polyfill.js","webpack://pdfjs-dist/build/pdf/node_modules/web-streams-polyfill/dist/ponyfill.mjs","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/regenerator/index.js","webpack://pdfjs-dist/build/pdf/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdfjs-dist/build/pdf/node_modules/webpack/buildin/module.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/api_compatibility.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/xml_parser.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/webgl.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js"],"names":["pdfjsVersion","pdfjsBuild","pdfjsSharedUtil","require","pdfjsDisplayAPI","pdfjsDisplayTextLayer","pdfjsDisplayAnnotationLayer","pdfjsDisplayDisplayUtils","pdfjsDisplaySVG","pdfjsDisplayWorkerOptions","pdfjsDisplayAPICompatibility","isNodeJS","PDFNodeStream","params","PDFNetworkStream","PDFFetchStream","exports","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","NativeImageDecoding","NONE","DECODE","DISPLAY","PermissionFlag","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","TextRenderingMode","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","ImageKind","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","AnnotationType","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","AnnotationStateModelType","MARKED","REVIEW","AnnotationMarkedState","UNMARKED","AnnotationReviewState","ACCEPTED","REJECTED","CANCELLED","COMPLETED","AnnotationReplyType","GROUP","REPLY","AnnotationFlag","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","AnnotationFieldFlag","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","AnnotationBorderStyleType","SOLID","DASHED","BEVELED","INSET","StreamType","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","FontType","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","VerbosityLevel","ERRORS","WARNINGS","INFOS","CMapCompressionType","BINARY","STREAM","OPS","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","UNSUPPORTED_FEATURES","unknown","forms","javaScript","smask","shadingPattern","font","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","Number","console","unreachable","base","other","url","absoluteUrl","baseUrl","_isValidProtocol","Object","value","enumerable","configurable","writable","BaseException","constructor","NullCharactersRegExp","warn","str","assert","bytes","length","MAX_ARGUMENT_COUNT","String","strBuf","i","chunkEnd","Math","chunk","arr","resultLength","arrayByteLength","pos","data","item","stringToBytes","itemLength","x","offset","buffer8","view32","rgbBuf","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","second","sx","sy","rect","orderedX","rect1","rect2","orderedY","result","PDFStringTranslateTable","code","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","element","ch","capability","isSettled","get","resolve","reject","createObjectURL","digits","forceDataSchema","URL","blob","type","buffer","ii","b1","b2","b3","d1","d2","d3","d4","globalScope","hasDOM","Buffer","Element","div","document","OriginalDOMTokenListAdd","DOMTokenList","OriginalDOMTokenListRemove","token","force","arguments","Array","module","window","global","self","process","entryUnbind","$","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","nativeStartsWith","startsWith","min","target","proto","forced","searchString","that","index","undefined","search","call","slice","getOwnPropertyDescriptor","f","hide","redefine","setGlobal","copyConstructorProperties","isForced","options","source","TARGET","GLOBAL","STATIC","stat","FORCED","key","targetProperty","sourceProperty","descriptor","prototype","noTargetGet","sham","O","check","it","globalThis","Function","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","P","error","fails","defineProperty","exec","nativePropertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","V","bitmap","IndexedObject","classof","split","toString","TypeError","isObject","input","PREFERRED_STRING","fn","val","valueOf","hasOwnProperty","createElement","EXISTS","definePropertyModule","object","anObject","nativeDefineProperty","Attributes","shared","nativeFunctionToString","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","IS_PURE","SHARED","store","push","version","mode","copyright","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","set","getterFor","TYPE","state","wmget","wmhas","wmset","metadata","STATE","test","uid","keys","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","method","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","toInteger","argument","ceil","floor","isNaN","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isRegExp","wellKnownSymbol","MATCH","NATIVE_SYMBOL","Symbol","name","METHOD_NAME","regexp","e","bind","CONSTRUCTOR","METHOD","apply","nativeEndsWith","endsWith","endPosition","len","end","$includes","addToUnscopables","create","UNSCOPABLES","ArrayPrototype","defineProperties","html","documentCreateElement","IE_PROTO","PROTOTYPE","Empty","createDict","iframe","lt","script","gt","js","iframeDocument","style","display","appendChild","src","contentWindow","open","write","close","F","Properties","objectKeys","from","charAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","next","point","done","CONVERT_TO_STRING","S","position","size","charCodeAt","codeAt","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","Iterators","IteratorsCore","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","values","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","PrototypeOfArrayIteratorPrototype","arrayIterator","toObject","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIteratorMethod","arrayLike","C","argumentsLength","mapfn","mapping","iteratorMethod","step","iterator","returnMethod","propertyKey","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","assign","nativeAssign","A","B","symbol","alphabet","forEach","chr","T","j","log2","log","LN2","number","isInteger","isFinite","Promise","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","ARRAY_ITERATOR","kind","Arguments","NativePromise","redefineAll","setSpecies","anInstance","iterate","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","userAgent","SPECIES","PROMISE","getInternalPromiseState","PromiseConstructor","$fetch","fetch","versions","v8","newPromiseCapability","newGenericPromiseCapability","IS_NODE","DISPATCH_EVENT","createEvent","dispatchEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","promise","empty","FakePromise","PromiseRejectionEvent","then","all","isThenable","notify","isReject","notified","chain","reactions","ok","reaction","handler","fail","domain","exited","rejection","onHandleUnhandled","enter","exit","onUnhandled","reason","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","wrap","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Constructor","Result","stopped","AS_ENTRIES","IS_ITERATOR","boundFunction","iterFn","stop","defaultConstructor","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","post","postMessage","protocol","host","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","flush","head","last","toggle","node","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","allSettled","status","real","onFinally","isFunction","USE_NATIVE_URL","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","URLSearchParams","getInternalSearchParamsState","getState","getInternalURLState","pow","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","EOF","parseHost","codePoints","parseIPv6","isSpecial","percentEncode","C0ControlPercentEncodeSet","parseIPv4","parts","partsLength","numbers","part","radix","ipv4","pop","parseInt","address","pieceIndex","compress","pointer","numbersSeen","ipv4Piece","swaps","swap","char","findLongestZeroSequence","ipv6","maxIndex","maxLength","currStart","currLength","serializeHost","ignore0","unshift","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","file","gopher","http","https","ws","wss","scheme","includesCredentials","username","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","third","shortenURLsPath","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","seenAt","seenBracket","seenPasswordToken","bufferCodePoints","failure","query","fragment","codePoint","encodedCodePoints","shift","URLConstructor","urlString","baseState","searchParams","searchParamsState","updateSearchParams","updateURL","href","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","pathname","getPathname","getSearch","getSearchParams","hash","getHash","URLPrototype","output","accessorDescriptor","getter","toJSON","nativeCreateObjectURL","nativeRevokeObjectURL","revokeObjectURL","sort","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","stringFromCharCode","fromCharCode","ucs2decode","extra","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","encode","inputLength","n","bias","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","t","qMinusT","baseMinusT","encoded","labels","label","hasOwn","getIterator","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","plus","sequences","percentSequence","RegExp","percentDecode","sequence","deserialize","find","replacer","match","serialize","parseSearchParams","attributes","attribute","entry","validateArgumentsLength","passed","required","URLSearchParamsIterator","Iterator","URLSearchParamsConstructor","init","entryIterator","URLSearchParamsPrototype","append","splice","getAll","found","entriesIndex","sliceIndex","callback","InternalMetadataModule","collection","collectionWeak","enforceIternalState","IS_IE11","ActiveXObject","isExtensible","InternalWeakMap","$WeakMap","getConstructor","WeakMapPrototype","nativeDelete","nativeHas","nativeGet","nativeSet","frozen","FREEZING","METADATA","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","meta","preventExtensions","inheritIfRequired","common","IS_MAP","IS_WEAK","NativeConstructor","NativePrototype","ADDER","exported","fixMethod","nativeMethod","add","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","setStrong","Wrapper","NewTarget","NewTargetPrototype","ArrayIterationModule","$has","internalStateGetterFor","findIndex","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","define","arraySpeciesCreate","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","specificCreate","map","filter","some","every","isArray","originalArray","arg","WeakSet","codePointAt","fromCodePoint","nativeFromCodePoint","INCORRECT_LENGTH","elements","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","array","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","foo","Boolean","nativeObjectCreate","getOwnPropertyNamesExternal","wrappedWellKnownSymbolModule","defineWellKnownSymbol","$forEach","SYMBOL","TO_PRIMITIVE","$Symbol","JSON","nativeJSONStringify","stringify","nativeGetOwnPropertyNames","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","WellKnownSymbolsStore","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","description","isSymbol","$defineProperty","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$create","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","$replacer","windowNames","getWindowNames","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","desc","$padStart","start","WEBKIT_BUG","padStart","repeat","IS_END","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","count","Infinity","$padEnd","padEnd","$values","TO_ENTRIES","isReadableStreamSupported","controller","SymbolPolyfill","noop","NumberIsNaN","typeIsObject","createArrayFromList","ArrayBufferCopy","dest","destOffset","srcOffset","Uint8Array","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Call","CreateAlgorithmFromUnderlyingMethod","underlyingObject","methodName","algoArgCount","extraArgs","PromiseCall","fullArgs","InvokeOrNoop","TransferArrayBuffer","IsDetachedBuffer","ValidateAndNormalizeHighWaterMark","highWaterMark","MakeSizeAlgorithmFromSizeFunction","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","peek","front","cursor","ReadableStreamCreateReadResult","forAuthorCode","obj","ReadableStreamReaderGenericInitialize","reader","stream","_forAuthorCode","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","catch","CancelSteps","PullSteps","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_resolve","_reject","_readRequests","ReadableStreamFulfillReadRequest","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","IsReadableStream","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","ReadableStreamDefaultReaderRead","releaseLock","_disturbed","_readableStreamController","_a","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorReader","return","_preventCancel","AcquireReadableStreamAsyncIterator","preventCancel","rethrowAssertionErrorRejection","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","PeekQueueValue","ResetQueue","AbortSteps","ErrorSteps","WritableStream","underlyingSink","strategy","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","IsWritableStream","streamBrandCheckException","IsWritableStreamLocked","abort","WritableStreamAbort","getWriter","AcquireWritableStreamDefaultWriter","WritableStreamDefaultWriter","CreateWritableStream","startAlgorithm","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_reason","_wasAlreadyErroring","WritableStreamStartErroring","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","writer","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","_started","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamCloseQueuedOrInFlight","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","defaultWriterReadyPromiseResolve","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","closeRequest","WritableStreamDefaultControllerClose","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_strategyHWM","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startResult","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","writeRecord","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","desiredSize","_readyPromise_resolve","_readyPromise_reject","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","DOMException","actions","shutdownWithAction","action","aborted","pipeLoop","resolveLoop","rejectLoop","pipeStep","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","enqueue","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","_cancelAlgorithm","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","_closeRequested","ReadableStreamClose","ReadableStreamDefaultControllerCallPullIfNeeded","pendingPromise","shouldPull","ReadableStreamDefaultControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableStreamError","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","pullAlgorithm","cancelAlgorithm","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reading","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","readPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","NumberIsInteger","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byteLength","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_controlledReadableByteStream","ReadableByteStreamControllerClose","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","viewE","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","ctor","readerType","ReadableByteStreamControllerCallPullIfNeeded","ReadableByteStreamControllerShouldCallPull","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","firstPendingPullInto","transferredBuffer","transferredView","SetUpReadableByteStreamController","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","readIntoRequest","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ReadableStream","InitializeReadableStream","typeString","streamBrandCheckException$1","getReader","pipeThrough","_b","readable","_c","isAbortSignal","pipeTo","tee","branches","sourceCancelPromise","AbortSignal","ByteLengthQueuingStrategy","CountQueuingStrategy","TransformStream","transformer","writableStrategy","readableStrategy","writableSizeFunction","writableHighWaterMark","readableSizeFunction","readableHighWaterMark","writableType","writableSizeAlgorithm","readableType","readableSizeAlgorithm","startPromise_resolve","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException$2","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException$1","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","transformMethod","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","isWorkerDisabled","fakeWorkerFilesLoader","useRequireEnsure","__non_webpack_require__","requirejs","fallbackWorkerSrc","dynamicLoaderSupported","worker","pdfjsFilePath","createPDFNetworkStream","isArrayBuffer","range","rangeTransport","pdfBytes","NativeImageDecoderValues","apiCompatibilityParams","setVerbosityLevel","workerParams","GlobalWorkerOptions","PDFWorker","docId","networkStream","initialData","progressiveDone","disableRange","disableStream","httpHeaders","withCredentials","rangeChunkSize","messageHandler","transport","pdfDataRangeTransport","apiVersion","disableAutoFetch","maxImageSize","disableFontFace","disableCreateObjectURL","postMessageTransfers","docBaseUrl","nativeImageDecoderSupport","ignoreErrors","isEvalSupported","PDFDocumentLoadingTask","nextDocumentId","transportDestroyed","deprecated","addRangeListener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","onDataProgress","onDataProgressiveRead","requestDataRange","getPage","getPageIndex","getDestination","pdfBug","getViewport","rotation","dontFlip","scale","viewBox","getAnnotations","intent","enableWebGL","renderInteractiveForms","imageLayer","canvasFactory","background","render","stats","renderingIntent","intentState","clearTimeout","canvasFactoryInstance","webGLContext","enable","fnArray","argsArray","lastChunk","pageIndex","complete","internalRenderTask","canvasContext","viewport","objs","commonObjs","operatorList","pageNumber","useRequestAnimationFrame","renderTask","transparency","opListTask","streamTextContent","normalizeWhitespace","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","combineTextItems","textContent","getTextContent","readableStream","pump","items","styles","waitOn","renderCompleted","resetStats","cleanup","_tryCleanup","_startRenderPage","_renderPageChunk","operatorListChunk","_pumpOperatorList","_abortOperatorList","cloned","transferable","transfers","cloneValue","pdfWorkerPorts","nextFakeWorkerId","fakeWorkerFilesLoadedCapability","mainWorkerMessageHandler","getMainThreadWorkerMessageHandler","loader","getWorkerSrc","_initializeFromPort","workerSrc","isSameOrigin","createCDNWrapper","terminateEarly","onWorkerError","sendTest","testObj","info","setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","loadingTask","onUnsupportedFeature","isCompressed","page","terminated","evt","loaded","total","sink","headersCapability","fullReader","isStreamingSupported","isRangeSupported","contentLength","rangeReader","pdfInfo","exception","updatePassword","exportedError","exportedData","fontRegistry","registerFont","pageProxy","img","releaseImageResources","MAX_IMAGE_SIZE_TO_STORE","imageData","components","width","rgbaLength","buf","tmpCanvas","tmpCtx","height","fetched","builtInCMap","_onUnsupportedFeature","pageInfo","ref","results","contentDispositionFilename","_ensureObj","resolved","InternalRenderTask","canvasInRendering","initializeGraphics","build","runtime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","protoGenerator","outerFn","generator","context","tryLocsList","makeInvokeMethod","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","getProto","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","genFun","__await","record","tryCatch","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","iter","doneResult","delegate","delegateResult","maybeInvokeDelegate","tryLoc","locs","Context","reset","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","finish","resetTryEntry","thrown","delegateYield","resultName","nextLoc","regeneratorRuntime","DEFAULT_LINK_REL","SVG_NS","canvas","canvasAndContext","destroy","compressionType","isFetchSupported","isValidFetchUrl","response","cMapData","XMLHttpRequest","svg","offsetX","offsetY","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","clone","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","LinkTarget","SELF","BLANK","PARENT","TOP","LinkTargetStringMap","enabled","urlNullRemoved","removeNullCharacters","link","LinkTargetValues","targetIndex","anchor","time","Date","timeEnd","out","longest","duration","Response","isString","pdfDateStringRegex","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","addNativeFontFace","insertRule","styleElement","styleSheet","nativeFontFace","featureId","rule","_queueLoadingCallback","_prepareFontLoadEvent","FontLoader","requests","nextRequestId","otherRequest","chunk1","s","chunk2","ctx","isFontReady","loadTestFontId","COMMENT_OFFSET","spliceString","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","int32","string32","btoa","fonts","span","supported","navigator","shadow","getLoadTestFont","atob","IsEvalSupportedCached","translatedData","bytesToString","getPathGenerator","cmds","current","compatibilityParams","isIE","isIOSChrome","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","IsLittleEndianCached","ad_bc","bc_ad","old","prev","cosValue","sinValue","CachedCanvases","getCanvas","canvasEntry","addContextCurrentTransform","POINT_TO_PROCESS_LIMIT","imgData","width1","points","POINT_TYPES","lineSize","data0","mask","elem","j0","sum","steps","outlines","coords","p0","pp","drawOutline","o","jj","CanvasExtraState","setCurrentPoint","CanvasGraphics","EXECUTION_TIME","EXECUTION_STEPS","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","thisChunkHeight","destPos","srcDiff","kEnd","kEndUnrolled","srcByte","elemsInThisChunk","property","sourceCtx","destCtx","alpha","alpha_","r0","g0","b0","maskData","transferMap","layerData","y","hasBackdrop","backdrop","subtype","composeFn","PIXELS_TO_PROCESS","row","chunkHeight","maskCtx","layerCtx","composeSMaskBackdrop","composed","layer","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","beginDrawing","transparentCanvas","resetCtxToDefault","executeOperatorList","executionStartIdx","argsArrayLen","chunkOperations","endTime","stepper","fnId","objsPool","depObjId","continueCallback","endDrawing","states","beginSMaskGroup","activeSMask","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","copyCtxState","suspendSMaskGroup","composeSMask","deltaTransform","resumeSMaskGroup","endSMaskGroup","ops","xw","yh","consumePath","strokeColor","fillColor","isPatternFill","needRestore","paths","fontObj","bold","italic","typeface","browserFontSize","paintChar","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","glyphs","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","patternTransform","lineWidth","glyph","isNum","restoreNeeded","spacing","character","accent","vmetric","vx","vy","scaledX","scaledY","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","showType3Text","fontMatrix","isTextInvisible","spacingLength","transformed","urx","ury","getColorN_Pattern","IR","color","baseTransform","canvasGraphicsFactory","createCanvasGraphics","getShadingPatternFromIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","bounds","canvasBounds","scaleX","scaleY","startTransformInverse","domImage","objId","left","top","w","h","maskCanvas","putBinaryImageMask","positions","images","image","widthScale","heightScale","imgToPaint","putBinaryImageData","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getSinglePixelWidth","inverse","getCanvasPosition","ShadingIRs","region","fromIR","raw","colorStops","r1","getPattern","applyBoundingBox","grad","createMeshCanvas","colors","rowSize","tmp","c1","c2","c3","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_","ps","figure","cs","verticesPerRow","rows","cols","drawTriangle","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","combinesScale","paddedWidth","paddedHeight","backgroundColor","figures","cachedCanvases","drawFigure","owner","matrixScale","temporaryPatternCanvas","shadingIR","TilingPattern","PaintType","COLORED","UNCOLORED","createPatternCanvas","xstep","ystep","paintType","tilingType","curMatrixScale","combinedScale","dimx","dimy","graphics","getSizeAndScale","maxSize","clipBbox","bboxWidth","bboxHeight","setFillAndStrokeStyleToContext","cssColor","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","ERROR","PULL","PULL_COMPLETE","START_COMPLETE","callbacksCapabilities","ah","callbackId","wrapReason","sourceName","targetName","comObj","isReply","MessageHandler","on","send","sendWithPromise","sendWithStream","streamId","startCapability","startCall","pullCall","cancelCall","isClosed","pull","pullCapability","cancelCapability","_createStreamSink","streamSink","lastDesiredSize","sinkCapability","onPull","onCancel","isCancelled","success","_processStreamMessage","deleteStreamController","parser","xmlDocument","_repair","chars","_parse","rdf","nodeName","children","XMLParserErrorCode","NoError","EndOfDocument","UnterminatedCdat","UnterminatedXmlDeclaration","UnterminatedDoctypeDeclaration","UnterminatedComment","MalformedElement","OutOfMemory","UnterminatedAttributeValue","UnterminatedElement","ElementNeverBegun","isWhitespace","_resolveEntities","entity","_parseContent","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","parsed","_parseProcessingInstruction","attrStart","parseXml","ch2","pi","q2","complexDoctype","doctypeContent","content","text","onResolveEntity","onPi","onComment","onCdata","onDoctype","onText","onBeginElement","onEndElement","onError","childNodes","child","parseFromString","documentElement","isWhitespaceString","lastElement","begin","_onReceiveData","_onProgress","firstReader","_removeRangeReader","queuedChunks","getRangeReader","cancelAllRequests","readers","_enqueue","requestCapability","requestsCapability","WebGLUtils","drawFigures","shader","gl","compiled","errorMsg","loadShader","program","shaders","linked","texture","currentCanvas","currentGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","generateGL","vertexShader","createVertexShader","fragmentShader","createFragmentShader","cache","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","initSmaskGL","createTexture","maskTexture","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","tryInitGL","renderTextLayer","MAX_TEXT_DIVS_TO_RENDER","NonWhitespaceRegexp","textDiv","textDivProperties","angle","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","isAllWhitespace","geom","tx","fontHeight","fontAscent","angleCos","angleSin","divWidth","divHeight","right","bottom","textDivs","textDivsLength","expanded","expandBounds","divProperties","ts","findPositiveMin","boxScale","box","x1New","x2New","expandBoundsLTR","boxes","fakeBoundary","horizon","boundary","maxXNew","horizonPart","affectedBoundary","xNew","changedHorizon","lastBoundary","useBoundary","used","textContentItemsStr","TextLayerRenderTask","_processItems","appendText","_layoutText","fontFamily","_render","styleCache","textItems","textStyles","expandTextDivs","expand","NO_PADDING","transformBuf","paddingBuf","divProps","padding","renderParameters","textContentStream","enhanceTextSelection","parameters","fieldType","isRenderable","ignoreBorder","_createContainer","horizontalRadius","verticalRadius","radius","_createPopup","trigger","popupElement","title","modificationDate","contents","hideWrapper","popup","addLinkAttributes","linkService","rel","_bindLink","_bindNamedAction","TEXT_ALIGNMENT","fieldWidth","combWidth","_setTextStyle","fallbackName","selectElement","optionElement","option","IGNORE_TYPES","selector","parentElement","parentLeft","parseFloat","parentWidth","BACKGROUND_ENLIGHT","g","dateObject","PDFDateString","date","_formatContents","lines","line","pin","_show","unpin","_hide","borderWidth","square","circle","coordinate","polyline","getFilenameFromUrl","stringToPDFString","filename","downloadManager","imageResourcesPath","svgFactory","SVGGraphics","opTree","opListElement","pf","SVG_DEFAULTS","fontStyle","fontWeight","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc","body","crc32","deflateSyncUncompressed","level","literals","maxBlockLength","deflateBlocks","idat","adler","adler32","colorType","bitDepth","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","writePngChunk","clipCount","maskCount","shadingCount","loadDependencies","transformMatrix","getSVG","svgElement","convertOpList","operatorIdMapping","opList","opListToTree","executeOpTree","opTreeElement","lineWidthScale","textMatrix","pm","addFontStyle","details","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeTilingPattern","tilingId","txstep","tystep","tiling","tx1","ty1","_makeShadingPattern","shadingId","point0","point1","gradient","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","op","clipId","clipPath","clipElement","_setStrokeAttributes","dashArray","imgObj","imgEl","imgSrc","cliprect","_initialize","definitions","rootGroup","clipGroup","fs","fileUriRegex","parsedUrl","parseUrl","_error","_setReadableStream","auth","headers","handleResponse","getResponseHeader","isHttp","suggestedLength","extractFilenameFromHeader","createRequestOptions","returnValues","allowRangeRequests","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","decoder","fatal","textdecode","quotindex","encodingend","extvalue","encoding","langvalue","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","xhr","requestRange","listeners","requestFull","xhrId","pendingRequest","onProgress","onStateChange","xhrStatus","ok_response_on_range_request","getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","_onRangeRequestReaderClosed","onHeadersReceived","onDone","manager","fullRequestXhrId","fullRequestXhr","_onDone","_onError","createResponseStatusError","abortController","credentials","redirect","createFetchOptions","validateResponseStatus"],"mappings":"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","file":"pdf.js","sourcesContent":["(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\"] = factory();\n})(this, function() {\nreturn "," \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","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint-disable no-unused-vars */\n\n'use strict';\n\nvar pdfjsVersion =\n typeof PDFJSDev !== 'undefined' ? PDFJSDev.eval('BUNDLE_VERSION') : void 0;\nvar pdfjsBuild =\n typeof PDFJSDev !== 'undefined' ? PDFJSDev.eval('BUNDLE_BUILD') : void 0;\n\nvar pdfjsSharedUtil = require('./shared/util.js');\nvar pdfjsDisplayAPI = require('./display/api.js');\nvar pdfjsDisplayTextLayer = require('./display/text_layer.js');\nvar pdfjsDisplayAnnotationLayer = require('./display/annotation_layer.js');\nvar pdfjsDisplayDisplayUtils = require('./display/display_utils.js');\nvar pdfjsDisplaySVG = require('./display/svg.js');\nlet pdfjsDisplayWorkerOptions = require('./display/worker_options.js');\nlet pdfjsDisplayAPICompatibility = require('./display/api_compatibility.js');\n\nif (typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) {\n const isNodeJS = require('./shared/is_node.js');\n if (isNodeJS()) {\n let PDFNodeStream = require('./display/node_stream.js').PDFNodeStream;\n pdfjsDisplayAPI.setPDFNetworkStreamFactory((params) => {\n return new PDFNodeStream(params);\n });\n } else {\n let PDFNetworkStream = require('./display/network.js').PDFNetworkStream;\n let PDFFetchStream;\n if (pdfjsDisplayDisplayUtils.isFetchSupported()) {\n PDFFetchStream = require('./display/fetch_stream.js').PDFFetchStream;\n }\n pdfjsDisplayAPI.setPDFNetworkStreamFactory((params) => {\n if (PDFFetchStream &&\n pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n }\n} else if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('CHROME')) {\n let PDFNetworkStream = require('./display/network.js').PDFNetworkStream;\n let PDFFetchStream;\n let isChromeWithFetchCredentials = function() {\n // fetch does not include credentials until Chrome 61.0.3138.0 and later.\n // https://chromium.googlesource.com/chromium/src/+/2e231cf052ca5e68e22baf0008ac9e5e29121707\n try {\n // Indexed properties on window are read-only in Chrome 61.0.3151.0+\n // https://chromium.googlesource.com/chromium/src.git/+/58ab4a971b06dec13e4edf9de8382ca6847f6190\n window[999] = 123; // should throw. Note: JS strict mode MUST be enabled.\n delete window[999];\n return false;\n } catch (e) {\n return true;\n }\n };\n if (pdfjsDisplayDisplayUtils.isFetchSupported() &&\n isChromeWithFetchCredentials()) {\n PDFFetchStream = require('./display/fetch_stream.js').PDFFetchStream;\n }\n pdfjsDisplayAPI.setPDFNetworkStreamFactory((params) => {\n if (PDFFetchStream &&\n pdfjsDisplayDisplayUtils.isValidFetchUrl(params.url)) {\n return new PDFFetchStream(params);\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 =\n 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.ReadableStream = pdfjsSharedUtil.ReadableStream;\nexports.RenderingCancelledException =\n 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 =\n pdfjsDisplayAPICompatibility.apiCompatibilityParams;\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint no-var: error */\n\nimport './compatibility';\nimport { ReadableStream } from './streams_polyfill';\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\nconst NativeImageDecoding = {\n NONE: 'none',\n DECODE: 'decode',\n DISPLAY: 'display',\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800,\n};\n\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4,\n};\n\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26,\n};\n\nconst AnnotationStateModelType = {\n MARKED: 'Marked',\n REVIEW: 'Review',\n};\n\nconst AnnotationMarkedState = {\n MARKED: 'Marked',\n UNMARKED: 'Unmarked',\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: 'Accepted',\n REJECTED: 'Rejected',\n CANCELLED: 'Cancelled',\n COMPLETED: 'Completed',\n NONE: 'None',\n};\n\nconst AnnotationReplyType = {\n GROUP: 'Group',\n REPLY: 'R',\n};\n\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200,\n};\n\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000,\n};\n\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst 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', // PDF short name is 'RL', but telemetry requires three chars.\n};\n\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};\n\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91,\n};\n\nconst UNSUPPORTED_FEATURES = {\n unknown: 'unknown',\n forms: 'forms',\n javaScript: 'javaScript',\n smask: 'smask',\n shadingPattern: 'shadingPattern',\n font: 'font',\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === 'null') {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the whitelisted protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case 'http:':\n case 'https:':\n case 'ftp:':\n case 'mailto:':\n case 'tel:':\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} baseUrl - An absolute URL.\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) { /* `new URL()` will throw on incorrect data. */ }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, { value,\n enumerable: true,\n configurable: true,\n writable: false, });\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 this.message = message;\n this.name = this.constructor.name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException { }\n\nclass MissingPDFException extends BaseException { }\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException { }\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException { }\n\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 return str.replace(NullCharactersRegExp, '');\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === 'object' &&\n bytes.length !== undefined, 'Invalid argument for bytesToString');\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join('');\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === 'string', 'Invalid argument for stringToBytes');\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xFF;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined);\n return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array} arr - the array of the arrays (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && (arr[0] instanceof Uint8Array)) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === 'string') {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode((value >> 24) & 0xff, (value >> 16) & 0xff,\n (value >> 8) & 0xff, value & 0xff);\n}\n\n// Calculate the base 2 logarithm of the number `x`. This differs from the\n// native function in the sense that it returns the ceiling value and that it\n// returns 0 instead of `Infinity`/`NaN` for `x` values smaller than/equal to 0.\nfunction log2(x) {\n if (x <= 0) {\n return 0;\n }\n return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, start) {\n return (data[start] << 24) >> 24;\n}\n\nfunction readUint16(data, offset) {\n return (data[offset] << 8) | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n return ((data[offset] << 24) | (data[offset + 1] << 16) |\n (data[offset + 2] << 8) | data[offset + 3]) >>> 0;\n}\n\n// Lazy test the endianness of the platform\n// NOTE: This will be 'true' for simulated TypedArrays\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return (view32[0] === 1);\n}\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(''); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\n\nconst rgbBuf = ['rgb(', 0, ',', 0, ',', 0, ')'];\n\nclass Util {\n // makeCssRgb() can be called thousands of times. Using ´rgbBuf` avoids\n // creating many intermediate strings.\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 // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5]\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = 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 [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1])\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2]\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\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\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if ((orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if ((orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n}\n\nconst PDFStringTranslateTable = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014,\n 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C,\n 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160,\n 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC\n];\n\nfunction stringToPDFString(str) {\n const length = str.length, strBuf = [];\n if (str[0] === '\\xFE' && str[1] === '\\xFF') {\n // UTF16BE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(\n (str.charCodeAt(i) << 8) | str.charCodeAt(i + 1)));\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 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 (let key in obj) {\n return false;\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 return arr1.every(function(element, index) {\n return element === arr2[index];\n });\n}\n\n// Checks if ch is one of the following characters: SPACE, TAB, CR or LF.\nfunction isSpace(ch) {\n return (ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A);\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @return {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, 'settled', {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function(resolve, reject) {\n capability.resolve = function(data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function(reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = (function createObjectURLClosure() {\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], { type: contentType, });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\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, 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 return buffer;\n };\n})();\n\nexport {\n BaseException,\n FONT_IDENTITY_MATRIX,\n IDENTITY_MATRIX,\n OPS,\n VerbosityLevel,\n UNSUPPORTED_FEATURES,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n FontType,\n ImageKind,\n CMapCompressionType,\n AbortException,\n InvalidPDFException,\n MissingPDFException,\n NativeImageDecoding,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n StreamType,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n Util,\n FormatError,\n arrayByteLength,\n arraysToBytes,\n assert,\n bytesToString,\n createPromiseCapability,\n createObjectURL,\n getVerbosityLevel,\n info,\n isArrayBuffer,\n isArrayEqual,\n isBool,\n isEmptyObj,\n isNum,\n isString,\n isSpace,\n isSameOrigin,\n createValidAbsoluteUrl,\n isLittleEndian,\n isEvalSupported,\n log2,\n readInt8,\n readUint16,\n readUint32,\n removeNullCharacters,\n ReadableStream,\n setVerbosityLevel,\n shadow,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF8String,\n utf8StringToString,\n warn,\n unreachable,\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst globalScope = require('./global_scope');\n\n// Skip compatibility checks for the extensions and if we already ran\n// this module.\nif ((typeof PDFJSDev === 'undefined' ||\n !PDFJSDev.test('FIREFOX || MOZCENTRAL')) &&\n !globalScope._pdfjsCompatibilityChecked) {\n\nglobalScope._pdfjsCompatibilityChecked = true;\n\nconst isNodeJS = require('./is_node');\n\nconst hasDOM = typeof window === 'object' && typeof document === 'object';\n\n// Support: Node.js\n(function checkNodeBtoa() {\n if (globalScope.btoa || !isNodeJS()) {\n return;\n }\n globalScope.btoa = function(chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, 'binary').toString('base64');\n };\n})();\n\n// Support: Node.js\n(function checkNodeAtob() {\n if (globalScope.atob || !isNodeJS()) {\n return;\n }\n globalScope.atob = function(input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, 'base64').toString('binary');\n };\n})();\n\n// Provides support for ChildNode.remove in legacy browsers.\n// Support: IE.\n(function checkChildNodeRemove() {\n if (!hasDOM) {\n return;\n }\n if (typeof Element.prototype.remove !== 'undefined') {\n return;\n }\n Element.prototype.remove = function () {\n if (this.parentNode) {\n // eslint-disable-next-line mozilla/avoid-removeChild\n this.parentNode.removeChild(this);\n }\n };\n})();\n\n// Provides support for DOMTokenList.prototype.{add, remove}, with more than\n// one parameter, in legacy browsers.\n// Support: IE\n(function checkDOMTokenListAddRemove() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n const div = document.createElement('div');\n div.classList.add('testOne', 'testTwo');\n\n if (div.classList.contains('testOne') === true &&\n div.classList.contains('testTwo') === true) {\n return;\n }\n const OriginalDOMTokenListAdd = DOMTokenList.prototype.add;\n const OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;\n\n DOMTokenList.prototype.add = function(...tokens) {\n for (let token of tokens) {\n OriginalDOMTokenListAdd.call(this, token);\n }\n };\n DOMTokenList.prototype.remove = function(...tokens) {\n for (let token of tokens) {\n OriginalDOMTokenListRemove.call(this, token);\n }\n };\n})();\n\n// Provides support for DOMTokenList.prototype.toggle, with the optional\n// \"force\" parameter, in legacy browsers.\n// Support: IE\n(function checkDOMTokenListToggle() {\n if (!hasDOM || isNodeJS()) {\n return;\n }\n const div = document.createElement('div');\n if (div.classList.toggle('test', 0) === false) {\n return;\n }\n\n DOMTokenList.prototype.toggle = function(token) {\n let force = (arguments.length > 1 ? !!arguments[1] : !this.contains(token));\n return (this[force ? 'add' : 'remove'](token), force);\n };\n})();\n\n// Provides support for String.prototype.startsWith in legacy browsers.\n// Support: IE, Chrome<41\n(function checkStringStartsWith() {\n if (String.prototype.startsWith) {\n return;\n }\n require('core-js/es/string/starts-with');\n})();\n\n// Provides support for String.prototype.endsWith in legacy browsers.\n// Support: IE, Chrome<41\n(function checkStringEndsWith() {\n if (String.prototype.endsWith) {\n return;\n }\n require('core-js/es/string/ends-with');\n})();\n\n// Provides support for String.prototype.includes in legacy browsers.\n// Support: IE, Chrome<41\n(function checkStringIncludes() {\n if (String.prototype.includes) {\n return;\n }\n require('core-js/es/string/includes');\n})();\n\n// Provides support for Array.prototype.includes in legacy browsers.\n// Support: IE, Chrome<47\n(function checkArrayIncludes() {\n if (Array.prototype.includes) {\n return;\n }\n require('core-js/es/array/includes');\n})();\n\n// Provides support for Array.from in legacy browsers.\n// Support: IE\n(function checkArrayFrom() {\n if (Array.from) {\n return;\n }\n require('core-js/es/array/from');\n})();\n\n// Provides support for Object.assign in legacy browsers.\n// Support: IE\n(function checkObjectAssign() {\n if (Object.assign) {\n return;\n }\n require('core-js/es/object/assign');\n})();\n\n// Provides support for Math.log2 in legacy browsers.\n// Support: IE, Chrome<38\n(function checkMathLog2() {\n if (Math.log2) {\n return;\n }\n Math.log2 = require('core-js/es/math/log2');\n})();\n\n// Provides support for Number.isNaN in legacy browsers.\n// Support: IE.\n(function checkNumberIsNaN() {\n if (Number.isNaN) {\n return;\n }\n Number.isNaN = require('core-js/es/number/is-nan');\n})();\n\n// Provides support for Number.isInteger in legacy browsers.\n// Support: IE, Chrome<34\n(function checkNumberIsInteger() {\n if (Number.isInteger) {\n return;\n }\n Number.isInteger = require('core-js/es/number/is-integer');\n})();\n\n// Support: IE, Safari<11, Chrome<63\n(function checkPromise() {\n if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('IMAGE_DECODERS')) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalScope.Promise && (globalScope.Promise.prototype &&\n globalScope.Promise.prototype.finally)) {\n return;\n }\n globalScope.Promise = require('core-js/es/promise/index');\n})();\n\n// Support: IE\n(function checkURL() {\n if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('IMAGE_DECODERS')) {\n // The current image decoders don't use the `URL` constructor, so it\n // doesn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (typeof PDFJSDev !== 'undefined' && !PDFJSDev.test('GENERIC')) {\n // The `URL` constructor is assumed to be available in the extension builds.\n return;\n }\n globalScope.URL = require('core-js/web/url');\n})();\n\n// Support: IE<11, Safari<8, Chrome<36\n(function checkWeakMap() {\n if (globalScope.WeakMap) {\n return;\n }\n globalScope.WeakMap = require('core-js/es/weak-map/index');\n})();\n\n// Support: IE11\n(function checkWeakSet() {\n if (globalScope.WeakSet) {\n return;\n }\n globalScope.WeakSet = require('core-js/es/weak-set/index');\n})();\n\n// Provides support for String.codePointAt in legacy browsers.\n// Support: IE11.\n(function checkStringCodePointAt() {\n if (String.prototype.codePointAt) {\n return;\n }\n require('core-js/es/string/code-point-at');\n})();\n\n// Provides support for String.fromCodePoint in legacy browsers.\n// Support: IE11.\n(function checkStringFromCodePoint() {\n if (String.fromCodePoint) {\n return;\n }\n String.fromCodePoint = require('core-js/es/string/from-code-point');\n})();\n\n// Support: IE\n(function checkSymbol() {\n if (globalScope.Symbol) {\n return;\n }\n require('core-js/es/symbol/index');\n})();\n\n// Provides support for String.prototype.padStart in legacy browsers.\n// Support: IE, Chrome<57\n(function checkStringPadStart() {\n if (String.prototype.padStart) {\n return;\n }\n require('core-js/es/string/pad-start');\n})();\n\n// Provides support for String.prototype.padEnd in legacy browsers.\n// Support: IE, Chrome<57\n(function checkStringPadEnd() {\n if (String.prototype.padEnd) {\n return;\n }\n require('core-js/es/string/pad-end');\n})();\n\n// Provides support for Object.values in legacy browsers.\n// Support: IE, Chrome<54\n(function checkObjectValues() {\n if (Object.values) {\n return;\n }\n Object.values = require('core-js/es/object/values');\n})();\n\n}\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals module */\n\nmodule.exports =\n (typeof window !== 'undefined' && window.Math === Math) ? window :\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global.Math === Math) ? global :\n (typeof self !== 'undefined' && self.Math === Math) ? self : {};\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals module, process */\n\nmodule.exports = function isNodeJS() {\n // NW.js / Electron is a browser context, but copies some Node.js objects; see\n // http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n // https://electronjs.org/docs/api/process#processversionselectron\n return typeof process === 'object' &&\n process + '' === '[object process]' &&\n !process.versions['nw'] && !process.versions['electron'];\n};\n","require('../../modules/es.string.starts-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'startsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('startsWith') }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar nativeFunctionToString = require('../internals/function-to-string');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\nvar IS_PURE = require('../internals/is-pure');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.2.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var global = require('../internals/global');\nvar hide = require('../internals/hide');\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = false;\n","var shared = require('../internals/shared');\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar hide = require('../internals/hide');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar nativeFunctionToString = require('../internals/function-to-string');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","module.exports = {};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","module.exports = require('../internals/global');\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","exports.f = Object.getOwnPropertySymbols;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nvar Symbol = global.Symbol;\nvar store = shared('wks');\n\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]\n || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/bind-context');\n\nvar call = Function.call;\n\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","require('../../modules/es.string.ends-with');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'endsWith');\n","'use strict';\nvar $ = require('../internals/export');\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('endsWith') }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","require('../../modules/es.string.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.array.includes');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('Array', 'includes');\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar hide = require('../internals/hide');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n hide(ArrayPrototype, UNSCOPABLES, create(null));\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\nhiddenKeys[IE_PROTO] = true;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar hide = require('../internals/hide');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = {};\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar bind = require('../internals/bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (;!(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping\n ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)\n : step.value\n );\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !nativeAssign || fails(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","require('../../modules/es.math.log2');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Math.log2;\n","var $ = require('../internals/export');\n\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\n// `Math.log2` method\n// https://tc39.github.io/ecma262/#sec-math.log2\n$({ target: 'Math', stat: true }, {\n log2: function log2(x) {\n return log(x) / LN2;\n }\n});\n","require('../../modules/es.number.is-nan');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isNaN;\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.github.io/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","require('../../modules/es.number.is-integer');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Number.isInteger;\n","var $ = require('../internals/export');\nvar isInteger = require('../internals/is-integer');\n\n// `Number.isInteger` method\n// https://tc39.github.io/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isInteger\n});\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `Number.isInteger` method implementation\n// https://tc39.github.io/ecma262/#sec-number.isinteger\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.finally');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\nvar ObjectPrototype = Object.prototype;\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (toString !== ObjectPrototype.toString) {\n redefine(ObjectPrototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar classof = require('../internals/classof');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = String(test) !== '[object z]' ? function toString() {\n return '[object ' + classof(this) + ']';\n} : test.toString;\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar hide = require('../internals/hide');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n hide(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar path = require('../internals/path');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar userAgent = require('../internals/user-agent');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = global.fetch;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n // correct subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var empty = function () { /* empty */ };\n var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !((IS_NODE || typeof PromiseRejectionEvent == 'function')\n && (!IS_PURE || promise['finally'])\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = path[PROMISE];\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n while (!(step = iterator.next()).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar userAgent = require('../internals/user-agent');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://github.com/tc39/proposal-promise-allSettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (e) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: e };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","require('../modules/web.url');\nrequire('../modules/web.url.to-json');\nrequire('../modules/web.url-search-params');\nvar path = require('../internals/path');\n\nmodule.exports = path.URL;\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+\\-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?e=1', 'http://a');\n var searchParams = url.searchParams;\n url.pathname = 'c%20d';\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?e=1'\n || searchParams.get('e') !== '1'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1';\n});\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/bind-context');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, step, entryIterator, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n while (!(step = iterator.next()).done) {\n entryIterator = getIterator(anObject(step.value));\n if (\n (first = entryIterator.next()).done ||\n (second = entryIterator.next()).done ||\n !entryIterator.next().done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(it));\n};\n","'use strict';\nvar $ = require('../internals/export');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return URL.prototype.toString.call(this);\n }\n});\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-map');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakMap;\n","'use strict';\nvar global = require('../internals/global');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\nvar isObject = require('../internals/is-object');\nvar enforceIternalState = require('../internals/internal-state').enforce;\nvar NATIVE_WEAK_MAP = require('../internals/native-weak-map');\n\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar isExtensible = Object.isExtensible;\nvar InternalWeakMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length ? arguments[0] : undefined);\n };\n};\n\n// `WeakMap` constructor\n// https://tc39.github.io/ecma262/#sec-weakmap-constructor\nvar $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);\n\n// IE11 WeakMap frozen keys fix\n// We can't use feature detection because it crash some old IE builds\n// https://github.com/zloirock/core-js/issues/485\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);\n InternalMetadataModule.REQUIRED = true;\n var WeakMapPrototype = $WeakMap.prototype;\n var nativeDelete = WeakMapPrototype['delete'];\n var nativeHas = WeakMapPrototype.has;\n var nativeGet = WeakMapPrototype.get;\n var nativeSet = WeakMapPrototype.set;\n redefineAll(WeakMapPrototype, {\n 'delete': function (key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeDelete.call(this, key) || state.frozen['delete'](key);\n } return nativeDelete.call(this, key);\n },\n has: function has(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) || state.frozen.has(key);\n } return nativeHas.call(this, key);\n },\n get: function get(key) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);\n } return nativeGet.call(this, key);\n },\n set: function set(key, value) {\n if (isObject(key) && !isExtensible(key)) {\n var state = enforceIternalState(this);\n if (!state.frozen) state.frozen = new InternalWeakMap();\n nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);\n } else nativeSet.call(this, key, value);\n return this;\n }\n });\n}\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) {\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var ADDER = IS_MAP ? 'set' : 'add';\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar redefineAll = require('../internals/redefine-all');\nvar getWeakData = require('../internals/internal-metadata').getWeakData;\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar ArrayIterationModule = require('../internals/array-iteration');\nvar $has = require('../internals/has');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nvar find = ArrayIterationModule.find;\nvar findIndex = ArrayIterationModule.findIndex;\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (store) {\n return store.frozen || (store.frozen = new UncaughtFrozenStore());\n};\n\nvar UncaughtFrozenStore = function () {\n this.entries = [];\n};\n\nvar findUncaughtFrozen = function (store, key) {\n return find(store.entries, function (it) {\n return it[0] === key;\n });\n};\n\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.entries.push([key, value]);\n },\n 'delete': function (key) {\n var index = findIndex(this.entries, function (it) {\n return it[0] === key;\n });\n if (~index) this.entries.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n id: id++,\n frozen: undefined\n });\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var data = getWeakData(anObject(key), true);\n if (data === true) uncaughtFrozenStore(state).set(key, value);\n else data[state.id] = value;\n return that;\n };\n\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state)['delete'](key);\n return data && $has(data, state.id) && delete data[state.id];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n var state = getInternalState(this);\n if (!isObject(key)) return false;\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).has(key);\n return data && $has(data, state.id);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n var state = getInternalState(this);\n if (isObject(key)) {\n var data = getWeakData(key);\n if (data === true) return uncaughtFrozenStore(state).get(key);\n return data ? data[state.id] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key, value);\n }\n } : {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return define(this, value, true);\n }\n });\n\n return C;\n }\n};\n","var bind = require('../internals/bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","require('../../modules/es.object.to-string');\nrequire('../../modules/es.weak-set');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.WeakSet;\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionWeak = require('../internals/collection-weak');\n\n// `WeakSet` constructor\n// https://tc39.github.io/ecma262/#sec-weakset-constructor\ncollection('WeakSet', function (get) {\n return function WeakSet() { return get(this, arguments.length ? arguments[0] : undefined); };\n}, collectionWeak, false, true);\n","require('../../modules/es.string.code-point-at');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'codePointAt');\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n codePointAt: function codePointAt(pos) {\n return codeAt(this, pos);\n }\n});\n","require('../../modules/es.string.from-code-point');\nvar path = require('../../internals/path');\n\nmodule.exports = path.String.fromCodePoint;\n","var $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar fromCharCode = String.fromCharCode;\nvar nativeFromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.github.io/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n elements.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00)\n );\n } return elements.join('');\n }\n});\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.json.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\nvar IS_CONCAT_SPREADABLE_SUPPORT = !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n return !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar hide = require('../internals/hide');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar JSON = global.JSON;\nvar nativeJSONStringify = JSON && JSON.stringify;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nJSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return nativeJSONStringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || nativeJSONStringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || nativeJSONStringify(Object(symbol)) != '{}';\n}) }, {\n stringify: function stringify(it) {\n var args = [it];\n var index = 1;\n var replacer, $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return nativeJSONStringify.apply(JSON, args);\n }\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\n};\n","exports.f = require('../internals/well-known-symbol');\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.github.io/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es.string.pad-start');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padStart');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/webkit-string-pad-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","require('../../modules/es.string.pad-end');\nvar entryUnbind = require('../../internals/entry-unbind');\n\nmodule.exports = entryUnbind('String', 'padEnd');\n","'use strict';\nvar $ = require('../internals/export');\nvar $padEnd = require('../internals/string-pad').end;\nvar WEBKIT_BUG = require('../internals/webkit-string-pad-bug');\n\n// `String.prototype.padEnd` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.padend\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.github.io/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","/* Copyright 2017 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* eslint-disable no-restricted-globals */\n\nif (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('MOZCENTRAL')) {\n if (typeof ReadableStream === 'undefined') {\n throw new Error('Please enable ReadableStream support by resetting the ' +\n '\"javascript.options.streams\" preference to \"true\" in about:config.');\n }\n exports.ReadableStream = ReadableStream;\n} else {\n let isReadableStreamSupported = false;\n if (typeof ReadableStream !== 'undefined') {\n // MS Edge may say it has ReadableStream but they are not up to spec yet.\n try {\n // eslint-disable-next-line no-new\n new ReadableStream({\n start(controller) {\n controller.close();\n },\n });\n isReadableStreamSupported = true;\n } catch (e) {\n // The ReadableStream constructor cannot be used.\n }\n }\n if (isReadableStreamSupported) {\n exports.ReadableStream = ReadableStream;\n } else if (typeof PDFJSDev !== 'undefined' &&\n PDFJSDev.test('IMAGE_DECODERS')) {\n class DummyReadableStream {\n constructor() {\n throw new Error('The current image decoders are synchronous, ' +\n 'hence `ReadableStream` shouldn\\'t need to be ' +\n 'polyfilled for the IMAGE_DECODERS build target.');\n }\n }\n exports.ReadableStream = DummyReadableStream;\n } else {\n exports.ReadableStream =\n require('web-streams-polyfill/dist/ponyfill').ReadableStream;\n }\n}\n","/**\n * web-streams-polyfill v2.0.4\n */\n/// \r\nvar SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\r\n Symbol :\r\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n/// \r\nfunction noop() {\r\n // do nothing\r\n}\n\n/// \r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\r\nvar NumberIsNaN = Number.isNaN || function (x) {\r\n // eslint-disable-next-line no-self-compare\r\n return x !== x;\r\n};\n\nfunction typeIsObject(x) {\r\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\r\n}\r\nfunction createArrayFromList(elements) {\r\n // We use arrays to represent lists, so this is basically a no-op.\r\n // Do a slice though just in case we happen to depend on the unique-ness.\r\n return elements.slice();\r\n}\r\nfunction ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {\r\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\r\n}\r\nfunction IsFiniteNonNegativeNumber(v) {\r\n if (IsNonNegativeNumber(v) === false) {\r\n return false;\r\n }\r\n if (v === Infinity) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction IsNonNegativeNumber(v) {\r\n if (typeof v !== 'number') {\r\n return false;\r\n }\r\n if (NumberIsNaN(v)) {\r\n return false;\r\n }\r\n if (v < 0) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction Call(F, V, args) {\r\n if (typeof F !== 'function') {\r\n throw new TypeError('Argument is not a function');\r\n }\r\n return Function.prototype.apply.call(F, V, args);\r\n}\r\nfunction CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {\r\n var method = underlyingObject[methodName];\r\n if (method !== undefined) {\r\n if (typeof method !== 'function') {\r\n throw new TypeError(method + \" is not a method\");\r\n }\r\n switch (algoArgCount) {\r\n case 0: {\r\n return function () {\r\n return PromiseCall(method, underlyingObject, extraArgs);\r\n };\r\n }\r\n case 1: {\r\n return function (arg) {\r\n var fullArgs = [arg].concat(extraArgs);\r\n return PromiseCall(method, underlyingObject, fullArgs);\r\n };\r\n }\r\n }\r\n }\r\n return function () { return Promise.resolve(); };\r\n}\r\nfunction InvokeOrNoop(O, P, args) {\r\n var method = O[P];\r\n if (method === undefined) {\r\n return undefined;\r\n }\r\n return Call(method, O, args);\r\n}\r\nfunction PromiseCall(F, V, args) {\r\n try {\r\n return Promise.resolve(Call(F, V, args));\r\n }\r\n catch (value) {\r\n return Promise.reject(value);\r\n }\r\n}\r\n// Not implemented correctly\r\nfunction TransferArrayBuffer(O) {\r\n return O;\r\n}\r\n// Not implemented correctly\r\nfunction IsDetachedBuffer(O) {\r\n return false;\r\n}\r\nfunction ValidateAndNormalizeHighWaterMark(highWaterMark) {\r\n highWaterMark = Number(highWaterMark);\r\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\r\n throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');\r\n }\r\n return highWaterMark;\r\n}\r\nfunction MakeSizeAlgorithmFromSizeFunction(size) {\r\n if (size === undefined) {\r\n return function () { return 1; };\r\n }\r\n if (typeof size !== 'function') {\r\n throw new TypeError('size property of a queuing strategy must be a function');\r\n }\r\n return function (chunk) { return size(chunk); };\r\n}\n\n// Original from Chromium\r\n// https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\r\nvar QUEUE_MAX_ARRAY_SIZE = 16384;\r\n/**\r\n * Simple queue structure.\r\n *\r\n * Avoids scalability issues with using a packed array directly by using\r\n * multiple arrays in a linked list and keeping the array size bounded.\r\n */\r\nvar SimpleQueue = /** @class */ (function () {\r\n function SimpleQueue() {\r\n this._cursor = 0;\r\n this._size = 0;\r\n // _front and _back are always defined.\r\n this._front = {\r\n _elements: [],\r\n _next: undefined\r\n };\r\n this._back = this._front;\r\n // The cursor is used to avoid calling Array.shift().\r\n // It contains the index of the front element of the array inside the\r\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\r\n this._cursor = 0;\r\n // When there is only one node, size === elements.length - cursor.\r\n this._size = 0;\r\n }\r\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\r\n get: function () {\r\n return this._size;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n // For exception safety, this method is structured in order:\r\n // 1. Read state\r\n // 2. Calculate required state mutations\r\n // 3. Perform state mutations\r\n SimpleQueue.prototype.push = function (element) {\r\n var oldBack = this._back;\r\n var newBack = oldBack;\r\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\r\n newBack = {\r\n _elements: [],\r\n _next: undefined\r\n };\r\n }\r\n // push() is the mutation most likely to throw an exception, so it\r\n // goes first.\r\n oldBack._elements.push(element);\r\n if (newBack !== oldBack) {\r\n this._back = newBack;\r\n oldBack._next = newBack;\r\n }\r\n ++this._size;\r\n };\r\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\r\n // exception safety.\r\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\r\n var oldFront = this._front;\r\n var newFront = oldFront;\r\n var oldCursor = this._cursor;\r\n var newCursor = oldCursor + 1;\r\n var elements = oldFront._elements;\r\n var element = elements[oldCursor];\r\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\r\n newFront = oldFront._next;\r\n newCursor = 0;\r\n }\r\n // No mutations before this point.\r\n --this._size;\r\n this._cursor = newCursor;\r\n if (oldFront !== newFront) {\r\n this._front = newFront;\r\n }\r\n // Permit shifted element to be garbage collected.\r\n elements[oldCursor] = undefined;\r\n return element;\r\n };\r\n // The tricky thing about forEach() is that it can be called\r\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\r\n // see that push() within the callback has no negative effects since the end\r\n // of the queue is checked for on every iteration. If shift() is called\r\n // repeatedly within the callback then the next iteration may return an\r\n // element that has been removed. In this case the callback will be called\r\n // with undefined values until we either \"catch up\" with elements that still\r\n // exist or reach the back of the queue.\r\n SimpleQueue.prototype.forEach = function (callback) {\r\n var i = this._cursor;\r\n var node = this._front;\r\n var elements = node._elements;\r\n while (i !== elements.length || node._next !== undefined) {\r\n if (i === elements.length) {\r\n node = node._next;\r\n elements = node._elements;\r\n i = 0;\r\n if (elements.length === 0) {\r\n break;\r\n }\r\n }\r\n callback(elements[i]);\r\n ++i;\r\n }\r\n };\r\n // Return the element that would be returned if shift() was called now,\r\n // without modifying the queue.\r\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\r\n var front = this._front;\r\n var cursor = this._cursor;\r\n return front._elements[cursor];\r\n };\r\n return SimpleQueue;\r\n}());\n\nfunction ReadableStreamCreateReadResult(value, done, forAuthorCode) {\r\n var prototype = null;\r\n if (forAuthorCode === true) {\r\n prototype = Object.prototype;\r\n }\r\n var obj = Object.create(prototype);\r\n obj.value = value;\r\n obj.done = done;\r\n return obj;\r\n}\r\nfunction ReadableStreamReaderGenericInitialize(reader, stream) {\r\n reader._forAuthorCode = true;\r\n reader._ownerReadableStream = stream;\r\n stream._reader = reader;\r\n if (stream._state === 'readable') {\r\n defaultReaderClosedPromiseInitialize(reader);\r\n }\r\n else if (stream._state === 'closed') {\r\n defaultReaderClosedPromiseInitializeAsResolved(reader);\r\n }\r\n else {\r\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\r\n }\r\n}\r\n// A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\r\n// check.\r\nfunction ReadableStreamReaderGenericCancel(reader, reason) {\r\n var stream = reader._ownerReadableStream;\r\n return ReadableStreamCancel(stream, reason);\r\n}\r\nfunction ReadableStreamReaderGenericRelease(reader) {\r\n if (reader._ownerReadableStream._state === 'readable') {\r\n defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n }\r\n else {\r\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\\'s closedness'));\r\n }\r\n reader._ownerReadableStream._reader = undefined;\r\n reader._ownerReadableStream = undefined;\r\n}\r\n// Helper functions for the readers.\r\nfunction readerLockException(name) {\r\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\r\n}\r\n// Helper functions for the ReadableStreamDefaultReader.\r\nfunction defaultReaderClosedPromiseInitialize(reader) {\r\n reader._closedPromise = new Promise(function (resolve, reject) {\r\n reader._closedPromise_resolve = resolve;\r\n reader._closedPromise_reject = reject;\r\n });\r\n}\r\nfunction defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\r\n defaultReaderClosedPromiseInitialize(reader);\r\n defaultReaderClosedPromiseReject(reader, reason);\r\n}\r\nfunction defaultReaderClosedPromiseInitializeAsResolved(reader) {\r\n defaultReaderClosedPromiseInitialize(reader);\r\n defaultReaderClosedPromiseResolve(reader);\r\n}\r\nfunction defaultReaderClosedPromiseReject(reader, reason) {\r\n reader._closedPromise.catch(noop);\r\n reader._closedPromise_reject(reason);\r\n reader._closedPromise_resolve = undefined;\r\n reader._closedPromise_reject = undefined;\r\n}\r\nfunction defaultReaderClosedPromiseResetToRejected(reader, reason) {\r\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\r\n}\r\nfunction defaultReaderClosedPromiseResolve(reader) {\r\n reader._closedPromise_resolve(undefined);\r\n reader._closedPromise_resolve = undefined;\r\n reader._closedPromise_reject = undefined;\r\n}\n\nvar CancelSteps = SymbolPolyfill('[[CancelSteps]]');\r\nvar PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n// Abstract operations for the ReadableStream.\r\nfunction AcquireReadableStreamDefaultReader(stream, forAuthorCode) {\r\n if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n var reader = new ReadableStreamDefaultReader(stream);\r\n reader._forAuthorCode = forAuthorCode;\r\n return reader;\r\n}\r\n// ReadableStream API exposed for controllers.\r\nfunction ReadableStreamAddReadRequest(stream) {\r\n var promise = new Promise(function (resolve, reject) {\r\n var readRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._reader._readRequests.push(readRequest);\r\n });\r\n return promise;\r\n}\r\nfunction ReadableStreamFulfillReadRequest(stream, chunk, done) {\r\n var reader = stream._reader;\r\n var readRequest = reader._readRequests.shift();\r\n readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n}\r\nfunction ReadableStreamGetNumReadRequests(stream) {\r\n return stream._reader._readRequests.length;\r\n}\r\nfunction ReadableStreamHasDefaultReader(stream) {\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return false;\r\n }\r\n if (!IsReadableStreamDefaultReader(reader)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar ReadableStreamDefaultReader = /** @class */ (function () {\r\n function ReadableStreamDefaultReader(stream) {\r\n if (IsReadableStream(stream) === false) {\r\n throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');\r\n }\r\n if (IsReadableStreamLocked(stream) === true) {\r\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n }\r\n ReadableStreamReaderGenericInitialize(this, stream);\r\n this._readRequests = new SimpleQueue();\r\n }\r\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\r\n get: function () {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n return Promise.reject(defaultReaderBrandCheckException('closed'));\r\n }\r\n return this._closedPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n return Promise.reject(defaultReaderBrandCheckException('cancel'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return Promise.reject(readerLockException('cancel'));\r\n }\r\n return ReadableStreamReaderGenericCancel(this, reason);\r\n };\r\n ReadableStreamDefaultReader.prototype.read = function () {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n return Promise.reject(defaultReaderBrandCheckException('read'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return Promise.reject(readerLockException('read from'));\r\n }\r\n return ReadableStreamDefaultReaderRead(this);\r\n };\r\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\r\n if (!IsReadableStreamDefaultReader(this)) {\r\n throw defaultReaderBrandCheckException('releaseLock');\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return;\r\n }\r\n if (this._readRequests.length > 0) {\r\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n }\r\n ReadableStreamReaderGenericRelease(this);\r\n };\r\n return ReadableStreamDefaultReader;\r\n}());\r\n// Abstract operations for the readers.\r\nfunction IsReadableStreamDefaultReader(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction ReadableStreamDefaultReaderRead(reader) {\r\n var stream = reader._ownerReadableStream;\r\n stream._disturbed = true;\r\n if (stream._state === 'closed') {\r\n return Promise.resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n }\r\n if (stream._state === 'errored') {\r\n return Promise.reject(stream._storedError);\r\n }\r\n return stream._readableStreamController[PullSteps]();\r\n}\r\n// Helper functions for the ReadableStreamDefaultReader.\r\nfunction defaultReaderBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\r\n}\n\n/// \r\nvar _a;\r\nvar AsyncIteratorPrototype;\r\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\r\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\r\n AsyncIteratorPrototype = (_a = {},\r\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\r\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\r\n _a[SymbolPolyfill.asyncIterator] = function () {\r\n return this;\r\n },\r\n _a);\r\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\r\n}\n\n/// \r\nvar ReadableStreamAsyncIteratorPrototype = {\r\n next: function () {\r\n if (IsReadableStreamAsyncIterator(this) === false) {\r\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\r\n }\r\n var reader = this._asyncIteratorReader;\r\n if (reader._ownerReadableStream === undefined) {\r\n return Promise.reject(readerLockException('iterate'));\r\n }\r\n return ReadableStreamDefaultReaderRead(reader).then(function (result) {\r\n var done = result.done;\r\n if (done) {\r\n ReadableStreamReaderGenericRelease(reader);\r\n }\r\n var value = result.value;\r\n return ReadableStreamCreateReadResult(value, done, true);\r\n });\r\n },\r\n return: function (value) {\r\n if (IsReadableStreamAsyncIterator(this) === false) {\r\n return Promise.reject(streamAsyncIteratorBrandCheckException('next'));\r\n }\r\n var reader = this._asyncIteratorReader;\r\n if (reader._ownerReadableStream === undefined) {\r\n return Promise.reject(readerLockException('finish iterating'));\r\n }\r\n if (reader._readRequests.length > 0) {\r\n return Promise.reject(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));\r\n }\r\n if (this._preventCancel === false) {\r\n var result = ReadableStreamReaderGenericCancel(reader, value);\r\n ReadableStreamReaderGenericRelease(reader);\r\n return result.then(function () { return ReadableStreamCreateReadResult(value, true, true); });\r\n }\r\n ReadableStreamReaderGenericRelease(reader);\r\n return Promise.resolve(ReadableStreamCreateReadResult(value, true, true));\r\n }\r\n};\r\nif (AsyncIteratorPrototype !== undefined) {\r\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\r\n}\r\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });\r\nObject.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });\r\n// Abstract operations for the ReadableStream.\r\nfunction AcquireReadableStreamAsyncIterator(stream, preventCancel) {\r\n if (preventCancel === void 0) { preventCancel = false; }\r\n var reader = AcquireReadableStreamDefaultReader(stream);\r\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\r\n iterator._asyncIteratorReader = reader;\r\n iterator._preventCancel = Boolean(preventCancel);\r\n return iterator;\r\n}\r\nfunction IsReadableStreamAsyncIterator(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n// Helper functions for the ReadableStream.\r\nfunction streamAsyncIteratorBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\r\n}\n\nvar rethrowAssertionErrorRejection = noop;\n\nfunction DequeueValue(container) {\r\n var pair = container._queue.shift();\r\n container._queueTotalSize -= pair.size;\r\n if (container._queueTotalSize < 0) {\r\n container._queueTotalSize = 0;\r\n }\r\n return pair.value;\r\n}\r\nfunction EnqueueValueWithSize(container, value, size) {\r\n size = Number(size);\r\n if (!IsFiniteNonNegativeNumber(size)) {\r\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\r\n }\r\n container._queue.push({ value: value, size: size });\r\n container._queueTotalSize += size;\r\n}\r\nfunction PeekQueueValue(container) {\r\n var pair = container._queue.peek();\r\n return pair.value;\r\n}\r\nfunction ResetQueue(container) {\r\n container._queue = new SimpleQueue();\r\n container._queueTotalSize = 0;\r\n}\n\nvar AbortSteps = SymbolPolyfill('[[AbortSteps]]');\r\nvar ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\r\nvar WritableStream = /** @class */ (function () {\r\n function WritableStream(underlyingSink, strategy) {\r\n if (underlyingSink === void 0) { underlyingSink = {}; }\r\n if (strategy === void 0) { strategy = {}; }\r\n InitializeWritableStream(this);\r\n var size = strategy.size;\r\n var highWaterMark = strategy.highWaterMark;\r\n var type = underlyingSink.type;\r\n if (type !== undefined) {\r\n throw new RangeError('Invalid type is specified');\r\n }\r\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n if (highWaterMark === undefined) {\r\n highWaterMark = 1;\r\n }\r\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\r\n }\r\n Object.defineProperty(WritableStream.prototype, \"locked\", {\r\n get: function () {\r\n if (IsWritableStream(this) === false) {\r\n throw streamBrandCheckException('locked');\r\n }\r\n return IsWritableStreamLocked(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n WritableStream.prototype.abort = function (reason) {\r\n if (IsWritableStream(this) === false) {\r\n return Promise.reject(streamBrandCheckException('abort'));\r\n }\r\n if (IsWritableStreamLocked(this) === true) {\r\n return Promise.reject(new TypeError('Cannot abort a stream that already has a writer'));\r\n }\r\n return WritableStreamAbort(this, reason);\r\n };\r\n WritableStream.prototype.getWriter = function () {\r\n if (IsWritableStream(this) === false) {\r\n throw streamBrandCheckException('getWriter');\r\n }\r\n return AcquireWritableStreamDefaultWriter(this);\r\n };\r\n return WritableStream;\r\n}());\r\n// Abstract operations for the WritableStream.\r\nfunction AcquireWritableStreamDefaultWriter(stream) {\r\n return new WritableStreamDefaultWriter(stream);\r\n}\r\n// Throws if and only if startAlgorithm throws.\r\nfunction CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n if (highWaterMark === void 0) { highWaterMark = 1; }\r\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n var stream = Object.create(WritableStream.prototype);\r\n InitializeWritableStream(stream);\r\n var controller = Object.create(WritableStreamDefaultController.prototype);\r\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n return stream;\r\n}\r\nfunction InitializeWritableStream(stream) {\r\n stream._state = 'writable';\r\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\r\n // 'erroring' or 'errored'. May be set to an undefined value.\r\n stream._storedError = undefined;\r\n stream._writer = undefined;\r\n // Initialize to undefined first because the constructor of the controller checks this\r\n // variable to validate the caller.\r\n stream._writableStreamController = undefined;\r\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\r\n // producer without waiting for the queued writes to finish.\r\n stream._writeRequests = new SimpleQueue();\r\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\r\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\r\n stream._inFlightWriteRequest = undefined;\r\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\r\n // has been detached.\r\n stream._closeRequest = undefined;\r\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\r\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\r\n stream._inFlightCloseRequest = undefined;\r\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\r\n stream._pendingAbortRequest = undefined;\r\n // The backpressure signal set by the controller.\r\n stream._backpressure = false;\r\n}\r\nfunction IsWritableStream(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction IsWritableStreamLocked(stream) {\r\n if (stream._writer === undefined) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction WritableStreamAbort(stream, reason) {\r\n var state = stream._state;\r\n if (state === 'closed' || state === 'errored') {\r\n return Promise.resolve(undefined);\r\n }\r\n if (stream._pendingAbortRequest !== undefined) {\r\n return stream._pendingAbortRequest._promise;\r\n }\r\n var wasAlreadyErroring = false;\r\n if (state === 'erroring') {\r\n wasAlreadyErroring = true;\r\n // reason will not be used, so don't keep a reference to it.\r\n reason = undefined;\r\n }\r\n var promise = new Promise(function (resolve, reject) {\r\n stream._pendingAbortRequest = {\r\n _promise: undefined,\r\n _resolve: resolve,\r\n _reject: reject,\r\n _reason: reason,\r\n _wasAlreadyErroring: wasAlreadyErroring\r\n };\r\n });\r\n stream._pendingAbortRequest._promise = promise;\r\n if (wasAlreadyErroring === false) {\r\n WritableStreamStartErroring(stream, reason);\r\n }\r\n return promise;\r\n}\r\n// WritableStream API exposed for controllers.\r\nfunction WritableStreamAddWriteRequest(stream) {\r\n var promise = new Promise(function (resolve, reject) {\r\n var writeRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._writeRequests.push(writeRequest);\r\n });\r\n return promise;\r\n}\r\nfunction WritableStreamDealWithRejection(stream, error) {\r\n var state = stream._state;\r\n if (state === 'writable') {\r\n WritableStreamStartErroring(stream, error);\r\n return;\r\n }\r\n WritableStreamFinishErroring(stream);\r\n}\r\nfunction WritableStreamStartErroring(stream, reason) {\r\n var controller = stream._writableStreamController;\r\n stream._state = 'erroring';\r\n stream._storedError = reason;\r\n var writer = stream._writer;\r\n if (writer !== undefined) {\r\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\r\n }\r\n if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {\r\n WritableStreamFinishErroring(stream);\r\n }\r\n}\r\nfunction WritableStreamFinishErroring(stream) {\r\n stream._state = 'errored';\r\n stream._writableStreamController[ErrorSteps]();\r\n var storedError = stream._storedError;\r\n stream._writeRequests.forEach(function (writeRequest) {\r\n writeRequest._reject(storedError);\r\n });\r\n stream._writeRequests = new SimpleQueue();\r\n if (stream._pendingAbortRequest === undefined) {\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n return;\r\n }\r\n var abortRequest = stream._pendingAbortRequest;\r\n stream._pendingAbortRequest = undefined;\r\n if (abortRequest._wasAlreadyErroring === true) {\r\n abortRequest._reject(storedError);\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n return;\r\n }\r\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\r\n promise.then(function () {\r\n abortRequest._resolve();\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n }, function (reason) {\r\n abortRequest._reject(reason);\r\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\r\n });\r\n}\r\nfunction WritableStreamFinishInFlightWrite(stream) {\r\n stream._inFlightWriteRequest._resolve(undefined);\r\n stream._inFlightWriteRequest = undefined;\r\n}\r\nfunction WritableStreamFinishInFlightWriteWithError(stream, error) {\r\n stream._inFlightWriteRequest._reject(error);\r\n stream._inFlightWriteRequest = undefined;\r\n WritableStreamDealWithRejection(stream, error);\r\n}\r\nfunction WritableStreamFinishInFlightClose(stream) {\r\n stream._inFlightCloseRequest._resolve(undefined);\r\n stream._inFlightCloseRequest = undefined;\r\n var state = stream._state;\r\n if (state === 'erroring') {\r\n // The error was too late to do anything, so it is ignored.\r\n stream._storedError = undefined;\r\n if (stream._pendingAbortRequest !== undefined) {\r\n stream._pendingAbortRequest._resolve();\r\n stream._pendingAbortRequest = undefined;\r\n }\r\n }\r\n stream._state = 'closed';\r\n var writer = stream._writer;\r\n if (writer !== undefined) {\r\n defaultWriterClosedPromiseResolve(writer);\r\n }\r\n}\r\nfunction WritableStreamFinishInFlightCloseWithError(stream, error) {\r\n stream._inFlightCloseRequest._reject(error);\r\n stream._inFlightCloseRequest = undefined;\r\n // Never execute sink abort() after sink close().\r\n if (stream._pendingAbortRequest !== undefined) {\r\n stream._pendingAbortRequest._reject(error);\r\n stream._pendingAbortRequest = undefined;\r\n }\r\n WritableStreamDealWithRejection(stream, error);\r\n}\r\n// TODO(ricea): Fix alphabetical order.\r\nfunction WritableStreamCloseQueuedOrInFlight(stream) {\r\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction WritableStreamHasOperationMarkedInFlight(stream) {\r\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction WritableStreamMarkCloseRequestInFlight(stream) {\r\n stream._inFlightCloseRequest = stream._closeRequest;\r\n stream._closeRequest = undefined;\r\n}\r\nfunction WritableStreamMarkFirstWriteRequestInFlight(stream) {\r\n stream._inFlightWriteRequest = stream._writeRequests.shift();\r\n}\r\nfunction WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\r\n if (stream._closeRequest !== undefined) {\r\n stream._closeRequest._reject(stream._storedError);\r\n stream._closeRequest = undefined;\r\n }\r\n var writer = stream._writer;\r\n if (writer !== undefined) {\r\n defaultWriterClosedPromiseReject(writer, stream._storedError);\r\n }\r\n}\r\nfunction WritableStreamUpdateBackpressure(stream, backpressure) {\r\n var writer = stream._writer;\r\n if (writer !== undefined && backpressure !== stream._backpressure) {\r\n if (backpressure === true) {\r\n defaultWriterReadyPromiseReset(writer);\r\n }\r\n else {\r\n defaultWriterReadyPromiseResolve(writer);\r\n }\r\n }\r\n stream._backpressure = backpressure;\r\n}\r\nvar WritableStreamDefaultWriter = /** @class */ (function () {\r\n function WritableStreamDefaultWriter(stream) {\r\n if (IsWritableStream(stream) === false) {\r\n throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');\r\n }\r\n if (IsWritableStreamLocked(stream) === true) {\r\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\r\n }\r\n this._ownerWritableStream = stream;\r\n stream._writer = this;\r\n var state = stream._state;\r\n if (state === 'writable') {\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {\r\n defaultWriterReadyPromiseInitialize(this);\r\n }\r\n else {\r\n defaultWriterReadyPromiseInitializeAsResolved(this);\r\n }\r\n defaultWriterClosedPromiseInitialize(this);\r\n }\r\n else if (state === 'erroring') {\r\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\r\n defaultWriterClosedPromiseInitialize(this);\r\n }\r\n else if (state === 'closed') {\r\n defaultWriterReadyPromiseInitializeAsResolved(this);\r\n defaultWriterClosedPromiseInitializeAsResolved(this);\r\n }\r\n else {\r\n var storedError = stream._storedError;\r\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\r\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\r\n }\r\n }\r\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\r\n get: function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return Promise.reject(defaultWriterBrandCheckException('closed'));\r\n }\r\n return this._closedPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n throw defaultWriterBrandCheckException('desiredSize');\r\n }\r\n if (this._ownerWritableStream === undefined) {\r\n throw defaultWriterLockException('desiredSize');\r\n }\r\n return WritableStreamDefaultWriterGetDesiredSize(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\r\n get: function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return Promise.reject(defaultWriterBrandCheckException('ready'));\r\n }\r\n return this._readyPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return Promise.reject(defaultWriterBrandCheckException('abort'));\r\n }\r\n if (this._ownerWritableStream === undefined) {\r\n return Promise.reject(defaultWriterLockException('abort'));\r\n }\r\n return WritableStreamDefaultWriterAbort(this, reason);\r\n };\r\n WritableStreamDefaultWriter.prototype.close = function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return Promise.reject(defaultWriterBrandCheckException('close'));\r\n }\r\n var stream = this._ownerWritableStream;\r\n if (stream === undefined) {\r\n return Promise.reject(defaultWriterLockException('close'));\r\n }\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === true) {\r\n return Promise.reject(new TypeError('cannot close an already-closing stream'));\r\n }\r\n return WritableStreamDefaultWriterClose(this);\r\n };\r\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n throw defaultWriterBrandCheckException('releaseLock');\r\n }\r\n var stream = this._ownerWritableStream;\r\n if (stream === undefined) {\r\n return;\r\n }\r\n WritableStreamDefaultWriterRelease(this);\r\n };\r\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\r\n if (IsWritableStreamDefaultWriter(this) === false) {\r\n return Promise.reject(defaultWriterBrandCheckException('write'));\r\n }\r\n if (this._ownerWritableStream === undefined) {\r\n return Promise.reject(defaultWriterLockException('write to'));\r\n }\r\n return WritableStreamDefaultWriterWrite(this, chunk);\r\n };\r\n return WritableStreamDefaultWriter;\r\n}());\r\n// Abstract operations for the WritableStreamDefaultWriter.\r\nfunction IsWritableStreamDefaultWriter(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n// A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\r\nfunction WritableStreamDefaultWriterAbort(writer, reason) {\r\n var stream = writer._ownerWritableStream;\r\n return WritableStreamAbort(stream, reason);\r\n}\r\nfunction WritableStreamDefaultWriterClose(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var state = stream._state;\r\n if (state === 'closed' || state === 'errored') {\r\n return Promise.reject(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\r\n }\r\n var promise = new Promise(function (resolve, reject) {\r\n var closeRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._closeRequest = closeRequest;\r\n });\r\n if (stream._backpressure === true && state === 'writable') {\r\n defaultWriterReadyPromiseResolve(writer);\r\n }\r\n WritableStreamDefaultControllerClose(stream._writableStreamController);\r\n return promise;\r\n}\r\nfunction WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var state = stream._state;\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n return Promise.resolve();\r\n }\r\n if (state === 'errored') {\r\n return Promise.reject(stream._storedError);\r\n }\r\n return WritableStreamDefaultWriterClose(writer);\r\n}\r\nfunction WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\r\n if (writer._closedPromiseState === 'pending') {\r\n defaultWriterClosedPromiseReject(writer, error);\r\n }\r\n else {\r\n defaultWriterClosedPromiseResetToRejected(writer, error);\r\n }\r\n}\r\nfunction WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\r\n if (writer._readyPromiseState === 'pending') {\r\n defaultWriterReadyPromiseReject(writer, error);\r\n }\r\n else {\r\n defaultWriterReadyPromiseResetToRejected(writer, error);\r\n }\r\n}\r\nfunction WritableStreamDefaultWriterGetDesiredSize(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var state = stream._state;\r\n if (state === 'errored' || state === 'erroring') {\r\n return null;\r\n }\r\n if (state === 'closed') {\r\n return 0;\r\n }\r\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\r\n}\r\nfunction WritableStreamDefaultWriterRelease(writer) {\r\n var stream = writer._ownerWritableStream;\r\n var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\\'s closedness');\r\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\r\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\r\n // rejected until afterwards. This means that simply testing state will not work.\r\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\r\n stream._writer = undefined;\r\n writer._ownerWritableStream = undefined;\r\n}\r\nfunction WritableStreamDefaultWriterWrite(writer, chunk) {\r\n var stream = writer._ownerWritableStream;\r\n var controller = stream._writableStreamController;\r\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\r\n if (stream !== writer._ownerWritableStream) {\r\n return Promise.reject(defaultWriterLockException('write to'));\r\n }\r\n var state = stream._state;\r\n if (state === 'errored') {\r\n return Promise.reject(stream._storedError);\r\n }\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {\r\n return Promise.reject(new TypeError('The stream is closing or closed and cannot be written to'));\r\n }\r\n if (state === 'erroring') {\r\n return Promise.reject(stream._storedError);\r\n }\r\n var promise = WritableStreamAddWriteRequest(stream);\r\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\r\n return promise;\r\n}\r\nvar WritableStreamDefaultController = /** @class */ (function () {\r\n /** @internal */\r\n function WritableStreamDefaultController() {\r\n throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');\r\n }\r\n WritableStreamDefaultController.prototype.error = function (e) {\r\n if (IsWritableStreamDefaultController(this) === false) {\r\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\r\n }\r\n var state = this._controlledWritableStream._state;\r\n if (state !== 'writable') {\r\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\r\n // just treat it as a no-op.\r\n return;\r\n }\r\n WritableStreamDefaultControllerError(this, e);\r\n };\r\n /** @internal */\r\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\r\n var result = this._abortAlgorithm(reason);\r\n WritableStreamDefaultControllerClearAlgorithms(this);\r\n return result;\r\n };\r\n /** @internal */\r\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\r\n ResetQueue(this);\r\n };\r\n return WritableStreamDefaultController;\r\n}());\r\n// Abstract operations implementing interface required by the WritableStream.\r\nfunction IsWritableStreamDefaultController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\r\n controller._controlledWritableStream = stream;\r\n stream._writableStreamController = controller;\r\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n controller._queue = undefined;\r\n controller._queueTotalSize = undefined;\r\n ResetQueue(controller);\r\n controller._started = false;\r\n controller._strategySizeAlgorithm = sizeAlgorithm;\r\n controller._strategyHWM = highWaterMark;\r\n controller._writeAlgorithm = writeAlgorithm;\r\n controller._closeAlgorithm = closeAlgorithm;\r\n controller._abortAlgorithm = abortAlgorithm;\r\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n WritableStreamUpdateBackpressure(stream, backpressure);\r\n var startResult = startAlgorithm();\r\n var startPromise = Promise.resolve(startResult);\r\n startPromise.then(function () {\r\n controller._started = true;\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n }, function (r) {\r\n controller._started = true;\r\n WritableStreamDealWithRejection(stream, r);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\r\n var controller = Object.create(WritableStreamDefaultController.prototype);\r\n function startAlgorithm() {\r\n return InvokeOrNoop(underlyingSink, 'start', [controller]);\r\n }\r\n var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);\r\n var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);\r\n var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);\r\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\r\n}\r\n// ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\r\nfunction WritableStreamDefaultControllerClearAlgorithms(controller) {\r\n controller._writeAlgorithm = undefined;\r\n controller._closeAlgorithm = undefined;\r\n controller._abortAlgorithm = undefined;\r\n controller._strategySizeAlgorithm = undefined;\r\n}\r\nfunction WritableStreamDefaultControllerClose(controller) {\r\n EnqueueValueWithSize(controller, 'close', 0);\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n}\r\nfunction WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\r\n try {\r\n return controller._strategySizeAlgorithm(chunk);\r\n }\r\n catch (chunkSizeE) {\r\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\r\n return 1;\r\n }\r\n}\r\nfunction WritableStreamDefaultControllerGetDesiredSize(controller) {\r\n return controller._strategyHWM - controller._queueTotalSize;\r\n}\r\nfunction WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\r\n var writeRecord = { chunk: chunk };\r\n try {\r\n EnqueueValueWithSize(controller, writeRecord, chunkSize);\r\n }\r\n catch (enqueueE) {\r\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\r\n return;\r\n }\r\n var stream = controller._controlledWritableStream;\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {\r\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n WritableStreamUpdateBackpressure(stream, backpressure);\r\n }\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n}\r\n// Abstract operations for the WritableStreamDefaultController.\r\nfunction WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\r\n var stream = controller._controlledWritableStream;\r\n if (controller._started === false) {\r\n return;\r\n }\r\n if (stream._inFlightWriteRequest !== undefined) {\r\n return;\r\n }\r\n var state = stream._state;\r\n if (state === 'erroring') {\r\n WritableStreamFinishErroring(stream);\r\n return;\r\n }\r\n if (controller._queue.length === 0) {\r\n return;\r\n }\r\n var writeRecord = PeekQueueValue(controller);\r\n if (writeRecord === 'close') {\r\n WritableStreamDefaultControllerProcessClose(controller);\r\n }\r\n else {\r\n WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);\r\n }\r\n}\r\nfunction WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\r\n if (controller._controlledWritableStream._state === 'writable') {\r\n WritableStreamDefaultControllerError(controller, error);\r\n }\r\n}\r\nfunction WritableStreamDefaultControllerProcessClose(controller) {\r\n var stream = controller._controlledWritableStream;\r\n WritableStreamMarkCloseRequestInFlight(stream);\r\n DequeueValue(controller);\r\n var sinkClosePromise = controller._closeAlgorithm();\r\n WritableStreamDefaultControllerClearAlgorithms(controller);\r\n sinkClosePromise.then(function () {\r\n WritableStreamFinishInFlightClose(stream);\r\n }, function (reason) {\r\n WritableStreamFinishInFlightCloseWithError(stream, reason);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction WritableStreamDefaultControllerProcessWrite(controller, chunk) {\r\n var stream = controller._controlledWritableStream;\r\n WritableStreamMarkFirstWriteRequestInFlight(stream);\r\n var sinkWritePromise = controller._writeAlgorithm(chunk);\r\n sinkWritePromise.then(function () {\r\n WritableStreamFinishInFlightWrite(stream);\r\n var state = stream._state;\r\n DequeueValue(controller);\r\n if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {\r\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\r\n WritableStreamUpdateBackpressure(stream, backpressure);\r\n }\r\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\r\n }, function (reason) {\r\n if (stream._state === 'writable') {\r\n WritableStreamDefaultControllerClearAlgorithms(controller);\r\n }\r\n WritableStreamFinishInFlightWriteWithError(stream, reason);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction WritableStreamDefaultControllerGetBackpressure(controller) {\r\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\r\n return desiredSize <= 0;\r\n}\r\n// A client of WritableStreamDefaultController may use these functions directly to bypass state check.\r\nfunction WritableStreamDefaultControllerError(controller, error) {\r\n var stream = controller._controlledWritableStream;\r\n WritableStreamDefaultControllerClearAlgorithms(controller);\r\n WritableStreamStartErroring(stream, error);\r\n}\r\n// Helper functions for the WritableStream.\r\nfunction streamBrandCheckException(name) {\r\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\r\n}\r\n// Helper functions for the WritableStreamDefaultWriter.\r\nfunction defaultWriterBrandCheckException(name) {\r\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\r\n}\r\nfunction defaultWriterLockException(name) {\r\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\r\n}\r\nfunction defaultWriterClosedPromiseInitialize(writer) {\r\n writer._closedPromise = new Promise(function (resolve, reject) {\r\n writer._closedPromise_resolve = resolve;\r\n writer._closedPromise_reject = reject;\r\n writer._closedPromiseState = 'pending';\r\n });\r\n}\r\nfunction defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\r\n defaultWriterClosedPromiseInitialize(writer);\r\n defaultWriterClosedPromiseReject(writer, reason);\r\n}\r\nfunction defaultWriterClosedPromiseInitializeAsResolved(writer) {\r\n defaultWriterClosedPromiseInitialize(writer);\r\n defaultWriterClosedPromiseResolve(writer);\r\n}\r\nfunction defaultWriterClosedPromiseReject(writer, reason) {\r\n writer._closedPromise.catch(noop);\r\n writer._closedPromise_reject(reason);\r\n writer._closedPromise_resolve = undefined;\r\n writer._closedPromise_reject = undefined;\r\n writer._closedPromiseState = 'rejected';\r\n}\r\nfunction defaultWriterClosedPromiseResetToRejected(writer, reason) {\r\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\r\n}\r\nfunction defaultWriterClosedPromiseResolve(writer) {\r\n writer._closedPromise_resolve(undefined);\r\n writer._closedPromise_resolve = undefined;\r\n writer._closedPromise_reject = undefined;\r\n writer._closedPromiseState = 'resolved';\r\n}\r\nfunction defaultWriterReadyPromiseInitialize(writer) {\r\n writer._readyPromise = new Promise(function (resolve, reject) {\r\n writer._readyPromise_resolve = resolve;\r\n writer._readyPromise_reject = reject;\r\n });\r\n writer._readyPromiseState = 'pending';\r\n}\r\nfunction defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\r\n defaultWriterReadyPromiseInitialize(writer);\r\n defaultWriterReadyPromiseReject(writer, reason);\r\n}\r\nfunction defaultWriterReadyPromiseInitializeAsResolved(writer) {\r\n defaultWriterReadyPromiseInitialize(writer);\r\n defaultWriterReadyPromiseResolve(writer);\r\n}\r\nfunction defaultWriterReadyPromiseReject(writer, reason) {\r\n writer._readyPromise.catch(noop);\r\n writer._readyPromise_reject(reason);\r\n writer._readyPromise_resolve = undefined;\r\n writer._readyPromise_reject = undefined;\r\n writer._readyPromiseState = 'rejected';\r\n}\r\nfunction defaultWriterReadyPromiseReset(writer) {\r\n defaultWriterReadyPromiseInitialize(writer);\r\n}\r\nfunction defaultWriterReadyPromiseResetToRejected(writer, reason) {\r\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\r\n}\r\nfunction defaultWriterReadyPromiseResolve(writer) {\r\n writer._readyPromise_resolve(undefined);\r\n writer._readyPromise_resolve = undefined;\r\n writer._readyPromise_reject = undefined;\r\n writer._readyPromiseState = 'fulfilled';\r\n}\n\nfunction ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\r\n var reader = AcquireReadableStreamDefaultReader(source);\r\n var writer = AcquireWritableStreamDefaultWriter(dest);\r\n var shuttingDown = false;\r\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\r\n var currentWrite = Promise.resolve();\r\n return new Promise(function (resolve, reject) {\r\n var abortAlgorithm;\r\n if (signal !== undefined) {\r\n abortAlgorithm = function () {\r\n var error = new DOMException('Aborted', 'AbortError');\r\n var actions = [];\r\n if (preventAbort === false) {\r\n actions.push(function () {\r\n if (dest._state === 'writable') {\r\n return WritableStreamAbort(dest, error);\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n if (preventCancel === false) {\r\n actions.push(function () {\r\n if (source._state === 'readable') {\r\n return ReadableStreamCancel(source, error);\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\r\n };\r\n if (signal.aborted === true) {\r\n abortAlgorithm();\r\n return;\r\n }\r\n signal.addEventListener('abort', abortAlgorithm);\r\n }\r\n // Using reader and writer, read all chunks from this and write them to dest\r\n // - Backpressure must be enforced\r\n // - Shutdown must stop all activity\r\n function pipeLoop() {\r\n return new Promise(function (resolveLoop, rejectLoop) {\r\n function next(done) {\r\n if (done) {\r\n resolveLoop();\r\n }\r\n else {\r\n pipeStep().then(next, rejectLoop);\r\n }\r\n }\r\n next(false);\r\n });\r\n }\r\n function pipeStep() {\r\n if (shuttingDown === true) {\r\n return Promise.resolve(true);\r\n }\r\n return writer._readyPromise.then(function () {\r\n return ReadableStreamDefaultReaderRead(reader).then(function (_a) {\r\n var value = _a.value, done = _a.done;\r\n if (done === true) {\r\n return true;\r\n }\r\n currentWrite = WritableStreamDefaultWriterWrite(writer, value).catch(noop);\r\n return false;\r\n });\r\n });\r\n }\r\n // Errors must be propagated forward\r\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\r\n if (preventAbort === false) {\r\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\r\n }\r\n else {\r\n shutdown(true, storedError);\r\n }\r\n });\r\n // Errors must be propagated backward\r\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\r\n if (preventCancel === false) {\r\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\r\n }\r\n else {\r\n shutdown(true, storedError);\r\n }\r\n });\r\n // Closing must be propagated forward\r\n isOrBecomesClosed(source, reader._closedPromise, function () {\r\n if (preventClose === false) {\r\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\r\n }\r\n else {\r\n shutdown();\r\n }\r\n });\r\n // Closing must be propagated backward\r\n if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {\r\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\r\n if (preventCancel === false) {\r\n shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\r\n }\r\n else {\r\n shutdown(true, destClosed_1);\r\n }\r\n }\r\n pipeLoop().catch(rethrowAssertionErrorRejection);\r\n function waitForWritesToFinish() {\r\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\r\n // for that too.\r\n var oldCurrentWrite = currentWrite;\r\n return currentWrite.then(function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\r\n }\r\n function isOrBecomesErrored(stream, promise, action) {\r\n if (stream._state === 'errored') {\r\n action(stream._storedError);\r\n }\r\n else {\r\n promise.catch(action).catch(rethrowAssertionErrorRejection);\r\n }\r\n }\r\n function isOrBecomesClosed(stream, promise, action) {\r\n if (stream._state === 'closed') {\r\n action();\r\n }\r\n else {\r\n promise.then(action).catch(rethrowAssertionErrorRejection);\r\n }\r\n }\r\n function shutdownWithAction(action, originalIsError, originalError) {\r\n if (shuttingDown === true) {\r\n return;\r\n }\r\n shuttingDown = true;\r\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n waitForWritesToFinish().then(doTheRest);\r\n }\r\n else {\r\n doTheRest();\r\n }\r\n function doTheRest() {\r\n action().then(function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); }).catch(rethrowAssertionErrorRejection);\r\n }\r\n }\r\n function shutdown(isError, error) {\r\n if (shuttingDown === true) {\r\n return;\r\n }\r\n shuttingDown = true;\r\n if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {\r\n waitForWritesToFinish().then(function () { return finalize(isError, error); }).catch(rethrowAssertionErrorRejection);\r\n }\r\n else {\r\n finalize(isError, error);\r\n }\r\n }\r\n function finalize(isError, error) {\r\n WritableStreamDefaultWriterRelease(writer);\r\n ReadableStreamReaderGenericRelease(reader);\r\n if (signal !== undefined) {\r\n signal.removeEventListener('abort', abortAlgorithm);\r\n }\r\n if (isError) {\r\n reject(error);\r\n }\r\n else {\r\n resolve(undefined);\r\n }\r\n }\r\n });\r\n}\n\nvar ReadableStreamDefaultController = /** @class */ (function () {\r\n /** @internal */\r\n function ReadableStreamDefaultController() {\r\n throw new TypeError();\r\n }\r\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('desiredSize');\r\n }\r\n return ReadableStreamDefaultControllerGetDesiredSize(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamDefaultController.prototype.close = function () {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('close');\r\n }\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n throw new TypeError('The stream is not in a state that permits close');\r\n }\r\n ReadableStreamDefaultControllerClose(this);\r\n };\r\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('enqueue');\r\n }\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {\r\n throw new TypeError('The stream is not in a state that permits enqueue');\r\n }\r\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\r\n };\r\n ReadableStreamDefaultController.prototype.error = function (e) {\r\n if (IsReadableStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException('error');\r\n }\r\n ReadableStreamDefaultControllerError(this, e);\r\n };\r\n /** @internal */\r\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\r\n ResetQueue(this);\r\n var result = this._cancelAlgorithm(reason);\r\n ReadableStreamDefaultControllerClearAlgorithms(this);\r\n return result;\r\n };\r\n /** @internal */\r\n ReadableStreamDefaultController.prototype[PullSteps] = function () {\r\n var stream = this._controlledReadableStream;\r\n if (this._queue.length > 0) {\r\n var chunk = DequeueValue(this);\r\n if (this._closeRequested === true && this._queue.length === 0) {\r\n ReadableStreamDefaultControllerClearAlgorithms(this);\r\n ReadableStreamClose(stream);\r\n }\r\n else {\r\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n }\r\n return Promise.resolve(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));\r\n }\r\n var pendingPromise = ReadableStreamAddReadRequest(stream);\r\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\r\n return pendingPromise;\r\n };\r\n return ReadableStreamDefaultController;\r\n}());\r\n// Abstract operations for the ReadableStreamDefaultController.\r\nfunction IsReadableStreamDefaultController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\r\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\r\n if (shouldPull === false) {\r\n return;\r\n }\r\n if (controller._pulling === true) {\r\n controller._pullAgain = true;\r\n return;\r\n }\r\n controller._pulling = true;\r\n var pullPromise = controller._pullAlgorithm();\r\n pullPromise.then(function () {\r\n controller._pulling = false;\r\n if (controller._pullAgain === true) {\r\n controller._pullAgain = false;\r\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n }\r\n }, function (e) {\r\n ReadableStreamDefaultControllerError(controller, e);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction ReadableStreamDefaultControllerShouldCallPull(controller) {\r\n var stream = controller._controlledReadableStream;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {\r\n return false;\r\n }\r\n if (controller._started === false) {\r\n return false;\r\n }\r\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n return true;\r\n }\r\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\r\n if (desiredSize > 0) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction ReadableStreamDefaultControllerClearAlgorithms(controller) {\r\n controller._pullAlgorithm = undefined;\r\n controller._cancelAlgorithm = undefined;\r\n controller._strategySizeAlgorithm = undefined;\r\n}\r\n// A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\r\nfunction ReadableStreamDefaultControllerClose(controller) {\r\n var stream = controller._controlledReadableStream;\r\n controller._closeRequested = true;\r\n if (controller._queue.length === 0) {\r\n ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n ReadableStreamClose(stream);\r\n }\r\n}\r\nfunction ReadableStreamDefaultControllerEnqueue(controller, chunk) {\r\n var stream = controller._controlledReadableStream;\r\n if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n ReadableStreamFulfillReadRequest(stream, chunk, false);\r\n }\r\n else {\r\n var chunkSize = void 0;\r\n try {\r\n chunkSize = controller._strategySizeAlgorithm(chunk);\r\n }\r\n catch (chunkSizeE) {\r\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\r\n throw chunkSizeE;\r\n }\r\n try {\r\n EnqueueValueWithSize(controller, chunk, chunkSize);\r\n }\r\n catch (enqueueE) {\r\n ReadableStreamDefaultControllerError(controller, enqueueE);\r\n throw enqueueE;\r\n }\r\n }\r\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n}\r\nfunction ReadableStreamDefaultControllerError(controller, e) {\r\n var stream = controller._controlledReadableStream;\r\n if (stream._state !== 'readable') {\r\n return;\r\n }\r\n ResetQueue(controller);\r\n ReadableStreamDefaultControllerClearAlgorithms(controller);\r\n ReadableStreamError(stream, e);\r\n}\r\nfunction ReadableStreamDefaultControllerGetDesiredSize(controller) {\r\n var stream = controller._controlledReadableStream;\r\n var state = stream._state;\r\n if (state === 'errored') {\r\n return null;\r\n }\r\n if (state === 'closed') {\r\n return 0;\r\n }\r\n return controller._strategyHWM - controller._queueTotalSize;\r\n}\r\n// This is used in the implementation of TransformStream.\r\nfunction ReadableStreamDefaultControllerHasBackpressure(controller) {\r\n if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\r\n var state = controller._controlledReadableStream._state;\r\n if (controller._closeRequested === false && state === 'readable') {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n controller._controlledReadableStream = stream;\r\n controller._queue = undefined;\r\n controller._queueTotalSize = undefined;\r\n ResetQueue(controller);\r\n controller._started = false;\r\n controller._closeRequested = false;\r\n controller._pullAgain = false;\r\n controller._pulling = false;\r\n controller._strategySizeAlgorithm = sizeAlgorithm;\r\n controller._strategyHWM = highWaterMark;\r\n controller._pullAlgorithm = pullAlgorithm;\r\n controller._cancelAlgorithm = cancelAlgorithm;\r\n stream._readableStreamController = controller;\r\n var startResult = startAlgorithm();\r\n Promise.resolve(startResult).then(function () {\r\n controller._started = true;\r\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\r\n }, function (r) {\r\n ReadableStreamDefaultControllerError(controller, r);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\r\n var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n function startAlgorithm() {\r\n return InvokeOrNoop(underlyingSource, 'start', [controller]);\r\n }\r\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);\r\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);\r\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n}\r\n// Helper functions for the ReadableStreamDefaultController.\r\nfunction defaultControllerBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\r\n}\n\nfunction ReadableStreamTee(stream, cloneForBranch2) {\r\n var reader = AcquireReadableStreamDefaultReader(stream);\r\n var reading = false;\r\n var canceled1 = false;\r\n var canceled2 = false;\r\n var reason1;\r\n var reason2;\r\n var branch1;\r\n var branch2;\r\n var resolveCancelPromise;\r\n var cancelPromise = new Promise(function (resolve) {\r\n resolveCancelPromise = resolve;\r\n });\r\n function pullAlgorithm() {\r\n if (reading === true) {\r\n return Promise.resolve();\r\n }\r\n reading = true;\r\n var readPromise = ReadableStreamDefaultReaderRead(reader).then(function (result) {\r\n reading = false;\r\n var done = result.done;\r\n if (done === true) {\r\n if (canceled1 === false) {\r\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\r\n }\r\n if (canceled2 === false) {\r\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\r\n }\r\n return;\r\n }\r\n var value = result.value;\r\n var value1 = value;\r\n var value2 = value;\r\n // There is no way to access the cloning code right now in the reference implementation.\r\n // If we add one then we'll need an implementation for serializable objects.\r\n // if (canceled2 === false && cloneForBranch2 === true) {\r\n // value2 = StructuredDeserialize(StructuredSerialize(value2));\r\n // }\r\n if (canceled1 === false) {\r\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\r\n }\r\n if (canceled2 === false) {\r\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\r\n }\r\n });\r\n readPromise.catch(rethrowAssertionErrorRejection);\r\n return Promise.resolve();\r\n }\r\n function cancel1Algorithm(reason) {\r\n canceled1 = true;\r\n reason1 = reason;\r\n if (canceled2 === true) {\r\n var compositeReason = createArrayFromList([reason1, reason2]);\r\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n resolveCancelPromise(cancelResult);\r\n }\r\n return cancelPromise;\r\n }\r\n function cancel2Algorithm(reason) {\r\n canceled2 = true;\r\n reason2 = reason;\r\n if (canceled1 === true) {\r\n var compositeReason = createArrayFromList([reason1, reason2]);\r\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\r\n resolveCancelPromise(cancelResult);\r\n }\r\n return cancelPromise;\r\n }\r\n function startAlgorithm() { }\r\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\r\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\r\n reader._closedPromise.catch(function (r) {\r\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\r\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\r\n });\r\n return [branch1, branch2];\r\n}\n\n/// \r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger#Polyfill\r\nvar NumberIsInteger = Number.isInteger || function (value) {\r\n return typeof value === 'number' &&\r\n isFinite(value) &&\r\n Math.floor(value) === value;\r\n};\n\nvar ReadableStreamBYOBRequest = /** @class */ (function () {\r\n /** @internal */\r\n function ReadableStreamBYOBRequest() {\r\n throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');\r\n }\r\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\r\n get: function () {\r\n if (IsReadableStreamBYOBRequest(this) === false) {\r\n throw byobRequestBrandCheckException('view');\r\n }\r\n return this._view;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\r\n if (IsReadableStreamBYOBRequest(this) === false) {\r\n throw byobRequestBrandCheckException('respond');\r\n }\r\n if (this._associatedReadableByteStreamController === undefined) {\r\n throw new TypeError('This BYOB request has been invalidated');\r\n }\r\n if (IsDetachedBuffer(this._view.buffer) === true) ;\r\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\r\n };\r\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\r\n if (IsReadableStreamBYOBRequest(this) === false) {\r\n throw byobRequestBrandCheckException('respond');\r\n }\r\n if (this._associatedReadableByteStreamController === undefined) {\r\n throw new TypeError('This BYOB request has been invalidated');\r\n }\r\n if (!ArrayBuffer.isView(view)) {\r\n throw new TypeError('You can only respond with array buffer views');\r\n }\r\n if (IsDetachedBuffer(view.buffer) === true) ;\r\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\r\n };\r\n return ReadableStreamBYOBRequest;\r\n}());\r\nvar ReadableByteStreamController = /** @class */ (function () {\r\n /** @internal */\r\n function ReadableByteStreamController() {\r\n throw new TypeError('ReadableByteStreamController constructor cannot be used directly');\r\n }\r\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\r\n get: function () {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('byobRequest');\r\n }\r\n if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {\r\n var firstDescriptor = this._pendingPullIntos.peek();\r\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\r\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\r\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\r\n this._byobRequest = byobRequest;\r\n }\r\n return this._byobRequest;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('desiredSize');\r\n }\r\n return ReadableByteStreamControllerGetDesiredSize(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableByteStreamController.prototype.close = function () {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('close');\r\n }\r\n if (this._closeRequested === true) {\r\n throw new TypeError('The stream has already been closed; do not close it again!');\r\n }\r\n var state = this._controlledReadableByteStream._state;\r\n if (state !== 'readable') {\r\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\r\n }\r\n ReadableByteStreamControllerClose(this);\r\n };\r\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('enqueue');\r\n }\r\n if (this._closeRequested === true) {\r\n throw new TypeError('stream is closed or draining');\r\n }\r\n var state = this._controlledReadableByteStream._state;\r\n if (state !== 'readable') {\r\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\r\n }\r\n if (!ArrayBuffer.isView(chunk)) {\r\n throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');\r\n }\r\n if (IsDetachedBuffer(chunk.buffer) === true) ;\r\n ReadableByteStreamControllerEnqueue(this, chunk);\r\n };\r\n ReadableByteStreamController.prototype.error = function (e) {\r\n if (IsReadableByteStreamController(this) === false) {\r\n throw byteStreamControllerBrandCheckException('error');\r\n }\r\n ReadableByteStreamControllerError(this, e);\r\n };\r\n /** @internal */\r\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\r\n if (this._pendingPullIntos.length > 0) {\r\n var firstDescriptor = this._pendingPullIntos.peek();\r\n firstDescriptor.bytesFilled = 0;\r\n }\r\n ResetQueue(this);\r\n var result = this._cancelAlgorithm(reason);\r\n ReadableByteStreamControllerClearAlgorithms(this);\r\n return result;\r\n };\r\n /** @internal */\r\n ReadableByteStreamController.prototype[PullSteps] = function () {\r\n var stream = this._controlledReadableByteStream;\r\n if (this._queueTotalSize > 0) {\r\n var entry = this._queue.shift();\r\n this._queueTotalSize -= entry.byteLength;\r\n ReadableByteStreamControllerHandleQueueDrain(this);\r\n var view = void 0;\r\n try {\r\n view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\r\n }\r\n catch (viewE) {\r\n return Promise.reject(viewE);\r\n }\r\n return Promise.resolve(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));\r\n }\r\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\r\n if (autoAllocateChunkSize !== undefined) {\r\n var buffer = void 0;\r\n try {\r\n buffer = new ArrayBuffer(autoAllocateChunkSize);\r\n }\r\n catch (bufferE) {\r\n return Promise.reject(bufferE);\r\n }\r\n var pullIntoDescriptor = {\r\n buffer: buffer,\r\n byteOffset: 0,\r\n byteLength: autoAllocateChunkSize,\r\n bytesFilled: 0,\r\n elementSize: 1,\r\n ctor: Uint8Array,\r\n readerType: 'default'\r\n };\r\n this._pendingPullIntos.push(pullIntoDescriptor);\r\n }\r\n var promise = ReadableStreamAddReadRequest(stream);\r\n ReadableByteStreamControllerCallPullIfNeeded(this);\r\n return promise;\r\n };\r\n return ReadableByteStreamController;\r\n}());\r\n// Abstract operations for the ReadableByteStreamController.\r\nfunction IsReadableByteStreamController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction IsReadableStreamBYOBRequest(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction ReadableByteStreamControllerCallPullIfNeeded(controller) {\r\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\r\n if (shouldPull === false) {\r\n return;\r\n }\r\n if (controller._pulling === true) {\r\n controller._pullAgain = true;\r\n return;\r\n }\r\n controller._pulling = true;\r\n // TODO: Test controller argument\r\n var pullPromise = controller._pullAlgorithm();\r\n pullPromise.then(function () {\r\n controller._pulling = false;\r\n if (controller._pullAgain === true) {\r\n controller._pullAgain = false;\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }\r\n }, function (e) {\r\n ReadableByteStreamControllerError(controller, e);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction ReadableByteStreamControllerClearPendingPullIntos(controller) {\r\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n controller._pendingPullIntos = new SimpleQueue();\r\n}\r\nfunction ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\r\n var done = false;\r\n if (stream._state === 'closed') {\r\n done = true;\r\n }\r\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n if (pullIntoDescriptor.readerType === 'default') {\r\n ReadableStreamFulfillReadRequest(stream, filledView, done);\r\n }\r\n else {\r\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\r\n }\r\n}\r\nfunction ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\r\n var bytesFilled = pullIntoDescriptor.bytesFilled;\r\n var elementSize = pullIntoDescriptor.elementSize;\r\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\r\n}\r\nfunction ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\r\n controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\r\n controller._queueTotalSize += byteLength;\r\n}\r\nfunction ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\r\n var elementSize = pullIntoDescriptor.elementSize;\r\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\r\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\r\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\r\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\r\n var totalBytesToCopyRemaining = maxBytesToCopy;\r\n var ready = false;\r\n if (maxAlignedBytes > currentAlignedBytes) {\r\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\r\n ready = true;\r\n }\r\n var queue = controller._queue;\r\n while (totalBytesToCopyRemaining > 0) {\r\n var headOfQueue = queue.peek();\r\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\r\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\r\n if (headOfQueue.byteLength === bytesToCopy) {\r\n queue.shift();\r\n }\r\n else {\r\n headOfQueue.byteOffset += bytesToCopy;\r\n headOfQueue.byteLength -= bytesToCopy;\r\n }\r\n controller._queueTotalSize -= bytesToCopy;\r\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\r\n totalBytesToCopyRemaining -= bytesToCopy;\r\n }\r\n return ready;\r\n}\r\nfunction ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\r\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n pullIntoDescriptor.bytesFilled += size;\r\n}\r\nfunction ReadableByteStreamControllerHandleQueueDrain(controller) {\r\n if (controller._queueTotalSize === 0 && controller._closeRequested === true) {\r\n ReadableByteStreamControllerClearAlgorithms(controller);\r\n ReadableStreamClose(controller._controlledReadableByteStream);\r\n }\r\n else {\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }\r\n}\r\nfunction ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\r\n if (controller._byobRequest === undefined) {\r\n return;\r\n }\r\n controller._byobRequest._associatedReadableByteStreamController = undefined;\r\n controller._byobRequest._view = undefined;\r\n controller._byobRequest = undefined;\r\n}\r\nfunction ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\r\n while (controller._pendingPullIntos.length > 0) {\r\n if (controller._queueTotalSize === 0) {\r\n return;\r\n }\r\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\r\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n }\r\n }\r\n}\r\nfunction ReadableByteStreamControllerPullInto(controller, view) {\r\n var stream = controller._controlledReadableByteStream;\r\n var elementSize = 1;\r\n if (view.constructor !== DataView) {\r\n elementSize = view.constructor.BYTES_PER_ELEMENT;\r\n }\r\n var ctor = view.constructor;\r\n var buffer = TransferArrayBuffer(view.buffer);\r\n var pullIntoDescriptor = {\r\n buffer: buffer,\r\n byteOffset: view.byteOffset,\r\n byteLength: view.byteLength,\r\n bytesFilled: 0,\r\n elementSize: elementSize,\r\n ctor: ctor,\r\n readerType: 'byob'\r\n };\r\n if (controller._pendingPullIntos.length > 0) {\r\n controller._pendingPullIntos.push(pullIntoDescriptor);\r\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\r\n // - No change happens on desiredSize\r\n // - The source has already been notified of that there's at least 1 pending read(view)\r\n return ReadableStreamAddReadIntoRequest(stream);\r\n }\r\n if (stream._state === 'closed') {\r\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\r\n return Promise.resolve(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));\r\n }\r\n if (controller._queueTotalSize > 0) {\r\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {\r\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\r\n ReadableByteStreamControllerHandleQueueDrain(controller);\r\n return Promise.resolve(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));\r\n }\r\n if (controller._closeRequested === true) {\r\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n ReadableByteStreamControllerError(controller, e);\r\n return Promise.reject(e);\r\n }\r\n }\r\n controller._pendingPullIntos.push(pullIntoDescriptor);\r\n var promise = ReadableStreamAddReadIntoRequest(stream);\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n return promise;\r\n}\r\nfunction ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\r\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\r\n var stream = controller._controlledReadableByteStream;\r\n if (ReadableStreamHasBYOBReader(stream) === true) {\r\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\r\n }\r\n }\r\n}\r\nfunction ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\r\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\r\n throw new RangeError('bytesWritten out of range');\r\n }\r\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\r\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\r\n // TODO: Figure out whether we should detach the buffer or not here.\r\n return;\r\n }\r\n ReadableByteStreamControllerShiftPendingPullInto(controller);\r\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\r\n if (remainderSize > 0) {\r\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\r\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\r\n }\r\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\r\n pullIntoDescriptor.bytesFilled -= remainderSize;\r\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\r\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n}\r\nfunction ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\r\n var firstDescriptor = controller._pendingPullIntos.peek();\r\n var stream = controller._controlledReadableByteStream;\r\n if (stream._state === 'closed') {\r\n if (bytesWritten !== 0) {\r\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\r\n }\r\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\r\n }\r\n else {\r\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\r\n }\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n}\r\nfunction ReadableByteStreamControllerShiftPendingPullInto(controller) {\r\n var descriptor = controller._pendingPullIntos.shift();\r\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\r\n return descriptor;\r\n}\r\nfunction ReadableByteStreamControllerShouldCallPull(controller) {\r\n var stream = controller._controlledReadableByteStream;\r\n if (stream._state !== 'readable') {\r\n return false;\r\n }\r\n if (controller._closeRequested === true) {\r\n return false;\r\n }\r\n if (controller._started === false) {\r\n return false;\r\n }\r\n if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {\r\n return true;\r\n }\r\n if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\r\n return true;\r\n }\r\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\r\n if (desiredSize > 0) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nfunction ReadableByteStreamControllerClearAlgorithms(controller) {\r\n controller._pullAlgorithm = undefined;\r\n controller._cancelAlgorithm = undefined;\r\n}\r\n// A client of ReadableByteStreamController may use these functions directly to bypass state check.\r\nfunction ReadableByteStreamControllerClose(controller) {\r\n var stream = controller._controlledReadableByteStream;\r\n if (controller._queueTotalSize > 0) {\r\n controller._closeRequested = true;\r\n return;\r\n }\r\n if (controller._pendingPullIntos.length > 0) {\r\n var firstPendingPullInto = controller._pendingPullIntos.peek();\r\n if (firstPendingPullInto.bytesFilled > 0) {\r\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\r\n ReadableByteStreamControllerError(controller, e);\r\n throw e;\r\n }\r\n }\r\n ReadableByteStreamControllerClearAlgorithms(controller);\r\n ReadableStreamClose(stream);\r\n}\r\nfunction ReadableByteStreamControllerEnqueue(controller, chunk) {\r\n var stream = controller._controlledReadableByteStream;\r\n var buffer = chunk.buffer;\r\n var byteOffset = chunk.byteOffset;\r\n var byteLength = chunk.byteLength;\r\n var transferredBuffer = TransferArrayBuffer(buffer);\r\n if (ReadableStreamHasDefaultReader(stream) === true) {\r\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n }\r\n else {\r\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\r\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\r\n }\r\n }\r\n else if (ReadableStreamHasBYOBReader(stream) === true) {\r\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\r\n }\r\n else {\r\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\r\n }\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n}\r\nfunction ReadableByteStreamControllerError(controller, e) {\r\n var stream = controller._controlledReadableByteStream;\r\n if (stream._state !== 'readable') {\r\n return;\r\n }\r\n ReadableByteStreamControllerClearPendingPullIntos(controller);\r\n ResetQueue(controller);\r\n ReadableByteStreamControllerClearAlgorithms(controller);\r\n ReadableStreamError(stream, e);\r\n}\r\nfunction ReadableByteStreamControllerGetDesiredSize(controller) {\r\n var stream = controller._controlledReadableByteStream;\r\n var state = stream._state;\r\n if (state === 'errored') {\r\n return null;\r\n }\r\n if (state === 'closed') {\r\n return 0;\r\n }\r\n return controller._strategyHWM - controller._queueTotalSize;\r\n}\r\nfunction ReadableByteStreamControllerRespond(controller, bytesWritten) {\r\n bytesWritten = Number(bytesWritten);\r\n if (IsFiniteNonNegativeNumber(bytesWritten) === false) {\r\n throw new RangeError('bytesWritten must be a finite');\r\n }\r\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\r\n}\r\nfunction ReadableByteStreamControllerRespondWithNewView(controller, view) {\r\n var firstDescriptor = controller._pendingPullIntos.peek();\r\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\r\n throw new RangeError('The region specified by view does not match byobRequest');\r\n }\r\n if (firstDescriptor.byteLength !== view.byteLength) {\r\n throw new RangeError('The buffer of view has different capacity than byobRequest');\r\n }\r\n firstDescriptor.buffer = view.buffer;\r\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\r\n}\r\nfunction SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\r\n controller._controlledReadableByteStream = stream;\r\n controller._pullAgain = false;\r\n controller._pulling = false;\r\n controller._byobRequest = undefined;\r\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\r\n controller._queue = controller._queueTotalSize = undefined;\r\n ResetQueue(controller);\r\n controller._closeRequested = false;\r\n controller._started = false;\r\n controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n controller._pullAlgorithm = pullAlgorithm;\r\n controller._cancelAlgorithm = cancelAlgorithm;\r\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\r\n controller._pendingPullIntos = new SimpleQueue();\r\n stream._readableStreamController = controller;\r\n var startResult = startAlgorithm();\r\n Promise.resolve(startResult).then(function () {\r\n controller._started = true;\r\n ReadableByteStreamControllerCallPullIfNeeded(controller);\r\n }, function (r) {\r\n ReadableByteStreamControllerError(controller, r);\r\n }).catch(rethrowAssertionErrorRejection);\r\n}\r\nfunction SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\r\n var controller = Object.create(ReadableByteStreamController.prototype);\r\n function startAlgorithm() {\r\n return InvokeOrNoop(underlyingByteSource, 'start', [controller]);\r\n }\r\n var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);\r\n var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);\r\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\r\n if (autoAllocateChunkSize !== undefined) {\r\n autoAllocateChunkSize = Number(autoAllocateChunkSize);\r\n if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {\r\n throw new RangeError('autoAllocateChunkSize must be a positive integer');\r\n }\r\n }\r\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\r\n}\r\nfunction SetUpReadableStreamBYOBRequest(request, controller, view) {\r\n request._associatedReadableByteStreamController = controller;\r\n request._view = view;\r\n}\r\n// Helper functions for the ReadableStreamBYOBRequest.\r\nfunction byobRequestBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\r\n}\r\n// Helper functions for the ReadableByteStreamController.\r\nfunction byteStreamControllerBrandCheckException(name) {\r\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\r\n}\n\n// Abstract operations for the ReadableStream.\r\nfunction AcquireReadableStreamBYOBReader(stream, forAuthorCode) {\r\n if (forAuthorCode === void 0) { forAuthorCode = false; }\r\n var reader = new ReadableStreamBYOBReader(stream);\r\n reader._forAuthorCode = forAuthorCode;\r\n return reader;\r\n}\r\n// ReadableStream API exposed for controllers.\r\nfunction ReadableStreamAddReadIntoRequest(stream) {\r\n var promise = new Promise(function (resolve, reject) {\r\n var readIntoRequest = {\r\n _resolve: resolve,\r\n _reject: reject\r\n };\r\n stream._reader._readIntoRequests.push(readIntoRequest);\r\n });\r\n return promise;\r\n}\r\nfunction ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\r\n var reader = stream._reader;\r\n var readIntoRequest = reader._readIntoRequests.shift();\r\n readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));\r\n}\r\nfunction ReadableStreamGetNumReadIntoRequests(stream) {\r\n return stream._reader._readIntoRequests.length;\r\n}\r\nfunction ReadableStreamHasBYOBReader(stream) {\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return false;\r\n }\r\n if (!IsReadableStreamBYOBReader(reader)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar ReadableStreamBYOBReader = /** @class */ (function () {\r\n function ReadableStreamBYOBReader(stream) {\r\n if (!IsReadableStream(stream)) {\r\n throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' +\r\n 'byte source');\r\n }\r\n if (IsReadableByteStreamController(stream._readableStreamController) === false) {\r\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\r\n 'source');\r\n }\r\n if (IsReadableStreamLocked(stream)) {\r\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\r\n }\r\n ReadableStreamReaderGenericInitialize(this, stream);\r\n this._readIntoRequests = new SimpleQueue();\r\n }\r\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\r\n get: function () {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n return Promise.reject(byobReaderBrandCheckException('closed'));\r\n }\r\n return this._closedPromise;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n return Promise.reject(byobReaderBrandCheckException('cancel'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return Promise.reject(readerLockException('cancel'));\r\n }\r\n return ReadableStreamReaderGenericCancel(this, reason);\r\n };\r\n ReadableStreamBYOBReader.prototype.read = function (view) {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n return Promise.reject(byobReaderBrandCheckException('read'));\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return Promise.reject(readerLockException('read from'));\r\n }\r\n if (!ArrayBuffer.isView(view)) {\r\n return Promise.reject(new TypeError('view must be an array buffer view'));\r\n }\r\n if (IsDetachedBuffer(view.buffer) === true) ;\r\n if (view.byteLength === 0) {\r\n return Promise.reject(new TypeError('view must have non-zero byteLength'));\r\n }\r\n return ReadableStreamBYOBReaderRead(this, view);\r\n };\r\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\r\n if (!IsReadableStreamBYOBReader(this)) {\r\n throw byobReaderBrandCheckException('releaseLock');\r\n }\r\n if (this._ownerReadableStream === undefined) {\r\n return;\r\n }\r\n if (this._readIntoRequests.length > 0) {\r\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\r\n }\r\n ReadableStreamReaderGenericRelease(this);\r\n };\r\n return ReadableStreamBYOBReader;\r\n}());\r\n// Abstract operations for the readers.\r\nfunction IsReadableStreamBYOBReader(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction ReadableStreamBYOBReaderRead(reader, view) {\r\n var stream = reader._ownerReadableStream;\r\n stream._disturbed = true;\r\n if (stream._state === 'errored') {\r\n return Promise.reject(stream._storedError);\r\n }\r\n // Controllers must implement this.\r\n return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);\r\n}\r\n// Helper functions for the ReadableStreamBYOBReader.\r\nfunction byobReaderBrandCheckException(name) {\r\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\r\n}\n\nvar ReadableStream = /** @class */ (function () {\r\n function ReadableStream(underlyingSource, strategy) {\r\n if (underlyingSource === void 0) { underlyingSource = {}; }\r\n if (strategy === void 0) { strategy = {}; }\r\n InitializeReadableStream(this);\r\n var size = strategy.size;\r\n var highWaterMark = strategy.highWaterMark;\r\n var type = underlyingSource.type;\r\n var typeString = String(type);\r\n if (typeString === 'bytes') {\r\n if (size !== undefined) {\r\n throw new RangeError('The strategy for a byte stream cannot have a size function');\r\n }\r\n if (highWaterMark === undefined) {\r\n highWaterMark = 0;\r\n }\r\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\r\n }\r\n else if (type === undefined) {\r\n var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);\r\n if (highWaterMark === undefined) {\r\n highWaterMark = 1;\r\n }\r\n highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);\r\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\r\n }\r\n else {\r\n throw new RangeError('Invalid type is specified');\r\n }\r\n }\r\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\r\n get: function () {\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('locked');\r\n }\r\n return IsReadableStreamLocked(this);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n ReadableStream.prototype.cancel = function (reason) {\r\n if (IsReadableStream(this) === false) {\r\n return Promise.reject(streamBrandCheckException$1('cancel'));\r\n }\r\n if (IsReadableStreamLocked(this) === true) {\r\n return Promise.reject(new TypeError('Cannot cancel a stream that already has a reader'));\r\n }\r\n return ReadableStreamCancel(this, reason);\r\n };\r\n ReadableStream.prototype.getReader = function (_a) {\r\n var mode = (_a === void 0 ? {} : _a).mode;\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('getReader');\r\n }\r\n if (mode === undefined) {\r\n return AcquireReadableStreamDefaultReader(this, true);\r\n }\r\n mode = String(mode);\r\n if (mode === 'byob') {\r\n return AcquireReadableStreamBYOBReader(this, true);\r\n }\r\n throw new RangeError('Invalid mode is specified');\r\n };\r\n ReadableStream.prototype.pipeThrough = function (_a, _b) {\r\n var writable = _a.writable, readable = _a.readable;\r\n var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('pipeThrough');\r\n }\r\n if (IsWritableStream(writable) === false) {\r\n throw new TypeError('writable argument to pipeThrough must be a WritableStream');\r\n }\r\n if (IsReadableStream(readable) === false) {\r\n throw new TypeError('readable argument to pipeThrough must be a ReadableStream');\r\n }\r\n preventClose = Boolean(preventClose);\r\n preventAbort = Boolean(preventAbort);\r\n preventCancel = Boolean(preventCancel);\r\n if (signal !== undefined && !isAbortSignal(signal)) {\r\n throw new TypeError('ReadableStream.prototype.pipeThrough\\'s signal option must be an AbortSignal');\r\n }\r\n if (IsReadableStreamLocked(this) === true) {\r\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\r\n }\r\n if (IsWritableStreamLocked(writable) === true) {\r\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\r\n }\r\n var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);\r\n promise.catch(noop);\r\n return readable;\r\n };\r\n ReadableStream.prototype.pipeTo = function (dest, _a) {\r\n var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;\r\n if (IsReadableStream(this) === false) {\r\n return Promise.reject(streamBrandCheckException$1('pipeTo'));\r\n }\r\n if (IsWritableStream(dest) === false) {\r\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s first argument must be a WritableStream'));\r\n }\r\n preventClose = Boolean(preventClose);\r\n preventAbort = Boolean(preventAbort);\r\n preventCancel = Boolean(preventCancel);\r\n if (signal !== undefined && !isAbortSignal(signal)) {\r\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo\\'s signal option must be an AbortSignal'));\r\n }\r\n if (IsReadableStreamLocked(this) === true) {\r\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\r\n }\r\n if (IsWritableStreamLocked(dest) === true) {\r\n return Promise.reject(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\r\n }\r\n return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);\r\n };\r\n ReadableStream.prototype.tee = function () {\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('tee');\r\n }\r\n var branches = ReadableStreamTee(this);\r\n return createArrayFromList(branches);\r\n };\r\n ReadableStream.prototype.getIterator = function (_a) {\r\n var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;\r\n if (IsReadableStream(this) === false) {\r\n throw streamBrandCheckException$1('getIterator');\r\n }\r\n return AcquireReadableStreamAsyncIterator(this, preventCancel);\r\n };\r\n return ReadableStream;\r\n}());\r\nif (typeof SymbolPolyfill.asyncIterator === 'symbol') {\r\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\r\n value: ReadableStream.prototype.getIterator,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n });\r\n}\r\n// Abstract operations for the ReadableStream.\r\n// Throws if and only if startAlgorithm throws.\r\nfunction CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\r\n if (highWaterMark === void 0) { highWaterMark = 1; }\r\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\r\n var stream = Object.create(ReadableStream.prototype);\r\n InitializeReadableStream(stream);\r\n var controller = Object.create(ReadableStreamDefaultController.prototype);\r\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\r\n return stream;\r\n}\r\nfunction InitializeReadableStream(stream) {\r\n stream._state = 'readable';\r\n stream._reader = undefined;\r\n stream._storedError = undefined;\r\n stream._disturbed = false;\r\n}\r\nfunction IsReadableStream(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction IsReadableStreamLocked(stream) {\r\n if (stream._reader === undefined) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n// ReadableStream API exposed for controllers.\r\nfunction ReadableStreamCancel(stream, reason) {\r\n stream._disturbed = true;\r\n if (stream._state === 'closed') {\r\n return Promise.resolve(undefined);\r\n }\r\n if (stream._state === 'errored') {\r\n return Promise.reject(stream._storedError);\r\n }\r\n ReadableStreamClose(stream);\r\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\r\n return sourceCancelPromise.then(function () { return undefined; });\r\n}\r\nfunction ReadableStreamClose(stream) {\r\n stream._state = 'closed';\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return;\r\n }\r\n if (IsReadableStreamDefaultReader(reader)) {\r\n reader._readRequests.forEach(function (readRequest) {\r\n readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));\r\n });\r\n reader._readRequests = new SimpleQueue();\r\n }\r\n defaultReaderClosedPromiseResolve(reader);\r\n}\r\nfunction ReadableStreamError(stream, e) {\r\n stream._state = 'errored';\r\n stream._storedError = e;\r\n var reader = stream._reader;\r\n if (reader === undefined) {\r\n return;\r\n }\r\n if (IsReadableStreamDefaultReader(reader)) {\r\n reader._readRequests.forEach(function (readRequest) {\r\n readRequest._reject(e);\r\n });\r\n reader._readRequests = new SimpleQueue();\r\n }\r\n else {\r\n reader._readIntoRequests.forEach(function (readIntoRequest) {\r\n readIntoRequest._reject(e);\r\n });\r\n reader._readIntoRequests = new SimpleQueue();\r\n }\r\n defaultReaderClosedPromiseReject(reader, e);\r\n}\r\n// Helper functions for the ReadableStream.\r\nfunction isAbortSignal(value) {\r\n if (typeof value !== 'object' || value === null) {\r\n return false;\r\n }\r\n // Use the brand check to distinguish a real AbortSignal from a fake one.\r\n var aborted = Object.getOwnPropertyDescriptor(AbortSignal.prototype, 'aborted').get;\r\n try {\r\n aborted.call(value);\r\n return true;\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\nfunction streamBrandCheckException$1(name) {\r\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\r\n}\n\nvar ByteLengthQueuingStrategy = /** @class */ (function () {\r\n function ByteLengthQueuingStrategy(_a) {\r\n var highWaterMark = _a.highWaterMark;\r\n this.highWaterMark = highWaterMark;\r\n }\r\n ByteLengthQueuingStrategy.prototype.size = function (chunk) {\r\n return chunk.byteLength;\r\n };\r\n return ByteLengthQueuingStrategy;\r\n}());\n\nvar CountQueuingStrategy = /** @class */ (function () {\r\n function CountQueuingStrategy(_a) {\r\n var highWaterMark = _a.highWaterMark;\r\n this.highWaterMark = highWaterMark;\r\n }\r\n CountQueuingStrategy.prototype.size = function () {\r\n return 1;\r\n };\r\n return CountQueuingStrategy;\r\n}());\n\n// Class TransformStream\r\nvar TransformStream = /** @class */ (function () {\r\n function TransformStream(transformer, writableStrategy, readableStrategy) {\r\n if (transformer === void 0) { transformer = {}; }\r\n if (writableStrategy === void 0) { writableStrategy = {}; }\r\n if (readableStrategy === void 0) { readableStrategy = {}; }\r\n var writableSizeFunction = writableStrategy.size;\r\n var writableHighWaterMark = writableStrategy.highWaterMark;\r\n var readableSizeFunction = readableStrategy.size;\r\n var readableHighWaterMark = readableStrategy.highWaterMark;\r\n var writableType = transformer.writableType;\r\n if (writableType !== undefined) {\r\n throw new RangeError('Invalid writable type specified');\r\n }\r\n var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);\r\n if (writableHighWaterMark === undefined) {\r\n writableHighWaterMark = 1;\r\n }\r\n writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);\r\n var readableType = transformer.readableType;\r\n if (readableType !== undefined) {\r\n throw new RangeError('Invalid readable type specified');\r\n }\r\n var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);\r\n if (readableHighWaterMark === undefined) {\r\n readableHighWaterMark = 0;\r\n }\r\n readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);\r\n var startPromise_resolve;\r\n var startPromise = new Promise(function (resolve) {\r\n startPromise_resolve = resolve;\r\n });\r\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\r\n var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);\r\n startPromise_resolve(startResult);\r\n }\r\n Object.defineProperty(TransformStream.prototype, \"readable\", {\r\n get: function () {\r\n if (IsTransformStream(this) === false) {\r\n throw streamBrandCheckException$2('readable');\r\n }\r\n return this._readable;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(TransformStream.prototype, \"writable\", {\r\n get: function () {\r\n if (IsTransformStream(this) === false) {\r\n throw streamBrandCheckException$2('writable');\r\n }\r\n return this._writable;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return TransformStream;\r\n}());\r\nfunction InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\r\n function startAlgorithm() {\r\n return startPromise;\r\n }\r\n function writeAlgorithm(chunk) {\r\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\r\n }\r\n function abortAlgorithm(reason) {\r\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\r\n }\r\n function closeAlgorithm() {\r\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\r\n }\r\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\r\n function pullAlgorithm() {\r\n return TransformStreamDefaultSourcePullAlgorithm(stream);\r\n }\r\n function cancelAlgorithm(reason) {\r\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\r\n return Promise.resolve();\r\n }\r\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\r\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\r\n stream._backpressure = undefined;\r\n stream._backpressureChangePromise = undefined;\r\n stream._backpressureChangePromise_resolve = undefined;\r\n TransformStreamSetBackpressure(stream, true);\r\n // Used by IsWritableStream() which is called by SetUpTransformStreamDefaultController().\r\n stream._transformStreamController = undefined;\r\n}\r\nfunction IsTransformStream(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n// This is a no-op if both sides are already errored.\r\nfunction TransformStreamError(stream, e) {\r\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\r\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n}\r\nfunction TransformStreamErrorWritableAndUnblockWrite(stream, e) {\r\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\r\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\r\n if (stream._backpressure === true) {\r\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\r\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\r\n // _backpressure is set.\r\n TransformStreamSetBackpressure(stream, false);\r\n }\r\n}\r\nfunction TransformStreamSetBackpressure(stream, backpressure) {\r\n // Passes also when called during construction.\r\n if (stream._backpressureChangePromise !== undefined) {\r\n stream._backpressureChangePromise_resolve();\r\n }\r\n stream._backpressureChangePromise = new Promise(function (resolve) {\r\n stream._backpressureChangePromise_resolve = resolve;\r\n });\r\n stream._backpressure = backpressure;\r\n}\r\nvar TransformStreamDefaultController = /** @class */ (function () {\r\n /** @internal */\r\n function TransformStreamDefaultController() {\r\n throw new TypeError('TransformStreamDefaultController instances cannot be created directly');\r\n }\r\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\r\n get: function () {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('desiredSize');\r\n }\r\n var readableController = this._controlledTransformStream._readable._readableStreamController;\r\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('enqueue');\r\n }\r\n TransformStreamDefaultControllerEnqueue(this, chunk);\r\n };\r\n TransformStreamDefaultController.prototype.error = function (reason) {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('error');\r\n }\r\n TransformStreamDefaultControllerError(this, reason);\r\n };\r\n TransformStreamDefaultController.prototype.terminate = function () {\r\n if (IsTransformStreamDefaultController(this) === false) {\r\n throw defaultControllerBrandCheckException$1('terminate');\r\n }\r\n TransformStreamDefaultControllerTerminate(this);\r\n };\r\n return TransformStreamDefaultController;\r\n}());\r\n// Transform Stream Default Controller Abstract Operations\r\nfunction IsTransformStreamDefaultController(x) {\r\n if (!typeIsObject(x)) {\r\n return false;\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\r\n controller._controlledTransformStream = stream;\r\n stream._transformStreamController = controller;\r\n controller._transformAlgorithm = transformAlgorithm;\r\n controller._flushAlgorithm = flushAlgorithm;\r\n}\r\nfunction SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\r\n var controller = Object.create(TransformStreamDefaultController.prototype);\r\n var transformAlgorithm = function (chunk) {\r\n try {\r\n TransformStreamDefaultControllerEnqueue(controller, chunk);\r\n return Promise.resolve();\r\n }\r\n catch (transformResultE) {\r\n return Promise.reject(transformResultE);\r\n }\r\n };\r\n var transformMethod = transformer.transform;\r\n if (transformMethod !== undefined) {\r\n if (typeof transformMethod !== 'function') {\r\n throw new TypeError('transform is not a method');\r\n }\r\n transformAlgorithm = function (chunk) { return PromiseCall(transformMethod, transformer, [chunk, controller]); };\r\n }\r\n var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);\r\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\r\n}\r\nfunction TransformStreamDefaultControllerClearAlgorithms(controller) {\r\n controller._transformAlgorithm = undefined;\r\n controller._flushAlgorithm = undefined;\r\n}\r\nfunction TransformStreamDefaultControllerEnqueue(controller, chunk) {\r\n var stream = controller._controlledTransformStream;\r\n var readableController = stream._readable._readableStreamController;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {\r\n throw new TypeError('Readable side is not in a state that permits enqueue');\r\n }\r\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\r\n // accept TransformStreamDefaultControllerEnqueue() calls.\r\n try {\r\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\r\n }\r\n catch (e) {\r\n // This happens when readableStrategy.size() throws.\r\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\r\n throw stream._readable._storedError;\r\n }\r\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\r\n if (backpressure !== stream._backpressure) {\r\n TransformStreamSetBackpressure(stream, true);\r\n }\r\n}\r\nfunction TransformStreamDefaultControllerError(controller, e) {\r\n TransformStreamError(controller._controlledTransformStream, e);\r\n}\r\nfunction TransformStreamDefaultControllerPerformTransform(controller, chunk) {\r\n var transformPromise = controller._transformAlgorithm(chunk);\r\n return transformPromise.catch(function (r) {\r\n TransformStreamError(controller._controlledTransformStream, r);\r\n throw r;\r\n });\r\n}\r\nfunction TransformStreamDefaultControllerTerminate(controller) {\r\n var stream = controller._controlledTransformStream;\r\n var readableController = stream._readable._readableStreamController;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n ReadableStreamDefaultControllerClose(readableController);\r\n }\r\n var error = new TypeError('TransformStream terminated');\r\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\r\n}\r\n// TransformStreamDefaultSink Algorithms\r\nfunction TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\r\n var controller = stream._transformStreamController;\r\n if (stream._backpressure === true) {\r\n var backpressureChangePromise = stream._backpressureChangePromise;\r\n return backpressureChangePromise.then(function () {\r\n var writable = stream._writable;\r\n var state = writable._state;\r\n if (state === 'erroring') {\r\n throw writable._storedError;\r\n }\r\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n });\r\n }\r\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\r\n}\r\nfunction TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\r\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\r\n // errored.\r\n TransformStreamError(stream, reason);\r\n return Promise.resolve();\r\n}\r\nfunction TransformStreamDefaultSinkCloseAlgorithm(stream) {\r\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\r\n var readable = stream._readable;\r\n var controller = stream._transformStreamController;\r\n var flushPromise = controller._flushAlgorithm();\r\n TransformStreamDefaultControllerClearAlgorithms(controller);\r\n // Return a promise that is fulfilled with undefined on success.\r\n return flushPromise.then(function () {\r\n if (readable._state === 'errored') {\r\n throw readable._storedError;\r\n }\r\n var readableController = readable._readableStreamController;\r\n if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {\r\n ReadableStreamDefaultControllerClose(readableController);\r\n }\r\n }).catch(function (r) {\r\n TransformStreamError(stream, r);\r\n throw readable._storedError;\r\n });\r\n}\r\n// TransformStreamDefaultSource Algorithms\r\nfunction TransformStreamDefaultSourcePullAlgorithm(stream) {\r\n // Invariant. Enforced by the promises returned by start() and pull().\r\n TransformStreamSetBackpressure(stream, false);\r\n // Prevent the next pull() call until there is backpressure.\r\n return stream._backpressureChangePromise;\r\n}\r\n// Helper functions for the TransformStreamDefaultController.\r\nfunction defaultControllerBrandCheckException$1(name) {\r\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\r\n}\r\n// Helper functions for the TransformStream.\r\nfunction streamBrandCheckException$2(name) {\r\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\r\n}\n\nexport { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableStream, TransformStream, WritableStream };\n//# sourceMappingURL=ponyfill.mjs.map\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals requirejs, __non_webpack_require__ */\n/* eslint no-var: error */\n\nimport {\n AbortException, assert, createPromiseCapability, getVerbosityLevel, info,\n InvalidPDFException, isArrayBuffer, isSameOrigin, MissingPDFException,\n NativeImageDecoding, PasswordException, setVerbosityLevel, shadow,\n stringToBytes, UnexpectedResponseException, UnknownErrorException,\n unreachable, warn\n} from '../shared/util';\nimport {\n deprecated, DOMCanvasFactory, DOMCMapReaderFactory, DummyStatTimer,\n loadScript, PageViewport, releaseImageResources, RenderingCancelledException,\n StatTimer\n} from './display_utils';\nimport { FontFaceObject, FontLoader } from './font_loader';\nimport { apiCompatibilityParams } from './api_compatibility';\nimport { CanvasGraphics } from './canvas';\nimport globalScope from '../shared/global_scope';\nimport { GlobalWorkerOptions } from './worker_options';\nimport { MessageHandler } from '../shared/message_handler';\nimport { Metadata } from './metadata';\nimport { PDFDataTransportStream } from './transport_stream';\nimport { WebGLContext } from './webgl';\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nlet isWorkerDisabled = false;\nlet fallbackWorkerSrc;\n\nlet fakeWorkerFilesLoader = null;\nif (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) {\n let useRequireEnsure = false;\n // For GENERIC build we need to add support for different fake file loaders\n // for different frameworks.\n if (typeof window === 'undefined') {\n // node.js - disable worker and set require.ensure.\n isWorkerDisabled = true;\n if (typeof __non_webpack_require__.ensure === 'undefined') {\n __non_webpack_require__.ensure = __non_webpack_require__('node-ensure');\n }\n useRequireEnsure = true;\n } else if (typeof __non_webpack_require__ !== 'undefined' &&\n typeof __non_webpack_require__.ensure === 'function') {\n useRequireEnsure = true;\n }\n if (typeof requirejs !== 'undefined' && requirejs.toUrl) {\n fallbackWorkerSrc = requirejs.toUrl('pdfjs-dist/build/pdf.worker.js');\n }\n const dynamicLoaderSupported =\n typeof requirejs !== 'undefined' && requirejs.load;\n fakeWorkerFilesLoader = useRequireEnsure ? (function() {\n return new Promise(function(resolve, reject) {\n __non_webpack_require__.ensure([], function() {\n try {\n let worker;\n if (typeof PDFJSDev !== 'undefined' && PDFJSDev.test('LIB')) {\n worker = __non_webpack_require__('../pdf.worker.js');\n } else {\n worker = __non_webpack_require__('./pdf.worker.js');\n }\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject, 'pdfjsWorker');\n });\n }) : dynamicLoaderSupported ? (function() {\n return new Promise(function(resolve, reject) {\n requirejs(['pdfjs-dist/build/pdf.worker'], function(worker) {\n try {\n resolve(worker.WorkerMessageHandler);\n } catch (ex) {\n reject(ex);\n }\n }, reject);\n });\n }) : null;\n\n if (!fallbackWorkerSrc && typeof document === 'object' &&\n 'currentScript' in document) {\n const pdfjsFilePath = document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc =\n pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, '.worker$1$2');\n }\n }\n}\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params The document initialization\n * parameters. The \"url\" key is always present.\n * @return {IPDFStream}\n */\n\n/** @type IPDFStreamFactory */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates a IPDFStream as an alternative PDF data\n * transport.\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - the factory function\n * that takes document initialization parameters (including a \"url\") and returns\n * an instance of IPDFStream.\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string} url - The URL of the PDF.\n * @property {TypedArray|Array|string} data - Binary PDF data. Use typed arrays\n * (Uint8Array) to improve the memory usage. If PDF data is BASE64-encoded,\n * use atob() to convert it to a binary string first.\n * @property {Object} httpHeaders - Basic authentication headers.\n * @property {boolean} withCredentials - Indicates whether or not cross-site\n * Access-Control requests should be made using credentials such as cookies\n * or authorization headers. The default is false.\n * @property {string} password - For decrypting password-protected PDFs.\n * @property {TypedArray} initialData - A typed array with the first portion or\n * all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} length - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} range\n * @property {number} rangeChunkSize - Optional parameter to specify\n * maximum number of bytes fetched per range request. The default value is\n * 2^16 = 65536.\n * @property {PDFWorker} worker - (optional) The worker that will be used for\n * the loading and parsing of the PDF data.\n * @property {number} verbosity - (optional) Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n * @property {string} docBaseUrl - (optional) The base URL of the document,\n * used when attempting to recover valid absolute URLs for annotations, and\n * outline items, that (incorrectly) only specify relative URLs.\n * @property {string} nativeImageDecoderSupport - (optional) Strategy for\n * decoding certain (simple) JPEG images in the browser. This is useful for\n * environments without DOM image and canvas support, such as e.g. Node.js.\n * Valid values are 'decode', 'display' or 'none'; where 'decode' is intended\n * for browsers with full image/canvas support, 'display' for environments\n * with limited image support through stubs (useful for SVG conversion),\n * and 'none' where JPEG images will be decoded entirely by PDF.js.\n * The default value is 'decode'.\n * @property {string} cMapUrl - (optional) The URL where the predefined\n * Adobe CMaps are located. Include trailing slash.\n * @property {boolean} cMapPacked - (optional) Specifies if the Adobe CMaps are\n * binary packed.\n * @property {Object} CMapReaderFactory - (optional) The factory that will be\n * used when reading built-in CMap files. Providing a custom factory is useful\n * for environments without `XMLHttpRequest` support, such as e.g. Node.js.\n * The default value is {DOMCMapReaderFactory}.\n * @property {boolean} stopAtErrors - (optional) Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} maxImageSize - (optional) The maximum allowed image size\n * in total pixels, i.e. width * height. Images above this value will not be\n * rendered. Use -1 for no limit, which is also the default value.\n * @property {boolean} isEvalSupported - (optional) Determines if we can eval\n * strings as JS. Primarily used to improve performance of font rendering,\n * and when parsing PDF functions. The default value is `true`.\n * @property {boolean} disableFontFace - (optional) By default fonts are\n * converted to OpenType fonts and loaded via font face rules. If disabled,\n * fonts will be rendered using a built-in font renderer that constructs the\n * glyphs with primitive path commands. The default value is `false`.\n * @property {boolean} disableRange - (optional) Disable range request loading\n * of PDF files. When enabled, and if the server supports partial content\n * requests, then the PDF will be fetched in chunks.\n * The default value is `false`.\n * @property {boolean} disableStream - (optional) Disable streaming of PDF file\n * data. By default PDF.js attempts to load PDFs in chunks.\n * The default value is `false`.\n * @property {boolean} disableAutoFetch - (optional) Disable pre-fetching of PDF\n * file data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n * NOTE: It is also necessary to disable streaming, see above,\n * in order for disabling of pre-fetching to work correctly.\n * @property {boolean} disableCreateObjectURL - (optional) Disable the use of\n * `URL.createObjectURL`, for compatibility with older browsers.\n * The default value is `false`.\n * @property {boolean} pdfBug - (optional) Enables special hooks for debugging\n * PDF.js (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the document (an item\n * is set to true if specific stream ID was used in the document).\n * @property {Object} fontTypes - Used font types in the document (an item\n * is set to true if specific font ID was used in the document).\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n * NOTE: If a URL is used to fetch the PDF data a standard XMLHttpRequest(XHR)\n * is used, which means it must follow the same origin rules that any XHR does\n * e.g. No cross domain requests without CORS.\n *\n * @param {string|TypedArray|DocumentInitParameters|PDFDataRangeTransport} src\n * Can be a url to where a PDF is located, a typed array (Uint8Array)\n * already populated with data or parameter object.\n *\n * @return {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === 'string') {\n source = { url: src, };\n } else if (isArrayBuffer(src)) {\n source = { data: src, };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src, };\n } else {\n if (typeof src !== 'object') {\n throw new Error('Invalid parameter in getDocument, ' +\n 'need either Uint8Array, string or a parameter object');\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n 'Invalid parameter object: need either .data, .range or .url');\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null, worker = null;\n\n for (const key in source) {\n if (key === 'url' && typeof window !== 'undefined') {\n // The full path is required in the 'url' field.\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 // Converting string or array-like data to Uint8Array.\n const pdfBytes = source[key];\n if (typeof pdfBytes === 'string') {\n params[key] = stringToBytes(pdfBytes);\n } else if (typeof pdfBytes === 'object' && pdfBytes !== null &&\n !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if (isArrayBuffer(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error('Invalid PDF binary data: either typed array, ' +\n 'string or array-like object is expected in the ' +\n 'data property.');\n }\n continue;\n }\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.pdfBug = params.pdfBug === true;\n\n const NativeImageDecoderValues = Object.values(NativeImageDecoding);\n if (params.nativeImageDecoderSupport === undefined ||\n !NativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) {\n params.nativeImageDecoderSupport =\n (apiCompatibilityParams.nativeImageDecoderSupport ||\n NativeImageDecoding.DECODE);\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== 'boolean') {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== 'boolean') {\n params.disableFontFace = apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== 'boolean') {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== 'boolean') {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== 'boolean') {\n params.disableAutoFetch = false;\n }\n if (typeof params.disableCreateObjectURL !== 'boolean') {\n params.disableCreateObjectURL =\n apiCompatibilityParams.disableCreateObjectURL || false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) :\n new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise.then(function() {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n return _fetchDocument(worker, params, rangeTransport, docId).then(\n function(workerId) {\n if (task.destroyed) {\n throw new Error('Loading aborted');\n }\n\n let networkStream;\n if (rangeTransport) {\n networkStream = new 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 MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(messageHandler, task, networkStream,\n params);\n task._transport = transport;\n messageHandler.send('Ready', null);\n });\n }).catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId Unique document id, used as MessageHandler id.\n * @returns {Promise} The promise, which is resolved when worker id of\n * MessageHandler is known.\n * @private\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 return worker.messageHandler.sendWithPromise('GetDocRequest', {\n docId,\n apiVersion: typeof PDFJSDev !== 'undefined' && !PDFJSDev.test('TESTING') ?\n PDFJSDev.eval('BUNDLE_VERSION') : null,\n source: { // Only send the required properties, and *not* the entire object.\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 return workerId;\n });\n}\n\n/**\n * PDF document loading operation.\n * @class\n * @alias PDFDocumentLoadingTask\n */\nconst PDFDocumentLoadingTask = (function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n /** @constructs PDFDocumentLoadingTask */\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique document loading task id -- used in MessageHandlers.\n * @type {string}\n */\n this.docId = 'd' + (nextDocumentId++);\n\n /**\n * Shows if loading task is destroyed.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if wrong or no password was provided.\n * The callback receives two parameters: function that needs to be called\n * with new password and reason (see {PasswordResponses}).\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar). The callback receives\n * an {Object} with the properties: {number} loaded and {number} total.\n */\n this.onProgress = null;\n\n /**\n * Callback to when unsupported feature is used. The callback receives\n * an {UNSUPPORTED_FEATURES} argument.\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * @return {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Aborts all network requests and destroys worker.\n * @return {Promise} A promise that is resolved after destruction activity\n * is completed.\n */\n destroy() {\n this.destroyed = true;\n\n const transportDestroyed = !this._transport ? Promise.resolve() :\n this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n });\n }\n\n /**\n * Registers callbacks to indicate the document loading completion.\n *\n * @param {function} onFulfilled The callback for the loading completion.\n * @param {function} onRejected The callback for the loading failure.\n * @return {Promise} A promise that is resolved after the onFulfilled or\n * onRejected callback.\n */\n then(onFulfilled, onRejected) {\n deprecated('PDFDocumentLoadingTask.then method, ' +\n 'use the `promise` getter instead.');\n return this.promise.then.apply(this.promise, arguments);\n }\n }\n return PDFDocumentLoadingTask;\n})();\n\n/**\n * Abstract class to support range requests file loading.\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} progressiveDone\n */\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = 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 unreachable('Abstract method PDFDataRangeTransport.requestDataRange');\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a PDFDocument in the worker thread. Also, contains commonly used\n * properties that can be read synchronously.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n /**\n * @return {number} Total number of pages the PDF contains.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @return {string} A (not guaranteed to be) unique ID to identify a PDF.\n */\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @return {Promise} A promise that is resolved with a {@link PDFPageProxy}\n * object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {{num: number, gen: number}} ref - The page reference. Must have\n * the `num` and `gen` properties.\n * @return {Promise} A promise that is resolved with the page index that is\n * associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @return {Promise} A promise that is resolved with a lookup table for\n * mapping named destinations to reference numbers.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @return {Promise} A promise that is resolved with all information\n * of the given named destination.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Array} containing\n * the page labels that correspond to the page indexes, or `null` when\n * no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @return {Promise} A promise that is resolved with a {string} containing\n * the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @return {Promise} A promise that is resolved with a {string} containing\n * the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Object} containing\n * the viewer preferences.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Array} containing the\n * destination, or `null` when no open action is present in the PDF file.\n */\n getOpenActionDestination() {\n return this._transport.getOpenActionDestination();\n }\n\n /**\n * @return {Promise} A promise that is resolved with a lookup table for\n * mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Array} of all the\n * JavaScript strings in the name tree, or `null` if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Array} that is a\n * tree outline (if it has one) of the PDF. The tree is in the format of:\n * [\n * {\n * title: string,\n * bold: boolean,\n * italic: boolean,\n * color: rgb Uint8ClampedArray,\n * count: integer or undefined,\n * dest: dest obj,\n * url: string,\n * items: array of more items like this\n * },\n * ...\n * ]\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Array} that contains\n * the permission flags for the PDF document, or `null` when\n * no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @return {Promise} A promise that is resolved with an {Object} that has\n * `info` and `metadata` properties. `info` is an {Object} filled with\n * anything available in the information dictionary and similarly\n * `metadata` is a {Metadata} object with information from the metadata\n * section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @return {Promise} A promise that is resolved with a {TypedArray} that has\n * the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @return {Promise} A promise that is resolved when the document's data\n * is loaded. It is resolved with an {Object} that contains the `length`\n * property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * @return {Promise} A promise this is resolved with current statistics about\n * document structures (see {@link PDFDocumentStats}).\n */\n getStats() {\n return this._transport.getStats();\n }\n\n /**\n * Cleans up resources allocated by the document, e.g. created `@font-face`.\n */\n cleanup() {\n this._transport.startCleanup();\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @return {Object} A subset of the current {DocumentInitParameters},\n * which are either needed in the viewer and/or whose default values\n * may be affected by the `apiCompatibilityParams`.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @return {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} rotation - (optional) The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {boolean} dontFlip - (optional) If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} normalizeWhitespace - replaces all occurrences of\n * whitespace with standard spaces (0x20). The default value is `false`.\n * @property {boolean} disableCombineTextItems - do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {array} items - array of {@link TextItem}\n * @property {Object} styles - {@link TextStyle} objects, indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - text content.\n * @property {string} dir - text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {array} transform - transformation matrix.\n * @property {number} width - width in device space.\n * @property {number} height - height in device space.\n * @property {string} fontName - font name used by pdf.js for converted font.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - font ascent.\n * @property {number} descent - font descent.\n * @property {boolean} vertical - text is in vertical mode.\n * @property {string} fontFamily - possible font family\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} intent - Determines the annotations that will be fetched,\n * can be either 'display' (viewable annotations) or 'print'\n * (printable annotations).\n * If the parameter is omitted, all annotations are fetched.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by\n * calling the `PDFPageProxy.getViewport` method.\n * @property {string} intent - Rendering intent, can be 'display' or 'print'\n * (default value is 'display').\n * @property {boolean} enableWebGL - (optional) Enables WebGL accelerated\n * rendering for some operations. The default value is `false`.\n * @property {boolean} renderInteractiveForms - (optional) Whether or not\n * interactive form elements are rendered in the display\n * layer. If so, we do not render them on canvas as well.\n * @property {Array} transform - (optional) Additional transform, applied\n * just before viewport transform.\n * @property {Object} imageLayer - (optional) An object that has beginLayout,\n * endLayout and appendImage functions.\n * @property {Object} canvasFactory - (optional) The factory that will be used\n * when creating canvases. The default value is\n * {DOMCanvasFactory}.\n * @property {Object} background - (optional) Background to use for the canvas.\n * Can use any valid canvas.fillStyle: A DOMString parsed as\n * CSS value, a CanvasGradient object (a linear or\n * radial gradient) or a CanvasPattern object (a repetitive\n * image). The default value is 'rgb(255,255,255)'.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a PDFPage in the worker thread.\n * @alias PDFPageProxy\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 StatTimer() : DummyStatTimer);\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n /**\n * @return {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this.pageIndex + 1;\n }\n\n /**\n * @return {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @return {Object} The reference that points to this page. It has 'num' and\n * 'gen' properties.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @return {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @return {Array} An array of the visible portion of the PDF page in the\n * user space units - [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @return {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({ scale, rotation = this.rotate, dontFlip = false, } = {}) {\n if ((typeof PDFJSDev !== 'undefined' && PDFJSDev.test('GENERIC')) &&\n (arguments.length > 1 || typeof arguments[0] === 'number')) {\n deprecated('getViewport is called with obsolete arguments.');\n scale = arguments[0];\n rotation = typeof arguments[1] === 'number' ? arguments[1] : this.rotate;\n dontFlip = typeof arguments[2] === 'boolean' ? arguments[2] : false;\n }\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @return {Promise} A promise that is resolved with an {Array} of the\n * annotation objects.\n */\n getAnnotations({ intent = null, } = {}) {\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this.pageIndex,\n intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n * @param {RenderParameters} params Page render parameters.\n * @return {RenderTask} An object that contains the promise, which\n * is resolved when the page finishes rendering.\n */\n render({ canvasContext, viewport, intent = 'display', enableWebGL = false,\n renderInteractiveForms = false, transform = null, imageLayer = null,\n canvasFactory = null, background = null, }) {\n const stats = this._stats;\n stats.time('Overall');\n\n const renderingIntent = (intent === 'print' ? 'print' : 'display');\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DOMCanvasFactory();\n const webGLContext = new WebGLContext({\n enable: enableWebGL,\n });\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = createPromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n stats.time('Page Request');\n this._pumpOperatorList({\n pageIndex: this.pageNumber - 1,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n });\n }\n\n const complete = (error) => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || renderingIntent === 'print') {\n this.pendingCleanup = true;\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 stats.timeEnd('Rendering');\n stats.timeEnd('Overall');\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: { // Include the required properties, and *not* the entire object.\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageNumber: this.pageNumber,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== 'print',\n pdfBug: this._pdfBug,\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n intentState.displayReadyCapability.promise.then((transparency) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n stats.time('Rendering');\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n\n return renderTask;\n }\n\n /**\n * @return {Promise} A promise resolved with an {@link PDFOperatorList}\n * object that represents page's operator list.\n */\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n const i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n const renderingIntent = 'oplist';\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n const intentState = this.intentStates[renderingIntent];\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n this._stats.time('Page Request');\n this._pumpOperatorList({\n pageIndex: this.pageIndex,\n intent: renderingIntent,\n });\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @return {ReadableStream} ReadableStream to read textContent chunks.\n */\n streamTextContent({ normalizeWhitespace = false,\n disableCombineTextItems = false, } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream('GetTextContent', {\n pageIndex: this.pageNumber - 1,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true,\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n });\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @return {Promise} That is resolved a {@link TextContent}\n * object that represent the page text content.\n */\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function(resolve, reject) {\n function pump() {\n reader.read().then(function({ value, done, }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * Destroys page object.\n */\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this.pageIndex] = null;\n\n const waitOn = [];\n Object.keys(this.intentStates).forEach((intent) => {\n const intentState = this.intentStates[intent];\n this._abortOperatorList({\n intentState,\n reason: new Error('Page was destroyed.'),\n force: true,\n });\n\n if (intent === 'oplist') {\n // Avoid errors below, since the renderTasks are just stubs.\n return;\n }\n intentState.renderTasks.forEach(function(renderTask) {\n const renderCompleted = renderTask.capability.promise.\n catch(function() {}); // ignoring failures\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 /**\n * Cleans up resources allocated by the page.\n * @param {boolean} resetStats - (optional) Reset page stats, if enabled.\n * The default value is `false`.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n this._tryCleanup(resetStats);\n }\n\n /**\n * For internal use only. Attempts to clean up if rendering is in a state\n * where that's possible.\n * @ignore\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup ||\n Object.keys(this.intentStates).some((intent) => {\n const intentState = this.intentStates[intent];\n return (intentState.renderTasks.length !== 0 ||\n !intentState.operatorList.lastChunk);\n })) {\n return;\n }\n\n Object.keys(this.intentStates).forEach((intent) => {\n delete this.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats instanceof StatTimer) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n }\n\n /**\n * For internal use only.\n * @ignore\n */\n _startRenderPage(transparency, intent) {\n const intentState = this.intentStates[intent];\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n this._stats.timeEnd('Page Request');\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * For internal use only.\n * @ignore\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(\n operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\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 /**\n * For internal use only.\n * @ignore\n */\n _pumpOperatorList(args) {\n assert(args.intent,\n 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n const readableStream =\n this._transport.messageHandler.sendWithStream('GetOperatorList', args);\n const reader = readableStream.getReader();\n\n const intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(({ value, done, }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, (reason) => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\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 pump();\n }\n\n /**\n * For internal use only.\n * @ignore\n */\n _abortOperatorList({ intentState, reason, force = false, }) {\n assert(reason instanceof Error,\n 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true, });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader.cancel(\n new AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n Object.keys(this.intentStates).some((intent) => {\n if (this.intentStates[intent] === intentState) {\n delete this.intentStates[intent];\n return true;\n }\n return false;\n });\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @return {Object} Returns page stats, if enabled.\n */\n get stats() {\n return (this._stats instanceof StatTimer ? this._stats : null);\n }\n}\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 // Trying to perform a structured clone close to the spec, including\n // transfers.\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n if (cloned.has(value)) { // already cloned the object\n return cloned.get(value);\n }\n let buffer, result;\n if ((buffer = value.buffer) && isArrayBuffer(buffer)) {\n // We found object with ArrayBuffer (typed array).\n const transferable = transfers && transfers.includes(buffer);\n if (value === buffer) {\n // Special case when we are faking typed arrays in compatibility.js.\n result = value;\n } else if (transferable) {\n result = new value.constructor(buffer, value.byteOffset,\n value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result); // adding to cache now for cyclic references\n // Cloning all value and object properties, however ignoring properties\n // defined via getter.\n for (const i in value) {\n let desc, p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === 'undefined') {\n continue;\n }\n if (typeof desc.value === 'function') {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\n `LoopbackPort.postMessage - cannot clone: ${value[i]}`);\n }\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach((listener) => {\n listener.call(this, { data: obj, });\n });\n return;\n }\n\n const cloned = new WeakMap();\n const e = { data: cloneValue(obj), };\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 this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} name - (optional) The name of the worker.\n * @property {Object} port - (optional) The `workerPort`.\n * @property {number} verbosity - (optional) Controls the logging level; the\n * constants from {VerbosityLevel} should be used.\n */\n\n/**\n * PDF.js web worker abstraction, it controls instantiation of PDF documents and\n * WorkerTransport for them. If creation of a web worker is not possible,\n * a \"fake\" worker will be used instead.\n * @class\n */\nconst PDFWorker = (function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let nextFakeWorkerId = 0;\n let fakeWorkerFilesLoadedCapability;\n\n function getWorkerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== 'undefined') {\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n try {\n if (typeof window !== 'undefined') {\n return (window.pdfjsWorker && window.pdfjsWorker.WorkerMessageHandler);\n }\n } catch (ex) { }\n return null;\n }\n\n // Loads worker code into main thread.\n function setupFakeWorkerGlobal() {\n if (fakeWorkerFilesLoadedCapability) {\n return fakeWorkerFilesLoadedCapability.promise;\n }\n fakeWorkerFilesLoadedCapability = createPromiseCapability();\n\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using a `