From: vincent@cubedesigners.com Date: Thu, 9 Sep 2021 15:24:18 +0000 (+0000) Subject: wait #4676 @2 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=93262251681576bb13d25e6c35bdbc9b20b0435a;p=cubeextranet.git wait #4676 @2 --- diff --git a/fluidbook/compile/pdfjs-legacy/LICENSE b/fluidbook/compile/pdfjs-legacy/LICENSE new file mode 100644 index 000000000..f433b1a53 --- /dev/null +++ b/fluidbook/compile/pdfjs-legacy/LICENSE @@ -0,0 +1,177 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/fluidbook/compile/pdfjs-legacy/build/pdf.js b/fluidbook/compile/pdfjs-legacy/build/pdf.js new file mode 100644 index 000000000..9331e4661 --- /dev/null +++ b/fluidbook/compile/pdfjs-legacy/build/pdf.js @@ -0,0 +1,24874 @@ +/** + * @licstart The following is the entire license notice for the + * Javascript code in this page + * + * Copyright 2021 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * Javascript code in this page + */ + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("pdfjs-dist/build/pdf", [], factory); + else if(typeof exports === 'object') + exports["pdfjs-dist/build/pdf"] = factory(); + else + root["pdfjs-dist/build/pdf"] = root.pdfjsLib = factory(); +})(this, function() { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.addLinkAttributes = addLinkAttributes; +exports.deprecated = deprecated; +exports.getFilenameFromUrl = getFilenameFromUrl; +exports.getPdfFilenameFromUrl = getPdfFilenameFromUrl; +exports.isDataScheme = isDataScheme; +exports.isFetchSupported = isFetchSupported; +exports.isPdfFile = isPdfFile; +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 _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 BaseCanvasFactory = /*#__PURE__*/function () { + function BaseCanvasFactory() { + _classCallCheck(this, BaseCanvasFactory); + + if (this.constructor === BaseCanvasFactory) { + (0, _util.unreachable)("Cannot initialize BaseCanvasFactory."); + } + } + + _createClass(BaseCanvasFactory, [{ + key: "create", + value: function create(width, height) { + (0, _util.unreachable)("Abstract method `create` called."); + } + }, { + 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 BaseCanvasFactory; +}(); + +exports.BaseCanvasFactory = BaseCanvasFactory; + +var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(DOMCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(DOMCanvasFactory); + + function DOMCanvasFactory() { + var _this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument; + + _classCallCheck(this, DOMCanvasFactory); + + _this = _super.call(this); + _this._document = ownerDocument; + return _this; + } + + _createClass(DOMCanvasFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + var canvas = this._document.createElement("canvas"); + + var context = canvas.getContext("2d"); + canvas.width = width; + canvas.height = height; + return { + canvas: canvas, + context: context + }; + } + }]); + + return DOMCanvasFactory; +}(BaseCanvasFactory); + +exports.DOMCanvasFactory = DOMCanvasFactory; + +var BaseCMapReaderFactory = /*#__PURE__*/function () { + function BaseCMapReaderFactory(_ref2) { + var _ref2$baseUrl = _ref2.baseUrl, + baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl, + _ref2$isCompressed = _ref2.isCompressed, + isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed; + + _classCallCheck(this, BaseCMapReaderFactory); + + if (this.constructor === BaseCMapReaderFactory) { + (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory."); + } + + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + + _createClass(BaseCMapReaderFactory, [{ + key: "fetch", + value: function () { + var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref3) { + var _this2 = this; + + var name, url, compressionType; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + name = _ref3.name; + + if (this.baseUrl) { + _context.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) { + _context.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; + return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) { + throw new Error("Unable to load ".concat(_this2.isCompressed ? "binary " : "", "CMap at: ").concat(url)); + })); + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function fetch(_x) { + return _fetch.apply(this, arguments); + } + + return fetch; + }() + }, { + key: "_fetchData", + value: function _fetchData(url, compressionType) { + (0, _util.unreachable)("Abstract method `_fetchData` called."); + } + }]); + + return BaseCMapReaderFactory; +}(); + +exports.BaseCMapReaderFactory = BaseCMapReaderFactory; + +var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(DOMCMapReaderFactory); + + function DOMCMapReaderFactory() { + _classCallCheck(this, DOMCMapReaderFactory); + + return _super2.apply(this, arguments); + } + + _createClass(DOMCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + var _this3 = this; + + if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) { + return fetch(url).then( /*#__PURE__*/function () { + var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(response) { + var cMapData; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (response.ok) { + _context2.next = 2; + break; + } + + throw new Error(response.statusText); + + case 2: + if (!_this3.isCompressed) { + _context2.next = 10; + break; + } + + _context2.t0 = Uint8Array; + _context2.next = 6; + return response.arrayBuffer(); + + case 6: + _context2.t1 = _context2.sent; + cMapData = new _context2.t0(_context2.t1); + _context2.next = 15; + break; + + case 10: + _context2.t2 = _util.stringToBytes; + _context2.next = 13; + return response.text(); + + case 13: + _context2.t3 = _context2.sent; + cMapData = (0, _context2.t2)(_context2.t3); + + case 15: + return _context2.abrupt("return", { + cMapData: cMapData, + compressionType: compressionType + }); + + case 16: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + return function (_x2) { + return _ref4.apply(this, arguments); + }; + }()); + } + + return new Promise(function (resolve, reject) { + var request = new XMLHttpRequest(); + request.open("GET", url, true); + + if (_this3.isCompressed) { + request.responseType = "arraybuffer"; + } + + request.onreadystatechange = function () { + if (request.readyState !== XMLHttpRequest.DONE) { + return; + } + + if (request.status === 200 || request.status === 0) { + var cMapData; + + if (_this3.isCompressed && request.response) { + cMapData = new Uint8Array(request.response); + } else if (!_this3.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); + }); + } + }]); + + return DOMCMapReaderFactory; +}(BaseCMapReaderFactory); + +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 %= 360; + + if (rotation < 0) { + rotation += 360; + } + + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + + case 0: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + + default: + throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees."); + } + + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + + 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$offsetX = _ref6.offsetX, + offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX, + _ref6$offsetY = _ref6.offsetY, + offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY, + _ref6$dontFlip = _ref6.dontFlip, + dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip; + + return new PageViewport({ + viewBox: this.viewBox.slice(), + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: 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); + + var _super3 = _createSuper(RenderingCancelledException); + + function RenderingCancelledException(msg, type) { + var _this4; + + _classCallCheck(this, RenderingCancelledException); + + _this4 = _super3.call(this, msg); + _this4.type = type; + return _this4; + } + + return RenderingCancelledException; +}(_util.BaseException); + +exports.RenderingCancelledException = RenderingCancelledException; +var LinkTarget = { + NONE: 0, + SELF: 1, + BLANK: 2, + PARENT: 3, + TOP: 4 +}; +exports.LinkTarget = LinkTarget; + +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 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 isDataScheme(url) { + var ii = url.length; + var i = 0; + + while (i < ii && url[i].trim() === "") { + i++; + } + + return url.substring(i, i + 5).toLowerCase() === "data:"; +} + +function isPdfFile(filename) { + return typeof filename === "string" && /\.pdf$/i.test(filename); +} + +function getFilenameFromUrl(url) { + 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); +} + +function getPdfFilenameFromUrl(url) { + var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf"; + + if (typeof url !== "string") { + return defaultFilename; + } + + if (isDataScheme(url)) { + (0, _util.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'); + return defaultFilename; + } + + var reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/; + var reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i; + var splitURI = reURI.exec(url); + var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]); + + if (suggestedFilename) { + suggestedFilename = suggestedFilename[0]; + + if (suggestedFilename.includes("%")) { + try { + suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0]; + } catch (ex) {} + } + } + + return suggestedFilename || defaultFilename; +} + +var StatTimer = /*#__PURE__*/function () { + function StatTimer() { + _classCallCheck(this, StatTimer); + + this.started = Object.create(null); + this.times = []; + } + + _createClass(StatTimer, [{ + key: "time", + value: function time(name) { + if (name in this.started) { + (0, _util.warn)("Timer is already running for ".concat(name)); + } + + this.started[name] = Date.now(); + } + }, { + key: "timeEnd", + value: function timeEnd(name) { + if (!(name in this.started)) { + (0, _util.warn)("Timer has not been started for ".concat(name)); + } + + this.times.push({ + name: name, + start: this.started[name], + end: Date.now() + }); + delete this.started[name]; + } + }, { + key: "toString", + value: function toString() { + var outBuf = []; + var longest = 0; + + var _iterator = _createForOfIteratorHelper(this.times), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var time = _step.value; + var name = time.name; + + if (name.length > longest) { + longest = name.length; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + var _iterator2 = _createForOfIteratorHelper(this.times), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _time = _step2.value; + var duration = _time.end - _time.start; + outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n")); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return outBuf.join(""); + } + }]); + + return StatTimer; +}(); + +exports.StatTimer = StatTimer; + +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) { + var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return new Promise(function (resolve, reject) { + var 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: ".concat(script.src))); + }; + + (document.head || document.documentElement).appendChild(script); + }); +} + +function deprecated(details) { + console.log("Deprecated API usage: " + details); +} + +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; + +/***/ }), +/* 2 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +module.exports = __w_pdfjs_require__(3); + +/***/ }), +/* 3 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; +/* module decorator */ module = __w_pdfjs_require__.nmd(module); + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +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 define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + + 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; + GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); + + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + define(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; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + exports.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator, PromiseImpl) { + 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 PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.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 PromiseImpl(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, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + 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); + define(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 ? 0 : _typeof(module)) === "object" ? module.exports : {}); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + Function("r", "regeneratorRuntime = r")(runtime); +} + +/***/ }), +/* 4 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.arrayByteLength = arrayByteLength; +exports.arraysToBytes = arraysToBytes; +exports.assert = assert; +exports.bytesToString = bytesToString; +exports.createObjectURL = createObjectURL; +exports.createPromiseCapability = createPromiseCapability; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +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.isNum = isNum; +exports.isSameOrigin = isSameOrigin; +exports.isString = isString; +exports.objectFromMap = objectFromMap; +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.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.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__(5); + +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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var 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]; +exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; +var PermissionFlag = { + PRINT: 0x04, + MODIFY_CONTENTS: 0x08, + COPY: 0x10, + MODIFY_ANNOTATIONS: 0x20, + FILL_INTERACTIVE_FORMS: 0x100, + COPY_FOR_ACCESSIBILITY: 0x200, + ASSEMBLE: 0x400, + PRINT_HIGH_QUALITY: 0x800 +}; +exports.PermissionFlag = PermissionFlag; +var TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +exports.TextRenderingMode = TextRenderingMode; +var ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +exports.ImageKind = ImageKind; +var AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +exports.AnnotationType = AnnotationType; +var AnnotationStateModelType = { + MARKED: "Marked", + REVIEW: "Review" +}; +exports.AnnotationStateModelType = AnnotationStateModelType; +var AnnotationMarkedState = { + MARKED: "Marked", + UNMARKED: "Unmarked" +}; +exports.AnnotationMarkedState = AnnotationMarkedState; +var AnnotationReviewState = { + ACCEPTED: "Accepted", + REJECTED: "Rejected", + CANCELLED: "Cancelled", + COMPLETED: "Completed", + NONE: "None" +}; +exports.AnnotationReviewState = AnnotationReviewState; +var AnnotationReplyType = { + GROUP: "Group", + REPLY: "R" +}; +exports.AnnotationReplyType = AnnotationReplyType; +var AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +exports.AnnotationFlag = AnnotationFlag; +var AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +var AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +var 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; +var DocumentActionEventType = { + WC: "WillClose", + WS: "WillSave", + DS: "DidSave", + WP: "WillPrint", + DP: "DidPrint" +}; +exports.DocumentActionEventType = DocumentActionEventType; +var PageActionEventType = { + O: "PageOpen", + C: "PageClose" +}; +exports.PageActionEventType = PageActionEventType; +var 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" +}; +exports.FontType = FontType; +var VerbosityLevel = { + ERRORS: 0, + WARNINGS: 1, + INFOS: 5 +}; +exports.VerbosityLevel = VerbosityLevel; +var CMapCompressionType = { + NONE: 0, + BINARY: 1, + STREAM: 2 +}; +exports.CMapCompressionType = CMapCompressionType; +var OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotations: 78, + endAnnotations: 79, + beginAnnotation: 80, + endAnnotation: 81, + paintJpegXObject: 82, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +exports.OPS = OPS; +var UNSUPPORTED_FEATURES = { + unknown: "unknown", + forms: "forms", + javaScript: "javaScript", + signatures: "signatures", + 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", + errorFontBuildPath: "errorFontBuildPath", + errorFontGetPath: "errorFontGetPath", + errorMarkedContent: "errorMarkedContent" +}; +exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; +var PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +exports.PasswordResponses = PasswordResponses; +var verbosity = VerbosityLevel.WARNINGS; + +function setVerbosityLevel(level) { + if (Number.isInteger(level)) { + verbosity = level; + } +} + +function getVerbosityLevel() { + return verbosity; +} + +function info(msg) { + if (verbosity >= VerbosityLevel.INFOS) { + console.log("Info: ".concat(msg)); + } +} + +function warn(msg) { + if (verbosity >= VerbosityLevel.WARNINGS) { + console.log("Warning: ".concat(msg)); + } +} + +function unreachable(msg) { + throw new Error(msg); +} + +function assert(cond, msg) { + if (!cond) { + unreachable(msg); + } +} + +function isSameOrigin(baseUrl, otherUrl) { + var base; + + try { + base = new URL(baseUrl); + + if (!base.origin || base.origin === "null") { + return false; + } + } catch (e) { + return false; + } + + var other = new URL(otherUrl, base); + return base.origin === other.origin; +} + +function _isValidProtocol(url) { + if (!url) { + return false; + } + + switch (url.protocol) { + case "http:": + case "https:": + case "ftp:": + case "mailto:": + case "tel:": + return true; + + default: + return false; + } +} + +function createValidAbsoluteUrl(url, baseUrl) { + if (!url) { + return null; + } + + try { + var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); + + if (_isValidProtocol(absoluteUrl)) { + return absoluteUrl; + } + } catch (ex) {} + + return null; +} + +function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { + value: value, + enumerable: true, + configurable: true, + writable: false + }); + return value; +} + +var BaseException = function BaseExceptionClosure() { + function BaseException(message) { + if (this.constructor === BaseException) { + unreachable("Cannot initialize BaseException."); + } + + this.message = message; + this.name = this.constructor.name; + } + + BaseException.prototype = new Error(); + BaseException.constructor = BaseException; + return BaseException; +}(); + +exports.BaseException = BaseException; + +var PasswordException = /*#__PURE__*/function (_BaseException) { + _inherits(PasswordException, _BaseException); + + var _super = _createSuper(PasswordException); + + function PasswordException(msg, code) { + var _this; + + _classCallCheck(this, PasswordException); + + _this = _super.call(this, msg); + _this.code = code; + return _this; + } + + return PasswordException; +}(BaseException); + +exports.PasswordException = PasswordException; + +var UnknownErrorException = /*#__PURE__*/function (_BaseException2) { + _inherits(UnknownErrorException, _BaseException2); + + var _super2 = _createSuper(UnknownErrorException); + + function UnknownErrorException(msg, details) { + var _this2; + + _classCallCheck(this, UnknownErrorException); + + _this2 = _super2.call(this, msg); + _this2.details = details; + return _this2; + } + + return UnknownErrorException; +}(BaseException); + +exports.UnknownErrorException = UnknownErrorException; + +var InvalidPDFException = /*#__PURE__*/function (_BaseException3) { + _inherits(InvalidPDFException, _BaseException3); + + var _super3 = _createSuper(InvalidPDFException); + + function InvalidPDFException() { + _classCallCheck(this, InvalidPDFException); + + return _super3.apply(this, arguments); + } + + return InvalidPDFException; +}(BaseException); + +exports.InvalidPDFException = InvalidPDFException; + +var MissingPDFException = /*#__PURE__*/function (_BaseException4) { + _inherits(MissingPDFException, _BaseException4); + + var _super4 = _createSuper(MissingPDFException); + + function MissingPDFException() { + _classCallCheck(this, MissingPDFException); + + return _super4.apply(this, arguments); + } + + return MissingPDFException; +}(BaseException); + +exports.MissingPDFException = MissingPDFException; + +var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) { + _inherits(UnexpectedResponseException, _BaseException5); + + var _super5 = _createSuper(UnexpectedResponseException); + + function UnexpectedResponseException(msg, status) { + var _this3; + + _classCallCheck(this, UnexpectedResponseException); + + _this3 = _super5.call(this, msg); + _this3.status = status; + return _this3; + } + + return UnexpectedResponseException; +}(BaseException); + +exports.UnexpectedResponseException = UnexpectedResponseException; + +var FormatError = /*#__PURE__*/function (_BaseException6) { + _inherits(FormatError, _BaseException6); + + var _super6 = _createSuper(FormatError); + + function FormatError() { + _classCallCheck(this, FormatError); + + return _super6.apply(this, arguments); + } + + return FormatError; +}(BaseException); + +exports.FormatError = FormatError; + +var AbortException = /*#__PURE__*/function (_BaseException7) { + _inherits(AbortException, _BaseException7); + + var _super7 = _createSuper(AbortException); + + function AbortException() { + _classCallCheck(this, AbortException); + + return _super7.apply(this, arguments); + } + + return AbortException; +}(BaseException); + +exports.AbortException = AbortException; +var NullCharactersRegExp = /\x00/g; + +function removeNullCharacters(str) { + if (typeof str !== "string") { + warn("The argument for removeNullCharacters must be a string."); + return str; + } + + 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; + + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + + var 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); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + + return strBuf.join(""); +} + +function stringToBytes(str) { + assert(typeof str === "string", "Invalid argument for stringToBytes"); + var length = str.length; + var bytes = new Uint8Array(length); + + for (var i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xff; + } + + return bytes; +} + +function arrayByteLength(arr) { + if (arr.length !== undefined) { + return arr.length; + } + + assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument."); + return arr.byteLength; +} + +function arraysToBytes(arr) { + var length = arr.length; + + if (length === 1 && arr[0] instanceof Uint8Array) { + return arr[0]; + } + + var resultLength = 0; + + for (var i = 0; i < length; i++) { + resultLength += arrayByteLength(arr[i]); + } + + var pos = 0; + var data = new Uint8Array(resultLength); + + for (var _i = 0; _i < length; _i++) { + var item = arr[_i]; + + if (!(item instanceof Uint8Array)) { + if (typeof item === "string") { + item = stringToBytes(item); + } else { + item = new Uint8Array(item); + } + } + + var itemLength = item.byteLength; + data.set(item, pos); + pos += itemLength; + } + + return data; +} + +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} + +function objectSize(obj) { + return Object.keys(obj).length; +} + +function objectFromMap(map) { + var obj = Object.create(null); + + var _iterator = _createForOfIteratorHelper(map), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + key = _step$value[0], + value = _step$value[1]; + + obj[key] = value; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return obj; +} + +function isLittleEndian() { + var buffer8 = new Uint8Array(4); + buffer8[0] = 1; + var view32 = new Uint32Array(buffer8.buffer, 0, 1); + return view32[0] === 1; +} + +var IsLittleEndianCached = { + get value() { + return shadow(this, "value", isLittleEndian()); + } + +}; +exports.IsLittleEndianCached = IsLittleEndianCached; + +function isEvalSupported() { + try { + new Function(""); + return true; + } catch (e) { + return false; + } +} + +var IsEvalSupportedCached = { + get value() { + return shadow(this, "value", isEvalSupported()); + } + +}; +exports.IsEvalSupportedCached = IsEvalSupportedCached; + +var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) { + return n.toString(16).padStart(2, "0"); +}); + +var Util = /*#__PURE__*/function () { + function Util() { + _classCallCheck(this, Util); + } + + _createClass(Util, null, [{ + key: "makeHexColor", + value: function makeHexColor(r, g, b) { + return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]); + } + }, { + 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(Math.pow(a + d, 2) - 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); + + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + + return r; + } + }, { + 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; + } + }]); + + return Util; +}(); + +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]; + +function stringToPDFString(str) { + var length = str.length, + strBuf = []; + + if (str[0] === "\xFE" && str[1] === "\xFF") { + for (var 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 (var _i2 = 2; _i2 < length; _i2 += 2) { + strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2))); + } + } else { + for (var _i3 = 0; _i3 < length; ++_i3) { + var code = PDFStringTranslateTable[str.charCodeAt(_i3)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3)); + } + } + + return strBuf.join(""); +} + +function escapeString(str) { + return str.replace(/([()\\\n\r])/g, function (match) { + if (match === "\n") { + return "\\n"; + } else if (match === "\r") { + return "\\r"; + } + + return "\\".concat(match); + }); +} + +function isAscii(str) { + return /^[\x00-\x7F]*$/.test(str); +} + +function stringToUTF16BEString(str) { + var buf = ["\xFE\xFF"]; + + for (var i = 0, ii = str.length; i < ii; i++) { + var _char = str.charCodeAt(i); + + buf.push(String.fromCharCode(_char >> 8 & 0xff), String.fromCharCode(_char & 0xff)); + } + + return buf.join(""); +} + +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} + +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} + +function isBool(v) { + return typeof v === "boolean"; +} + +function isNum(v) { + return typeof v === "number"; +} + +function isString(v) { + return typeof v === "string"; +} + +function isArrayBuffer(v) { + return _typeof(v) === "object" && v !== null && v.byteLength !== undefined; +} + +function isArrayEqual(arr1, arr2) { + if (arr1.length !== arr2.length) { + return false; + } + + for (var i = 0, ii = arr1.length; i < ii; i++) { + if (arr1[i] !== arr2[i]) { + return false; + } + } + + return true; +} + +function getModificationDate() { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + var 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() { + return isSettled; + } + }); + capability.promise = new Promise(function (resolve, reject) { + capability.resolve = function (data) { + isSettled = true; + resolve(data); + }; + + capability.reject = function (reason) { + isSettled = true; + reject(reason); + }; + }); + return capability; +} + +function createObjectURL(data) { + var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (URL.createObjectURL && !forceDataSchema) { + return URL.createObjectURL(new Blob([data], { + type: contentType + })); + } + + var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var buffer = "data:".concat(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; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + + return buffer; +} + +/***/ }), +/* 5 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + + +var _is_node = __w_pdfjs_require__(6); + +if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) { + if (typeof globalThis === "undefined" || globalThis.Math !== Math) { + globalThis = __w_pdfjs_require__(7); + } + + globalThis._pdfjsCompatibilityChecked = true; + + (function checkNodeBtoa() { + if (globalThis.btoa || !_is_node.isNodeJS) { + return; + } + + globalThis.btoa = function (chars) { + return Buffer.from(chars, "binary").toString("base64"); + }; + })(); + + (function checkNodeAtob() { + if (globalThis.atob || !_is_node.isNodeJS) { + return; + } + + globalThis.atob = function (input) { + return Buffer.from(input, "base64").toString("binary"); + }; + })(); + + (function checkObjectFromEntries() { + if (Object.fromEntries) { + return; + } + + __w_pdfjs_require__(53); + })(); + + (function checkPromise() { + if (globalThis.Promise.allSettled) { + return; + } + + globalThis.Promise = __w_pdfjs_require__(84); + })(); + + (function checkReadableStream() { + var isReadableStreamSupported = false; + + if (typeof ReadableStream !== "undefined") { + try { + new ReadableStream({ + start: function start(controller) { + controller.close(); + } + }); + isReadableStreamSupported = true; + } catch (e) {} + } + + if (isReadableStreamSupported) { + return; + } + + globalThis.ReadableStream = __w_pdfjs_require__(112).ReadableStream; + })(); +} + +/***/ }), +/* 6 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.isNodeJS = void 0; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser"); +exports.isNodeJS = isNodeJS; + +/***/ }), +/* 7 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(8); +module.exports = __w_pdfjs_require__(10); + +/***/ }), +/* 8 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var $ = __w_pdfjs_require__(9); +var global = __w_pdfjs_require__(10); +$({ global: true }, { globalThis: global }); + +/***/ }), +/* 9 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f; +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var redefine = __w_pdfjs_require__(29); +var setGlobal = __w_pdfjs_require__(30); +var copyConstructorProperties = __w_pdfjs_require__(40); +var isForced = __w_pdfjs_require__(52); +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) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + redefine(target, key, sourceProperty, options); + } +}; + +/***/ }), +/* 10 */ +/***/ ((module) => { + +var check = function (it) { + return it && it.Math == Math && it; +}; +module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || function () { + return this; +}() || Function('return this')(); + +/***/ }), +/* 11 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(12); +var propertyIsEnumerableModule = __w_pdfjs_require__(14); +var createPropertyDescriptor = __w_pdfjs_require__(15); +var toIndexedObject = __w_pdfjs_require__(16); +var toPrimitive = __w_pdfjs_require__(20); +var has = __w_pdfjs_require__(22); +var IE8_DOM_DEFINE = __w_pdfjs_require__(24); +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) + try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { + } + if (has(O, P)) + return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); +}; + +/***/ }), +/* 12 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(13); +module.exports = !fails(function () { + return Object.defineProperty({}, 1, { + get: function () { + return 7; + } + })[1] != 7; +}); + +/***/ }), +/* 13 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +/***/ }), +/* 14 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + +/***/ }), +/* 15 */ +/***/ ((module) => { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +/***/ }), +/* 16 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IndexedObject = __w_pdfjs_require__(17); +var requireObjectCoercible = __w_pdfjs_require__(19); +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +/***/ }), +/* 17 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(13); +var classof = __w_pdfjs_require__(18); +var split = ''.split; +module.exports = fails(function () { + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + +/***/ }), +/* 18 */ +/***/ ((module) => { + +var toString = {}.toString; +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + +/***/ }), +/* 19 */ +/***/ ((module) => { + +module.exports = function (it) { + if (it == undefined) + throw TypeError("Can't call method on " + it); + return it; +}; + +/***/ }), +/* 20 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isObject = __w_pdfjs_require__(21); +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"); +}; + +/***/ }), +/* 21 */ +/***/ ((module) => { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +/***/ }), +/* 22 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toObject = __w_pdfjs_require__(23); +var hasOwnProperty = {}.hasOwnProperty; +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty.call(toObject(it), key); +}; + +/***/ }), +/* 23 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var requireObjectCoercible = __w_pdfjs_require__(19); +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +/***/ }), +/* 24 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(12); +var fails = __w_pdfjs_require__(13); +var createElement = __w_pdfjs_require__(25); +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { + return 7; + } + }).a != 7; +}); + +/***/ }), +/* 25 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var isObject = __w_pdfjs_require__(21); +var document = global.document; +var EXISTS = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +/***/ }), +/* 26 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(12); +var definePropertyModule = __w_pdfjs_require__(27); +var createPropertyDescriptor = __w_pdfjs_require__(15); +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +/***/ }), +/* 27 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(12); +var IE8_DOM_DEFINE = __w_pdfjs_require__(24); +var anObject = __w_pdfjs_require__(28); +var toPrimitive = __w_pdfjs_require__(20); +var $defineProperty = Object.defineProperty; +exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) + try { + return $defineProperty(O, P, Attributes); + } catch (error) { + } + if ('get' in Attributes || 'set' in Attributes) + throw TypeError('Accessors not supported'); + if ('value' in Attributes) + O[P] = Attributes.value; + return O; +}; + +/***/ }), +/* 28 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isObject = __w_pdfjs_require__(21); +module.exports = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } + return it; +}; + +/***/ }), +/* 29 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var has = __w_pdfjs_require__(22); +var setGlobal = __w_pdfjs_require__(30); +var inspectSource = __w_pdfjs_require__(31); +var InternalStateModule = __w_pdfjs_require__(33); +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(String).split('String'); +(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; + var state; + if (typeof value == 'function') { + if (typeof key == 'string' && !has(value, 'name')) { + createNonEnumerableProperty(value, 'name', key); + } + state = enforceInternalState(value); + if (!state.source) { + state.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 + createNonEnumerableProperty(O, key, value); +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || inspectSource(this); +}); + +/***/ }), +/* 30 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +module.exports = function (key, value) { + try { + createNonEnumerableProperty(global, key, value); + } catch (error) { + global[key] = value; + } + return value; +}; + +/***/ }), +/* 31 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var store = __w_pdfjs_require__(32); +var functionToString = Function.toString; +if (typeof store.inspectSource != 'function') { + store.inspectSource = function (it) { + return functionToString.call(it); + }; +} +module.exports = store.inspectSource; + +/***/ }), +/* 32 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var setGlobal = __w_pdfjs_require__(30); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); +module.exports = store; + +/***/ }), +/* 33 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_WEAK_MAP = __w_pdfjs_require__(34); +var global = __w_pdfjs_require__(10); +var isObject = __w_pdfjs_require__(21); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var objectHas = __w_pdfjs_require__(22); +var shared = __w_pdfjs_require__(32); +var sharedKey = __w_pdfjs_require__(35); +var hiddenKeys = __w_pdfjs_require__(39); +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var WeakMap = global.WeakMap; +var set, get, has; +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } + return state; + }; +}; +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + if (wmhas.call(store, it)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + 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) { + if (objectHas(it, STATE)) + throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(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 +}; + +/***/ }), +/* 34 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var inspectSource = __w_pdfjs_require__(31); +var WeakMap = global.WeakMap; +module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); + +/***/ }), +/* 35 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var shared = __w_pdfjs_require__(36); +var uid = __w_pdfjs_require__(38); +var keys = shared('keys'); +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +/***/ }), +/* 36 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var IS_PURE = __w_pdfjs_require__(37); +var store = __w_pdfjs_require__(32); +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.13.1', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2021 Denis Pushkarev (zloirock.ru)' +}); + +/***/ }), +/* 37 */ +/***/ ((module) => { + +module.exports = false; + +/***/ }), +/* 38 */ +/***/ ((module) => { + +var id = 0; +var postfix = Math.random(); +module.exports = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + +/***/ }), +/* 39 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 40 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var has = __w_pdfjs_require__(22); +var ownKeys = __w_pdfjs_require__(41); +var getOwnPropertyDescriptorModule = __w_pdfjs_require__(11); +var definePropertyModule = __w_pdfjs_require__(27); +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)); + } +}; + +/***/ }), +/* 41 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(42); +var getOwnPropertyNamesModule = __w_pdfjs_require__(44); +var getOwnPropertySymbolsModule = __w_pdfjs_require__(51); +var anObject = __w_pdfjs_require__(28); +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; +}; + +/***/ }), +/* 42 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var path = __w_pdfjs_require__(43); +var global = __w_pdfjs_require__(10); +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]; +}; + +/***/ }), +/* 43 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +module.exports = global; + +/***/ }), +/* 44 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(45); +var enumBugKeys = __w_pdfjs_require__(50); +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +/***/ }), +/* 45 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var has = __w_pdfjs_require__(22); +var toIndexedObject = __w_pdfjs_require__(16); +var indexOf = __w_pdfjs_require__(46).indexOf; +var hiddenKeys = __w_pdfjs_require__(39); +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; +}; + +/***/ }), +/* 46 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toIndexedObject = __w_pdfjs_require__(16); +var toLength = __w_pdfjs_require__(47); +var toAbsoluteIndex = __w_pdfjs_require__(49); +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) +}; + +/***/ }), +/* 47 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toInteger = __w_pdfjs_require__(48); +var min = Math.min; +module.exports = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; +}; + +/***/ }), +/* 48 */ +/***/ ((module) => { + +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); +}; + +/***/ }), +/* 49 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toInteger = __w_pdfjs_require__(48); +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); +}; + +/***/ }), +/* 50 */ +/***/ ((module) => { + +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +/***/ }), +/* 51 */ +/***/ ((__unused_webpack_module, exports) => { + +exports.f = Object.getOwnPropertySymbols; + +/***/ }), +/* 52 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(13); +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; + +/***/ }), +/* 53 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(54); +__w_pdfjs_require__(74); +var path = __w_pdfjs_require__(43); +module.exports = path.Object.fromEntries; + +/***/ }), +/* 54 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toIndexedObject = __w_pdfjs_require__(16); +var addToUnscopables = __w_pdfjs_require__(55); +var Iterators = __w_pdfjs_require__(65); +var InternalStateModule = __w_pdfjs_require__(33); +var defineIterator = __w_pdfjs_require__(66); +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'); + +/***/ }), +/* 55 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(56); +var create = __w_pdfjs_require__(61); +var definePropertyModule = __w_pdfjs_require__(27); +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; +if (ArrayPrototype[UNSCOPABLES] == undefined) { + definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +/***/ }), +/* 56 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var shared = __w_pdfjs_require__(36); +var has = __w_pdfjs_require__(22); +var uid = __w_pdfjs_require__(38); +var NATIVE_SYMBOL = __w_pdfjs_require__(57); +var USE_SYMBOL_AS_UID = __w_pdfjs_require__(60); +var WellKnownSymbolsStore = shared('wks'); +var Symbol = global.Symbol; +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; +module.exports = function (name) { + if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { + if (NATIVE_SYMBOL && has(Symbol, name)) { + WellKnownSymbolsStore[name] = Symbol[name]; + } else { + WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); + } + } + return WellKnownSymbolsStore[name]; +}; + +/***/ }), +/* 57 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var V8_VERSION = __w_pdfjs_require__(58); +var fails = __w_pdfjs_require__(13); +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol(); + return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + +/***/ }), +/* 58 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var userAgent = __w_pdfjs_require__(59); +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8; +var match, version; +if (v8) { + match = v8.split('.'); + version = match[0] < 4 ? 1 : match[0] + match[1]; +} else if (userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) + version = match[1]; + } +} +module.exports = version && +version; + +/***/ }), +/* 59 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(42); +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +/***/ }), +/* 60 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var NATIVE_SYMBOL = __w_pdfjs_require__(57); +module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; + +/***/ }), +/* 61 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(28); +var defineProperties = __w_pdfjs_require__(62); +var enumBugKeys = __w_pdfjs_require__(50); +var hiddenKeys = __w_pdfjs_require__(39); +var html = __w_pdfjs_require__(64); +var documentCreateElement = __w_pdfjs_require__(25); +var sharedKey = __w_pdfjs_require__(35); +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); +var EmptyConstructor = function () { +}; +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + activeXDocument = null; + return temp; +}; +var NullProtoObjectViaIFrame = function () { + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = document.domain && new ActiveXObject('htmlfile'); + } catch (error) { + } + NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); + var length = enumBugKeys.length; + while (length--) + delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; +hiddenKeys[IE_PROTO] = true; +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + result[IE_PROTO] = O; + } else + result = NullProtoObject(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +/***/ }), +/* 62 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var DESCRIPTORS = __w_pdfjs_require__(12); +var definePropertyModule = __w_pdfjs_require__(27); +var anObject = __w_pdfjs_require__(28); +var objectKeys = __w_pdfjs_require__(63); +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; +}; + +/***/ }), +/* 63 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var internalObjectKeys = __w_pdfjs_require__(45); +var enumBugKeys = __w_pdfjs_require__(50); +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +/***/ }), +/* 64 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var getBuiltIn = __w_pdfjs_require__(42); +module.exports = getBuiltIn('document', 'documentElement'); + +/***/ }), +/* 65 */ +/***/ ((module) => { + +module.exports = {}; + +/***/ }), +/* 66 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(9); +var createIteratorConstructor = __w_pdfjs_require__(67); +var getPrototypeOf = __w_pdfjs_require__(69); +var setPrototypeOf = __w_pdfjs_require__(72); +var setToStringTag = __w_pdfjs_require__(71); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var redefine = __w_pdfjs_require__(29); +var wellKnownSymbol = __w_pdfjs_require__(56); +var IS_PURE = __w_pdfjs_require__(37); +var Iterators = __w_pdfjs_require__(65); +var IteratorsCore = __w_pdfjs_require__(68); +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') { + createNonEnumerableProperty(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) { + createNonEnumerableProperty(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; +}; + +/***/ }), +/* 67 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var IteratorPrototype = __w_pdfjs_require__(68).IteratorPrototype; +var create = __w_pdfjs_require__(61); +var createPropertyDescriptor = __w_pdfjs_require__(15); +var setToStringTag = __w_pdfjs_require__(71); +var Iterators = __w_pdfjs_require__(65); +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; +}; + +/***/ }), +/* 68 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var fails = __w_pdfjs_require__(13); +var getPrototypeOf = __w_pdfjs_require__(69); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var has = __w_pdfjs_require__(22); +var wellKnownSymbol = __w_pdfjs_require__(56); +var IS_PURE = __w_pdfjs_require__(37); +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; + } +} +var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { + var test = {}; + return IteratorPrototype[ITERATOR].call(test) !== test; +}); +if (NEW_ITERATOR_PROTOTYPE) + IteratorPrototype = {}; +if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) { + createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); +} +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +/***/ }), +/* 69 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var has = __w_pdfjs_require__(22); +var toObject = __w_pdfjs_require__(23); +var sharedKey = __w_pdfjs_require__(35); +var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(70); +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; +}; + +/***/ }), +/* 70 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var fails = __w_pdfjs_require__(13); +module.exports = !fails(function () { + function F() { + } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +/***/ }), +/* 71 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var defineProperty = __w_pdfjs_require__(27).f; +var has = __w_pdfjs_require__(22); +var wellKnownSymbol = __w_pdfjs_require__(56); +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 + }); + } +}; + +/***/ }), +/* 72 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(28); +var aPossiblePrototype = __w_pdfjs_require__(73); +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); + +/***/ }), +/* 73 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var isObject = __w_pdfjs_require__(21); +module.exports = function (it) { + if (!isObject(it) && it !== null) { + throw TypeError("Can't set " + String(it) + ' as a prototype'); + } + return it; +}; + +/***/ }), +/* 74 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var $ = __w_pdfjs_require__(9); +var iterate = __w_pdfjs_require__(75); +var createProperty = __w_pdfjs_require__(83); +$({ + target: 'Object', + stat: true +}, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + +/***/ }), +/* 75 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(28); +var isArrayIteratorMethod = __w_pdfjs_require__(76); +var toLength = __w_pdfjs_require__(47); +var bind = __w_pdfjs_require__(77); +var getIteratorMethod = __w_pdfjs_require__(79); +var iteratorClose = __w_pdfjs_require__(82); +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED); + var iterator, iterFn, index, length, result, next, step; + var stop = function (condition) { + if (iterator) + iteratorClose(iterator); + return new Result(true, condition); + }; + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } + return INTERRUPTED ? fn(value, stop) : fn(value); + }; + if (IS_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 = callFn(iterable[index]); + if (result && result instanceof Result) + return result; + } + return new Result(false); + } + iterator = iterFn.call(iterable); + } + next = iterator.next; + while (!(step = next.call(iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator); + throw error; + } + if (typeof result == 'object' && result && result instanceof Result) + return result; + } + return new Result(false); +}; + +/***/ }), +/* 76 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(56); +var Iterators = __w_pdfjs_require__(65); +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +/***/ }), +/* 77 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var aFunction = __w_pdfjs_require__(78); +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); + }; +}; + +/***/ }), +/* 78 */ +/***/ ((module) => { + +module.exports = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } + return it; +}; + +/***/ }), +/* 79 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(80); +var Iterators = __w_pdfjs_require__(65); +var wellKnownSymbol = __w_pdfjs_require__(56); +var ITERATOR = wellKnownSymbol('iterator'); +module.exports = function (it) { + if (it != undefined) + return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; +}; + +/***/ }), +/* 80 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(81); +var classofRaw = __w_pdfjs_require__(18); +var wellKnownSymbol = __w_pdfjs_require__(56); +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 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + +/***/ }), +/* 81 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(56); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; +test[TO_STRING_TAG] = 'z'; +module.exports = String(test) === '[object z]'; + +/***/ }), +/* 82 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(28); +module.exports = function (iterator) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) { + return anObject(returnMethod.call(iterator)).value; + } +}; + +/***/ }), +/* 83 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var toPrimitive = __w_pdfjs_require__(20); +var definePropertyModule = __w_pdfjs_require__(27); +var createPropertyDescriptor = __w_pdfjs_require__(15); +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; +}; + +/***/ }), +/* 84 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +__w_pdfjs_require__(85); +__w_pdfjs_require__(86); +__w_pdfjs_require__(88); +__w_pdfjs_require__(105); +__w_pdfjs_require__(106); +__w_pdfjs_require__(107); +__w_pdfjs_require__(108); +__w_pdfjs_require__(110); +var path = __w_pdfjs_require__(43); +module.exports = path.Promise; + +/***/ }), +/* 85 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(9); +var getPrototypeOf = __w_pdfjs_require__(69); +var setPrototypeOf = __w_pdfjs_require__(72); +var create = __w_pdfjs_require__(61); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var createPropertyDescriptor = __w_pdfjs_require__(15); +var iterate = __w_pdfjs_require__(75); +var $AggregateError = function AggregateError(errors, message) { + var that = this; + if (!(that instanceof $AggregateError)) + return new $AggregateError(errors, message); + if (setPrototypeOf) { + that = setPrototypeOf(new Error(undefined), getPrototypeOf(that)); + } + if (message !== undefined) + createNonEnumerableProperty(that, 'message', String(message)); + var errorsArray = []; + iterate(errors, errorsArray.push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; +$AggregateError.prototype = create(Error.prototype, { + constructor: createPropertyDescriptor(5, $AggregateError), + message: createPropertyDescriptor(5, ''), + name: createPropertyDescriptor(5, 'AggregateError') +}); +$({ global: true }, { AggregateError: $AggregateError }); + +/***/ }), +/* 86 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(81); +var redefine = __w_pdfjs_require__(29); +var toString = __w_pdfjs_require__(87); +if (!TO_STRING_TAG_SUPPORT) { + redefine(Object.prototype, 'toString', toString, { unsafe: true }); +} + +/***/ }), +/* 87 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(81); +var classof = __w_pdfjs_require__(80); +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + +/***/ }), +/* 88 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(9); +var IS_PURE = __w_pdfjs_require__(37); +var global = __w_pdfjs_require__(10); +var getBuiltIn = __w_pdfjs_require__(42); +var NativePromise = __w_pdfjs_require__(89); +var redefine = __w_pdfjs_require__(29); +var redefineAll = __w_pdfjs_require__(90); +var setPrototypeOf = __w_pdfjs_require__(72); +var setToStringTag = __w_pdfjs_require__(71); +var setSpecies = __w_pdfjs_require__(91); +var isObject = __w_pdfjs_require__(21); +var aFunction = __w_pdfjs_require__(78); +var anInstance = __w_pdfjs_require__(92); +var inspectSource = __w_pdfjs_require__(31); +var iterate = __w_pdfjs_require__(75); +var checkCorrectnessOfIteration = __w_pdfjs_require__(93); +var speciesConstructor = __w_pdfjs_require__(94); +var task = __w_pdfjs_require__(95).set; +var microtask = __w_pdfjs_require__(98); +var promiseResolve = __w_pdfjs_require__(100); +var hostReportErrors = __w_pdfjs_require__(102); +var newPromiseCapabilityModule = __w_pdfjs_require__(101); +var perform = __w_pdfjs_require__(103); +var InternalStateModule = __w_pdfjs_require__(33); +var isForced = __w_pdfjs_require__(52); +var wellKnownSymbol = __w_pdfjs_require__(56); +var IS_BROWSER = __w_pdfjs_require__(104); +var IS_NODE = __w_pdfjs_require__(97); +var V8_VERSION = __w_pdfjs_require__(58); +var SPECIES = wellKnownSymbol('species'); +var PROMISE = 'Promise'; +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var NativePromisePrototype = NativePromise && NativePromise.prototype; +var PromiseConstructor = NativePromise; +var PromiseConstructorPrototype = NativePromisePrototype; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function'; +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var SUBCLASSING = false; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; +var FORCED = isForced(PROMISE, function () { + var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) + return true; + if (IS_PURE && !PromiseConstructorPrototype['finally']) + return true; + if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) + return false; + var promise = new PromiseConstructor(function (resolve) { + resolve(1); + }); + var FakePromise = function (exec) { + exec(function () { + }, function () { + }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { + }) instanceof FakePromise; + if (!SUBCLASSING) + return true; + return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; +}); +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 (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(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(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 (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) + handler(event); + else if (name === UNHANDLED_REJECTION) + hostReportErrors('Unhandled promise rejection', reason); +}; +var onUnhandled = function (state) { + task.call(global, function () { + var promise = state.facade; + 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 (state) { + task.call(global, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else + dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; +var internalReject = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; +var internalResolve = function (state, value, unwrap) { + if (state.done) + return; + state.done = true; + if (unwrap) + state = unwrap; + try { + if (state.facade === 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, wrapper, state), bind(internalReject, wrapper, state)); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ 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, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + PromiseConstructorPrototype = PromiseConstructor.prototype; + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: [], + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromiseConstructorPrototype, { + 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(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, state); + this.reject = bind(internalReject, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C); + }; + if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + if (!SUBCLASSING) { + redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + nativeThen.call(that, resolve, reject); + }).then(onFulfilled, onRejected); + }, { unsafe: true }); + redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true }); + } + try { + delete NativePromisePrototype.constructor; + } catch (error) { + } + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype); + } + } +} +$({ + global: true, + wrap: true, + forced: FORCED +}, { Promise: PromiseConstructor }); +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); +PromiseWrapper = getBuiltIn(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; + } +}); + +/***/ }), +/* 89 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +module.exports = global.Promise; + +/***/ }), +/* 90 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var redefine = __w_pdfjs_require__(29); +module.exports = function (target, src, options) { + for (var key in src) + redefine(target, key, src[key], options); + return target; +}; + +/***/ }), +/* 91 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var getBuiltIn = __w_pdfjs_require__(42); +var definePropertyModule = __w_pdfjs_require__(27); +var wellKnownSymbol = __w_pdfjs_require__(56); +var DESCRIPTORS = __w_pdfjs_require__(12); +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; + } + }); + } +}; + +/***/ }), +/* 92 */ +/***/ ((module) => { + +module.exports = function (it, Constructor, name) { + if (!(it instanceof Constructor)) { + throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); + } + return it; +}; + +/***/ }), +/* 93 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var wellKnownSymbol = __w_pdfjs_require__(56); +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; +}; + +/***/ }), +/* 94 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(28); +var aFunction = __w_pdfjs_require__(78); +var wellKnownSymbol = __w_pdfjs_require__(56); +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); +}; + +/***/ }), +/* 95 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var fails = __w_pdfjs_require__(13); +var bind = __w_pdfjs_require__(77); +var html = __w_pdfjs_require__(64); +var createElement = __w_pdfjs_require__(25); +var IS_IOS = __w_pdfjs_require__(96); +var IS_NODE = __w_pdfjs_require__(97); +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 (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + } else if (MessageChannel && !IS_IOS) { + 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 && location && location.protocol !== 'file:' && !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 +}; + +/***/ }), +/* 96 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(59); +module.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent); + +/***/ }), +/* 97 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var classof = __w_pdfjs_require__(18); +var global = __w_pdfjs_require__(10); +module.exports = classof(global.process) == 'process'; + +/***/ }), +/* 98 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f; +var macrotask = __w_pdfjs_require__(95).set; +var IS_IOS = __w_pdfjs_require__(96); +var IS_WEBOS_WEBKIT = __w_pdfjs_require__(99); +var IS_NODE = __w_pdfjs_require__(97); +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var document = global.document; +var process = global.process; +var Promise = global.Promise; +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_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + 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); + promise.constructor = Promise; + then = promise.then; + notify = function () { + then.call(promise, flush); + }; + } else if (IS_NODE) { + notify = function () { + process.nextTick(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; +}; + +/***/ }), +/* 99 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var userAgent = __w_pdfjs_require__(59); +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + +/***/ }), +/* 100 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var anObject = __w_pdfjs_require__(28); +var isObject = __w_pdfjs_require__(21); +var newPromiseCapability = __w_pdfjs_require__(101); +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; +}; + +/***/ }), +/* 101 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var aFunction = __w_pdfjs_require__(78); +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); +}; + +/***/ }), +/* 102 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +module.exports = function (a, b) { + var console = global.console; + if (console && console.error) { + arguments.length === 1 ? console.error(a) : console.error(a, b); + } +}; + +/***/ }), +/* 103 */ +/***/ ((module) => { + +module.exports = function (exec) { + try { + return { + error: false, + value: exec() + }; + } catch (error) { + return { + error: true, + value: error + }; + } +}; + +/***/ }), +/* 104 */ +/***/ ((module) => { + +module.exports = typeof window == 'object'; + +/***/ }), +/* 105 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(9); +var aFunction = __w_pdfjs_require__(78); +var newPromiseCapabilityModule = __w_pdfjs_require__(101); +var perform = __w_pdfjs_require__(103); +var iterate = __w_pdfjs_require__(75); +$({ + 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 (error) { + if (alreadyCalled) + return; + alreadyCalled = true; + values[index] = { + status: 'rejected', + reason: error + }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 106 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(9); +var aFunction = __w_pdfjs_require__(78); +var getBuiltIn = __w_pdfjs_require__(42); +var newPromiseCapabilityModule = __w_pdfjs_require__(101); +var perform = __w_pdfjs_require__(103); +var iterate = __w_pdfjs_require__(75); +var PROMISE_ANY_ERROR = 'No one promise resolved'; +$({ + target: 'Promise', + stat: true +}, { + any: function any(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 errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + errors.push(undefined); + remaining++; + promiseResolve.call(C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) + return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) + return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) + reject(result.value); + return capability.promise; + } +}); + +/***/ }), +/* 107 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var $ = __w_pdfjs_require__(9); +var IS_PURE = __w_pdfjs_require__(37); +var NativePromise = __w_pdfjs_require__(89); +var fails = __w_pdfjs_require__(13); +var getBuiltIn = __w_pdfjs_require__(42); +var speciesConstructor = __w_pdfjs_require__(94); +var promiseResolve = __w_pdfjs_require__(100); +var redefine = __w_pdfjs_require__(29); +var NON_GENERIC = !!NativePromise && fails(function () { + NativePromise.prototype['finally'].call({ + then: function () { + } + }, function () { + }); +}); +$({ + target: 'Promise', + proto: true, + real: true, + forced: NON_GENERIC +}, { + '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') { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromise.prototype['finally'] !== method) { + redefine(NativePromise.prototype, 'finally', method, { unsafe: true }); + } +} + +/***/ }), +/* 108 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +"use strict"; + +var charAt = __w_pdfjs_require__(109).charAt; +var InternalStateModule = __w_pdfjs_require__(33); +var defineIterator = __w_pdfjs_require__(66); +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 + }; +}); + +/***/ }), +/* 109 */ +/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var toInteger = __w_pdfjs_require__(48); +var requireObjectCoercible = __w_pdfjs_require__(19); +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) +}; + +/***/ }), +/* 110 */ +/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => { + +var global = __w_pdfjs_require__(10); +var DOMIterables = __w_pdfjs_require__(111); +var ArrayIteratorMethods = __w_pdfjs_require__(54); +var createNonEnumerableProperty = __w_pdfjs_require__(26); +var wellKnownSymbol = __w_pdfjs_require__(56); +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 { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + if (!CollectionPrototype[TO_STRING_TAG]) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + if (DOMIterables[COLLECTION_NAME]) + for (var METHOD_NAME in ArrayIteratorMethods) { + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) + try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +} + +/***/ }), +/* 111 */ +/***/ ((module) => { + +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 +}; + +/***/ }), +/* 112 */ +/***/ (function(__unused_webpack_module, exports) { + +(function (global, factory) { + true ? factory(exports) : 0; +}(this, function (exports) { + 'use strict'; + var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) { + return "Symbol(" + description + ")"; + }; + function noop() { + return undefined; + } + function getGlobals() { + if (typeof self !== 'undefined') { + return self; + } else if (typeof window !== 'undefined') { + return window; + } else if (typeof global !== 'undefined') { + return global; + } + return undefined; + } + var globals = getGlobals(); + function typeIsObject(x) { + return typeof x === 'object' && x !== null || typeof x === 'function'; + } + var rethrowAssertionErrorRejection = noop; + var originalPromise = Promise; + var originalPromiseThen = Promise.prototype.then; + var originalPromiseResolve = Promise.resolve.bind(originalPromise); + var originalPromiseReject = Promise.reject.bind(originalPromise); + function newPromise(executor) { + return new originalPromise(executor); + } + function promiseResolvedWith(value) { + return originalPromiseResolve(value); + } + function promiseRejectedWith(reason) { + return originalPromiseReject(reason); + } + function PerformPromiseThen(promise, onFulfilled, onRejected) { + return originalPromiseThen.call(promise, onFulfilled, onRejected); + } + function uponPromise(promise, onFulfilled, onRejected) { + PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection); + } + function uponFulfillment(promise, onFulfilled) { + uponPromise(promise, onFulfilled); + } + function uponRejection(promise, onRejected) { + uponPromise(promise, undefined, onRejected); + } + function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) { + return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler); + } + function setPromiseIsHandledToTrue(promise) { + PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection); + } + var queueMicrotask = function () { + var globalQueueMicrotask = globals && globals.queueMicrotask; + if (typeof globalQueueMicrotask === 'function') { + return globalQueueMicrotask; + } + var resolvedPromise = promiseResolvedWith(undefined); + return function (fn) { + return PerformPromiseThen(resolvedPromise, fn); + }; + }(); + function reflectCall(F, V, args) { + if (typeof F !== 'function') { + throw new TypeError('Argument is not a function'); + } + return Function.prototype.apply.call(F, V, args); + } + function promiseCall(F, V, args) { + try { + return promiseResolvedWith(reflectCall(F, V, args)); + } catch (value) { + return promiseRejectedWith(value); + } + } + 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: false, + 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 ReadableStreamReaderGenericInitialize(reader, stream) { + 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 = newPromise(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) { + if (reader._closedPromise_reject === undefined) { + return; + } + setPromiseIsHandledToTrue(reader._closedPromise); + reader._closedPromise_reject(reason); + reader._closedPromise_resolve = undefined; + reader._closedPromise_reject = undefined; + } + function defaultReaderClosedPromiseResetToRejected(reader, reason) { + defaultReaderClosedPromiseInitializeAsRejected(reader, reason); + } + function defaultReaderClosedPromiseResolve(reader) { + if (reader._closedPromise_resolve === undefined) { + return; + } + reader._closedPromise_resolve(undefined); + reader._closedPromise_resolve = undefined; + reader._closedPromise_reject = undefined; + } + var AbortSteps = SymbolPolyfill('[[AbortSteps]]'); + var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]'); + var CancelSteps = SymbolPolyfill('[[CancelSteps]]'); + var PullSteps = SymbolPolyfill('[[PullSteps]]'); + var NumberIsFinite = Number.isFinite || function (x) { + return typeof x === 'number' && isFinite(x); + }; + var MathTrunc = Math.trunc || function (v) { + return v < 0 ? Math.ceil(v) : Math.floor(v); + }; + function isDictionary(x) { + return typeof x === 'object' || typeof x === 'function'; + } + function assertDictionary(obj, context) { + if (obj !== undefined && !isDictionary(obj)) { + throw new TypeError(context + " is not an object."); + } + } + function assertFunction(x, context) { + if (typeof x !== 'function') { + throw new TypeError(context + " is not a function."); + } + } + function isObject(x) { + return typeof x === 'object' && x !== null || typeof x === 'function'; + } + function assertObject(x, context) { + if (!isObject(x)) { + throw new TypeError(context + " is not an object."); + } + } + function assertRequiredArgument(x, position, context) { + if (x === undefined) { + throw new TypeError("Parameter " + position + " is required in '" + context + "'."); + } + } + function assertRequiredField(x, field, context) { + if (x === undefined) { + throw new TypeError(field + " is required in '" + context + "'."); + } + } + function convertUnrestrictedDouble(value) { + return Number(value); + } + function censorNegativeZero(x) { + return x === 0 ? 0 : x; + } + function integerPart(x) { + return censorNegativeZero(MathTrunc(x)); + } + function convertUnsignedLongLongWithEnforceRange(value, context) { + var lowerBound = 0; + var upperBound = Number.MAX_SAFE_INTEGER; + var x = Number(value); + x = censorNegativeZero(x); + if (!NumberIsFinite(x)) { + throw new TypeError(context + " is not a finite number"); + } + x = integerPart(x); + if (x < lowerBound || x > upperBound) { + throw new TypeError(context + " is outside the accepted range of " + lowerBound + " to " + upperBound + ", inclusive"); + } + if (!NumberIsFinite(x) || x === 0) { + return 0; + } + return x; + } + function assertReadableStream(x, context) { + if (!IsReadableStream(x)) { + throw new TypeError(context + " is not a ReadableStream."); + } + } + function AcquireReadableStreamDefaultReader(stream) { + return new ReadableStreamDefaultReader(stream); + } + function ReadableStreamAddReadRequest(stream, readRequest) { + stream._reader._readRequests.push(readRequest); + } + function ReadableStreamFulfillReadRequest(stream, chunk, done) { + var reader = stream._reader; + var readRequest = reader._readRequests.shift(); + if (done) { + readRequest._closeSteps(); + } else { + readRequest._chunkSteps(chunk); + } + } + 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) { + assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader'); + assertReadableStream(stream, 'First parameter'); + if (IsReadableStreamLocked(stream)) { + 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 promiseRejectedWith(defaultReaderBrandCheckException('closed')); + } + return this._closedPromise; + }, + enumerable: false, + configurable: true + }); + ReadableStreamDefaultReader.prototype.cancel = function (reason) { + if (reason === void 0) { + reason = undefined; + } + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException('cancel')); + } + if (this._ownerReadableStream === undefined) { + return promiseRejectedWith(readerLockException('cancel')); + } + return ReadableStreamReaderGenericCancel(this, reason); + }; + ReadableStreamDefaultReader.prototype.read = function () { + if (!IsReadableStreamDefaultReader(this)) { + return promiseRejectedWith(defaultReaderBrandCheckException('read')); + } + if (this._ownerReadableStream === undefined) { + return promiseRejectedWith(readerLockException('read from')); + } + var resolvePromise; + var rejectPromise; + var promise = newPromise(function (resolve, reject) { + resolvePromise = resolve; + rejectPromise = reject; + }); + var readRequest = { + _chunkSteps: function (chunk) { + return resolvePromise({ + value: chunk, + done: false + }); + }, + _closeSteps: function () { + return resolvePromise({ + value: undefined, + done: true + }); + }, + _errorSteps: function (e) { + return rejectPromise(e); + } + }; + ReadableStreamDefaultReaderRead(this, readRequest); + return promise; + }; + 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; + }(); + Object.defineProperties(ReadableStreamDefaultReader.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, { + value: 'ReadableStreamDefaultReader', + configurable: true + }); + } + function IsReadableStreamDefaultReader(x) { + if (!typeIsObject(x)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) { + return false; + } + return true; + } + function ReadableStreamDefaultReaderRead(reader, readRequest) { + var stream = reader._ownerReadableStream; + stream._disturbed = true; + if (stream._state === 'closed') { + readRequest._closeSteps(); + } else if (stream._state === 'errored') { + readRequest._errorSteps(stream._storedError); + } else { + stream._readableStreamController[PullSteps](readRequest); + } + } + 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 ReadableStreamAsyncIteratorImpl = function () { + function ReadableStreamAsyncIteratorImpl(reader, preventCancel) { + this._ongoingPromise = undefined; + this._isFinished = false; + this._reader = reader; + this._preventCancel = preventCancel; + } + ReadableStreamAsyncIteratorImpl.prototype.next = function () { + var _this = this; + var nextSteps = function () { + return _this._nextSteps(); + }; + this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps(); + return this._ongoingPromise; + }; + ReadableStreamAsyncIteratorImpl.prototype.return = function (value) { + var _this = this; + var returnSteps = function () { + return _this._returnSteps(value); + }; + return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps(); + }; + ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () { + var _this = this; + if (this._isFinished) { + return Promise.resolve({ + value: undefined, + done: true + }); + } + var reader = this._reader; + if (reader._ownerReadableStream === undefined) { + return promiseRejectedWith(readerLockException('iterate')); + } + var resolvePromise; + var rejectPromise; + var promise = newPromise(function (resolve, reject) { + resolvePromise = resolve; + rejectPromise = reject; + }); + var readRequest = { + _chunkSteps: function (chunk) { + _this._ongoingPromise = undefined; + queueMicrotask(function () { + return resolvePromise({ + value: chunk, + done: false + }); + }); + }, + _closeSteps: function () { + _this._ongoingPromise = undefined; + _this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + resolvePromise({ + value: undefined, + done: true + }); + }, + _errorSteps: function (reason) { + _this._ongoingPromise = undefined; + _this._isFinished = true; + ReadableStreamReaderGenericRelease(reader); + rejectPromise(reason); + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promise; + }; + ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) { + if (this._isFinished) { + return Promise.resolve({ + value: value, + done: true + }); + } + this._isFinished = true; + var reader = this._reader; + if (reader._ownerReadableStream === undefined) { + return promiseRejectedWith(readerLockException('finish iterating')); + } + if (!this._preventCancel) { + var result = ReadableStreamReaderGenericCancel(reader, value); + ReadableStreamReaderGenericRelease(reader); + return transformPromiseWith(result, function () { + return { + value: value, + done: true + }; + }); + } + ReadableStreamReaderGenericRelease(reader); + return promiseResolvedWith({ + value: value, + done: true + }); + }; + return ReadableStreamAsyncIteratorImpl; + }(); + var ReadableStreamAsyncIteratorPrototype = { + next: function () { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next')); + } + return this._asyncIteratorImpl.next(); + }, + return: function (value) { + if (!IsReadableStreamAsyncIterator(this)) { + return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return')); + } + return this._asyncIteratorImpl.return(value); + } + }; + if (AsyncIteratorPrototype !== undefined) { + Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype); + } + function AcquireReadableStreamAsyncIterator(stream, preventCancel) { + var reader = AcquireReadableStreamDefaultReader(stream); + var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel); + var iterator = Object.create(ReadableStreamAsyncIteratorPrototype); + iterator._asyncIteratorImpl = impl; + return iterator; + } + function IsReadableStreamAsyncIterator(x) { + if (!typeIsObject(x)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) { + return false; + } + return true; + } + function streamAsyncIteratorBrandCheckException(name) { + return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator"); + } + var NumberIsNaN = Number.isNaN || function (x) { + return x !== x; + }; + function IsFiniteNonNegativeNumber(v) { + if (!IsNonNegativeNumber(v)) { + 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 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; + } + function CreateArrayFromList(elements) { + return elements.slice(); + } + function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) { + new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset); + } + function TransferArrayBuffer(O) { + return O; + } + function IsDetachedBuffer(O) { + return false; + } + var ReadableStreamBYOBRequest = function () { + function ReadableStreamBYOBRequest() { + throw new TypeError('Illegal constructor'); + } + Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", { + get: function () { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException('view'); + } + return this._view; + }, + enumerable: false, + configurable: true + }); + ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException('respond'); + } + assertRequiredArgument(bytesWritten, 1, 'respond'); + bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter'); + if (this._associatedReadableByteStreamController === undefined) { + throw new TypeError('This BYOB request has been invalidated'); + } + if (IsDetachedBuffer(this._view.buffer)); + ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten); + }; + ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) { + if (!IsReadableStreamBYOBRequest(this)) { + throw byobRequestBrandCheckException('respondWithNewView'); + } + assertRequiredArgument(view, 1, 'respondWithNewView'); + if (!ArrayBuffer.isView(view)) { + throw new TypeError('You can only respond with array buffer views'); + } + if (view.byteLength === 0) { + throw new TypeError('chunk must have non-zero byteLength'); + } + if (view.buffer.byteLength === 0) { + throw new TypeError("chunk's buffer must have non-zero byteLength"); + } + if (this._associatedReadableByteStreamController === undefined) { + throw new TypeError('This BYOB request has been invalidated'); + } + ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view); + }; + return ReadableStreamBYOBRequest; + }(); + Object.defineProperties(ReadableStreamBYOBRequest.prototype, { + respond: { enumerable: true }, + respondWithNewView: { enumerable: true }, + view: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, { + value: 'ReadableStreamBYOBRequest', + configurable: true + }); + } + var ReadableByteStreamController = function () { + function ReadableByteStreamController() { + throw new TypeError('Illegal constructor'); + } + Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", { + get: function () { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException('byobRequest'); + } + if (this._byobRequest === null && 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: false, + configurable: true + }); + Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", { + get: function () { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException('desiredSize'); + } + return ReadableByteStreamControllerGetDesiredSize(this); + }, + enumerable: false, + configurable: true + }); + ReadableByteStreamController.prototype.close = function () { + if (!IsReadableByteStreamController(this)) { + throw byteStreamControllerBrandCheckException('close'); + } + if (this._closeRequested) { + 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)) { + throw byteStreamControllerBrandCheckException('enqueue'); + } + assertRequiredArgument(chunk, 1, 'enqueue'); + if (!ArrayBuffer.isView(chunk)) { + throw new TypeError('chunk must be an array buffer view'); + } + if (chunk.byteLength === 0) { + throw new TypeError('chunk must have non-zero byteLength'); + } + if (chunk.buffer.byteLength === 0) { + throw new TypeError("chunk's buffer must have non-zero byteLength"); + } + if (this._closeRequested) { + 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"); + } + ReadableByteStreamControllerEnqueue(this, chunk); + }; + ReadableByteStreamController.prototype.error = function (e) { + if (e === void 0) { + e = undefined; + } + if (!IsReadableByteStreamController(this)) { + 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 (readRequest) { + var stream = this._controlledReadableByteStream; + if (this._queueTotalSize > 0) { + var entry = this._queue.shift(); + this._queueTotalSize -= entry.byteLength; + ReadableByteStreamControllerHandleQueueDrain(this); + var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength); + readRequest._chunkSteps(view); + return; + } + var autoAllocateChunkSize = this._autoAllocateChunkSize; + if (autoAllocateChunkSize !== undefined) { + var buffer = void 0; + try { + buffer = new ArrayBuffer(autoAllocateChunkSize); + } catch (bufferE) { + readRequest._errorSteps(bufferE); + return; + } + var pullIntoDescriptor = { + buffer: buffer, + byteOffset: 0, + byteLength: autoAllocateChunkSize, + bytesFilled: 0, + elementSize: 1, + viewConstructor: Uint8Array, + readerType: 'default' + }; + this._pendingPullIntos.push(pullIntoDescriptor); + } + ReadableStreamAddReadRequest(stream, readRequest); + ReadableByteStreamControllerCallPullIfNeeded(this); + }; + return ReadableByteStreamController; + }(); + Object.defineProperties(ReadableByteStreamController.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + byobRequest: { enumerable: true }, + desiredSize: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, { + value: 'ReadableByteStreamController', + configurable: true + }); + } + 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) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + var pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, function () { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + }, function (e) { + ReadableByteStreamControllerError(controller, e); + }); + } + 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.viewConstructor(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; + CopyDataBlockBytes(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) { + ReadableByteStreamControllerClearAlgorithms(controller); + ReadableStreamClose(controller._controlledReadableByteStream); + } else { + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + } + function ReadableByteStreamControllerInvalidateBYOBRequest(controller) { + if (controller._byobRequest === null) { + return; + } + controller._byobRequest._associatedReadableByteStreamController = undefined; + controller._byobRequest._view = null; + controller._byobRequest = null; + } + function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) { + while (controller._pendingPullIntos.length > 0) { + if (controller._queueTotalSize === 0) { + return; + } + var pullIntoDescriptor = controller._pendingPullIntos.peek(); + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + ReadableByteStreamControllerShiftPendingPullInto(controller); + ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor); + } + } + } + function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) { + 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, + viewConstructor: ctor, + readerType: 'byob' + }; + if (controller._pendingPullIntos.length > 0) { + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream, readIntoRequest); + return; + } + if (stream._state === 'closed') { + var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0); + readIntoRequest._closeSteps(emptyView); + return; + } + if (controller._queueTotalSize > 0) { + if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) { + var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor); + ReadableByteStreamControllerHandleQueueDrain(controller); + readIntoRequest._chunkSteps(filledView); + return; + } + if (controller._closeRequested) { + var e = new TypeError('Insufficient bytes to fill elements in the given buffer'); + ReadableByteStreamControllerError(controller, e); + readIntoRequest._errorSteps(e); + return; + } + } + controller._pendingPullIntos.push(pullIntoDescriptor); + ReadableStreamAddReadIntoRequest(stream, readIntoRequest); + ReadableByteStreamControllerCallPullIfNeeded(controller); + } + function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) { + firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer); + var stream = controller._controlledReadableByteStream; + if (ReadableStreamHasBYOBReader(stream)) { + 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 state = controller._controlledReadableByteStream._state; + if (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) { + return false; + } + if (!controller._started) { + return false; + } + if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) { + return true; + } + if (ReadableStreamHasBYOBReader(stream) && 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._closeRequested || stream._state !== 'readable') { + return; + } + 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; + if (controller._closeRequested || stream._state !== 'readable') { + return; + } + var buffer = chunk.buffer; + var byteOffset = chunk.byteOffset; + var byteLength = chunk.byteLength; + var transferredBuffer = TransferArrayBuffer(buffer); + if (ReadableStreamHasDefaultReader(stream)) { + 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)) { + 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 state = controller._controlledReadableByteStream._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)) { + 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 = null; + controller._queue = controller._queueTotalSize = undefined; + ResetQueue(controller); + controller._closeRequested = false; + controller._started = false; + controller._strategyHWM = highWaterMark; + controller._pullAlgorithm = pullAlgorithm; + controller._cancelAlgorithm = cancelAlgorithm; + controller._autoAllocateChunkSize = autoAllocateChunkSize; + controller._pendingPullIntos = new SimpleQueue(); + stream._readableStreamController = controller; + var startResult = startAlgorithm(); + uponPromise(promiseResolvedWith(startResult), function () { + controller._started = true; + ReadableByteStreamControllerCallPullIfNeeded(controller); + }, function (r) { + ReadableByteStreamControllerError(controller, r); + }); + } + function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) { + var controller = Object.create(ReadableByteStreamController.prototype); + var startAlgorithm = function () { + return undefined; + }; + var pullAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + var cancelAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + if (underlyingByteSource.start !== undefined) { + startAlgorithm = function () { + return underlyingByteSource.start(controller); + }; + } + if (underlyingByteSource.pull !== undefined) { + pullAlgorithm = function () { + return underlyingByteSource.pull(controller); + }; + } + if (underlyingByteSource.cancel !== undefined) { + cancelAlgorithm = function (reason) { + return underlyingByteSource.cancel(reason); + }; + } + var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize; + if (autoAllocateChunkSize === 0) { + throw new TypeError('autoAllocateChunkSize must be greater than 0'); + } + 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) { + return new ReadableStreamBYOBReader(stream); + } + function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) { + stream._reader._readIntoRequests.push(readIntoRequest); + } + function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) { + var reader = stream._reader; + var readIntoRequest = reader._readIntoRequests.shift(); + if (done) { + readIntoRequest._closeSteps(chunk); + } else { + readIntoRequest._chunkSteps(chunk); + } + } + 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) { + assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader'); + assertReadableStream(stream, 'First parameter'); + if (IsReadableStreamLocked(stream)) { + throw new TypeError('This stream has already been locked for exclusive reading by another reader'); + } + if (!IsReadableByteStreamController(stream._readableStreamController)) { + throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source'); + } + ReadableStreamReaderGenericInitialize(this, stream); + this._readIntoRequests = new SimpleQueue(); + } + Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", { + get: function () { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException('closed')); + } + return this._closedPromise; + }, + enumerable: false, + configurable: true + }); + ReadableStreamBYOBReader.prototype.cancel = function (reason) { + if (reason === void 0) { + reason = undefined; + } + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException('cancel')); + } + if (this._ownerReadableStream === undefined) { + return promiseRejectedWith(readerLockException('cancel')); + } + return ReadableStreamReaderGenericCancel(this, reason); + }; + ReadableStreamBYOBReader.prototype.read = function (view) { + if (!IsReadableStreamBYOBReader(this)) { + return promiseRejectedWith(byobReaderBrandCheckException('read')); + } + if (!ArrayBuffer.isView(view)) { + return promiseRejectedWith(new TypeError('view must be an array buffer view')); + } + if (view.byteLength === 0) { + return promiseRejectedWith(new TypeError('view must have non-zero byteLength')); + } + if (view.buffer.byteLength === 0) { + return promiseRejectedWith(new TypeError("view's buffer must have non-zero byteLength")); + } + if (this._ownerReadableStream === undefined) { + return promiseRejectedWith(readerLockException('read from')); + } + var resolvePromise; + var rejectPromise; + var promise = newPromise(function (resolve, reject) { + resolvePromise = resolve; + rejectPromise = reject; + }); + var readIntoRequest = { + _chunkSteps: function (chunk) { + return resolvePromise({ + value: chunk, + done: false + }); + }, + _closeSteps: function (chunk) { + return resolvePromise({ + value: chunk, + done: true + }); + }, + _errorSteps: function (e) { + return rejectPromise(e); + } + }; + ReadableStreamBYOBReaderRead(this, view, readIntoRequest); + return promise; + }; + 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; + }(); + Object.defineProperties(ReadableStreamBYOBReader.prototype, { + cancel: { enumerable: true }, + read: { enumerable: true }, + releaseLock: { enumerable: true }, + closed: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, { + value: 'ReadableStreamBYOBReader', + configurable: true + }); + } + function IsReadableStreamBYOBReader(x) { + if (!typeIsObject(x)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) { + return false; + } + return true; + } + function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) { + var stream = reader._ownerReadableStream; + stream._disturbed = true; + if (stream._state === 'errored') { + readIntoRequest._errorSteps(stream._storedError); + } else { + ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest); + } + } + function byobReaderBrandCheckException(name) { + return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader"); + } + function ExtractHighWaterMark(strategy, defaultHWM) { + var highWaterMark = strategy.highWaterMark; + if (highWaterMark === undefined) { + return defaultHWM; + } + if (NumberIsNaN(highWaterMark) || highWaterMark < 0) { + throw new RangeError('Invalid highWaterMark'); + } + return highWaterMark; + } + function ExtractSizeAlgorithm(strategy) { + var size = strategy.size; + if (!size) { + return function () { + return 1; + }; + } + return size; + } + function convertQueuingStrategy(init, context) { + assertDictionary(init, context); + var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + var size = init === null || init === void 0 ? void 0 : init.size; + return { + highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark), + size: size === undefined ? undefined : convertQueuingStrategySize(size, context + " has member 'size' that") + }; + } + function convertQueuingStrategySize(fn, context) { + assertFunction(fn, context); + return function (chunk) { + return convertUnrestrictedDouble(fn(chunk)); + }; + } + function convertUnderlyingSink(original, context) { + assertDictionary(original, context); + var abort = original === null || original === void 0 ? void 0 : original.abort; + var close = original === null || original === void 0 ? void 0 : original.close; + var start = original === null || original === void 0 ? void 0 : original.start; + var type = original === null || original === void 0 ? void 0 : original.type; + var write = original === null || original === void 0 ? void 0 : original.write; + return { + abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, context + " has member 'abort' that"), + close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, context + " has member 'close' that"), + start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, context + " has member 'start' that"), + write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, context + " has member 'write' that"), + type: type + }; + } + function convertUnderlyingSinkAbortCallback(fn, original, context) { + assertFunction(fn, context); + return function (reason) { + return promiseCall(fn, original, [reason]); + }; + } + function convertUnderlyingSinkCloseCallback(fn, original, context) { + assertFunction(fn, context); + return function () { + return promiseCall(fn, original, []); + }; + } + function convertUnderlyingSinkStartCallback(fn, original, context) { + assertFunction(fn, context); + return function (controller) { + return reflectCall(fn, original, [controller]); + }; + } + function convertUnderlyingSinkWriteCallback(fn, original, context) { + assertFunction(fn, context); + return function (chunk, controller) { + return promiseCall(fn, original, [ + chunk, + controller + ]); + }; + } + function assertWritableStream(x, context) { + if (!IsWritableStream(x)) { + throw new TypeError(context + " is not a WritableStream."); + } + } + var WritableStream = function () { + function WritableStream(rawUnderlyingSink, rawStrategy) { + if (rawUnderlyingSink === void 0) { + rawUnderlyingSink = {}; + } + if (rawStrategy === void 0) { + rawStrategy = {}; + } + if (rawUnderlyingSink === undefined) { + rawUnderlyingSink = null; + } else { + assertObject(rawUnderlyingSink, 'First parameter'); + } + var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter'); + var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter'); + InitializeWritableStream(this); + var type = underlyingSink.type; + if (type !== undefined) { + throw new RangeError('Invalid type is specified'); + } + var sizeAlgorithm = ExtractSizeAlgorithm(strategy); + var highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm); + } + Object.defineProperty(WritableStream.prototype, "locked", { + get: function () { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2('locked'); + } + return IsWritableStreamLocked(this); + }, + enumerable: false, + configurable: true + }); + WritableStream.prototype.abort = function (reason) { + if (reason === void 0) { + reason = undefined; + } + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2('abort')); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer')); + } + return WritableStreamAbort(this, reason); + }; + WritableStream.prototype.close = function () { + if (!IsWritableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$2('close')); + } + if (IsWritableStreamLocked(this)) { + return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer')); + } + if (WritableStreamCloseQueuedOrInFlight(this)) { + return promiseRejectedWith(new TypeError('Cannot close an already-closing stream')); + } + return WritableStreamClose(this); + }; + WritableStream.prototype.getWriter = function () { + if (!IsWritableStream(this)) { + throw streamBrandCheckException$2('getWriter'); + } + return AcquireWritableStreamDefaultWriter(this); + }; + return WritableStream; + }(); + Object.defineProperties(WritableStream.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + getWriter: { enumerable: true }, + locked: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, { + value: 'WritableStream', + configurable: true + }); + } + 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 promiseResolvedWith(undefined); + } + if (stream._pendingAbortRequest !== undefined) { + return stream._pendingAbortRequest._promise; + } + var wasAlreadyErroring = false; + if (state === 'erroring') { + wasAlreadyErroring = true; + reason = undefined; + } + var promise = newPromise(function (resolve, reject) { + stream._pendingAbortRequest = { + _promise: undefined, + _resolve: resolve, + _reject: reject, + _reason: reason, + _wasAlreadyErroring: wasAlreadyErroring + }; + }); + stream._pendingAbortRequest._promise = promise; + if (!wasAlreadyErroring) { + WritableStreamStartErroring(stream, reason); + } + return promise; + } + function WritableStreamClose(stream) { + var state = stream._state; + if (state === 'closed' || state === 'errored') { + return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed")); + } + var promise = newPromise(function (resolve, reject) { + var closeRequest = { + _resolve: resolve, + _reject: reject + }; + stream._closeRequest = closeRequest; + }); + var writer = stream._writer; + if (writer !== undefined && stream._backpressure && state === 'writable') { + defaultWriterReadyPromiseResolve(writer); + } + WritableStreamDefaultControllerClose(stream._writableStreamController); + return promise; + } + function WritableStreamAddWriteRequest(stream) { + var promise = newPromise(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) && controller._started) { + 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) { + abortRequest._reject(storedError); + WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream); + return; + } + var promise = stream._writableStreamController[AbortSteps](abortRequest._reason); + uponPromise(promise, 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) { + defaultWriterReadyPromiseReset(writer); + } else { + defaultWriterReadyPromiseResolve(writer); + } + } + stream._backpressure = backpressure; + } + var WritableStreamDefaultWriter = function () { + function WritableStreamDefaultWriter(stream) { + assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter'); + assertWritableStream(stream, 'First parameter'); + if (IsWritableStreamLocked(stream)) { + 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) && stream._backpressure) { + 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)) { + return promiseRejectedWith(defaultWriterBrandCheckException('closed')); + } + return this._closedPromise; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", { + get: function () { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException('desiredSize'); + } + if (this._ownerWritableStream === undefined) { + throw defaultWriterLockException('desiredSize'); + } + return WritableStreamDefaultWriterGetDesiredSize(this); + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", { + get: function () { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException('ready')); + } + return this._readyPromise; + }, + enumerable: false, + configurable: true + }); + WritableStreamDefaultWriter.prototype.abort = function (reason) { + if (reason === void 0) { + reason = undefined; + } + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException('abort')); + } + if (this._ownerWritableStream === undefined) { + return promiseRejectedWith(defaultWriterLockException('abort')); + } + return WritableStreamDefaultWriterAbort(this, reason); + }; + WritableStreamDefaultWriter.prototype.close = function () { + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException('close')); + } + var stream = this._ownerWritableStream; + if (stream === undefined) { + return promiseRejectedWith(defaultWriterLockException('close')); + } + if (WritableStreamCloseQueuedOrInFlight(stream)) { + return promiseRejectedWith(new TypeError('Cannot close an already-closing stream')); + } + return WritableStreamDefaultWriterClose(this); + }; + WritableStreamDefaultWriter.prototype.releaseLock = function () { + if (!IsWritableStreamDefaultWriter(this)) { + throw defaultWriterBrandCheckException('releaseLock'); + } + var stream = this._ownerWritableStream; + if (stream === undefined) { + return; + } + WritableStreamDefaultWriterRelease(this); + }; + WritableStreamDefaultWriter.prototype.write = function (chunk) { + if (chunk === void 0) { + chunk = undefined; + } + if (!IsWritableStreamDefaultWriter(this)) { + return promiseRejectedWith(defaultWriterBrandCheckException('write')); + } + if (this._ownerWritableStream === undefined) { + return promiseRejectedWith(defaultWriterLockException('write to')); + } + return WritableStreamDefaultWriterWrite(this, chunk); + }; + return WritableStreamDefaultWriter; + }(); + Object.defineProperties(WritableStreamDefaultWriter.prototype, { + abort: { enumerable: true }, + close: { enumerable: true }, + releaseLock: { enumerable: true }, + write: { enumerable: true }, + closed: { enumerable: true }, + desiredSize: { enumerable: true }, + ready: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, { + value: 'WritableStreamDefaultWriter', + configurable: true + }); + } + 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; + return WritableStreamClose(stream); + } + function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) { + var stream = writer._ownerWritableStream; + var state = stream._state; + if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') { + return promiseResolvedWith(undefined); + } + if (state === 'errored') { + return promiseRejectedWith(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 promiseRejectedWith(defaultWriterLockException('write to')); + } + var state = stream._state; + if (state === 'errored') { + return promiseRejectedWith(stream._storedError); + } + if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') { + return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to')); + } + if (state === 'erroring') { + return promiseRejectedWith(stream._storedError); + } + var promise = WritableStreamAddWriteRequest(stream); + WritableStreamDefaultControllerWrite(controller, chunk, chunkSize); + return promise; + } + var closeSentinel = {}; + var WritableStreamDefaultController = function () { + function WritableStreamDefaultController() { + throw new TypeError('Illegal constructor'); + } + WritableStreamDefaultController.prototype.error = function (e) { + if (e === void 0) { + e = undefined; + } + if (!IsWritableStreamDefaultController(this)) { + 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; + }(); + Object.defineProperties(WritableStreamDefaultController.prototype, { error: { enumerable: true } }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, { + value: 'WritableStreamDefaultController', + configurable: true + }); + } + 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 = promiseResolvedWith(startResult); + uponPromise(startPromise, function () { + controller._started = true; + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + }, function (r) { + controller._started = true; + WritableStreamDealWithRejection(stream, r); + }); + } + function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) { + var controller = Object.create(WritableStreamDefaultController.prototype); + var startAlgorithm = function () { + return undefined; + }; + var writeAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + var closeAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + var abortAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + if (underlyingSink.start !== undefined) { + startAlgorithm = function () { + return underlyingSink.start(controller); + }; + } + if (underlyingSink.write !== undefined) { + writeAlgorithm = function (chunk) { + return underlyingSink.write(chunk, controller); + }; + } + if (underlyingSink.close !== undefined) { + closeAlgorithm = function () { + return underlyingSink.close(); + }; + } + if (underlyingSink.abort !== undefined) { + abortAlgorithm = function (reason) { + return underlyingSink.abort(reason); + }; + } + 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, closeSentinel, 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) { + try { + EnqueueValueWithSize(controller, chunk, chunkSize); + } catch (enqueueE) { + WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE); + return; + } + var stream = controller._controlledWritableStream; + if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') { + var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + } + function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) { + var stream = controller._controlledWritableStream; + if (!controller._started) { + return; + } + if (stream._inFlightWriteRequest !== undefined) { + return; + } + var state = stream._state; + if (state === 'erroring') { + WritableStreamFinishErroring(stream); + return; + } + if (controller._queue.length === 0) { + return; + } + var value = PeekQueueValue(controller); + if (value === closeSentinel) { + WritableStreamDefaultControllerProcessClose(controller); + } else { + WritableStreamDefaultControllerProcessWrite(controller, value); + } + } + 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); + uponPromise(sinkClosePromise, function () { + WritableStreamFinishInFlightClose(stream); + }, function (reason) { + WritableStreamFinishInFlightCloseWithError(stream, reason); + }); + } + function WritableStreamDefaultControllerProcessWrite(controller, chunk) { + var stream = controller._controlledWritableStream; + WritableStreamMarkFirstWriteRequestInFlight(stream); + var sinkWritePromise = controller._writeAlgorithm(chunk); + uponPromise(sinkWritePromise, function () { + WritableStreamFinishInFlightWrite(stream); + var state = stream._state; + DequeueValue(controller); + if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') { + var backpressure = WritableStreamDefaultControllerGetBackpressure(controller); + WritableStreamUpdateBackpressure(stream, backpressure); + } + WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller); + }, function (reason) { + if (stream._state === 'writable') { + WritableStreamDefaultControllerClearAlgorithms(controller); + } + WritableStreamFinishInFlightWriteWithError(stream, reason); + }); + } + 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$2(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 = newPromise(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) { + if (writer._closedPromise_reject === undefined) { + return; + } + setPromiseIsHandledToTrue(writer._closedPromise); + 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) { + if (writer._closedPromise_resolve === undefined) { + return; + } + writer._closedPromise_resolve(undefined); + writer._closedPromise_resolve = undefined; + writer._closedPromise_reject = undefined; + writer._closedPromiseState = 'resolved'; + } + function defaultWriterReadyPromiseInitialize(writer) { + writer._readyPromise = newPromise(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) { + if (writer._readyPromise_reject === undefined) { + return; + } + setPromiseIsHandledToTrue(writer._readyPromise); + 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) { + if (writer._readyPromise_resolve === undefined) { + return; + } + writer._readyPromise_resolve(undefined); + writer._readyPromise_resolve = undefined; + writer._readyPromise_reject = undefined; + writer._readyPromiseState = 'fulfilled'; + } + function isAbortSignal(value) { + if (typeof value !== 'object' || value === null) { + return false; + } + try { + return typeof value.aborted === 'boolean'; + } catch (_a) { + return false; + } + } + var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined; + function isDOMExceptionConstructor(ctor) { + if (!(typeof ctor === 'function' || typeof ctor === 'object')) { + return false; + } + try { + new ctor(); + return true; + } catch (_a) { + return false; + } + } + function createDOMExceptionPolyfill() { + var ctor = function DOMException(message, name) { + this.message = message || ''; + this.name = name || 'Error'; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + }; + ctor.prototype = Object.create(Error.prototype); + Object.defineProperty(ctor.prototype, 'constructor', { + value: ctor, + writable: true, + configurable: true + }); + return ctor; + } + var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill(); + function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) { + var reader = AcquireReadableStreamDefaultReader(source); + var writer = AcquireWritableStreamDefaultWriter(dest); + source._disturbed = true; + var shuttingDown = false; + var currentWrite = promiseResolvedWith(undefined); + return newPromise(function (resolve, reject) { + var abortAlgorithm; + if (signal !== undefined) { + abortAlgorithm = function () { + var error = new DOMException$1('Aborted', 'AbortError'); + var actions = []; + if (!preventAbort) { + actions.push(function () { + if (dest._state === 'writable') { + return WritableStreamAbort(dest, error); + } + return promiseResolvedWith(undefined); + }); + } + if (!preventCancel) { + actions.push(function () { + if (source._state === 'readable') { + return ReadableStreamCancel(source, error); + } + return promiseResolvedWith(undefined); + }); + } + shutdownWithAction(function () { + return Promise.all(actions.map(function (action) { + return action(); + })); + }, true, error); + }; + if (signal.aborted) { + abortAlgorithm(); + return; + } + signal.addEventListener('abort', abortAlgorithm); + } + function pipeLoop() { + return newPromise(function (resolveLoop, rejectLoop) { + function next(done) { + if (done) { + resolveLoop(); + } else { + PerformPromiseThen(pipeStep(), next, rejectLoop); + } + } + next(false); + }); + } + function pipeStep() { + if (shuttingDown) { + return promiseResolvedWith(true); + } + return PerformPromiseThen(writer._readyPromise, function () { + return newPromise(function (resolveRead, rejectRead) { + ReadableStreamDefaultReaderRead(reader, { + _chunkSteps: function (chunk) { + currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop); + resolveRead(false); + }, + _closeSteps: function () { + return resolveRead(true); + }, + _errorSteps: rejectRead + }); + }); + }); + } + isOrBecomesErrored(source, reader._closedPromise, function (storedError) { + if (!preventAbort) { + shutdownWithAction(function () { + return WritableStreamAbort(dest, storedError); + }, true, storedError); + } else { + shutdown(true, storedError); + } + }); + isOrBecomesErrored(dest, writer._closedPromise, function (storedError) { + if (!preventCancel) { + shutdownWithAction(function () { + return ReadableStreamCancel(source, storedError); + }, true, storedError); + } else { + shutdown(true, storedError); + } + }); + isOrBecomesClosed(source, reader._closedPromise, function () { + if (!preventClose) { + shutdownWithAction(function () { + return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); + }); + } else { + shutdown(); + } + }); + if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') { + var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it'); + if (!preventCancel) { + shutdownWithAction(function () { + return ReadableStreamCancel(source, destClosed_1); + }, true, destClosed_1); + } else { + shutdown(true, destClosed_1); + } + } + setPromiseIsHandledToTrue(pipeLoop()); + function waitForWritesToFinish() { + var oldCurrentWrite = currentWrite; + return PerformPromiseThen(currentWrite, function () { + return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; + }); + } + function isOrBecomesErrored(stream, promise, action) { + if (stream._state === 'errored') { + action(stream._storedError); + } else { + uponRejection(promise, action); + } + } + function isOrBecomesClosed(stream, promise, action) { + if (stream._state === 'closed') { + action(); + } else { + uponFulfillment(promise, action); + } + } + function shutdownWithAction(action, originalIsError, originalError) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), doTheRest); + } else { + doTheRest(); + } + function doTheRest() { + uponPromise(action(), function () { + return finalize(originalIsError, originalError); + }, function (newError) { + return finalize(true, newError); + }); + } + } + function shutdown(isError, error) { + if (shuttingDown) { + return; + } + shuttingDown = true; + if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) { + uponFulfillment(waitForWritesToFinish(), function () { + return finalize(isError, error); + }); + } 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('Illegal constructor'); + } + Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", { + get: function () { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1('desiredSize'); + } + return ReadableStreamDefaultControllerGetDesiredSize(this); + }, + enumerable: false, + configurable: true + }); + ReadableStreamDefaultController.prototype.close = function () { + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1('close'); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError('The stream is not in a state that permits close'); + } + ReadableStreamDefaultControllerClose(this); + }; + ReadableStreamDefaultController.prototype.enqueue = function (chunk) { + if (chunk === void 0) { + chunk = undefined; + } + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1('enqueue'); + } + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) { + throw new TypeError('The stream is not in a state that permits enqueue'); + } + return ReadableStreamDefaultControllerEnqueue(this, chunk); + }; + ReadableStreamDefaultController.prototype.error = function (e) { + if (e === void 0) { + e = undefined; + } + if (!IsReadableStreamDefaultController(this)) { + throw defaultControllerBrandCheckException$1('error'); + } + ReadableStreamDefaultControllerError(this, e); + }; + ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) { + ResetQueue(this); + var result = this._cancelAlgorithm(reason); + ReadableStreamDefaultControllerClearAlgorithms(this); + return result; + }; + ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) { + var stream = this._controlledReadableStream; + if (this._queue.length > 0) { + var chunk = DequeueValue(this); + if (this._closeRequested && this._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(this); + ReadableStreamClose(stream); + } else { + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + readRequest._chunkSteps(chunk); + } else { + ReadableStreamAddReadRequest(stream, readRequest); + ReadableStreamDefaultControllerCallPullIfNeeded(this); + } + }; + return ReadableStreamDefaultController; + }(); + Object.defineProperties(ReadableStreamDefaultController.prototype, { + close: { enumerable: true }, + enqueue: { enumerable: true }, + error: { enumerable: true }, + desiredSize: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, { + value: 'ReadableStreamDefaultController', + configurable: true + }); + } + 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) { + return; + } + if (controller._pulling) { + controller._pullAgain = true; + return; + } + controller._pulling = true; + var pullPromise = controller._pullAlgorithm(); + uponPromise(pullPromise, function () { + controller._pulling = false; + if (controller._pullAgain) { + controller._pullAgain = false; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + } + }, function (e) { + ReadableStreamDefaultControllerError(controller, e); + }); + } + function ReadableStreamDefaultControllerShouldCallPull(controller) { + var stream = controller._controlledReadableStream; + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return false; + } + if (!controller._started) { + return false; + } + if (IsReadableStreamLocked(stream) && 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) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + var stream = controller._controlledReadableStream; + controller._closeRequested = true; + if (controller._queue.length === 0) { + ReadableStreamDefaultControllerClearAlgorithms(controller); + ReadableStreamClose(stream); + } + } + function ReadableStreamDefaultControllerEnqueue(controller, chunk) { + if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) { + return; + } + var stream = controller._controlledReadableStream; + if (IsReadableStreamLocked(stream) && 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 state = controller._controlledReadableStream._state; + if (state === 'errored') { + return null; + } + if (state === 'closed') { + return 0; + } + return controller._strategyHWM - controller._queueTotalSize; + } + function ReadableStreamDefaultControllerHasBackpressure(controller) { + if (ReadableStreamDefaultControllerShouldCallPull(controller)) { + return false; + } + return true; + } + function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) { + var state = controller._controlledReadableStream._state; + if (!controller._closeRequested && 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(); + uponPromise(promiseResolvedWith(startResult), function () { + controller._started = true; + ReadableStreamDefaultControllerCallPullIfNeeded(controller); + }, function (r) { + ReadableStreamDefaultControllerError(controller, r); + }); + } + function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) { + var controller = Object.create(ReadableStreamDefaultController.prototype); + var startAlgorithm = function () { + return undefined; + }; + var pullAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + var cancelAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + if (underlyingSource.start !== undefined) { + startAlgorithm = function () { + return underlyingSource.start(controller); + }; + } + if (underlyingSource.pull !== undefined) { + pullAlgorithm = function () { + return underlyingSource.pull(controller); + }; + } + if (underlyingSource.cancel !== undefined) { + cancelAlgorithm = function (reason) { + return underlyingSource.cancel(reason); + }; + } + SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm); + } + function defaultControllerBrandCheckException$1(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 = newPromise(function (resolve) { + resolveCancelPromise = resolve; + }); + function pullAlgorithm() { + if (reading) { + return promiseResolvedWith(undefined); + } + reading = true; + var readRequest = { + _chunkSteps: function (value) { + queueMicrotask(function () { + reading = false; + var value1 = value; + var value2 = value; + if (!canceled1) { + ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1); + } + if (!canceled2) { + ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2); + } + }); + }, + _closeSteps: function () { + reading = false; + if (!canceled1) { + ReadableStreamDefaultControllerClose(branch1._readableStreamController); + } + if (!canceled2) { + ReadableStreamDefaultControllerClose(branch2._readableStreamController); + } + if (!canceled1 || !canceled2) { + resolveCancelPromise(undefined); + } + }, + _errorSteps: function () { + reading = false; + } + }; + ReadableStreamDefaultReaderRead(reader, readRequest); + return promiseResolvedWith(undefined); + } + function cancel1Algorithm(reason) { + canceled1 = true; + reason1 = reason; + if (canceled2) { + var compositeReason = CreateArrayFromList([ + reason1, + reason2 + ]); + var cancelResult = ReadableStreamCancel(stream, compositeReason); + resolveCancelPromise(cancelResult); + } + return cancelPromise; + } + function cancel2Algorithm(reason) { + canceled2 = true; + reason2 = reason; + if (canceled1) { + 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); + uponRejection(reader._closedPromise, function (r) { + ReadableStreamDefaultControllerError(branch1._readableStreamController, r); + ReadableStreamDefaultControllerError(branch2._readableStreamController, r); + if (!canceled1 || !canceled2) { + resolveCancelPromise(undefined); + } + }); + return [ + branch1, + branch2 + ]; + } + function convertUnderlyingDefaultOrByteSource(source, context) { + assertDictionary(source, context); + var original = source; + var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize; + var cancel = original === null || original === void 0 ? void 0 : original.cancel; + var pull = original === null || original === void 0 ? void 0 : original.pull; + var start = original === null || original === void 0 ? void 0 : original.start; + var type = original === null || original === void 0 ? void 0 : original.type; + return { + autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + " has member 'autoAllocateChunkSize' that"), + cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, context + " has member 'cancel' that"), + pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, context + " has member 'pull' that"), + start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, context + " has member 'start' that"), + type: type === undefined ? undefined : convertReadableStreamType(type, context + " has member 'type' that") + }; + } + function convertUnderlyingSourceCancelCallback(fn, original, context) { + assertFunction(fn, context); + return function (reason) { + return promiseCall(fn, original, [reason]); + }; + } + function convertUnderlyingSourcePullCallback(fn, original, context) { + assertFunction(fn, context); + return function (controller) { + return promiseCall(fn, original, [controller]); + }; + } + function convertUnderlyingSourceStartCallback(fn, original, context) { + assertFunction(fn, context); + return function (controller) { + return reflectCall(fn, original, [controller]); + }; + } + function convertReadableStreamType(type, context) { + type = "" + type; + if (type !== 'bytes') { + throw new TypeError(context + " '" + type + "' is not a valid enumeration value for ReadableStreamType"); + } + return type; + } + function convertReaderOptions(options, context) { + assertDictionary(options, context); + var mode = options === null || options === void 0 ? void 0 : options.mode; + return { mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + " has member 'mode' that") }; + } + function convertReadableStreamReaderMode(mode, context) { + mode = "" + mode; + if (mode !== 'byob') { + throw new TypeError(context + " '" + mode + "' is not a valid enumeration value for ReadableStreamReaderMode"); + } + return mode; + } + function convertIteratorOptions(options, context) { + assertDictionary(options, context); + var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + return { preventCancel: Boolean(preventCancel) }; + } + function convertPipeOptions(options, context) { + assertDictionary(options, context); + var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort; + var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel; + var preventClose = options === null || options === void 0 ? void 0 : options.preventClose; + var signal = options === null || options === void 0 ? void 0 : options.signal; + if (signal !== undefined) { + assertAbortSignal(signal, context + " has member 'signal' that"); + } + return { + preventAbort: Boolean(preventAbort), + preventCancel: Boolean(preventCancel), + preventClose: Boolean(preventClose), + signal: signal + }; + } + function assertAbortSignal(signal, context) { + if (!isAbortSignal(signal)) { + throw new TypeError(context + " is not an AbortSignal."); + } + } + function convertReadableWritablePair(pair, context) { + assertDictionary(pair, context); + var readable = pair === null || pair === void 0 ? void 0 : pair.readable; + assertRequiredField(readable, 'readable', 'ReadableWritablePair'); + assertReadableStream(readable, context + " has member 'readable' that"); + var writable = pair === null || pair === void 0 ? void 0 : pair.writable; + assertRequiredField(writable, 'writable', 'ReadableWritablePair'); + assertWritableStream(writable, context + " has member 'writable' that"); + return { + readable: readable, + writable: writable + }; + } + var ReadableStream = function () { + function ReadableStream(rawUnderlyingSource, rawStrategy) { + if (rawUnderlyingSource === void 0) { + rawUnderlyingSource = {}; + } + if (rawStrategy === void 0) { + rawStrategy = {}; + } + if (rawUnderlyingSource === undefined) { + rawUnderlyingSource = null; + } else { + assertObject(rawUnderlyingSource, 'First parameter'); + } + var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter'); + var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter'); + InitializeReadableStream(this); + if (underlyingSource.type === 'bytes') { + if (strategy.size !== undefined) { + throw new RangeError('The strategy for a byte stream cannot have a size function'); + } + var highWaterMark = ExtractHighWaterMark(strategy, 0); + SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark); + } else { + var sizeAlgorithm = ExtractSizeAlgorithm(strategy); + var highWaterMark = ExtractHighWaterMark(strategy, 1); + SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm); + } + } + Object.defineProperty(ReadableStream.prototype, "locked", { + get: function () { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1('locked'); + } + return IsReadableStreamLocked(this); + }, + enumerable: false, + configurable: true + }); + ReadableStream.prototype.cancel = function (reason) { + if (reason === void 0) { + reason = undefined; + } + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1('cancel')); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader')); + } + return ReadableStreamCancel(this, reason); + }; + ReadableStream.prototype.getReader = function (rawOptions) { + if (rawOptions === void 0) { + rawOptions = undefined; + } + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1('getReader'); + } + var options = convertReaderOptions(rawOptions, 'First parameter'); + if (options.mode === undefined) { + return AcquireReadableStreamDefaultReader(this); + } + return AcquireReadableStreamBYOBReader(this); + }; + ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) { + if (rawOptions === void 0) { + rawOptions = {}; + } + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1('pipeThrough'); + } + assertRequiredArgument(rawTransform, 1, 'pipeThrough'); + var transform = convertReadableWritablePair(rawTransform, 'First parameter'); + var options = convertPipeOptions(rawOptions, 'Second parameter'); + if (IsReadableStreamLocked(this)) { + throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream'); + } + if (IsWritableStreamLocked(transform.writable)) { + throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream'); + } + var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + setPromiseIsHandledToTrue(promise); + return transform.readable; + }; + ReadableStream.prototype.pipeTo = function (destination, rawOptions) { + if (rawOptions === void 0) { + rawOptions = {}; + } + if (!IsReadableStream(this)) { + return promiseRejectedWith(streamBrandCheckException$1('pipeTo')); + } + if (destination === undefined) { + return promiseRejectedWith("Parameter 1 is required in 'pipeTo'."); + } + if (!IsWritableStream(destination)) { + return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")); + } + var options; + try { + options = convertPipeOptions(rawOptions, 'Second parameter'); + } catch (e) { + return promiseRejectedWith(e); + } + if (IsReadableStreamLocked(this)) { + return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream')); + } + if (IsWritableStreamLocked(destination)) { + return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream')); + } + return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal); + }; + ReadableStream.prototype.tee = function () { + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1('tee'); + } + var branches = ReadableStreamTee(this); + return CreateArrayFromList(branches); + }; + ReadableStream.prototype.values = function (rawOptions) { + if (rawOptions === void 0) { + rawOptions = undefined; + } + if (!IsReadableStream(this)) { + throw streamBrandCheckException$1('values'); + } + var options = convertIteratorOptions(rawOptions, 'First parameter'); + return AcquireReadableStreamAsyncIterator(this, options.preventCancel); + }; + return ReadableStream; + }(); + Object.defineProperties(ReadableStream.prototype, { + cancel: { enumerable: true }, + getReader: { enumerable: true }, + pipeThrough: { enumerable: true }, + pipeTo: { enumerable: true }, + tee: { enumerable: true }, + values: { enumerable: true }, + locked: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, { + value: 'ReadableStream', + configurable: true + }); + } + if (typeof SymbolPolyfill.asyncIterator === 'symbol') { + Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, { + value: ReadableStream.prototype.values, + 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 promiseResolvedWith(undefined); + } + if (stream._state === 'errored') { + return promiseRejectedWith(stream._storedError); + } + ReadableStreamClose(stream); + var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason); + return transformPromiseWith(sourceCancelPromise, noop); + } + function ReadableStreamClose(stream) { + stream._state = 'closed'; + var reader = stream._reader; + if (reader === undefined) { + return; + } + defaultReaderClosedPromiseResolve(reader); + if (IsReadableStreamDefaultReader(reader)) { + reader._readRequests.forEach(function (readRequest) { + readRequest._closeSteps(); + }); + reader._readRequests = new SimpleQueue(); + } + } + function ReadableStreamError(stream, e) { + stream._state = 'errored'; + stream._storedError = e; + var reader = stream._reader; + if (reader === undefined) { + return; + } + defaultReaderClosedPromiseReject(reader, e); + if (IsReadableStreamDefaultReader(reader)) { + reader._readRequests.forEach(function (readRequest) { + readRequest._errorSteps(e); + }); + reader._readRequests = new SimpleQueue(); + } else { + reader._readIntoRequests.forEach(function (readIntoRequest) { + readIntoRequest._errorSteps(e); + }); + reader._readIntoRequests = new SimpleQueue(); + } + } + function streamBrandCheckException$1(name) { + return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream"); + } + function convertQueuingStrategyInit(init, context) { + assertDictionary(init, context); + var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark; + assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit'); + return { highWaterMark: convertUnrestrictedDouble(highWaterMark) }; + } + var byteLengthSizeFunction = function size(chunk) { + return chunk.byteLength; + }; + var ByteLengthQueuingStrategy = function () { + function ByteLengthQueuingStrategy(options) { + assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy'); + options = convertQueuingStrategyInit(options, 'First parameter'); + this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark; + } + Object.defineProperty(ByteLengthQueuingStrategy.prototype, "highWaterMark", { + get: function () { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException('highWaterMark'); + } + return this._byteLengthQueuingStrategyHighWaterMark; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(ByteLengthQueuingStrategy.prototype, "size", { + get: function () { + if (!IsByteLengthQueuingStrategy(this)) { + throw byteLengthBrandCheckException('size'); + } + return byteLengthSizeFunction; + }, + enumerable: false, + configurable: true + }); + return ByteLengthQueuingStrategy; + }(); + Object.defineProperties(ByteLengthQueuingStrategy.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, { + value: 'ByteLengthQueuingStrategy', + configurable: true + }); + } + function byteLengthBrandCheckException(name) { + return new TypeError("ByteLengthQueuingStrategy.prototype." + name + " can only be used on a ByteLengthQueuingStrategy"); + } + function IsByteLengthQueuingStrategy(x) { + if (!typeIsObject(x)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) { + return false; + } + return true; + } + var countSizeFunction = function size() { + return 1; + }; + var CountQueuingStrategy = function () { + function CountQueuingStrategy(options) { + assertRequiredArgument(options, 1, 'CountQueuingStrategy'); + options = convertQueuingStrategyInit(options, 'First parameter'); + this._countQueuingStrategyHighWaterMark = options.highWaterMark; + } + Object.defineProperty(CountQueuingStrategy.prototype, "highWaterMark", { + get: function () { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException('highWaterMark'); + } + return this._countQueuingStrategyHighWaterMark; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(CountQueuingStrategy.prototype, "size", { + get: function () { + if (!IsCountQueuingStrategy(this)) { + throw countBrandCheckException('size'); + } + return countSizeFunction; + }, + enumerable: false, + configurable: true + }); + return CountQueuingStrategy; + }(); + Object.defineProperties(CountQueuingStrategy.prototype, { + highWaterMark: { enumerable: true }, + size: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, { + value: 'CountQueuingStrategy', + configurable: true + }); + } + function countBrandCheckException(name) { + return new TypeError("CountQueuingStrategy.prototype." + name + " can only be used on a CountQueuingStrategy"); + } + function IsCountQueuingStrategy(x) { + if (!typeIsObject(x)) { + return false; + } + if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) { + return false; + } + return true; + } + function convertTransformer(original, context) { + assertDictionary(original, context); + var flush = original === null || original === void 0 ? void 0 : original.flush; + var readableType = original === null || original === void 0 ? void 0 : original.readableType; + var start = original === null || original === void 0 ? void 0 : original.start; + var transform = original === null || original === void 0 ? void 0 : original.transform; + var writableType = original === null || original === void 0 ? void 0 : original.writableType; + return { + flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, context + " has member 'flush' that"), + readableType: readableType, + start: start === undefined ? undefined : convertTransformerStartCallback(start, original, context + " has member 'start' that"), + transform: transform === undefined ? undefined : convertTransformerTransformCallback(transform, original, context + " has member 'transform' that"), + writableType: writableType + }; + } + function convertTransformerFlushCallback(fn, original, context) { + assertFunction(fn, context); + return function (controller) { + return promiseCall(fn, original, [controller]); + }; + } + function convertTransformerStartCallback(fn, original, context) { + assertFunction(fn, context); + return function (controller) { + return reflectCall(fn, original, [controller]); + }; + } + function convertTransformerTransformCallback(fn, original, context) { + assertFunction(fn, context); + return function (chunk, controller) { + return promiseCall(fn, original, [ + chunk, + controller + ]); + }; + } + var TransformStream = function () { + function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) { + if (rawTransformer === void 0) { + rawTransformer = {}; + } + if (rawWritableStrategy === void 0) { + rawWritableStrategy = {}; + } + if (rawReadableStrategy === void 0) { + rawReadableStrategy = {}; + } + if (rawTransformer === undefined) { + rawTransformer = null; + } + var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter'); + var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter'); + var transformer = convertTransformer(rawTransformer, 'First parameter'); + if (transformer.readableType !== undefined) { + throw new RangeError('Invalid readableType specified'); + } + if (transformer.writableType !== undefined) { + throw new RangeError('Invalid writableType specified'); + } + var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0); + var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy); + var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1); + var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy); + var startPromise_resolve; + var startPromise = newPromise(function (resolve) { + startPromise_resolve = resolve; + }); + InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm); + SetUpTransformStreamDefaultControllerFromTransformer(this, transformer); + if (transformer.start !== undefined) { + startPromise_resolve(transformer.start(this._transformStreamController)); + } else { + startPromise_resolve(undefined); + } + } + Object.defineProperty(TransformStream.prototype, "readable", { + get: function () { + if (!IsTransformStream(this)) { + throw streamBrandCheckException('readable'); + } + return this._readable; + }, + enumerable: false, + configurable: true + }); + Object.defineProperty(TransformStream.prototype, "writable", { + get: function () { + if (!IsTransformStream(this)) { + throw streamBrandCheckException('writable'); + } + return this._writable; + }, + enumerable: false, + configurable: true + }); + return TransformStream; + }(); + Object.defineProperties(TransformStream.prototype, { + readable: { enumerable: true }, + writable: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, { + value: 'TransformStream', + configurable: true + }); + } + 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 promiseResolvedWith(undefined); + } + 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) { + TransformStreamSetBackpressure(stream, false); + } + } + function TransformStreamSetBackpressure(stream, backpressure) { + if (stream._backpressureChangePromise !== undefined) { + stream._backpressureChangePromise_resolve(); + } + stream._backpressureChangePromise = newPromise(function (resolve) { + stream._backpressureChangePromise_resolve = resolve; + }); + stream._backpressure = backpressure; + } + var TransformStreamDefaultController = function () { + function TransformStreamDefaultController() { + throw new TypeError('Illegal constructor'); + } + Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", { + get: function () { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException('desiredSize'); + } + var readableController = this._controlledTransformStream._readable._readableStreamController; + return ReadableStreamDefaultControllerGetDesiredSize(readableController); + }, + enumerable: false, + configurable: true + }); + TransformStreamDefaultController.prototype.enqueue = function (chunk) { + if (chunk === void 0) { + chunk = undefined; + } + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException('enqueue'); + } + TransformStreamDefaultControllerEnqueue(this, chunk); + }; + TransformStreamDefaultController.prototype.error = function (reason) { + if (reason === void 0) { + reason = undefined; + } + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException('error'); + } + TransformStreamDefaultControllerError(this, reason); + }; + TransformStreamDefaultController.prototype.terminate = function () { + if (!IsTransformStreamDefaultController(this)) { + throw defaultControllerBrandCheckException('terminate'); + } + TransformStreamDefaultControllerTerminate(this); + }; + return TransformStreamDefaultController; + }(); + Object.defineProperties(TransformStreamDefaultController.prototype, { + enqueue: { enumerable: true }, + error: { enumerable: true }, + terminate: { enumerable: true }, + desiredSize: { enumerable: true } + }); + if (typeof SymbolPolyfill.toStringTag === 'symbol') { + Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, { + value: 'TransformStreamDefaultController', + configurable: true + }); + } + 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 promiseResolvedWith(undefined); + } catch (transformResultE) { + return promiseRejectedWith(transformResultE); + } + }; + var flushAlgorithm = function () { + return promiseResolvedWith(undefined); + }; + if (transformer.transform !== undefined) { + transformAlgorithm = function (chunk) { + return transformer.transform(chunk, controller); + }; + } + if (transformer.flush !== undefined) { + flushAlgorithm = function () { + return transformer.flush(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)) { + 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 transformPromiseWith(transformPromise, undefined, function (r) { + TransformStreamError(controller._controlledTransformStream, r); + throw r; + }); + } + function TransformStreamDefaultControllerTerminate(controller) { + var stream = controller._controlledTransformStream; + var readableController = stream._readable._readableStreamController; + ReadableStreamDefaultControllerClose(readableController); + var error = new TypeError('TransformStream terminated'); + TransformStreamErrorWritableAndUnblockWrite(stream, error); + } + function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) { + var controller = stream._transformStreamController; + if (stream._backpressure) { + var backpressureChangePromise = stream._backpressureChangePromise; + return transformPromiseWith(backpressureChangePromise, 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 promiseResolvedWith(undefined); + } + function TransformStreamDefaultSinkCloseAlgorithm(stream) { + var readable = stream._readable; + var controller = stream._transformStreamController; + var flushPromise = controller._flushAlgorithm(); + TransformStreamDefaultControllerClearAlgorithms(controller); + return transformPromiseWith(flushPromise, function () { + if (readable._state === 'errored') { + throw readable._storedError; + } + ReadableStreamDefaultControllerClose(readable._readableStreamController); + }, function (r) { + TransformStreamError(stream, r); + throw readable._storedError; + }); + } + function TransformStreamDefaultSourcePullAlgorithm(stream) { + TransformStreamSetBackpressure(stream, false); + return stream._backpressureChangePromise; + } + function defaultControllerBrandCheckException(name) { + return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController"); + } + function streamBrandCheckException(name) { + return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream"); + } + exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy; + exports.CountQueuingStrategy = CountQueuingStrategy; + exports.ReadableByteStreamController = ReadableByteStreamController; + exports.ReadableStream = ReadableStream; + exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader; + exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest; + exports.ReadableStreamDefaultController = ReadableStreamDefaultController; + exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader; + exports.TransformStream = TransformStream; + exports.TransformStreamDefaultController = TransformStreamDefaultController; + exports.WritableStream = WritableStream; + exports.WritableStreamDefaultController = WritableStreamDefaultController; + exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter; + Object.defineProperty(exports, '__esModule', { value: true }); +})); + +/***/ }), +/* 113 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getDocument = getDocument; +exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory; +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__(2)); + +var _util = __w_pdfjs_require__(4); + +var _display_utils = __w_pdfjs_require__(1); + +var _font_loader = __w_pdfjs_require__(114); + +var _node_utils = __w_pdfjs_require__(115); + +var _annotation_storage = __w_pdfjs_require__(116); + +var _api_compatibility = __w_pdfjs_require__(117); + +var _canvas = __w_pdfjs_require__(118); + +var _worker_options = __w_pdfjs_require__(120); + +var _is_node = __w_pdfjs_require__(6); + +var _message_handler = __w_pdfjs_require__(121); + +var _metadata = __w_pdfjs_require__(122); + +var _optional_content_config = __w_pdfjs_require__(123); + +var _transport_stream = __w_pdfjs_require__(124); + +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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var DEFAULT_RANGE_CHUNK_SIZE = 65536; +var RENDERING_CANCELLED_TIMEOUT = 100; +var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory; +exports.DefaultCanvasFactory = DefaultCanvasFactory; +var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory; +exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory; +var createPDFNetworkStream; + +function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) { + createPDFNetworkStream = pdfNetworkStreamFactory; +} + +function getDocument(src) { + var task = new PDFDocumentLoadingTask(); + var source; + + if (typeof src === "string" || src instanceof URL) { + source = { + url: src + }; + } else if ((0, _util.isArrayBuffer)(src)) { + source = { + data: src + }; + } else if (src instanceof PDFDataRangeTransport) { + source = { + range: src + }; + } else { + if (_typeof(src) !== "object") { + throw new Error("Invalid parameter in getDocument, " + "need either string, URL, Uint8Array, or parameter object."); + } + + if (!src.url && !src.data && !src.range) { + throw new Error("Invalid parameter object: need either .data, .range or .url"); + } + + source = src; + } + + var params = Object.create(null); + var rangeTransport = null, + worker = null; + + for (var key in source) { + var value = source[key]; + + switch (key) { + case "url": + if (typeof window !== "undefined") { + try { + params[key] = new URL(value, window.location).href; + continue; + } catch (ex) { + (0, _util.warn)("Cannot create valid URL: \"".concat(ex, "\".")); + } + } else if (typeof value === "string" || value instanceof URL) { + params[key] = value.toString(); + continue; + } + + throw new Error("Invalid PDF url data: " + "either string or URL-object is expected in the url property."); + + case "range": + rangeTransport = value; + continue; + + case "worker": + worker = value; + continue; + + case "data": + if (_is_node.isNodeJS && typeof Buffer !== "undefined" && value instanceof Buffer) { + params[key] = new Uint8Array(value); + } else if (value instanceof Uint8Array) { + break; + } else if (typeof value === "string") { + params[key] = (0, _util.stringToBytes)(value); + } else if (_typeof(value) === "object" && value !== null && !isNaN(value.length)) { + params[key] = new Uint8Array(value); + } else if ((0, _util.isArrayBuffer)(value)) { + params[key] = new Uint8Array(value); + } else { + throw new Error("Invalid PDF binary data: either typed array, " + "string, or array-like object is expected in the data property."); + } + + continue; + } + + params[key] = value; + } + + params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; + params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory; + params.ignoreErrors = params.stopAtErrors !== true; + params.fontExtraProperties = params.fontExtraProperties === true; + params.pdfBug = params.pdfBug === true; + params.enableXfa = params.enableXfa === true; + + if (typeof params.docBaseUrl !== "string" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) { + params.docBaseUrl = null; + } + + if (!Number.isInteger(params.maxImageSize)) { + params.maxImageSize = -1; + } + + if (typeof params.isEvalSupported !== "boolean") { + params.isEvalSupported = true; + } + + if (typeof params.disableFontFace !== "boolean") { + params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false; + } + + if (typeof params.ownerDocument === "undefined") { + params.ownerDocument = globalThis.document; + } + + if (typeof params.disableRange !== "boolean") { + params.disableRange = false; + } + + if (typeof params.disableStream !== "boolean") { + params.disableStream = false; + } + + if (typeof params.disableAutoFetch !== "boolean") { + params.disableAutoFetch = false; + } + + (0, _util.setVerbosityLevel)(params.verbosity); + + if (!worker) { + var workerParams = { + verbosity: params.verbosity, + port: _worker_options.GlobalWorkerOptions.workerPort + }; + worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams); + task._worker = worker; + } + + var docId = task.docId; + worker.promise.then(function () { + if (task.destroyed) { + throw new Error("Loading aborted"); + } + + var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId); + + var networkStreamPromise = new Promise(function (resolve) { + var networkStream; + + if (rangeTransport) { + networkStream = new _transport_stream.PDFDataTransportStream({ + length: params.length, + initialData: params.initialData, + progressiveDone: params.progressiveDone, + contentDispositionFilename: params.contentDispositionFilename, + disableRange: params.disableRange, + disableStream: params.disableStream + }, rangeTransport); + } else if (!params.data) { + networkStream = createPDFNetworkStream({ + url: params.url, + length: params.length, + httpHeaders: params.httpHeaders, + withCredentials: params.withCredentials, + rangeChunkSize: params.rangeChunkSize, + disableRange: params.disableRange, + disableStream: params.disableStream + }); + } + + resolve(networkStream); + }); + return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + workerId = _ref2[0], + networkStream = _ref2[1]; + + if (task.destroyed) { + throw new Error("Loading aborted"); + } + + 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); + }); + })["catch"](task._capability.reject); + return task; +} + +function _fetchDocument(worker, source, pdfDataRangeTransport, docId) { + if (worker.destroyed) { + return Promise.reject(new Error("Worker was destroyed")); + } + + if (pdfDataRangeTransport) { + source.length = pdfDataRangeTransport.length; + source.initialData = pdfDataRangeTransport.initialData; + source.progressiveDone = pdfDataRangeTransport.progressiveDone; + source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename; + } + + return worker.messageHandler.sendWithPromise("GetDocRequest", { + docId: docId, + apiVersion: '2.9.359', + source: { + data: source.data, + url: source.url, + password: source.password, + disableAutoFetch: source.disableAutoFetch, + rangeChunkSize: source.rangeChunkSize, + length: source.length + }, + maxImageSize: source.maxImageSize, + disableFontFace: source.disableFontFace, + postMessageTransfers: worker.postMessageTransfers, + docBaseUrl: source.docBaseUrl, + ignoreErrors: source.ignoreErrors, + isEvalSupported: source.isEvalSupported, + fontExtraProperties: source.fontExtraProperties, + enableXfa: source.enableXfa + }).then(function (workerId) { + if (worker.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); + + this._capability = (0, _util.createPromiseCapability)(); + this._transport = null; + this._worker = null; + this.docId = "d" + nextDocumentId++; + this.destroyed = false; + this.onPassword = null; + this.onProgress = null; + this.onUnsupportedFeature = null; + } + + _createClass(PDFDocumentLoadingTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "destroy", + value: function destroy() { + var _this = this; + + this.destroyed = true; + var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy(); + return transportDestroyed.then(function () { + _this._transport = null; + + if (_this._worker) { + _this._worker.destroy(); + + _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; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + _classCallCheck(this, PDFDataRangeTransport); + + this.length = length; + this.initialData = initialData; + this.progressiveDone = progressiveDone; + this.contentDispositionFilename = contentDispositionFilename; + this._rangeListeners = []; + this._progressListeners = []; + this._progressiveReadListeners = []; + this._progressiveDoneListeners = []; + 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 _iterator = _createForOfIteratorHelper(this._rangeListeners), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var listener = _step.value; + listener(begin, chunk); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "onDataProgress", + value: function onDataProgress(loaded, total) { + var _this2 = this; + + this._readyCapability.promise.then(function () { + var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var listener = _step2.value; + listener(loaded, total); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + }); + } + }, { + key: "onDataProgressiveRead", + value: function onDataProgressiveRead(chunk) { + var _this3 = this; + + this._readyCapability.promise.then(function () { + var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var listener = _step3.value; + listener(chunk); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + }); + } + }, { + key: "onDataProgressiveDone", + value: function onDataProgressiveDone() { + var _this4 = this; + + this._readyCapability.promise.then(function () { + var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var listener = _step4.value; + listener(); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }); + } + }, { + 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); + + this._pdfInfo = pdfInfo; + this._transport = transport; + } + + _createClass(PDFDocumentProxy, [{ + key: "annotationStorage", + get: function get() { + return this._transport.annotationStorage; + } + }, { + key: "numPages", + get: function get() { + return this._pdfInfo.numPages; + } + }, { + key: "fingerprint", + get: function get() { + return this._pdfInfo.fingerprint; + } + }, { + key: "isPureXfa", + get: function get() { + return this._pdfInfo.isPureXfa; + } + }, { + 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: "getOpenAction", + value: function getOpenAction() { + return this._transport.getOpenAction(); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this._transport.getAttachments(); + } + }, { + key: "getJavaScript", + value: function getJavaScript() { + return this._transport.getJavaScript(); + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._transport.getDocJSActions(); + } + }, { + key: "getOutline", + value: function getOutline() { + return this._transport.getOutline(); + } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this._transport.getOptionalContentConfig(); + } + }, { + key: "getPermissions", + value: function getPermissions() { + return this._transport.getPermissions(); + } + }, { + key: "getMetadata", + value: function getMetadata() { + return this._transport.getMetadata(); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this._transport.getMarkInfo(); + } + }, { + 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() { + var keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa); + } + }, { + key: "destroy", + value: function destroy() { + return this.loadingTask.destroy(); + } + }, { + key: "loadingParams", + get: function get() { + return this._transport.loadingParams; + } + }, { + key: "loadingTask", + get: function get() { + return this._transport.loadingTask; + } + }, { + key: "saveDocument", + value: function saveDocument() { + if (arguments.length > 0) { + (0, _display_utils.deprecated)("saveDocument no longer accepts any options."); + } + + if (this._transport.annotationStorage.size <= 0) { + (0, _display_utils.deprecated)("saveDocument called while `annotationStorage` is empty, " + "please use the getData-method instead."); + } + + return this._transport.saveDocument(); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this._transport.getFieldObjects(); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._transport.hasJSActions(); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this._transport.getCalculationOrderIds(); + } + }]); + + return PDFDocumentProxy; +}(); + +exports.PDFDocumentProxy = PDFDocumentProxy; + +var PDFPageProxy = /*#__PURE__*/function () { + function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) { + var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + _classCallCheck(this, PDFPageProxy); + + this._pageIndex = pageIndex; + this._pageInfo = pageInfo; + this._ownerDocument = ownerDocument; + this._transport = transport; + 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 = new Map(); + this.destroyed = false; + } + + _createClass(PDFPageProxy, [{ + 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: "getViewport", + value: function getViewport() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + scale = _ref3.scale, + _ref3$rotation = _ref3.rotation, + rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation, + _ref3$offsetX = _ref3.offsetX, + offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX, + _ref3$offsetY = _ref3.offsetY, + offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY, + _ref3$dontFlip = _ref3.dontFlip, + dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip; + + return new _display_utils.PageViewport({ + viewBox: this.view, + scale: scale, + rotation: rotation, + offsetX: offsetX, + offsetY: offsetY, + dontFlip: dontFlip + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations() { + var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref4$intent = _ref4.intent, + intent = _ref4$intent === void 0 ? null : _ref4$intent; + + if (!this._annotationsPromise || this._annotationsIntent !== intent) { + this._annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent); + this._annotationsIntent = intent; + } + + return this._annotationsPromise; + } + }, { + key: "getJSActions", + value: function getJSActions() { + return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex)); + } + }, { + key: "getXfa", + value: function getXfa() { + return this._xfaPromise || (this._xfaPromise = this._transport.getPageXfa(this._pageIndex)); + } + }, { + key: "render", + value: function render(_ref5) { + var _arguments$, + _this5 = this, + _intentState; + + var canvasContext = _ref5.canvasContext, + viewport = _ref5.viewport, + _ref5$intent = _ref5.intent, + intent = _ref5$intent === void 0 ? "display" : _ref5$intent, + _ref5$renderInteracti = _ref5.renderInteractiveForms, + renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti, + _ref5$transform = _ref5.transform, + transform = _ref5$transform === void 0 ? null : _ref5$transform, + _ref5$imageLayer = _ref5.imageLayer, + imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer, + _ref5$canvasFactory = _ref5.canvasFactory, + canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory, + _ref5$background = _ref5.background, + background = _ref5$background === void 0 ? null : _ref5$background, + _ref5$includeAnnotati = _ref5.includeAnnotationStorage, + includeAnnotationStorage = _ref5$includeAnnotati === void 0 ? false : _ref5$includeAnnotati, + _ref5$optionalContent = _ref5.optionalContentConfigPromise, + optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent; + + if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.annotationStorage) !== undefined) { + (0, _display_utils.deprecated)("render no longer accepts an `annotationStorage` option, " + "please use the `includeAnnotationStorage`-boolean instead."); + includeAnnotationStorage || (includeAnnotationStorage = !!arguments[0].annotationStorage); + } + + if (this._stats) { + this._stats.time("Overall"); + } + + var renderingIntent = intent === "print" ? "print" : "display"; + this.pendingCleanup = false; + + if (!optionalContentConfigPromise) { + optionalContentConfigPromise = this._transport.getOptionalContentConfig(); + } + + var 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; + } + + var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({ + ownerDocument: this._ownerDocument + }); + var annotationStorage = includeAnnotationStorage ? this._transport.annotationStorage.serializable : null; + + if (!intentState.displayReadyCapability) { + intentState.displayReadyCapability = (0, _util.createPromiseCapability)(); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList({ + pageIndex: this._pageIndex, + intent: renderingIntent, + renderInteractiveForms: renderInteractiveForms === true, + annotationStorage: annotationStorage + }); + } + + var complete = function complete(error) { + intentState.renderTasks["delete"](internalRenderTask); + + if (_this5.cleanupAfterRender || renderingIntent === "print") { + _this5.pendingCleanup = true; + } + + _this5._tryCleanup(); + + if (error) { + internalRenderTask.capability.reject(error); + + _this5._abortOperatorList({ + intentState: intentState, + reason: error + }); + } else { + internalRenderTask.capability.resolve(); + } + + if (_this5._stats) { + _this5._stats.timeEnd("Rendering"); + + _this5._stats.timeEnd("Overall"); + } + }; + + 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, + pageIndex: this._pageIndex, + canvasFactory: canvasFactoryInstance, + useRequestAnimationFrame: renderingIntent !== "print", + pdfBug: this._pdfBug + }); + ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask); + var renderTask = internalRenderTask.task; + Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) { + var _ref7 = _slicedToArray(_ref6, 2), + transparency = _ref7[0], + optionalContentConfig = _ref7[1]; + + if (_this5.pendingCleanup) { + complete(); + return; + } + + if (_this5._stats) { + _this5._stats.time("Rendering"); + } + + internalRenderTask.initializeGraphics({ + transparency: transparency, + optionalContentConfig: optionalContentConfig + }); + internalRenderTask.operatorListChanged(); + })["catch"](complete); + return renderTask; + } + }, { + key: "getOperatorList", + value: function getOperatorList() { + function operatorListChanged() { + if (intentState.operatorList.lastChunk) { + intentState.opListReadCapability.resolve(intentState.operatorList); + intentState.renderTasks["delete"](opListTask); + } + } + + var renderingIntent = "oplist"; + + var intentState = this._intentStates.get(renderingIntent); + + if (!intentState) { + intentState = Object.create(null); + + this._intentStates.set(renderingIntent, intentState); + } + + var opListTask; + + if (!intentState.opListReadCapability) { + var _intentState2; + + opListTask = Object.create(null); + opListTask.operatorListChanged = operatorListChanged; + intentState.opListReadCapability = (0, _util.createPromiseCapability)(); + ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask); + intentState.operatorList = { + fnArray: [], + argsArray: [], + lastChunk: false + }; + + if (this._stats) { + this._stats.time("Page Request"); + } + + this._pumpOperatorList({ + pageIndex: this._pageIndex, + intent: renderingIntent + }); + } + + return intentState.opListReadCapability.promise; + } + }, { + key: "streamTextContent", + value: function streamTextContent() { + var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref8$normalizeWhites = _ref8.normalizeWhitespace, + normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites, + _ref8$disableCombineT = _ref8.disableCombineTextItems, + disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$disableCombineT, + _ref8$includeMarkedCo = _ref8.includeMarkedContent, + includeMarkedContent = _ref8$includeMarkedCo === void 0 ? false : _ref8$includeMarkedCo; + + var TEXT_CONTENT_CHUNK_SIZE = 100; + return this._transport.messageHandler.sendWithStream("GetTextContent", { + pageIndex: this._pageIndex, + normalizeWhitespace: normalizeWhitespace === true, + combineTextItems: disableCombineTextItems !== true, + includeMarkedContent: includeMarkedContent === true + }, { + highWaterMark: TEXT_CONTENT_CHUNK_SIZE, + size: function size(textContent) { + return textContent.items.length; + } + }); + } + }, { + 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 (_ref9) { + var _textContent$items; + + var value = _ref9.value, + done = _ref9.done; + + if (done) { + resolve(textContent); + return; + } + + 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: "getStructTree", + value: function getStructTree() { + return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex)); + } + }, { + key: "_destroy", + value: function _destroy() { + this.destroyed = true; + this._transport.pageCache[this._pageIndex] = null; + var waitOn = []; + + var _iterator5 = _createForOfIteratorHelper(this._intentStates), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _step5$value = _slicedToArray(_step5.value, 2), + intent = _step5$value[0], + intentState = _step5$value[1]; + + this._abortOperatorList({ + intentState: intentState, + reason: new Error("Page was destroyed."), + force: true + }); + + if (intent === "oplist") { + continue; + } + + var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var internalRenderTask = _step6.value; + waitOn.push(internalRenderTask.completed); + internalRenderTask.cancel(); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.objs.clear(); + this._annotationsPromise = null; + this._jsActionsPromise = null; + this._xfaPromise = null; + this._structTreePromise = 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; + return this._tryCleanup(resetStats); + } + }, { + key: "_tryCleanup", + value: function _tryCleanup() { + var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.pendingCleanup) { + return false; + } + + var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _step7$value = _step7.value, + renderTasks = _step7$value.renderTasks, + operatorList = _step7$value.operatorList; + + if (renderTasks.size > 0 || !operatorList.lastChunk) { + return false; + } + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + this._intentStates.clear(); + + this.objs.clear(); + this._annotationsPromise = null; + this._jsActionsPromise = null; + this._xfaPromise = null; + this._structTreePromise = null; + + if (resetStats && this._stats) { + this._stats = new _display_utils.StatTimer(); + } + + this.pendingCleanup = false; + return true; + } + }, { + key: "_startRenderPage", + value: function _startRenderPage(transparency, intent) { + var intentState = this._intentStates.get(intent); + + if (!intentState) { + return; + } + + if (this._stats) { + 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; + + var _iterator8 = _createForOfIteratorHelper(intentState.renderTasks), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var internalRenderTask = _step8.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + if (operatorListChunk.lastChunk) { + this._tryCleanup(); + } + } + }, { + key: "_pumpOperatorList", + value: function _pumpOperatorList(args) { + var _this6 = 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.get(args.intent); + + intentState.streamReader = reader; + + var pump = function pump() { + reader.read().then(function (_ref10) { + var value = _ref10.value, + done = _ref10.done; + + if (done) { + intentState.streamReader = null; + return; + } + + if (_this6._transport.destroyed) { + return; + } + + _this6._renderPageChunk(value, intentState); + + pump(); + }, function (reason) { + intentState.streamReader = null; + + if (_this6._transport.destroyed) { + return; + } + + if (intentState.operatorList) { + intentState.operatorList.lastChunk = true; + + var _iterator9 = _createForOfIteratorHelper(intentState.renderTasks), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var internalRenderTask = _step9.value; + internalRenderTask.operatorListChanged(); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + _this6._tryCleanup(); + } + + if (intentState.displayReadyCapability) { + intentState.displayReadyCapability.reject(reason); + } else if (intentState.opListReadCapability) { + intentState.opListReadCapability.reject(reason); + } else { + throw reason; + } + }); + }; + + pump(); + } + }, { + key: "_abortOperatorList", + value: function _abortOperatorList(_ref11) { + var _this7 = this; + + var intentState = _ref11.intentState, + reason = _ref11.reason, + _ref11$force = _ref11.force, + force = _ref11$force === void 0 ? false : _ref11$force; + (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.size > 0) { + return; + } + + if (reason instanceof _display_utils.RenderingCancelledException) { + intentState.streamReaderCancelTimeout = setTimeout(function () { + _this7._abortOperatorList({ + intentState: intentState, + reason: reason, + force: true + }); + + intentState.streamReaderCancelTimeout = null; + }, RENDERING_CANCELLED_TIMEOUT); + return; + } + } + + intentState.streamReader.cancel(new _util.AbortException(reason === null || reason === void 0 ? void 0 : reason.message)); + intentState.streamReader = null; + + if (this._transport.destroyed) { + return; + } + + var _iterator10 = _createForOfIteratorHelper(this._intentStates), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var _step10$value = _slicedToArray(_step10.value, 2), + intent = _step10$value[0], + curIntentState = _step10$value[1]; + + if (curIntentState === intentState) { + this._intentStates["delete"](intent); + + break; + } + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + this.cleanup(); + } + }, { + key: "stats", + get: function get() { + return this._stats; + } + }]); + + return PDFPageProxy; +}(); + +exports.PDFPageProxy = PDFPageProxy; + +var LoopbackPort = /*#__PURE__*/function () { + function LoopbackPort() { + _classCallCheck(this, LoopbackPort); + + this._listeners = []; + this._deferred = Promise.resolve(undefined); + } + + _createClass(LoopbackPort, [{ + key: "postMessage", + value: function postMessage(obj, transfers) { + var _this8 = this; + + function cloneValue(value) { + if (_typeof(value) !== "object" || value === null) { + return value; + } + + if (cloned.has(value)) { + return cloned.get(value); + } + + var buffer, result; + + if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) { + if (transfers !== null && transfers !== void 0 && transfers.includes(buffer)) { + result = new value.constructor(buffer, value.byteOffset, value.byteLength); + } else { + result = new value.constructor(value); + } + + cloned.set(value, result); + return result; + } + + if (value instanceof Map) { + result = new Map(); + cloned.set(value, result); + + var _iterator11 = _createForOfIteratorHelper(value), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var _step11$value = _slicedToArray(_step11.value, 2), + key = _step11$value[0], + val = _step11$value[1]; + + result.set(key, cloneValue(val)); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + return result; + } + + if (value instanceof Set) { + result = new Set(); + cloned.set(value, result); + + var _iterator12 = _createForOfIteratorHelper(value), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var _val = _step12.value; + result.add(cloneValue(_val)); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + + return result; + } + + if (value instanceof URL) { + throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value)); + } + + result = Array.isArray(value) ? [] : Object.create(null); + 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") { + var _value$hasOwnProperty; + + if ((_value$hasOwnProperty = value.hasOwnProperty) !== null && _value$hasOwnProperty !== void 0 && _value$hasOwnProperty.call(value, i)) { + throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i])); + } + + continue; + } + + result[i] = cloneValue(desc.value); + } + + return result; + } + + var cloned = new WeakMap(); + var event = { + data: cloneValue(obj) + }; + + this._deferred.then(function () { + var _iterator13 = _createForOfIteratorHelper(_this8._listeners), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var listener = _step13.value; + listener.call(_this8, event); + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + }); + } + }, { + 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); + } + }, { + key: "terminate", + value: function terminate() { + this._listeners.length = 0; + } + }]); + + return LoopbackPort; +}(); + +exports.LoopbackPort = LoopbackPort; + +var PDFWorker = function PDFWorkerClosure() { + var pdfWorkerPorts = new WeakMap(); + var isWorkerDisabled = false; + var fallbackWorkerSrc; + var nextFakeWorkerId = 0; + var fakeWorkerCapability; + + if (_is_node.isNodeJS && typeof require === "function") { + isWorkerDisabled = true; + fallbackWorkerSrc = "./pdf.worker.js"; + } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object" && "currentScript" in document) { + var _document$currentScri; + + var pdfjsFilePath = (_document$currentScri = document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.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 (!_is_node.isNodeJS) { + (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'); + } + + return fallbackWorkerSrc; + } + + throw new Error('No "GlobalWorkerOptions.workerSrc" specified.'); + } + + function getMainThreadWorkerMessageHandler() { + var mainWorkerMessageHandler; + + try { + var _globalThis$pdfjsWork; + + mainWorkerMessageHandler = (_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler; + } catch (ex) {} + + return mainWorkerMessageHandler || null; + } + + function setupFakeWorkerGlobal() { + if (fakeWorkerCapability) { + return fakeWorkerCapability.promise; + } + + fakeWorkerCapability = (0, _util.createPromiseCapability)(); + + var loader = /*#__PURE__*/function () { + var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var mainWorkerMessageHandler, worker; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + mainWorkerMessageHandler = getMainThreadWorkerMessageHandler(); + + if (!mainWorkerMessageHandler) { + _context.next = 3; + break; + } + + return _context.abrupt("return", mainWorkerMessageHandler); + + case 3: + if (!(_is_node.isNodeJS && typeof require === "function")) { + _context.next = 6; + break; + } + + worker = eval("require")(_getWorkerSrc()); + return _context.abrupt("return", worker.WorkerMessageHandler); + + case 6: + _context.next = 8; + return (0, _display_utils.loadScript)(_getWorkerSrc()); + + case 8: + return _context.abrupt("return", window.pdfjsWorker.WorkerMessageHandler); + + case 9: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function loader() { + return _ref12.apply(this, arguments); + }; + }(); + + loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject); + return fakeWorkerCapability.promise; + } + + function createCDNWrapper(url) { + var wrapper = "importScripts('" + url + "');"; + return URL.createObjectURL(new Blob([wrapper])); + } + + var PDFWorker = /*#__PURE__*/function () { + function PDFWorker() { + var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref13$name = _ref13.name, + name = _ref13$name === void 0 ? null : _ref13$name, + _ref13$port = _ref13.port, + port = _ref13$port === void 0 ? null : _ref13$port, + _ref13$verbosity = _ref13.verbosity, + verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$verbosity; + + _classCallCheck(this, PDFWorker); + + if (port && pdfWorkerPorts.has(port)) { + throw new Error("Cannot use more than one PDFWorker per port"); + } + + this.name = name; + this.destroyed = false; + this.postMessageTransfers = true; + this.verbosity = verbosity; + this._readyCapability = (0, _util.createPromiseCapability)(); + this._port = null; + this._webWorker = null; + this._messageHandler = null; + + if (port) { + pdfWorkerPorts.set(port, this); + + this._initializeFromPort(port); + + return; + } + + this._initialize(); + } + + _createClass(PDFWorker, [{ + 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: "_initializeFromPort", + value: function _initializeFromPort(port) { + this._port = port; + this._messageHandler = new _message_handler.MessageHandler("main", "worker", port); + + this._messageHandler.on("ready", function () {}); + + this._readyCapability.resolve(); + } + }, { + key: "_initialize", + value: function _initialize() { + var _this9 = this; + + if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) { + var workerSrc = _getWorkerSrc(); + + try { + if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) { + workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href); + } + + var worker = new Worker(workerSrc); + var messageHandler = new _message_handler.MessageHandler("main", "worker", worker); + + var terminateEarly = function terminateEarly() { + worker.removeEventListener("error", onWorkerError); + messageHandler.destroy(); + worker.terminate(); + + if (_this9.destroyed) { + _this9._readyCapability.reject(new Error("Worker was destroyed")); + } else { + _this9._setupFakeWorker(); + } + }; + + var onWorkerError = function onWorkerError() { + if (!_this9._webWorker) { + terminateEarly(); + } + }; + + worker.addEventListener("error", onWorkerError); + messageHandler.on("test", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + if (data) { + _this9._messageHandler = messageHandler; + _this9._port = worker; + _this9._webWorker = worker; + + if (!data.supportTransfers) { + _this9.postMessageTransfers = false; + } + + _this9._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this9.verbosity + }); + } else { + _this9._setupFakeWorker(); + + messageHandler.destroy(); + worker.terminate(); + } + }); + messageHandler.on("ready", function (data) { + worker.removeEventListener("error", onWorkerError); + + if (_this9.destroyed) { + terminateEarly(); + return; + } + + try { + sendTest(); + } catch (e) { + _this9._setupFakeWorker(); + } + }); + + var sendTest = function sendTest() { + var testObj = new Uint8Array([_this9.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."); + } + } + + this._setupFakeWorker(); + } + }, { + key: "_setupFakeWorker", + value: function _setupFakeWorker() { + var _this10 = this; + + if (!isWorkerDisabled) { + (0, _util.warn)("Setting up fake worker."); + isWorkerDisabled = true; + } + + setupFakeWorkerGlobal().then(function (WorkerMessageHandler) { + if (_this10.destroyed) { + _this10._readyCapability.reject(new Error("Worker was destroyed")); + + return; + } + + var port = new LoopbackPort(); + _this10._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); + _this10._messageHandler = messageHandler; + + _this10._readyCapability.resolve(); + + messageHandler.send("configure", { + verbosity: _this10.verbosity + }); + })["catch"](function (reason) { + _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\"."))); + }); + } + }, { + key: "destroy", + value: function destroy() { + this.destroyed = true; + + if (this._webWorker) { + this._webWorker.terminate(); + + this._webWorker = null; + } + + pdfWorkerPorts["delete"](this._port); + this._port = null; + + if (this._messageHandler) { + this._messageHandler.destroy(); + + this._messageHandler = null; + } + } + }], [{ + 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); + } + }, { + key: "getWorkerSrc", + value: function getWorkerSrc() { + return _getWorkerSrc(); + } + }]); + + return PDFWorker; + }(); + + return PDFWorker; +}(); + +exports.PDFWorker = PDFWorker; + +var WorkerTransport = /*#__PURE__*/function () { + function WorkerTransport(messageHandler, loadingTask, networkStream, params) { + _classCallCheck(this, WorkerTransport); + + this.messageHandler = messageHandler; + this.loadingTask = loadingTask; + this.commonObjs = new PDFObjects(); + this.fontLoader = new _font_loader.FontLoader({ + docId: loadingTask.docId, + onUnsupportedFeature: this._onUnsupportedFeature.bind(this), + ownerDocument: params.ownerDocument + }); + this._params = params; + this.CMapReaderFactory = new params.CMapReaderFactory({ + baseUrl: params.cMapUrl, + isCompressed: params.cMapPacked + }); + this.destroyed = false; + this.destroyCapability = null; + this._passwordCapability = null; + this._networkStream = networkStream; + this._fullReader = null; + this._lastProgress = null; + this.pageCache = []; + this.pagePromises = []; + this.downloadInfoCapability = (0, _util.createPromiseCapability)(); + this.setupMessageHandler(); + } + + _createClass(WorkerTransport, [{ + key: "annotationStorage", + get: function get() { + return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage()); + } + }, { + key: "destroy", + value: function destroy() { + var _this11 = this; + + 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 = []; + + var _iterator14 = _createForOfIteratorHelper(this.pageCache), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var page = _step14.value; + + if (page) { + waitOn.push(page._destroy()); + } + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + + this.pageCache.length = 0; + this.pagePromises.length = 0; + + if (this.hasOwnProperty("annotationStorage")) { + this.annotationStorage.resetModified(); + } + + var terminated = this.messageHandler.sendWithPromise("Terminate", null); + waitOn.push(terminated); + Promise.all(waitOn).then(function () { + _this11.commonObjs.clear(); + + _this11.fontLoader.clear(); + + _this11._hasJSActionsPromise = null; + + if (_this11._networkStream) { + _this11._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")); + } + + if (_this11.messageHandler) { + _this11.messageHandler.destroy(); + + _this11.messageHandler = null; + } + + _this11.destroyCapability.resolve(); + }, this.destroyCapability.reject); + return this.destroyCapability.promise; + } + }, { + key: "setupMessageHandler", + value: function setupMessageHandler() { + var _this12 = this; + + var messageHandler = this.messageHandler, + loadingTask = this.loadingTask; + messageHandler.on("GetReader", function (data, sink) { + (0, _util.assert)(_this12._networkStream, "GetReader - no `IPDFStream` instance available."); + _this12._fullReader = _this12._networkStream.getFullReader(); + + _this12._fullReader.onProgress = function (evt) { + _this12._lastProgress = { + loaded: evt.loaded, + total: evt.total + }; + }; + + sink.onPull = function () { + _this12._fullReader.read().then(function (_ref14) { + var value = _ref14.value, + done = _ref14.done; + + if (done) { + sink.close(); + return; + } + + (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer."); + sink.enqueue(new Uint8Array(value), 1, [value]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + _this12._fullReader.cancel(reason); + + sink.ready["catch"](function (readyReason) { + if (_this12.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + messageHandler.on("ReaderHeadersReady", function (data) { + var headersCapability = (0, _util.createPromiseCapability)(); + var fullReader = _this12._fullReader; + fullReader.headersReady.then(function () { + if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) { + if (_this12._lastProgress && loadingTask.onProgress) { + loadingTask.onProgress(_this12._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)(_this12._networkStream, "GetRangeReader - no `IPDFStream` instance available."); + + var rangeReader = _this12._networkStream.getRangeReader(data.begin, data.end); + + if (!rangeReader) { + sink.close(); + return; + } + + sink.onPull = function () { + rangeReader.read().then(function (_ref15) { + var value = _ref15.value, + done = _ref15.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"](function (reason) { + sink.error(reason); + }); + }; + + sink.onCancel = function (reason) { + rangeReader.cancel(reason); + sink.ready["catch"](function (readyReason) { + if (_this12.destroyed) { + return; + } + + throw readyReason; + }); + }; + }); + messageHandler.on("GetDoc", function (_ref16) { + var pdfInfo = _ref16.pdfInfo; + _this12._numPages = pdfInfo.numPages; + + loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12)); + }); + messageHandler.on("DocException", function (ex) { + var 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)) { + var msg = "DocException - expected a valid Error."; + (0, _util.warn)(msg); + } + + loadingTask._capability.reject(reason); + }); + messageHandler.on("PasswordRequest", function (exception) { + _this12._passwordCapability = (0, _util.createPromiseCapability)(); + + if (loadingTask.onPassword) { + var updatePassword = function updatePassword(password) { + _this12._passwordCapability.resolve({ + password: password + }); + }; + + try { + loadingTask.onPassword(updatePassword, exception.code); + } catch (ex) { + _this12._passwordCapability.reject(ex); + } + } else { + _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code)); + } + + return _this12._passwordCapability.promise; + }); + messageHandler.on("DataLoaded", function (data) { + if (loadingTask.onProgress) { + loadingTask.onProgress({ + loaded: data.length, + total: data.length + }); + } + + _this12.downloadInfoCapability.resolve(data); + }); + messageHandler.on("StartRenderPage", function (data) { + if (_this12.destroyed) { + return; + } + + var page = _this12.pageCache[data.pageIndex]; + + page._startRenderPage(data.transparency, data.intent); + }); + messageHandler.on("commonobj", function (data) { + var _globalThis$FontInspe; + + if (_this12.destroyed) { + return; + } + + var _data = _slicedToArray(data, 3), + id = _data[0], + type = _data[1], + exportedData = _data[2]; + + if (_this12.commonObjs.has(id)) { + return; + } + + switch (type) { + case "Font": + var params = _this12._params; + + if ("error" in exportedData) { + var exportedError = exportedData.error; + (0, _util.warn)("Error during font loading: ".concat(exportedError)); + + _this12.commonObjs.resolve(id, exportedError); + + break; + } + + var fontRegistry = null; + + if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) { + fontRegistry = { + registerFont: function registerFont(font, url) { + globalThis.FontInspector.fontAdded(font, url); + } + }; + } + + var font = new _font_loader.FontFaceObject(exportedData, { + isEvalSupported: params.isEvalSupported, + disableFontFace: params.disableFontFace, + ignoreErrors: params.ignoreErrors, + onUnsupportedFeature: _this12._onUnsupportedFeature.bind(_this12), + fontRegistry: fontRegistry + }); + + _this12.fontLoader.bind(font)["catch"](function (reason) { + return messageHandler.sendWithPromise("FontFallback", { + id: id + }); + })["finally"](function () { + if (!params.fontExtraProperties && font.data) { + font.data = null; + } + + _this12.commonObjs.resolve(id, font); + }); + + break; + + case "FontPath": + case "Image": + _this12.commonObjs.resolve(id, exportedData); + + break; + + default: + throw new Error("Got unknown common object type ".concat(type)); + } + }); + messageHandler.on("obj", function (data) { + var _imageData$data; + + if (_this12.destroyed) { + return undefined; + } + + var _data2 = _slicedToArray(data, 4), + id = _data2[0], + pageIndex = _data2[1], + type = _data2[2], + imageData = _data2[3]; + + var pageProxy = _this12.pageCache[pageIndex]; + + if (pageProxy.objs.has(id)) { + return undefined; + } + + switch (type) { + case "Image": + pageProxy.objs.resolve(id, imageData); + var MAX_IMAGE_SIZE_TO_STORE = 8000000; + + if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _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 (_this12.destroyed) { + return; + } + + if (loadingTask.onProgress) { + loadingTask.onProgress({ + loaded: data.loaded, + total: data.total + }); + } + }); + messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this)); + messageHandler.on("FetchBuiltInCMap", function (data, sink) { + if (_this12.destroyed) { + sink.error(new Error("Worker was destroyed")); + return; + } + + var fetched = false; + + sink.onPull = function () { + if (fetched) { + sink.close(); + return; + } + + fetched = true; + + _this12.CMapReaderFactory.fetch(data).then(function (builtInCMap) { + sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]); + })["catch"](function (reason) { + sink.error(reason); + }); + }; + }); + } + }, { + key: "_onUnsupportedFeature", + value: function _onUnsupportedFeature(_ref17) { + var featureId = _ref17.featureId; + + 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 _this13 = this; + + if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) { + return Promise.reject(new Error("Invalid page request")); + } + + var pageIndex = pageNumber - 1; + + if (pageIndex in this.pagePromises) { + return this.pagePromises[pageIndex]; + } + + var promise = this.messageHandler.sendWithPromise("GetPage", { + pageIndex: pageIndex + }).then(function (pageInfo) { + if (_this13.destroyed) { + throw new Error("Transport destroyed"); + } + + var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug); + _this13.pageCache[pageIndex] = page; + return page; + }); + this.pagePromises[pageIndex] = promise; + return promise; + } + }, { + key: "getPageIndex", + value: function getPageIndex(ref) { + return this.messageHandler.sendWithPromise("GetPageIndex", { + ref: ref + })["catch"](function (reason) { + return Promise.reject(new Error(reason)); + }); + } + }, { + key: "getAnnotations", + value: function getAnnotations(pageIndex, intent) { + return this.messageHandler.sendWithPromise("GetAnnotations", { + pageIndex: pageIndex, + intent: intent + }); + } + }, { + key: "saveDocument", + value: function saveDocument() { + var _this$_fullReader$fil, + _this$_fullReader, + _this14 = this; + + return this.messageHandler.sendWithPromise("SaveDocument", { + numPages: this._numPages, + annotationStorage: this.annotationStorage.serializable, + filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null + })["finally"](function () { + _this14.annotationStorage.resetModified(); + }); + } + }, { + key: "getFieldObjects", + value: function getFieldObjects() { + return this.messageHandler.sendWithPromise("GetFieldObjects", null); + } + }, { + key: "hasJSActions", + value: function hasJSActions() { + return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null)); + } + }, { + key: "getCalculationOrderIds", + value: function getCalculationOrderIds() { + return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null); + } + }, { + key: "getDestinations", + value: function getDestinations() { + return this.messageHandler.sendWithPromise("GetDestinations", null); + } + }, { + key: "getDestination", + value: function getDestination(id) { + if (typeof id !== "string") { + return Promise.reject(new Error("Invalid destination request.")); + } + + 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: "getOpenAction", + value: function getOpenAction() { + return this.messageHandler.sendWithPromise("GetOpenAction", null); + } + }, { + key: "getAttachments", + value: function getAttachments() { + return this.messageHandler.sendWithPromise("GetAttachments", null); + } + }, { + key: "getJavaScript", + value: function getJavaScript() { + return this.messageHandler.sendWithPromise("GetJavaScript", null); + } + }, { + key: "getDocJSActions", + value: function getDocJSActions() { + return this.messageHandler.sendWithPromise("GetDocJSActions", null); + } + }, { + key: "getPageJSActions", + value: function getPageJSActions(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageJSActions", { + pageIndex: pageIndex + }); + } + }, { + key: "getPageXfa", + value: function getPageXfa(pageIndex) { + return this.messageHandler.sendWithPromise("GetPageXfa", { + pageIndex: pageIndex + }); + } + }, { + key: "getStructTree", + value: function getStructTree(pageIndex) { + return this.messageHandler.sendWithPromise("GetStructTree", { + pageIndex: pageIndex + }); + } + }, { + key: "getOutline", + value: function getOutline() { + return this.messageHandler.sendWithPromise("GetOutline", null); + } + }, { + key: "getOptionalContentConfig", + value: function getOptionalContentConfig() { + return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) { + return new _optional_content_config.OptionalContentConfig(results); + }); + } + }, { + key: "getPermissions", + value: function getPermissions() { + return this.messageHandler.sendWithPromise("GetPermissions", null); + } + }, { + key: "getMetadata", + value: function getMetadata() { + var _this15 = this; + + return this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) { + var _this15$_fullReader$f, _this15$_fullReader, _this15$_fullReader$c, _this15$_fullReader2; + + return { + info: results[0], + metadata: results[1] ? new _metadata.Metadata(results[1]) : null, + contentDispositionFilename: (_this15$_fullReader$f = (_this15$_fullReader = _this15._fullReader) === null || _this15$_fullReader === void 0 ? void 0 : _this15$_fullReader.filename) !== null && _this15$_fullReader$f !== void 0 ? _this15$_fullReader$f : null, + contentLength: (_this15$_fullReader$c = (_this15$_fullReader2 = _this15._fullReader) === null || _this15$_fullReader2 === void 0 ? void 0 : _this15$_fullReader2.contentLength) !== null && _this15$_fullReader$c !== void 0 ? _this15$_fullReader$c : null + }; + }); + } + }, { + key: "getMarkInfo", + value: function getMarkInfo() { + return this.messageHandler.sendWithPromise("GetMarkInfo", null); + } + }, { + key: "getStats", + value: function getStats() { + return this.messageHandler.sendWithPromise("GetStats", null); + } + }, { + key: "startCleanup", + value: function () { + var _startCleanup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var keepLoadedFonts, + i, + ii, + page, + cleanupSuccessful, + _args2 = arguments; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + keepLoadedFonts = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false; + _context2.next = 3; + return this.messageHandler.sendWithPromise("Cleanup", null); + + case 3: + if (!this.destroyed) { + _context2.next = 5; + break; + } + + return _context2.abrupt("return"); + + case 5: + i = 0, ii = this.pageCache.length; + + case 6: + if (!(i < ii)) { + _context2.next = 16; + break; + } + + page = this.pageCache[i]; + + if (page) { + _context2.next = 10; + break; + } + + return _context2.abrupt("continue", 13); + + case 10: + cleanupSuccessful = page.cleanup(); + + if (cleanupSuccessful) { + _context2.next = 13; + break; + } + + throw new Error("startCleanup: Page ".concat(i + 1, " is currently rendering.")); + + case 13: + i++; + _context2.next = 6; + break; + + case 16: + this.commonObjs.clear(); + + if (!keepLoadedFonts) { + this.fontLoader.clear(); + } + + this._hasJSActionsPromise = null; + + case 19: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function startCleanup() { + return _startCleanup.apply(this, arguments); + } + + return startCleanup; + }() + }, { + key: "loadingParams", + get: function get() { + var 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); + + 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 + }; + } + }, { + 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 null; + } + + var obj = this._objs[objId]; + + if (!obj || !obj.resolved) { + throw new Error("Requesting object that isn't resolved yet ".concat(objId, ".")); + } + + return obj.data; + } + }, { + key: "has", + value: function has(objId) { + var obj = this._objs[objId]; + return (obj === null || obj === void 0 ? void 0 : obj.resolved) || false; + } + }, { + 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() { + this._objs = Object.create(null); + } + }]); + + return PDFObjects; +}(); + +var RenderTask = /*#__PURE__*/function () { + function RenderTask(internalRenderTask) { + _classCallCheck(this, RenderTask); + + this._internalRenderTask = internalRenderTask; + this.onContinue = null; + } + + _createClass(RenderTask, [{ + key: "promise", + get: function get() { + return this._internalRenderTask.capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._internalRenderTask.cancel(); + } + }]); + + return RenderTask; +}(); + +var InternalRenderTask = function InternalRenderTaskClosure() { + var canvasInRendering = new WeakSet(); + + var InternalRenderTask = /*#__PURE__*/function () { + function InternalRenderTask(_ref18) { + var callback = _ref18.callback, + params = _ref18.params, + objs = _ref18.objs, + commonObjs = _ref18.commonObjs, + operatorList = _ref18.operatorList, + pageIndex = _ref18.pageIndex, + canvasFactory = _ref18.canvasFactory, + _ref18$useRequestAnim = _ref18.useRequestAnimationFrame, + useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim, + _ref18$pdfBug = _ref18.pdfBug, + pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$pdfBug; + + _classCallCheck(this, InternalRenderTask); + + this.callback = callback; + this.params = params; + this.objs = objs; + this.commonObjs = commonObjs; + this.operatorListIdx = null; + this.operatorList = operatorList; + this._pageIndex = pageIndex; + this.canvasFactory = canvasFactory; + this._pdfBug = pdfBug; + this.running = false; + this.graphicsReadyCallback = null; + this.graphicsReady = false; + this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined"; + this.cancelled = false; + this.capability = (0, _util.createPromiseCapability)(); + this.task = new RenderTask(this); + this._cancelBound = this.cancel.bind(this); + this._continueBound = this._continue.bind(this); + this._scheduleNextBound = this._scheduleNext.bind(this); + this._nextBound = this._next.bind(this); + this._canvas = params.canvasContext.canvas; + } + + _createClass(InternalRenderTask, [{ + key: "completed", + get: function get() { + return this.capability.promise["catch"](function () {}); + } + }, { + key: "initializeGraphics", + value: function initializeGraphics(_ref19) { + var _globalThis$StepperMa; + + var _ref19$transparency = _ref19.transparency, + transparency = _ref19$transparency === void 0 ? false : _ref19$transparency, + optionalContentConfig = _ref19.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."); + } + + canvasInRendering.add(this._canvas); + } + + if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) { + this.stepper = globalThis.StepperManager.create(this._pageIndex); + this.stepper.init(this.operatorList); + this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint(); + } + + 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, imageLayer, optionalContentConfig); + this.gfx.beginDrawing({ + transform: transform, + viewport: viewport, + transparency: transparency, + background: background + }); + this.operatorListIdx = 0; + this.graphicsReady = true; + + if (this.graphicsReadyCallback) { + this.graphicsReadyCallback(); + } + } + }, { + key: "cancel", + value: function cancel() { + var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 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 ".concat(this._pageIndex + 1), "canvas")); + } + }, { + key: "operatorListChanged", + value: function operatorListChanged() { + if (!this.graphicsReady) { + if (!this.graphicsReadyCallback) { + this.graphicsReadyCallback = this._continueBound; + } + + 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(); + } + } + }, { + key: "_scheduleNext", + value: function _scheduleNext() { + var _this16 = this; + + if (this._useRequestAnimationFrame) { + window.requestAnimationFrame(function () { + _this16._nextBound()["catch"](_this16._cancelBound); + }); + } else { + Promise.resolve().then(this._nextBound)["catch"](this._cancelBound); + } + } + }, { + key: "_next", + value: function () { + var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!this.cancelled) { + _context3.next = 2; + break; + } + + return _context3.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 _context3.stop(); + } + } + }, _callee3, this); + })); + + function _next() { + return _next2.apply(this, arguments); + } + + return _next; + }() + }]); + + return InternalRenderTask; + }(); + + return InternalRenderTask; +}(); + +var version = '2.9.359'; +exports.version = version; +var build = 'e667c8cbc'; +exports.build = build; + +/***/ }), +/* 114 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.FontLoader = exports.FontFaceObject = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var BaseFontLoader = /*#__PURE__*/function () { + function BaseFontLoader(_ref) { + var docId = _ref.docId, + onUnsupportedFeature = _ref.onUnsupportedFeature, + _ref$ownerDocument = _ref.ownerDocument, + ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument; + + _classCallCheck(this, BaseFontLoader); + + if (this.constructor === 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); + + this._document.fonts.add(nativeFontFace); + } + }, { + key: "insertRule", + value: function insertRule(rule) { + var styleElement = this.styleElement; + + if (!styleElement) { + styleElement = this.styleElement = this._document.createElement("style"); + styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId); + + this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement); + } + + var styleSheet = styleElement.sheet; + styleSheet.insertRule(rule, styleSheet.cssRules.length); + } + }, { + key: "clear", + value: function clear() { + var _iterator = _createForOfIteratorHelper(this.nativeFontFaces), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var nativeFontFace = _step.value; + + this._document.fonts["delete"](nativeFontFace); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + 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; + } + + return _context.abrupt("return"); + + case 2: + font.attached = true; + + if (!this.isFontLoadingAPISupported) { + _context.next = 19; + break; + } + + nativeFontFace = font.createNativeFontFace(); + + 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.errorFontLoadNative + }); + + (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"); + + case 19: + rule = font.createFontFaceRule(); + + if (!rule) { + _context.next = 26; + break; + } + + this.insertRule(rule); + + if (!this.isSyncFontLoadingSupported) { + _context.next = 24; + break; + } + + return _context.abrupt("return"); + + case 24: + _context.next = 26; + return new Promise(function (resolve) { + var request = _this._queueLoadingCallback(resolve); + + _this._prepareFontLoadEvent([rule], [font], request); + }); + + 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: "isFontLoadingAPISupported", + get: function get() { + var _this$_document; + + return (0, _util.shadow)(this, "isFontLoadingAPISupported", !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts)); + } + }, { + key: "isSyncFontLoadingSupported", + get: function get() { + (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`."); + } + }, { + key: "_loadTestFont", + get: function get() { + (0, _util.unreachable)("Abstract method `_loadTestFont`."); + } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fontsToLoad, request) { + (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`."); + } + }]); + + return BaseFontLoader; +}(); + +var FontLoader; +exports.FontLoader = FontLoader; +{ + exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) { + _inherits(GenericFontLoader, _BaseFontLoader); + + var _super = _createSuper(GenericFontLoader); + + function GenericFontLoader(params) { + var _this2; + + _classCallCheck(this, GenericFontLoader); + + _this2 = _super.call(this, params); + _this2.loadingContext = { + requests: [], + nextRequestId: 0 + }; + _this2.loadTestFontId = 0; + return _this2; + } + + _createClass(GenericFontLoader, [{ + key: "isSyncFontLoadingSupported", + get: function get() { + var supported = false; + + if (typeof navigator === "undefined") { + supported = true; + } else { + var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent); + + if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) { + supported = true; + } + } + + return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported); + } + }, { + key: "_queueLoadingCallback", + value: function _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) { + var otherRequest = context.requests.shift(); + setTimeout(otherRequest.callback, 0); + } + } + + 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: "_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=="); + }; + + return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont()); + } + }, { + key: "_prepareFontLoadEvent", + value: function _prepareFontLoadEvent(rules, fonts, request) { + var _this3 = this; + + 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 = this._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 = []; + + var _iterator2 = _createForOfIteratorHelper(fonts), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var font = _step2.value; + names.push(font.loadedName); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + names.push(loadTestFontId); + + var 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 (var _i = 0, _names = names; _i < _names.length; _i++) { + var name = _names[_i]; + + var span = this._document.createElement("span"); + + span.textContent = "Hi"; + span.style.fontFamily = name; + div.appendChild(span); + } + + this._document.body.appendChild(div); + + isFontReady(loadTestFontId, function () { + _this3._document.body.removeChild(div); + + request.complete(); + }); + } + }]); + + return GenericFontLoader; + }(BaseFontLoader); +} + +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, + onUnsupportedFeature = _ref2.onUnsupportedFeature, + _ref2$fontRegistry = _ref2.fontRegistry, + fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry; + + _classCallCheck(this, FontFaceObject); + + this.compiledGlyphs = Object.create(null); + + for (var i in translatedData) { + this[i] = translatedData[i]; + } + + this.isEvalSupported = isEvalSupported !== false; + this.disableFontFace = disableFontFace === true; + this.ignoreErrors = ignoreErrors === true; + this._onUnsupportedFeature = onUnsupportedFeature; + this.fontRegistry = fontRegistry; + } + + _createClass(FontFaceObject, [{ + key: "createNativeFontFace", + value: function createNativeFontFace() { + if (!this.data || this.disableFontFace) { + return null; + } + + var nativeFontFace; + + if (!this.cssFontInfo) { + nativeFontFace = new FontFace(this.loadedName, this.data, {}); + } else { + var css = { + weight: this.cssFontInfo.fontWeight + }; + + if (this.cssFontInfo.italicAngle) { + css.style = "oblique ".concat(this.cssFontInfo.italicAngle, "deg"); + } + + nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css); + } + + if (this.fontRegistry) { + this.fontRegistry.registerFont(this); + } + + return nativeFontFace; + } + }, { + key: "createFontFaceRule", + value: function createFontFaceRule() { + if (!this.data || this.disableFontFace) { + return null; + } + + var data = (0, _util.bytesToString)(this.data); + var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");"); + var rule; + + if (!this.cssFontInfo) { + rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}"); + } else { + var css = "font-weight: ".concat(this.cssFontInfo.fontWeight, ";"); + + if (this.cssFontInfo.italicAngle) { + css += "font-style: oblique ".concat(this.cssFontInfo.italicAngle, "deg;"); + } + + rule = "@font-face {font-family:\"".concat(this.cssFontInfo.fontFamily, "\";").concat(css, "src:").concat(url, "}"); + } + + if (this.fontRegistry) { + this.fontRegistry.registerFont(this, url); + } + + return rule; + } + }, { + key: "getPathGenerator", + value: function getPathGenerator(objs, character) { + if (this.compiledGlyphs[character] !== undefined) { + return this.compiledGlyphs[character]; + } + + var cmds; + + try { + cmds = objs.get(this.loadedName + "_path_" + character); + } catch (ex) { + if (!this.ignoreErrors) { + throw ex; + } + + this._onUnsupportedFeature({ + featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath + }); + + (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\".")); + return this.compiledGlyphs[character] = function (c, size) {}; + } + + if (this.isEvalSupported && _util.IsEvalSupportedCached.value) { + var jsBuf = []; + + var _iterator3 = _createForOfIteratorHelper(cmds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var current = _step3.value; + var args = current.args !== undefined ? current.args.join(",") : ""; + jsBuf.push("c.", current.cmd, "(", args, ");\n"); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + return this.compiledGlyphs[character] = new Function("c", "size", jsBuf.join("")); + } + + return this.compiledGlyphs[character] = function (c, size) { + var _iterator4 = _createForOfIteratorHelper(cmds), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _current = _step4.value; + + if (_current.cmd === "scale") { + _current.args = [size, -size]; + } + + c[_current.cmd].apply(c, _current.args); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + }; + } + }]); + + return FontFaceObject; +}(); + +exports.FontFaceObject = FontFaceObject; + +/***/ }), +/* 115 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0; + +var _display_utils = __w_pdfjs_require__(1); + +var _is_node = __w_pdfjs_require__(6); + +var _util = __w_pdfjs_require__(4); + +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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var NodeCanvasFactory = function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + (0, _util.unreachable)("Not implemented: NodeCanvasFactory"); +}; + +exports.NodeCanvasFactory = NodeCanvasFactory; + +var NodeCMapReaderFactory = function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory"); +}; + +exports.NodeCMapReaderFactory = NodeCMapReaderFactory; + +if (_is_node.isNodeJS) { + exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) { + _inherits(NodeCanvasFactory, _BaseCanvasFactory); + + var _super = _createSuper(NodeCanvasFactory); + + function NodeCanvasFactory() { + _classCallCheck(this, NodeCanvasFactory); + + return _super.apply(this, arguments); + } + + _createClass(NodeCanvasFactory, [{ + key: "create", + value: function create(width, height) { + if (width <= 0 || height <= 0) { + throw new Error("Invalid canvas size"); + } + + var Canvas = require("canvas"); + + var canvas = Canvas.createCanvas(width, height); + return { + canvas: canvas, + context: canvas.getContext("2d") + }; + } + }]); + + return NodeCanvasFactory; + }(_display_utils.BaseCanvasFactory); + + exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) { + _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor); + + var _super2 = _createSuper(NodeCMapReaderFactory); + + function NodeCMapReaderFactory() { + _classCallCheck(this, NodeCMapReaderFactory); + + return _super2.apply(this, arguments); + } + + _createClass(NodeCMapReaderFactory, [{ + key: "_fetchData", + value: function _fetchData(url, compressionType) { + return new Promise(function (resolve, reject) { + var fs = require("fs"); + + fs.readFile(url, function (error, data) { + if (error || !data) { + reject(new Error(error)); + return; + } + + resolve({ + cMapData: new Uint8Array(data), + compressionType: compressionType + }); + }); + }); + } + }]); + + return NodeCMapReaderFactory; + }(_display_utils.BaseCMapReaderFactory); +} + +/***/ }), +/* 116 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationStorage = void 0; + +var _util = __w_pdfjs_require__(4); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 AnnotationStorage = /*#__PURE__*/function () { + function AnnotationStorage() { + _classCallCheck(this, AnnotationStorage); + + this._storage = new Map(); + this._modified = false; + this.onSetModified = null; + this.onResetModified = null; + } + + _createClass(AnnotationStorage, [{ + key: "getValue", + value: function getValue(key, defaultValue) { + var obj = this._storage.get(key); + + return obj !== undefined ? obj : defaultValue; + } + }, { + key: "setValue", + value: function setValue(key, value) { + var obj = this._storage.get(key); + + var modified = false; + + if (obj !== undefined) { + for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + entry = _Object$entries$_i[0], + val = _Object$entries$_i[1]; + + if (obj[entry] !== val) { + modified = true; + obj[entry] = val; + } + } + } else { + this._storage.set(key, value); + + modified = true; + } + + if (modified) { + this._setModified(); + } + } + }, { + key: "getAll", + value: function getAll() { + return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null; + } + }, { + key: "size", + get: function get() { + return this._storage.size; + } + }, { + key: "_setModified", + value: function _setModified() { + if (!this._modified) { + this._modified = true; + + if (typeof this.onSetModified === "function") { + this.onSetModified(); + } + } + } + }, { + key: "resetModified", + value: function resetModified() { + if (this._modified) { + this._modified = false; + + if (typeof this.onResetModified === "function") { + this.onResetModified(); + } + } + } + }, { + key: "serializable", + get: function get() { + return this._storage.size > 0 ? this._storage : null; + } + }]); + + return AnnotationStorage; +}(); + +exports.AnnotationStorage = AnnotationStorage; + +/***/ }), +/* 117 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.apiCompatibilityParams = void 0; + +var _is_node = __w_pdfjs_require__(6); + +var compatibilityParams = Object.create(null); +{ + (function checkFontFace() { + if (_is_node.isNodeJS) { + compatibilityParams.disableFontFace = true; + } + })(); +} +var apiCompatibilityParams = Object.freeze(compatibilityParams); +exports.apiCompatibilityParams = apiCompatibilityParams; + +/***/ }), +/* 118 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.CanvasGraphics = void 0; + +var _util = __w_pdfjs_require__(4); + +var _pattern_helper = __w_pdfjs_require__(119); + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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; } + +var MIN_FONT_SIZE = 16; +var MAX_FONT_SIZE = 100; +var MAX_GROUP_SIZE = 4096; +var COMPILE_TYPE3_GLYPHS = true; +var MAX_SIZE_TO_COMPILE = 1000; +var FULL_CHUNK_HEIGHT = 16; +var LINEWIDTH_SCALE_FACTOR = 1.000001; + +function addContextCurrentTransform(ctx) { + if (ctx.mozCurrentTransform) { + return; + } + + ctx._originalSave = ctx.save; + ctx._originalRestore = ctx.restore; + ctx._originalRotate = ctx.rotate; + ctx._originalScale = ctx.scale; + ctx._originalTranslate = ctx.translate; + ctx._originalTransform = ctx.transform; + ctx._originalSetTransform = ctx.setTransform; + ctx._originalResetTransform = ctx.resetTransform; + ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0]; + ctx._transformStack = []; + + try { + var desc = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(ctx), "lineWidth"); + ctx._setLineWidth = desc.set; + ctx._getLineWidth = desc.get; + Object.defineProperty(ctx, "lineWidth", { + set: function setLineWidth(width) { + this._setLineWidth(width * LINEWIDTH_SCALE_FACTOR); + }, + get: function getLineWidth() { + return this._getLineWidth(); + } + }); + } catch (_) {} + + Object.defineProperty(ctx, "mozCurrentTransform", { + get: function getCurrentTransform() { + return this._transformMatrix; + } + }); + Object.defineProperty(ctx, "mozCurrentTransformInverse", { + get: function getCurrentTransformInverse() { + var _this$_transformMatri = _slicedToArray(this._transformMatrix, 6), + a = _this$_transformMatri[0], + b = _this$_transformMatri[1], + c = _this$_transformMatri[2], + d = _this$_transformMatri[3], + e = _this$_transformMatri[4], + f = _this$_transformMatri[5]; + + var ad_bc = a * d - b * c; + var 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; + + this._transformStack.push(old); + + this._transformMatrix = old.slice(0, 6); + + this._originalSave(); + }; + + ctx.restore = function ctxRestore() { + var prev = this._transformStack.pop(); + + if (prev) { + this._transformMatrix = prev; + + this._originalRestore(); + } + }; + + ctx.translate = function ctxTranslate(x, y) { + var m = this._transformMatrix; + m[4] = m[0] * x + m[2] * y + m[4]; + m[5] = m[1] * x + m[3] * y + m[5]; + + this._originalTranslate(x, y); + }; + + ctx.scale = function ctxScale(x, y) { + var m = this._transformMatrix; + m[0] = m[0] * x; + m[1] = m[1] * x; + m[2] = m[2] * y; + m[3] = m[3] * y; + + this._originalScale(x, y); + }; + + ctx.transform = function ctxTransform(a, b, c, d, e, f) { + var 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); + }; + + ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) { + this._transformMatrix = [a, b, c, d, e, f]; + + ctx._originalSetTransform(a, b, c, d, e, f); + }; + + ctx.resetTransform = function ctxResetTransform() { + this._transformMatrix = [1, 0, 0, 1, 0, 0]; + + ctx._originalResetTransform(); + }; + + ctx.rotate = function ctxRotate(angle) { + var cosValue = Math.cos(angle); + var sinValue = Math.sin(angle); + var 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); + }; +} + +var CachedCanvases = /*#__PURE__*/function () { + function CachedCanvases(canvasFactory) { + _classCallCheck(this, CachedCanvases); + + this.canvasFactory = canvasFactory; + this.cache = Object.create(null); + } + + _createClass(CachedCanvases, [{ + key: "getCanvas", + value: function getCanvas(id, width, height, trackTransform) { + var canvasEntry; + + if (this.cache[id] !== undefined) { + canvasEntry = this.cache[id]; + this.canvasFactory.reset(canvasEntry, width, height); + canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0); + } else { + canvasEntry = this.canvasFactory.create(width, height); + this.cache[id] = canvasEntry; + } + + if (trackTransform) { + addContextCurrentTransform(canvasEntry.context); + } + + return canvasEntry; + } + }, { + key: "clear", + value: function clear() { + for (var id in this.cache) { + var canvasEntry = this.cache[id]; + this.canvasFactory.destroy(canvasEntry); + delete this.cache[id]; + } + } + }]); + + return CachedCanvases; +}(); + +function compileType3Glyph(imgData) { + var POINT_TO_PROCESS_LIMIT = 1000; + var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]); + var width = imgData.width, + height = imgData.height, + width1 = width + 1; + var i, ii, j, j0; + var points = new Uint8Array(width1 * (height + 1)); + var lineSize = width + 7 & ~7, + data0 = imgData.data; + var data = new Uint8Array(lineSize * height); + var pos = 0; + + for (i = 0, ii = data0.length; i < ii; i++) { + var elem = data0[i]; + var mask = 128; + + while (mask > 0) { + data[pos++] = elem & mask ? 0 : 255; + mask >>= 1; + } + } + + var count = 0; + pos = 0; + + if (data[pos] !== 0) { + points[0] = 1; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j] = data[pos] ? 2 : 1; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j] = 2; + ++count; + } + + for (i = 1; i < height; i++) { + pos = i * lineSize; + j0 = i * width1; + + if (data[pos - lineSize] !== data[pos]) { + points[j0] = data[pos] ? 1 : 8; + ++count; + } + + var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0); + + for (j = 1; j < width; j++) { + sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0); + + if (POINT_TYPES[sum]) { + points[j0 + j] = POINT_TYPES[sum]; + ++count; + } + + pos++; + } + + if (data[pos - lineSize] !== data[pos]) { + points[j0 + j] = data[pos] ? 2 : 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + } + + pos = lineSize * (height - 1); + j0 = i * width1; + + if (data[pos] !== 0) { + points[j0] = 8; + ++count; + } + + for (j = 1; j < width; j++) { + if (data[pos] !== data[pos + 1]) { + points[j0 + j] = data[pos] ? 4 : 8; + ++count; + } + + pos++; + } + + if (data[pos] !== 0) { + points[j0 + j] = 4; + ++count; + } + + if (count > POINT_TO_PROCESS_LIMIT) { + return null; + } + + var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]); + var outlines = []; + + for (i = 0; count && i <= height; i++) { + var p = i * width1; + var end = p + width; + + while (p < end && !points[p]) { + p++; + } + + if (p === end) { + continue; + } + + var coords = [p % width1, i]; + var p0 = p; + var type = points[p]; + + do { + var step = steps[type]; + + do { + p += step; + } while (!points[p]); + + var pp = points[p]; + + if (pp !== 5 && pp !== 10) { + type = pp; + points[p] = 0; + } else { + type = pp & 0x33 * type >> 4; + points[p] &= type >> 2 | type << 2; + } + + coords.push(p % width1, p / width1 | 0); + + if (!points[p]) { + --count; + } + } while (p0 !== p); + + outlines.push(coords); + --i; + } + + var drawOutline = function drawOutline(c) { + c.save(); + c.scale(1 / width, -1 / height); + c.translate(0, -height); + c.beginPath(); + + for (var k = 0, kk = outlines.length; k < kk; k++) { + var o = outlines[k]; + c.moveTo(o[0], o[1]); + + for (var l = 2, ll = o.length; l < ll; l += 2) { + c.lineTo(o[l], o[l + 1]); + } + } + + c.fill(); + c.beginPath(); + c.restore(); + }; + + return drawOutline; +} + +var CanvasExtraState = /*#__PURE__*/function () { + function CanvasExtraState() { + _classCallCheck(this, CanvasExtraState); + + this.alphaIsShape = false; + this.fontSize = 0; + this.fontSizeScale = 1; + this.textMatrix = _util.IDENTITY_MATRIX; + this.textMatrixScale = 1; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textRise = 0; + this.fillColor = "#000000"; + this.strokeColor = "#000000"; + this.patternFill = false; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.activeSMask = null; + this.resumeSMaskCtx = null; + this.transferMaps = null; + } + + _createClass(CanvasExtraState, [{ + key: "clone", + value: function clone() { + return Object.create(this); + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }]); + + return CanvasExtraState; +}(); + +var CanvasGraphics = function CanvasGraphicsClosure() { + var EXECUTION_TIME = 15; + var EXECUTION_STEPS = 10; + + function putBinaryImageData(ctx, imgData) { + var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 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, + destPos; + var src = imgData.data; + var dest = chunkImgData.data; + var i, j, thisChunkHeight, elemsInThisChunk; + var 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 = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff; + + if (transferMapGray) { + if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) { + var _ref = [black, white]; + white = _ref[0]; + black = _ref[1]; + } + } + + 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; + + for (; k < kEndUnrolled; k += 8) { + srcByte = src[srcPos++]; + dest32[destPos++] = srcByte & 128 ? white : black; + dest32[destPos++] = srcByte & 64 ? white : black; + dest32[destPos++] = srcByte & 32 ? white : black; + dest32[destPos++] = srcByte & 16 ? white : black; + dest32[destPos++] = srcByte & 8 ? white : black; + dest32[destPos++] = srcByte & 4 ? white : black; + dest32[destPos++] = srcByte & 2 ? white : black; + dest32[destPos++] = srcByte & 1 ? white : black; + } + + for (; k < kEnd; k++) { + if (mask === 0) { + srcByte = src[srcPos++]; + mask = 128; + } + + dest32[destPos++] = srcByte & mask ? white : black; + mask >>= 1; + } + } + + while (destPos < dest32DataLength) { + dest32[destPos++] = 0; + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) { + var 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 (var _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; + } + + if (i < totalChunks) { + elemsInThisChunk = width * partialChunkHeight * 4; + dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk)); + + if (hasTransferMaps) { + for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) { + if (transferMapRed) { + dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]]; + } + + if (transferMapGreen) { + dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]]; + } + + if (transferMapBlue) { + dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, j); + } + } else if (imgData.kind === _util.ImageKind.RGB_24BPP) { + var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue); + + thisChunkHeight = FULL_CHUNK_HEIGHT; + elemsInThisChunk = width * thisChunkHeight; + + for (i = 0; i < totalChunks; i++) { + if (i >= fullChunks) { + thisChunkHeight = partialChunkHeight; + elemsInThisChunk = width * thisChunkHeight; + } + + destPos = 0; + + for (j = elemsInThisChunk; j--;) { + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = src[srcPos++]; + dest[destPos++] = 255; + } + + if (_hasTransferMaps) { + for (var _k3 = 0; _k3 < destPos; _k3 += 4) { + if (transferMapRed) { + dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]]; + } + + if (transferMapGreen) { + dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]]; + } + + if (transferMapBlue) { + dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]]; + } + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } else { + throw new Error("bad image kind: ".concat(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; + + for (var i = 0; i < totalChunks; i++) { + var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight; + var destPos = 3; + + for (var j = 0; j < thisChunkHeight; j++) { + var elem = void 0, + mask = 0; + + for (var k = 0; k < width; k++) { + if (!mask) { + elem = src[srcPos++]; + mask = 128; + } + + dest[destPos] = elem & mask ? 0 : 255; + destPos += 4; + mask >>= 1; + } + } + + ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT); + } + } + + function copyCtxState(sourceCtx, destCtx) { + var 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]; + + if (sourceCtx[property] !== undefined) { + destCtx[property] = sourceCtx[property]; + } + } + + if (sourceCtx.setLineDash !== undefined) { + destCtx.setLineDash(sourceCtx.getLineDash()); + destCtx.lineDashOffset = sourceCtx.lineDashOffset; + } + } + + function resetCtxToDefault(ctx) { + ctx.strokeStyle = "#000000"; + ctx.fillStyle = "#000000"; + ctx.fillRule = "nonzero"; + ctx.globalAlpha = 1; + ctx.lineWidth = 1; + ctx.lineCap = "butt"; + ctx.lineJoin = "miter"; + ctx.miterLimit = 10; + ctx.globalCompositeOperation = "source-over"; + ctx.font = "10px sans-serif"; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash([]); + ctx.lineDashOffset = 0; + } + } + + function composeSMaskBackdrop(bytes, r0, g0, b0) { + var length = bytes.length; + + for (var i = 3; i < length; i += 4) { + var 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; + bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8; + bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8; + bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8; + } + } + } + + function composeSMaskAlpha(maskData, layerData, transferMap) { + var length = maskData.length; + var scale = 1 / 255; + + for (var i = 3; i < length; i += 4) { + var alpha = transferMap ? transferMap[maskData[i]] : maskData[i]; + layerData[i] = layerData[i] * alpha * scale | 0; + } + } + + function composeSMaskLuminosity(maskData, layerData, transferMap) { + var 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; + 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; + + if (subtype === "Luminosity") { + composeFn = composeSMaskLuminosity; + } else { + composeFn = composeSMaskAlpha; + } + + var PIXELS_TO_PROCESS = 1048576; + var 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); + + if (hasBackdrop) { + composeSMaskBackdrop(maskData.data, r0, g0, b0); + } + + composeFn(maskData.data, layerData.data, transferMap); + maskCtx.putImageData(layerData, 0, row); + } + } + + function composeSMask(ctx, smask, layerCtx) { + var mask = smask.canvas; + var maskCtx = smask.context; + ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY); + genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, smask.backdrop, smask.transferMap); + 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 = {}; + + var CanvasGraphics = /*#__PURE__*/function () { + function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig) { + _classCallCheck(this, CanvasGraphics); + + this.ctx = canvasCtx; + this.current = new CanvasExtraState(); + this.stateStack = []; + this.pendingClip = null; + this.pendingEOFill = false; + this.res = null; + this.xobjs = null; + this.commonObjs = commonObjs; + this.objs = objs; + this.canvasFactory = canvasFactory; + this.imageLayer = imageLayer; + this.groupStack = []; + this.processingType3 = null; + this.baseTransform = null; + this.baseTransformStack = []; + this.groupLevel = 0; + this.smaskStack = []; + this.smaskCounter = 0; + this.tempSMask = null; + this.contentVisible = true; + this.markedContentStack = []; + this.optionalContentConfig = optionalContentConfig; + this.cachedCanvases = new CachedCanvases(this.canvasFactory); + + if (canvasCtx) { + addContextCurrentTransform(canvasCtx); + } + + this._cachedGetSinglePixelWidth = null; + } + + _createClass(CanvasGraphics, [{ + key: "beginDrawing", + value: function beginDrawing(_ref2) { + var transform = _ref2.transform, + viewport = _ref2.viewport, + _ref2$transparency = _ref2.transparency, + transparency = _ref2$transparency === void 0 ? false : _ref2$transparency, + _ref2$background = _ref2.background, + background = _ref2$background === void 0 ? null : _ref2$background; + var width = this.ctx.canvas.width; + var height = this.ctx.canvas.height; + this.ctx.save(); + 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); + this.compositeCtx = this.ctx; + this.transparentCanvas = transparentCanvas.canvas; + this.ctx = transparentCanvas.context; + this.ctx.save(); + this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform); + } + + this.ctx.save(); + resetCtxToDefault(this.ctx); + + if (transform) { + this.ctx.transform.apply(this.ctx, transform); + } + + 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(); + } + } + }, { + key: "executeOperatorList", + value: function executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) { + var argsArray = operatorList.argsArray; + var fnArray = operatorList.fnArray; + var i = executionStartIdx || 0; + var 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; + + while (true) { + if (stepper !== undefined && i === stepper.nextBreakPoint) { + stepper.breakIt(i, continueCallback); + return i; + } + + fnId = fnArray[i]; + + if (fnId !== _util.OPS.dependency) { + this[fnId].apply(this, argsArray[i]); + } else { + var _iterator = _createForOfIteratorHelper(argsArray[i]), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var depObjId = _step.value; + var objsPool = depObjId.startsWith("g_") ? commonObjs : objs; + + if (!objsPool.has(depObjId)) { + objsPool.get(depObjId, continueCallback); + return i; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + i++; + + if (i === argsArrayLen) { + return i; + } + + if (chunkOperations && ++steps > EXECUTION_STEPS) { + if (Date.now() > endTime) { + continueCallback(); + return i; + } + + steps = 0; + } + } + } + }, { + key: "endDrawing", + value: function endDrawing() { + while (this.stateStack.length || this.current.activeSMask !== null) { + this.restore(); + } + + this.ctx.restore(); + + if (this.transparentCanvas) { + this.ctx = this.compositeCtx; + this.ctx.save(); + this.ctx.setTransform(1, 0, 0, 1, 0, 0); + this.ctx.drawImage(this.transparentCanvas, 0, 0); + this.ctx.restore(); + this.transparentCanvas = null; + } + + this.cachedCanvases.clear(); + + if (this.imageLayer) { + this.imageLayer.endLayout(); + } + } + }, { + key: "setLineWidth", + value: function setLineWidth(width) { + this.current.lineWidth = width; + this.ctx.lineWidth = width; + } + }, { + key: "setLineCap", + value: function setLineCap(style) { + this.ctx.lineCap = LINE_CAP_STYLES[style]; + } + }, { + key: "setLineJoin", + value: function setLineJoin(style) { + this.ctx.lineJoin = LINE_JOIN_STYLES[style]; + } + }, { + key: "setMiterLimit", + value: function setMiterLimit(limit) { + this.ctx.miterLimit = limit; + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + var ctx = this.ctx; + + if (ctx.setLineDash !== undefined) { + ctx.setLineDash(dashArray); + ctx.lineDashOffset = dashPhase; + } + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + for (var i = 0, ii = states.length; i < ii; i++) { + var state = states[i]; + var key = state[0]; + var value = state[1]; + + switch (key) { + case "LW": + this.setLineWidth(value); + break; + + case "LC": + this.setLineCap(value); + break; + + case "LJ": + this.setLineJoin(value); + break; + + case "ML": + this.setMiterLimit(value); + break; + + case "D": + this.setDash(value[0], value[1]); + break; + + case "RI": + this.setRenderingIntent(value); + break; + + case "FL": + this.setFlatness(value); + break; + + case "Font": + this.setFont(value[0], value[1]); + break; + + case "CA": + this.current.strokeAlpha = state[1]; + break; + + case "ca": + this.current.fillAlpha = state[1]; + this.ctx.globalAlpha = state[1]; + break; + + case "BM": + this.ctx.globalCompositeOperation = value; + break; + + case "SMask": + if (this.current.activeSMask) { + if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) { + this.suspendSMaskGroup(); + } else { + this.endSMaskGroup(); + } + } + + this.current.activeSMask = value ? this.tempSMask : null; + + if (this.current.activeSMask) { + this.beginSMaskGroup(); + } + + this.tempSMask = null; + break; + + case "TR": + this.current.transferMaps = value; + } + } + } + }, { + key: "beginSMaskGroup", + value: function 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; + this.ctx.save(); + var 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.groupStack.push(currentCtx); + this.groupLevel++; + } + }, { + key: "suspendSMaskGroup", + value: function suspendSMaskGroup() { + var groupCtx = this.ctx; + this.groupLevel--; + this.ctx = this.groupStack.pop(); + composeSMask(this.ctx, this.current.activeSMask, groupCtx); + this.ctx.restore(); + this.ctx.save(); + copyCtxState(groupCtx, this.ctx); + this.current.resumeSMaskCtx = groupCtx; + + var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); + + this.ctx.transform.apply(this.ctx, deltaTransform); + groupCtx.save(); + groupCtx.setTransform(1, 0, 0, 1, 0, 0); + groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height); + groupCtx.restore(); + } + }, { + key: "resumeSMaskGroup", + value: function resumeSMaskGroup() { + var groupCtx = this.current.resumeSMaskCtx; + var currentCtx = this.ctx; + this.ctx = groupCtx; + this.groupStack.push(currentCtx); + this.groupLevel++; + } + }, { + key: "endSMaskGroup", + value: function endSMaskGroup() { + var groupCtx = this.ctx; + this.groupLevel--; + this.ctx = this.groupStack.pop(); + composeSMask(this.ctx, this.current.activeSMask, groupCtx); + this.ctx.restore(); + copyCtxState(groupCtx, this.ctx); + + var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform); + + this.ctx.transform.apply(this.ctx, deltaTransform); + } + }, { + key: "save", + value: function save() { + this.ctx.save(); + var old = this.current; + this.stateStack.push(old); + this.current = old.clone(); + this.current.resumeSMaskCtx = null; + } + }, { + key: "restore", + value: function restore() { + if (this.current.resumeSMaskCtx) { + this.resumeSMaskGroup(); + } + + if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) { + this.endSMaskGroup(); + } + + if (this.stateStack.length !== 0) { + this.current = this.stateStack.pop(); + this.ctx.restore(); + this.pendingClip = null; + this._cachedGetSinglePixelWidth = null; + } else { + this.current.activeSMask = null; + } + } + }, { + key: "transform", + value: function transform(a, b, c, d, e, f) { + this.ctx.transform(a, b, c, d, e, f); + this._cachedGetSinglePixelWidth = null; + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { + var ctx = this.ctx; + var current = this.current; + var x = current.x, + y = current.y; + + for (var 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++]; + var xw = x + width; + var yh = y + height; + ctx.moveTo(x, y); + + if (width === 0 || height === 0) { + ctx.lineTo(xw, yh); + } else { + ctx.lineTo(xw, y); + ctx.lineTo(xw, yh); + ctx.lineTo(x, yh); + } + + ctx.closePath(); + break; + + case _util.OPS.moveTo: + x = args[j++]; + y = args[j++]; + ctx.moveTo(x, y); + break; + + case _util.OPS.lineTo: + x = args[j++]; + y = args[j++]; + ctx.lineTo(x, y); + break; + + case _util.OPS.curveTo: + x = args[j + 4]; + y = args[j + 5]; + ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y); + j += 6; + break; + + case _util.OPS.curveTo2: + ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], 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]; + ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y); + j += 4; + break; + + case _util.OPS.closePath: + ctx.closePath(); + break; + } + } + + current.setCurrentPoint(x, y); + } + }, { + key: "closePath", + value: function closePath() { + this.ctx.closePath(); + } + }, { + key: "stroke", + value: function stroke(consumePath) { + consumePath = typeof consumePath !== "undefined" ? consumePath : true; + var ctx = this.ctx; + var strokeColor = this.current.strokeColor; + ctx.globalAlpha = this.current.strokeAlpha; + + if (this.contentVisible) { + if (_typeof(strokeColor) === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) { + var lineWidth = this.getSinglePixelWidth(); + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this); + ctx.lineWidth = Math.max(lineWidth, this.current.lineWidth); + ctx.stroke(); + ctx.restore(); + } else { + var _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) { + this.consumePath(); + } + + ctx.globalAlpha = this.current.fillAlpha; + } + }, { + key: "closeStroke", + value: function closeStroke() { + this.closePath(); + this.stroke(); + } + }, { + key: "fill", + value: function 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; + + if (isPatternFill) { + ctx.save(); + ctx.fillStyle = fillColor.getPattern(ctx, this); + needRestore = true; + } + + if (this.contentVisible) { + if (this.pendingEOFill) { + ctx.fill("evenodd"); + this.pendingEOFill = false; + } else { + ctx.fill(); + } + } + + if (needRestore) { + ctx.restore(); + } + + if (consumePath) { + this.consumePath(); + } + } + }, { + key: "eoFill", + value: function eoFill() { + this.pendingEOFill = true; + this.fill(); + } + }, { + key: "fillStroke", + value: function fillStroke() { + this.fill(false); + this.stroke(false); + this.consumePath(); + } + }, { + key: "eoFillStroke", + value: function eoFillStroke() { + this.pendingEOFill = true; + this.fillStroke(); + } + }, { + key: "closeFillStroke", + value: function closeFillStroke() { + this.closePath(); + this.fillStroke(); + } + }, { + key: "closeEOFillStroke", + value: function closeEOFillStroke() { + this.pendingEOFill = true; + this.closePath(); + this.fillStroke(); + } + }, { + key: "endPath", + value: function endPath() { + this.consumePath(); + } + }, { + key: "clip", + value: function clip() { + this.pendingClip = NORMAL_CLIP; + } + }, { + key: "eoClip", + value: function eoClip() { + this.pendingClip = EO_CLIP; + } + }, { + key: "beginText", + value: function beginText() { + this.current.textMatrix = _util.IDENTITY_MATRIX; + this.current.textMatrixScale = 1; + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "endText", + value: function endText() { + var paths = this.pendingTextPaths; + var ctx = this.ctx; + + if (paths === undefined) { + ctx.beginPath(); + return; + } + + ctx.save(); + ctx.beginPath(); + + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + ctx.setTransform.apply(ctx, path.transform); + ctx.translate(path.x, path.y); + path.addToPath(ctx, path.fontSize); + } + + ctx.restore(); + ctx.clip(); + ctx.beginPath(); + delete this.pendingTextPaths; + } + }, { + key: "setCharSpacing", + value: function setCharSpacing(spacing) { + this.current.charSpacing = spacing; + } + }, { + key: "setWordSpacing", + value: function setWordSpacing(spacing) { + this.current.wordSpacing = spacing; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setFont", + value: function setFont(fontRefName, size) { + var fontObj = this.commonObjs.get(fontRefName); + var current = this.current; + + if (!fontObj) { + throw new Error("Can't find font for ".concat(fontRefName)); + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + + if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) { + (0, _util.warn)("Invalid font matrix for font " + fontRefName); + } + + if (size < 0) { + size = -size; + current.fontDirection = -1; + } else { + current.fontDirection = 1; + } + + this.current.font = fontObj; + this.current.fontSize = size; + + if (fontObj.isType3Font) { + return; + } + + var name = fontObj.loadedName || "sans-serif"; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + var italic = fontObj.italic ? "italic" : "normal"; + var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName); + var 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); + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(mode) { + this.current.textRenderingMode = mode; + } + }, { + key: "setTextRise", + value: function setTextRise(rise) { + this.current.textRise = rise; + } + }, { + key: "moveText", + value: function moveText(x, y) { + this.current.x = this.current.lineX += x; + this.current.y = this.current.lineY += y; + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "setTextMatrix", + value: function setTextMatrix(a, b, c, d, e, f) { + this.current.textMatrix = [a, b, c, d, e, f]; + this.current.textMatrixScale = Math.hypot(a, b); + this.current.x = this.current.lineX = 0; + this.current.y = this.current.lineY = 0; + } + }, { + key: "nextLine", + value: function nextLine() { + this.moveText(0, this.current.leading); + } + }, { + key: "paintChar", + value: function paintChar(character, x, y, patternTransform, resetLineWidthToOne) { + 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.missingFile; + var addToPath; + + if (font.disableFontFace || isAddToPathSet || patternFill) { + addToPath = font.getPathGenerator(this.commonObjs, character); + } + + if (font.disableFontFace || patternFill) { + ctx.save(); + ctx.translate(x, y); + ctx.beginPath(); + addToPath(ctx, fontSize); + + if (patternTransform) { + ctx.setTransform.apply(ctx, patternTransform); + } + + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fill(); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + if (resetLineWidthToOne) { + ctx.resetTransform(); + ctx.lineWidth = Math.round(this._combinedScaleFactor); + } + + ctx.stroke(); + } + + ctx.restore(); + } else { + if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + ctx.fillText(character, x, y); + } + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + 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 = []); + paths.push({ + transform: ctx.mozCurrentTransform, + x: x, + y: y, + fontSize: fontSize, + addToPath: addToPath + }); + } + } + }, { + key: "isFontSubpixelAAEnabled", + get: function get() { + var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10), + ctx = _this$cachedCanvases$.context; + + ctx.scale(1.5, 1); + ctx.fillText("I", 0, 10); + var data = ctx.getImageData(0, 0, 10, 10).data; + var enabled = false; + + for (var i = 3; i < data.length; i += 4) { + if (data[i] > 0 && data[i] < 255) { + enabled = true; + break; + } + } + + return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled); + } + }, { + key: "showText", + value: function showText(glyphs) { + var current = this.current; + var font = current.font; + + if (font.isType3Font) { + return this.showType3Text(glyphs); + } + + var 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; + ctx.save(); + var patternTransform; + + if (current.patternFill) { + ctx.save(); + var pattern = current.fillColor.getPattern(ctx, this); + patternTransform = ctx.mozCurrentTransform; + ctx.restore(); + ctx.fillStyle = pattern; + } + + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y + current.textRise); + + if (fontDirection > 0) { + ctx.scale(textHScale, -1); + } else { + ctx.scale(textHScale, 1); + } + + var lineWidth = current.lineWidth; + var resetLineWidthToOne = false; + var scale = current.textMatrixScale; + + if (scale === 0 || lineWidth === 0) { + var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK; + + if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) { + this._cachedGetSinglePixelWidth = null; + lineWidth = this.getSinglePixelWidth(); + resetLineWidthToOne = lineWidth < 0; + } + } else { + lineWidth /= scale; + } + + if (fontSizeScale !== 1.0) { + ctx.scale(fontSizeScale, fontSizeScale); + lineWidth /= fontSizeScale; + } + + ctx.lineWidth = lineWidth; + var x = 0, + i; + + for (i = 0; i < glyphsLength; ++i) { + var 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 = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + var vmetric = glyph.vmetric || defaultVMetrics; + var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (font.remeasure && width > 0) { + var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale; + + if (width < measuredWidth && this.isFontSubpixelAAEnabled) { + var characterScaleX = width / measuredWidth; + restoreNeeded = true; + ctx.save(); + ctx.scale(characterScaleX, 1); + scaledX /= characterScaleX; + } else if (width !== measuredWidth) { + scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale; + } + } + + if (this.contentVisible && (glyph.isInFont || font.missingFile)) { + if (simpleFillText && !accent) { + ctx.fillText(character, scaledX, scaledY); + } else { + this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne); + + if (accent) { + var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale; + var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale; + this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne); + } + } + } + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + + if (restoreNeeded) { + ctx.restore(); + } + } + + if (vertical) { + current.y -= x; + } else { + current.x += x * textHScale; + } + + ctx.restore(); + return undefined; + } + }, { + key: "showType3Text", + value: function 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; + + if (isTextInvisible || fontSize === 0) { + return; + } + + this._cachedGetSinglePixelWidth = null; + ctx.save(); + ctx.transform.apply(ctx, current.textMatrix); + ctx.translate(current.x, current.y); + ctx.scale(textHScale, fontDirection); + + for (i = 0; i < glyphsLength; ++i) { + glyph = glyphs[i]; + + if ((0, _util.isNum)(glyph)) { + spacingLength = spacingDir * glyph * fontSize / 1000; + this.ctx.translate(spacingLength, 0); + current.x += spacingLength * textHScale; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var operatorList = font.charProcOperatorList[glyph.operatorListId]; + + if (!operatorList) { + (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available.")); + continue; + } + + 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); + + width = transformed[0] * fontSize + spacing; + ctx.translate(width, 0); + current.x += width * textHScale; + } + + ctx.restore(); + this.processingType3 = null; + } + }, { + key: "setCharWidth", + value: function setCharWidth(xWidth, yWidth) {} + }, { + key: "setCharWidthAndBounds", + value: function setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) { + this.ctx.rect(llx, lly, urx - llx, ury - lly); + this.clip(); + this.endPath(); + } + }, { + key: "getColorN_Pattern", + value: function getColorN_Pattern(IR) { + var _this = this; + + 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); + } + }; + pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform); + } else { + pattern = (0, _pattern_helper.getShadingPattern)(IR); + } + + return pattern; + } + }, { + key: "setStrokeColorN", + value: function setStrokeColorN() { + this.current.strokeColor = this.getColorN_Pattern(arguments); + } + }, { + key: "setFillColorN", + value: function setFillColorN() { + this.current.fillColor = this.getColorN_Pattern(arguments); + this.current.patternFill = true; + } + }, { + key: "setStrokeRGBColor", + value: function setStrokeRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); + + this.ctx.strokeStyle = color; + this.current.strokeColor = color; + } + }, { + key: "setFillRGBColor", + value: function setFillRGBColor(r, g, b) { + var color = _util.Util.makeHexColor(r, g, b); + + this.ctx.fillStyle = color; + this.current.fillColor = color; + this.current.patternFill = false; + } + }, { + key: "shadingFill", + value: function shadingFill(patternIR) { + if (!this.contentVisible) { + return; + } + + var ctx = this.ctx; + this.save(); + var pattern = (0, _pattern_helper.getShadingPattern)(patternIR); + ctx.fillStyle = pattern.getPattern(ctx, this, true); + var inv = ctx.mozCurrentTransformInverse; + + if (inv) { + var canvas = ctx.canvas; + var width = canvas.width; + var height = canvas.height; + + 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]); + this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0); + } else { + this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10); + } + + this.restore(); + } + }, { + key: "beginInlineImage", + value: function beginInlineImage() { + (0, _util.unreachable)("Should not call beginInlineImage"); + } + }, { + key: "beginImageData", + value: function beginImageData() { + (0, _util.unreachable)("Should not call beginImageData"); + } + }, { + key: "paintFormXObjectBegin", + value: function paintFormXObjectBegin(matrix, bbox) { + if (!this.contentVisible) { + return; + } + + this.save(); + this.baseTransformStack.push(this.baseTransform); + + if (Array.isArray(matrix) && matrix.length === 6) { + this.transform.apply(this, matrix); + } + + this.baseTransform = this.ctx.mozCurrentTransform; + + if (bbox) { + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + this.ctx.rect(bbox[0], bbox[1], width, height); + this.clip(); + this.endPath(); + } + } + }, { + key: "paintFormXObjectEnd", + value: function paintFormXObjectEnd() { + if (!this.contentVisible) { + return; + } + + this.restore(); + this.baseTransform = this.baseTransformStack.pop(); + } + }, { + key: "beginGroup", + value: function beginGroup(group) { + if (!this.contentVisible) { + return; + } + + this.save(); + var currentCtx = this.ctx; + + if (!group.isolated) { + (0, _util.info)("TODO: Support non-isolated groups."); + } + + if (group.knockout) { + (0, _util.warn)("Knockout groups not supported."); + } + + var currentTransform = currentCtx.mozCurrentTransform; + + if (group.matrix) { + currentCtx.transform.apply(currentCtx, group.matrix); + } + + if (!group.bbox) { + throw new Error("Bounding box is required."); + } + + var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform); + + var 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, + scaleY = 1; + + if (drawnWidth > MAX_GROUP_SIZE) { + scaleX = drawnWidth / MAX_GROUP_SIZE; + drawnWidth = MAX_GROUP_SIZE; + } + + if (drawnHeight > MAX_GROUP_SIZE) { + scaleY = drawnHeight / MAX_GROUP_SIZE; + drawnHeight = MAX_GROUP_SIZE; + } + + var cacheId = "groupAt" + this.groupLevel; + + if (group.smask) { + cacheId += "_smask_" + this.smaskCounter++ % 2; + } + + var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true); + var groupCtx = scratchCanvas.context; + groupCtx.scale(1 / scaleX, 1 / scaleY); + groupCtx.translate(-offsetX, -offsetY); + groupCtx.transform.apply(groupCtx, currentTransform); + + if (group.smask) { + this.smaskStack.push({ + canvas: scratchCanvas.canvas, + context: groupCtx, + offsetX: offsetX, + offsetY: offsetY, + scaleX: scaleX, + scaleY: scaleY, + subtype: group.smask.subtype, + backdrop: group.smask.backdrop, + transferMap: group.smask.transferMap || null, + startTransformInverse: null + }); + } else { + currentCtx.setTransform(1, 0, 0, 1, 0, 0); + currentCtx.translate(offsetX, offsetY); + currentCtx.scale(scaleX, scaleY); + } + + copyCtxState(currentCtx, groupCtx); + this.ctx = groupCtx; + this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]); + this.groupStack.push(currentCtx); + this.groupLevel++; + this.current.activeSMask = null; + } + }, { + key: "endGroup", + value: function endGroup(group) { + if (!this.contentVisible) { + return; + } + + this.groupLevel--; + var groupCtx = this.ctx; + this.ctx = this.groupStack.pop(); + + if (this.ctx.imageSmoothingEnabled !== undefined) { + this.ctx.imageSmoothingEnabled = false; + } else { + this.ctx.mozImageSmoothingEnabled = false; + } + + if (group.smask) { + this.tempSMask = this.smaskStack.pop(); + } else { + this.ctx.drawImage(groupCtx.canvas, 0, 0); + } + + this.restore(); + } + }, { + key: "beginAnnotations", + value: function beginAnnotations() { + this.save(); + + if (this.baseTransform) { + this.ctx.setTransform.apply(this.ctx, this.baseTransform); + } + } + }, { + key: "endAnnotations", + value: function endAnnotations() { + this.restore(); + } + }, { + key: "beginAnnotation", + value: function beginAnnotation(rect, transform, matrix) { + this.save(); + resetCtxToDefault(this.ctx); + this.current = new CanvasExtraState(); + + if (Array.isArray(rect) && rect.length === 4) { + var width = rect[2] - rect[0]; + var height = rect[3] - rect[1]; + this.ctx.rect(rect[0], rect[1], width, height); + this.clip(); + this.endPath(); + } + + this.transform.apply(this, transform); + this.transform.apply(this, matrix); + } + }, { + key: "endAnnotation", + value: function endAnnotation() { + this.restore(); + } + }, { + key: "paintImageMaskXObject", + value: function paintImageMaskXObject(img) { + if (!this.contentVisible) { + return; + } + + 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; + + 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 + }); + } else { + glyph.compiled = null; + } + } + + if (glyph !== null && glyph !== void 0 && glyph.compiled) { + glyph.compiled(ctx); + return; + } + + var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height); + var maskCtx = maskCanvas.context; + maskCtx.save(); + putBinaryImageMask(maskCtx, img); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + this.paintInlineImageXObject(maskCanvas.canvas); + } + }, { + key: "paintImageMaskXObjectRepeat", + value: function paintImageMaskXObjectRepeat(imgData, scaleX) { + var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + var scaleY = arguments.length > 4 ? arguments[4] : undefined; + var positions = arguments.length > 5 ? arguments[5] : undefined; + + if (!this.contentVisible) { + return; + } + + 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; + maskCtx.save(); + putBinaryImageMask(maskCtx, imgData); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + var ctx = this.ctx; + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + ctx.save(); + 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(); + } + } + }, { + key: "paintImageMaskXObjectGroup", + value: function paintImageMaskXObjectGroup(images) { + if (!this.contentVisible) { + return; + } + + 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; + maskCtx.save(); + putBinaryImageMask(maskCtx, image); + maskCtx.globalCompositeOperation = "source-in"; + maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor; + maskCtx.fillRect(0, 0, width, height); + maskCtx.restore(); + ctx.save(); + ctx.transform.apply(ctx, image.transform); + ctx.scale(1, -1); + ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1); + ctx.restore(); + } + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + if (!this.contentVisible) { + return; + } + + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + key: "paintImageXObjectRepeat", + value: function paintImageXObjectRepeat(objId, scaleX, scaleY, positions) { + if (!this.contentVisible) { + return; + } + + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image isn't ready yet"); + return; + } + + var width = imgData.width; + var height = imgData.height; + var map = []; + + for (var i = 0, ii = positions.length; i < ii; i += 2) { + map.push({ + transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]], + x: 0, + y: 0, + w: width, + h: height + }); + } + + this.paintInlineImageXObjectGroup(imgData, map); + } + }, { + key: "paintInlineImageXObject", + value: function paintInlineImageXObject(imgData) { + if (!this.contentVisible) { + return; + } + + var width = imgData.width; + var height = imgData.height; + var ctx = this.ctx; + this.save(); + ctx.scale(1 / width, -1 / height); + var currentTransform = ctx.mozCurrentTransformInverse; + var widthScale = Math.max(Math.hypot(currentTransform[0], currentTransform[1]), 1); + var heightScale = Math.max(Math.hypot(currentTransform[2], currentTransform[3]), 1); + var imgToPaint, tmpCanvas, tmpCtx; + + if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) { + imgToPaint = imgData; + } else { + tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height); + tmpCtx = tmpCanvas.context; + putBinaryImageData(tmpCtx, imgData, this.current.transferMaps); + imgToPaint = tmpCanvas.canvas; + } + + var paintWidth = width, + paintHeight = height; + var tmpCanvasId = "prescale1"; + + while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) { + var newWidth = paintWidth, + newHeight = paintHeight; + + if (widthScale > 2 && paintWidth > 1) { + newWidth = Math.ceil(paintWidth / 2); + widthScale /= paintWidth / newWidth; + } + + if (heightScale > 2 && paintHeight > 1) { + newHeight = Math.ceil(paintHeight / 2); + heightScale /= paintHeight / newHeight; + } + + tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight); + tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, newWidth, newHeight); + tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight); + imgToPaint = tmpCanvas.canvas; + paintWidth = newWidth; + paintHeight = newHeight; + 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); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: width / currentTransform[0], + height: height / currentTransform[3] + }); + } + + this.restore(); + } + }, { + key: "paintInlineImageXObjectGroup", + value: function paintInlineImageXObjectGroup(imgData, map) { + if (!this.contentVisible) { + return; + } + + 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, this.current.transferMaps); + + for (var i = 0, ii = map.length; i < ii; i++) { + var 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); + this.imageLayer.appendImage({ + imgData: imgData, + left: position[0], + top: position[1], + width: w, + height: h + }); + } + + ctx.restore(); + } + } + }, { + key: "paintSolidColorImageMask", + value: function paintSolidColorImageMask() { + if (!this.contentVisible) { + return; + } + + this.ctx.fillRect(0, 0, 1, 1); + } + }, { + key: "markPoint", + value: function markPoint(tag) {} + }, { + key: "markPointProps", + value: function markPointProps(tag, properties) {} + }, { + key: "beginMarkedContent", + value: function beginMarkedContent(tag) { + this.markedContentStack.push({ + visible: true + }); + } + }, { + key: "beginMarkedContentProps", + value: function beginMarkedContentProps(tag, properties) { + if (tag === "OC") { + this.markedContentStack.push({ + visible: this.optionalContentConfig.isVisible(properties) + }); + } else { + this.markedContentStack.push({ + visible: true + }); + } + + this.contentVisible = this.isContentVisible(); + } + }, { + key: "endMarkedContent", + value: function endMarkedContent() { + this.markedContentStack.pop(); + this.contentVisible = this.isContentVisible(); + } + }, { + key: "beginCompat", + value: function beginCompat() {} + }, { + key: "endCompat", + value: function endCompat() {} + }, { + key: "consumePath", + value: function consumePath() { + var ctx = this.ctx; + + if (this.pendingClip) { + if (this.pendingClip === EO_CLIP) { + ctx.clip("evenodd"); + } else { + ctx.clip(); + } + + this.pendingClip = null; + } + + ctx.beginPath(); + } + }, { + key: "getSinglePixelWidth", + value: function getSinglePixelWidth() { + if (this._cachedGetSinglePixelWidth === null) { + var m = this.ctx.mozCurrentTransform; + var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]); + var sqNorm1 = Math.pow(m[0], 2) + Math.pow(m[2], 2); + var sqNorm2 = Math.pow(m[1], 2) + Math.pow(m[3], 2); + var 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; + } else { + this._cachedGetSinglePixelWidth = 1; + } + } + + return this._cachedGetSinglePixelWidth; + } + }, { + key: "getCanvasPosition", + value: function getCanvasPosition(x, y) { + var transform = this.ctx.mozCurrentTransform; + return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]]; + } + }, { + key: "isContentVisible", + value: function isContentVisible() { + for (var i = this.markedContentStack.length - 1; i >= 0; i--) { + if (!this.markedContentStack[i].visible) { + return false; + } + } + + return true; + } + }]); + + return CanvasGraphics; + }(); + + for (var op in _util.OPS) { + CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op]; + } + + return CanvasGraphics; +}(); + +exports.CanvasGraphics = CanvasGraphics; + +/***/ }), +/* 119 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getShadingPattern = getShadingPattern; +exports.TilingPattern = void 0; + +var _util = __w_pdfjs_require__(4); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 svgElement; + +function createMatrix(matrix) { + if (typeof DOMMatrix !== "undefined") { + return new DOMMatrix(matrix); + } + + if (!svgElement) { + svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + } + + return svgElement.createSVGMatrix(matrix); +} + +function applyBoundingBox(ctx, bbox) { + if (!bbox || typeof Path2D === "undefined") { + return; + } + + var width = bbox[2] - bbox[0]; + var height = bbox[3] - bbox[1]; + var region = new Path2D(); + region.rect(bbox[0], bbox[1], width, height); + ctx.clip(region); +} + +var BaseShadingPattern = /*#__PURE__*/function () { + function BaseShadingPattern() { + _classCallCheck(this, BaseShadingPattern); + + if (this.constructor === BaseShadingPattern) { + (0, _util.unreachable)("Cannot initialize BaseShadingPattern."); + } + } + + _createClass(BaseShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + (0, _util.unreachable)("Abstract method `getPattern` called."); + } + }]); + + return BaseShadingPattern; +}(); + +var RadialAxialShadingPattern = /*#__PURE__*/function (_BaseShadingPattern) { + _inherits(RadialAxialShadingPattern, _BaseShadingPattern); + + var _super = _createSuper(RadialAxialShadingPattern); + + function RadialAxialShadingPattern(IR) { + var _this; + + _classCallCheck(this, RadialAxialShadingPattern); + + _this = _super.call(this); + _this._type = IR[1]; + _this._bbox = IR[2]; + _this._colorStops = IR[3]; + _this._p0 = IR[4]; + _this._p1 = IR[5]; + _this._r0 = IR[6]; + _this._r1 = IR[7]; + _this._matrix = IR[8]; + return _this; + } + + _createClass(RadialAxialShadingPattern, [{ + key: "getPattern", + value: function getPattern(ctx, owner, shadingFill) { + var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", ctx.canvas.width, ctx.canvas.height, true); + var tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + + if (!shadingFill) { + tmpCtx.setTransform.apply(tmpCtx, owner.baseTransform); + + if (this._matrix) { + tmpCtx.transform.apply(tmpCtx, this._matrix); + } + } else { + tmpCtx.setTransform.apply(tmpCtx, ctx.mozCurrentTransform); + } + + applyBoundingBox(tmpCtx, this._bbox); + var grad; + + if (this._type === "axial") { + grad = tmpCtx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]); + } else if (this._type === "radial") { + grad = tmpCtx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1); + } + + var _iterator = _createForOfIteratorHelper(this._colorStops), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var colorStop = _step.value; + grad.addColorStop(colorStop[0], colorStop[1]); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + tmpCtx.fillStyle = grad; + tmpCtx.fill(); + var pattern = ctx.createPattern(tmpCanvas.canvas, "repeat"); + pattern.setTransform(createMatrix(ctx.mozCurrentTransformInverse)); + return pattern; + } + }]); + + return RadialAxialShadingPattern; +}(BaseShadingPattern); + +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; + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + if (coords[p2 + 1] > coords[p3 + 1]) { + tmp = p2; + p2 = p3; + p3 = tmp; + tmp = c2; + c2 = c3; + c3 = tmp; + } + + if (coords[p1 + 1] > coords[p2 + 1]) { + tmp = p1; + p1 = p2; + p2 = tmp; + tmp = c1; + c1 = c2; + c2 = tmp; + } + + 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; + + 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; + + for (var y = minY; y <= maxY; y++) { + if (y < y2) { + var _k = void 0; + + 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 { + var _k2 = void 0; + + if (y > y3) { + _k2 = 1; + } else if (y2 === y3) { + _k2 = 0; + } else { + _k2 = (y2 - y) / (y2 - y3); + } + + xa = x2 - (x2 - x3) * _k2; + car = c2r - (c2r - c3r) * _k2; + cag = c2g - (c2g - c3g) * _k2; + cab = c2b - (c2b - c3b) * _k2; + } + + var k = void 0; + + 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; + + for (var x = x1_; x <= x2_; x++) { + k = (xa - x) / (xa - xb); + + if (k < 0) { + k = 0; + } else if (k > 1) { + k = 1; + } + + bytes[j++] = car - (car - cbr) * k | 0; + bytes[j++] = cag - (cag - cbg) * k | 0; + bytes[j++] = cab - (cab - cbb) * k | 0; + bytes[j++] = 255; + } + } +} + +function drawFigure(data, figure, context) { + var ps = figure.coords; + var cs = figure.colors; + var i, ii; + + switch (figure.type) { + case "lattice": + var verticesPerRow = figure.verticesPerRow; + var rows = Math.floor(ps.length / verticesPerRow) - 1; + var cols = verticesPerRow - 1; + + for (i = 0; i < rows; i++) { + var q = i * verticesPerRow; + + for (var j = 0; j < cols; j++, q++) { + drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]); + drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]); + } + } + + break; + + case "triangles": + for (i = 0, ii = ps.length; i < ii; i += 3) { + drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]); + } + + break; + + default: + throw new Error("illegal figure"); + } +} + +var MeshShadingPattern = /*#__PURE__*/function (_BaseShadingPattern2) { + _inherits(MeshShadingPattern, _BaseShadingPattern2); + + var _super2 = _createSuper(MeshShadingPattern); + + function MeshShadingPattern(IR) { + var _this2; + + _classCallCheck(this, MeshShadingPattern); + + _this2 = _super2.call(this); + _this2._coords = IR[2]; + _this2._colors = IR[3]; + _this2._figures = IR[4]; + _this2._bounds = IR[5]; + _this2._matrix = IR[6]; + _this2._bbox = IR[7]; + _this2._background = IR[8]; + return _this2; + } + + _createClass(MeshShadingPattern, [{ + key: "_createMeshCanvas", + value: function _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) { + var EXPECTED_SCALE = 1.1; + var MAX_PATTERN_SIZE = 3000; + var BORDER_SIZE = 2; + var offsetX = Math.floor(this._bounds[0]); + var offsetY = Math.floor(this._bounds[1]); + var boundsWidth = Math.ceil(this._bounds[2]) - offsetX; + var boundsHeight = Math.ceil(this._bounds[3]) - offsetY; + var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE); + var scaleX = boundsWidth / width; + var scaleY = boundsHeight / height; + var context = { + coords: this._coords, + colors: this._colors, + offsetX: -offsetX, + offsetY: -offsetY, + scaleX: 1 / scaleX, + scaleY: 1 / scaleY + }; + var paddedWidth = width + BORDER_SIZE * 2; + var paddedHeight = height + BORDER_SIZE * 2; + var tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false); + var tmpCtx = tmpCanvas.context; + var data = tmpCtx.createImageData(width, height); + + if (backgroundColor) { + var bytes = data.data; + + for (var i = 0, ii = bytes.length; i < ii; i += 4) { + bytes[i] = backgroundColor[0]; + bytes[i + 1] = backgroundColor[1]; + bytes[i + 2] = backgroundColor[2]; + bytes[i + 3] = 255; + } + } + + var _iterator2 = _createForOfIteratorHelper(this._figures), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var figure = _step2.value; + drawFigure(data, figure, context); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE); + var canvas = tmpCanvas.canvas; + return { + canvas: canvas, + offsetX: offsetX - BORDER_SIZE * scaleX, + offsetY: offsetY - BORDER_SIZE * scaleY, + scaleX: scaleX, + scaleY: scaleY + }; + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, shadingFill) { + applyBoundingBox(ctx, this._bbox); + var scale; + + if (shadingFill) { + scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform); + } else { + scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform); + + if (this._matrix) { + var matrixScale = _util.Util.singularValueDecompose2dScale(this._matrix); + + scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]]; + } + } + + var temporaryPatternCanvas = this._createMeshCanvas(scale, shadingFill ? null : this._background, owner.cachedCanvases); + + if (!shadingFill) { + ctx.setTransform.apply(ctx, owner.baseTransform); + + if (this._matrix) { + ctx.transform.apply(ctx, this._matrix); + } + } + + ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY); + ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY); + return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat"); + } + }]); + + return MeshShadingPattern; +}(BaseShadingPattern); + +var DummyShadingPattern = /*#__PURE__*/function (_BaseShadingPattern3) { + _inherits(DummyShadingPattern, _BaseShadingPattern3); + + var _super3 = _createSuper(DummyShadingPattern); + + function DummyShadingPattern() { + _classCallCheck(this, DummyShadingPattern); + + return _super3.apply(this, arguments); + } + + _createClass(DummyShadingPattern, [{ + key: "getPattern", + value: function getPattern() { + return "hotpink"; + } + }]); + + return DummyShadingPattern; +}(BaseShadingPattern); + +function getShadingPattern(IR) { + switch (IR[0]) { + case "RadialAxial": + return new RadialAxialShadingPattern(IR); + + case "Mesh": + return new MeshShadingPattern(IR); + + case "Dummy": + return new DummyShadingPattern(); + } + + throw new Error("Unknown IR type: ".concat(IR[0])); +} + +var PaintType = { + COLORED: 1, + UNCOLORED: 2 +}; + +var TilingPattern = /*#__PURE__*/function () { + function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) { + _classCallCheck(this, TilingPattern); + + this.operatorList = IR[2]; + this.matrix = IR[3] || [1, 0, 0, 1, 0, 0]; + this.bbox = IR[4]; + this.xstep = IR[5]; + this.ystep = IR[6]; + this.paintType = IR[7]; + this.tilingType = IR[8]; + this.color = color; + this.ctx = ctx; + this.canvasGraphicsFactory = canvasGraphicsFactory; + this.baseTransform = baseTransform; + } + + _createClass(TilingPattern, [{ + key: "createPatternCanvas", + value: function 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]; + + var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix); + + var 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); + graphics.groupLevel = owner.groupLevel; + this.setFillAndStrokeStyleToContext(graphics, paintType, color); + graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); + this.clipBbox(graphics, bbox, x0, y0, x1, y1); + graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice(); + graphics.executeOperatorList(operatorList); + graphics.endDrawing(); + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale + }; + } + }, { + key: "getSizeAndScale", + value: function getSizeAndScale(step, realOutputSize, scale) { + step = Math.abs(step); + var maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize); + var size = Math.ceil(step * scale); + + if (size >= maxSize) { + size = maxSize; + } else { + scale = size / step; + } + + return { + scale: scale, + size: size + }; + } + }, { + key: "clipBbox", + value: function clipBbox(graphics, bbox, x0, y0, x1, y1) { + if (Array.isArray(bbox) && bbox.length === 4) { + var bboxWidth = x1 - x0; + var bboxHeight = y1 - y0; + graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight); + graphics.clip(); + graphics.endPath(); + } + } + }, { + key: "setFillAndStrokeStyleToContext", + value: function setFillAndStrokeStyleToContext(graphics, paintType, color) { + var context = graphics.ctx, + current = graphics.current; + + switch (paintType) { + case PaintType.COLORED: + var ctx = this.ctx; + context.fillStyle = ctx.fillStyle; + context.strokeStyle = ctx.strokeStyle; + current.fillColor = ctx.fillStyle; + current.strokeColor = ctx.strokeStyle; + break; + + case PaintType.UNCOLORED: + var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]); + + context.fillStyle = cssColor; + context.strokeStyle = cssColor; + current.fillColor = cssColor; + current.strokeColor = cssColor; + break; + + default: + throw new _util.FormatError("Unsupported paint type: ".concat(paintType)); + } + } + }, { + key: "getPattern", + value: function getPattern(ctx, owner, shadingFill) { + ctx = this.ctx; + var matrix = ctx.mozCurrentTransformInverse; + + if (!shadingFill) { + matrix = _util.Util.transform(matrix, owner.baseTransform); + + if (this.matrix) { + matrix = _util.Util.transform(matrix, this.matrix); + } + } + + var temporaryPatternCanvas = this.createPatternCanvas(owner); + var domMatrix = createMatrix(matrix); + domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY); + var pattern = ctx.createPattern(temporaryPatternCanvas.canvas, "repeat"); + pattern.setTransform(domMatrix); + return pattern; + } + }], [{ + key: "MAX_PATTERN_SIZE", + get: function get() { + return (0, _util.shadow)(this, "MAX_PATTERN_SIZE", 3000); + } + }]); + + return TilingPattern; +}(); + +exports.TilingPattern = TilingPattern; + +/***/ }), +/* 120 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GlobalWorkerOptions = void 0; +var GlobalWorkerOptions = Object.create(null); +exports.GlobalWorkerOptions = GlobalWorkerOptions; +GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort; +GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc; + +/***/ }), +/* 121 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.MessageHandler = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +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 _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var CallbackKind = { + UNKNOWN: 0, + DATA: 1, + ERROR: 2 +}; +var StreamKind = { + UNKNOWN: 0, + CANCEL: 1, + CANCEL_COMPLETE: 2, + CLOSE: 3, + ENQUEUE: 4, + ERROR: 5, + PULL: 6, + PULL_COMPLETE: 7, + START_COMPLETE: 8 +}; + +function wrapReason(reason) { + if (_typeof(reason) !== "object" || reason === null) { + return reason; + } + + switch (reason.name) { + case "AbortException": + return new _util.AbortException(reason.message); + + case "MissingPDFException": + return new _util.MissingPDFException(reason.message); + + case "UnexpectedResponseException": + return new _util.UnexpectedResponseException(reason.message, reason.status); + + case "UnknownErrorException": + return new _util.UnknownErrorException(reason.message, reason.details); + + default: + return new _util.UnknownErrorException(reason.message, reason.toString()); + } +} + +var MessageHandler = /*#__PURE__*/function () { + function MessageHandler(sourceName, targetName, comObj) { + var _this = this; + + _classCallCheck(this, MessageHandler); + + 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._onComObjOnMessage = function (event) { + var data = event.data; + + if (data.targetName !== _this.sourceName) { + return; + } + + if (data.stream) { + _this._processStreamMessage(data); + + return; + } + + if (data.callback) { + var callbackId = data.callbackId; + var capability = _this.callbackCapabilities[callbackId]; + + if (!capability) { + throw new Error("Cannot resolve callback ".concat(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; + } + + var action = _this.actionHandler[data.action]; + + if (!action) { + throw new Error("Unknown action from worker: ".concat(data.action)); + } + + if (data.callbackId) { + var cbSourceName = _this.sourceName; + var cbTargetName = data.sourceName; + new Promise(function (resolve) { + resolve(action(data.data)); + }).then(function (result) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.DATA, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + comObj.postMessage({ + sourceName: cbSourceName, + targetName: cbTargetName, + callback: CallbackKind.ERROR, + callbackId: data.callbackId, + reason: wrapReason(reason) + }); + }); + return; + } + + if (data.streamId) { + _this._createStreamSink(data); + + return; + } + + action(data.data); + }; + + comObj.addEventListener("message", this._onComObjOnMessage); + } + + _createClass(MessageHandler, [{ + key: "on", + value: function on(actionName, handler) { + var ah = this.actionHandler; + + if (ah[actionName]) { + throw new Error("There is already an actionName called \"".concat(actionName, "\"")); + } + + ah[actionName] = handler; + } + }, { + key: "send", + value: function send(actionName, data, transfers) { + this._postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data: data + }, transfers); + } + }, { + key: "sendWithPromise", + value: function sendWithPromise(actionName, data, transfers) { + var callbackId = this.callbackId++; + var capability = (0, _util.createPromiseCapability)(); + this.callbackCapabilities[callbackId] = capability; + + try { + this._postMessage({ + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + callbackId: callbackId, + data: data + }, transfers); + } catch (ex) { + capability.reject(ex); + } + + return capability.promise; + } + }, { + key: "sendWithStream", + value: 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 ReadableStream({ + start: function start(controller) { + var startCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId] = { + controller: controller, + startCall: startCapability, + pullCall: null, + cancelCall: null, + isClosed: false + }; + + _this2._postMessage({ + sourceName: sourceName, + targetName: targetName, + action: actionName, + streamId: streamId, + data: data, + desiredSize: controller.desiredSize + }, transfers); + + return startCapability.promise; + }, + pull: function pull(controller) { + var pullCapability = (0, _util.createPromiseCapability)(); + _this2.streamControllers[streamId].pullCall = pullCapability; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL, + 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; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL, + streamId: streamId, + reason: wrapReason(reason) + }); + return cancelCapability.promise; + } + }, queueingStrategy); + } + }, { + key: "_createStreamSink", + value: function _createStreamSink(data) { + var self = this; + var action = this.actionHandler[data.action]; + var streamId = data.streamId; + var sourceName = this.sourceName; + var targetName = data.sourceName; + 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; + + if (this.isCancelled) { + return; + } + + var lastDesiredSize = this.desiredSize; + this.desiredSize -= size; + + if (lastDesiredSize > 0 && this.desiredSize <= 0) { + this.sinkCapability = (0, _util.createPromiseCapability)(); + this.ready = this.sinkCapability.promise; + } + + self._postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ENQUEUE, + streamId: streamId, + chunk: chunk + }, transfers); + }, + close: function close() { + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CLOSE, + streamId: streamId + }); + delete self.streamSinks[streamId]; + }, + error: function error(reason) { + (0, _util.assert)(reason instanceof Error, "error must have a valid reason"); + + if (this.isCancelled) { + return; + } + + this.isCancelled = true; + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.ERROR, + streamId: streamId, + reason: wrapReason(reason) + }); + }, + sinkCapability: (0, _util.createPromiseCapability)(), + onPull: null, + onCancel: null, + isCancelled: false, + desiredSize: data.desiredSize, + ready: null + }; + streamSink.sinkCapability.resolve(); + streamSink.ready = streamSink.sinkCapability.promise; + this.streamSinks[streamId] = streamSink; + new Promise(function (resolve) { + resolve(action(data.data, streamSink)); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.START_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + } + }, { + key: "_processStreamMessage", + value: function _processStreamMessage(data) { + var streamId = data.streamId; + var sourceName = this.sourceName; + var targetName = data.sourceName; + var comObj = this.comObj; + + switch (data.stream) { + case StreamKind.START_COMPLETE: + if (data.success) { + this.streamControllers[streamId].startCall.resolve(); + } else { + this.streamControllers[streamId].startCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL_COMPLETE: + if (data.success) { + this.streamControllers[streamId].pullCall.resolve(); + } else { + this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason)); + } + + break; + + case StreamKind.PULL: + if (!this.streamSinks[streamId]) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + break; + } + + if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) { + this.streamSinks[streamId].sinkCapability.resolve(); + } + + this.streamSinks[streamId].desiredSize = data.desiredSize; + var onPull = this.streamSinks[data.streamId].onPull; + new Promise(function (resolve) { + resolve(onPull && onPull()); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.PULL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + break; + + case StreamKind.ENQUEUE: + (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller"); + + if (this.streamControllers[streamId].isClosed) { + break; + } + + this.streamControllers[streamId].controller.enqueue(data.chunk); + break; + + case StreamKind.CLOSE: + (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller"); + + if (this.streamControllers[streamId].isClosed) { + break; + } + + this.streamControllers[streamId].isClosed = true; + this.streamControllers[streamId].controller.close(); + + this._deleteStreamController(streamId); + + break; + + case StreamKind.ERROR: + (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller"); + this.streamControllers[streamId].controller.error(wrapReason(data.reason)); + + this._deleteStreamController(streamId); + + break; + + case StreamKind.CANCEL_COMPLETE: + if (data.success) { + this.streamControllers[streamId].cancelCall.resolve(); + } else { + this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason)); + } + + this._deleteStreamController(streamId); + + break; + + case StreamKind.CANCEL: + if (!this.streamSinks[streamId]) { + break; + } + + var onCancel = this.streamSinks[data.streamId].onCancel; + new Promise(function (resolve) { + resolve(onCancel && onCancel(wrapReason(data.reason))); + }).then(function () { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + success: true + }); + }, function (reason) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + stream: StreamKind.CANCEL_COMPLETE, + streamId: streamId, + reason: wrapReason(reason) + }); + }); + this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason)); + this.streamSinks[streamId].isCancelled = true; + delete this.streamSinks[streamId]; + break; + + default: + throw new Error("Unexpected stream case"); + } + } + }, { + key: "_deleteStreamController", + value: function () { + var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamId) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) { + return capability && capability.promise; + })); + + case 2: + delete this.streamControllers[streamId]; + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _deleteStreamController(_x) { + return _deleteStreamController2.apply(this, arguments); + } + + return _deleteStreamController; + }() + }, { + key: "_postMessage", + value: function _postMessage(message, transfers) { + if (transfers && this.postMessageTransfers) { + this.comObj.postMessage(message, transfers); + } else { + this.comObj.postMessage(message); + } + } + }, { + key: "destroy", + value: function destroy() { + this.comObj.removeEventListener("message", this._onComObjOnMessage); + } + }]); + + return MessageHandler; +}(); + +exports.MessageHandler = MessageHandler; + +/***/ }), +/* 122 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Metadata = void 0; + +var _util = __w_pdfjs_require__(4); + +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(_ref) { + var parsedData = _ref.parsedData, + rawData = _ref.rawData; + + _classCallCheck(this, Metadata); + + this._metadataMap = parsedData; + this._data = rawData; + } + + _createClass(Metadata, [{ + key: "getRaw", + value: function getRaw() { + return this._data; + } + }, { + key: "get", + value: function get(name) { + var _this$_metadataMap$ge; + + return (_this$_metadataMap$ge = this._metadataMap.get(name)) !== null && _this$_metadataMap$ge !== void 0 ? _this$_metadataMap$ge : null; + } + }, { + key: "getAll", + value: function getAll() { + return (0, _util.objectFromMap)(this._metadataMap); + } + }, { + key: "has", + value: function has(name) { + return this._metadataMap.has(name); + } + }]); + + return Metadata; +}(); + +exports.Metadata = Metadata; + +/***/ }), +/* 123 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionalContentConfig = void 0; + +var _util = __w_pdfjs_require__(4); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var OptionalContentGroup = function OptionalContentGroup(name, intent) { + _classCallCheck(this, OptionalContentGroup); + + this.visible = true; + this.name = name; + this.intent = intent; +}; + +var OptionalContentConfig = /*#__PURE__*/function () { + function OptionalContentConfig(data) { + _classCallCheck(this, OptionalContentConfig); + + 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; + + var _iterator = _createForOfIteratorHelper(data.groups), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _group = _step.value; + + this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (data.baseState === "OFF") { + var _iterator2 = _createForOfIteratorHelper(this._groups), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var group = _step2.value; + group.visible = false; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + var _iterator3 = _createForOfIteratorHelper(data.on), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var on = _step3.value; + this._groups.get(on).visible = true; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + var _iterator4 = _createForOfIteratorHelper(data.off), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var off = _step4.value; + this._groups.get(off).visible = false; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + + _createClass(OptionalContentConfig, [{ + key: "_evaluateVisibilityExpression", + value: function _evaluateVisibilityExpression(array) { + var length = array.length; + + if (length < 2) { + return true; + } + + var operator = array[0]; + + for (var i = 1; i < length; i++) { + var element = array[i]; + var state = void 0; + + if (Array.isArray(element)) { + state = this._evaluateVisibilityExpression(element); + } else if (this._groups.has(element)) { + state = this._groups.get(element).visible; + } else { + (0, _util.warn)("Optional content group not found: ".concat(element)); + return true; + } + + switch (operator) { + case "And": + if (!state) { + return false; + } + + break; + + case "Or": + if (state) { + return true; + } + + break; + + case "Not": + return !state; + + default: + return true; + } + } + + return operator === "And"; + } + }, { + key: "isVisible", + value: function isVisible(group) { + if (group.type === "OCG") { + if (!this._groups.has(group.id)) { + (0, _util.warn)("Optional content group not found: ".concat(group.id)); + return true; + } + + return this._groups.get(group.id).visible; + } else if (group.type === "OCMD") { + if (group.expression) { + return this._evaluateVisibilityExpression(group.expression); + } + + if (!group.policy || group.policy === "AnyOn") { + var _iterator5 = _createForOfIteratorHelper(group.ids), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var id = _step5.value; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return true; + } + + if (this._groups.get(id).visible) { + return true; + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + return false; + } else if (group.policy === "AllOn") { + var _iterator6 = _createForOfIteratorHelper(group.ids), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var _id = _step6.value; + + if (!this._groups.has(_id)) { + (0, _util.warn)("Optional content group not found: ".concat(_id)); + return true; + } + + if (!this._groups.get(_id).visible) { + return false; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + return true; + } else if (group.policy === "AnyOff") { + var _iterator7 = _createForOfIteratorHelper(group.ids), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var _id2 = _step7.value; + + if (!this._groups.has(_id2)) { + (0, _util.warn)("Optional content group not found: ".concat(_id2)); + return true; + } + + if (!this._groups.get(_id2).visible) { + return true; + } + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + return false; + } else if (group.policy === "AllOff") { + var _iterator8 = _createForOfIteratorHelper(group.ids), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _id3 = _step8.value; + + if (!this._groups.has(_id3)) { + (0, _util.warn)("Optional content group not found: ".concat(_id3)); + return true; + } + + if (this._groups.get(_id3).visible) { + return false; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + return true; + } + + (0, _util.warn)("Unknown optional content policy ".concat(group.policy, ".")); + return true; + } + + (0, _util.warn)("Unknown group type ".concat(group.type, ".")); + return true; + } + }, { + key: "setVisibility", + value: function setVisibility(id) { + var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + if (!this._groups.has(id)) { + (0, _util.warn)("Optional content group not found: ".concat(id)); + return; + } + + this._groups.get(id).visible = !!visible; + } + }, { + key: "getOrder", + value: function getOrder() { + if (!this._groups.size) { + return null; + } + + if (this._order) { + return this._order.slice(); + } + + return Array.from(this._groups.keys()); + } + }, { + key: "getGroups", + value: function getGroups() { + return this._groups.size > 0 ? (0, _util.objectFromMap)(this._groups) : null; + } + }, { + key: "getGroup", + value: function getGroup(id) { + return this._groups.get(id) || null; + } + }]); + + return OptionalContentConfig; +}(); + +exports.OptionalContentConfig = OptionalContentConfig; + +/***/ }), +/* 124 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDataTransportStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +var _display_utils = __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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var PDFDataTransportStream = /*#__PURE__*/function () { + function PDFDataTransportStream(params, pdfDataRangeTransport) { + var _this = this; + + _classCallCheck(this, PDFDataTransportStream); + + (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'); + this._queuedChunks = []; + this._progressiveDone = params.progressiveDone || false; + this._contentDispositionFilename = params.contentDispositionFilename || null; + var initialData = params.initialData; + + if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) { + var buffer = new Uint8Array(initialData).buffer; + + this._queuedChunks.push(buffer); + } + + this._pdfDataRangeTransport = pdfDataRangeTransport; + this._isStreamingSupported = !params.disableStream; + this._isRangeSupported = !params.disableRange; + this._contentLength = params.length; + this._fullRequestReader = null; + this._rangeReaders = []; + + this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) { + _this._onReceiveData({ + begin: begin, + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressListener(function (loaded, total) { + _this._onProgress({ + loaded: loaded, + total: total + }); + }); + + this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) { + _this._onReceiveData({ + chunk: chunk + }); + }); + + this._pdfDataRangeTransport.addProgressiveDoneListener(function () { + _this._onProgressiveDone(); + }); + + this._pdfDataRangeTransport.transportReady(); + } + + _createClass(PDFDataTransportStream, [{ + key: "_onReceiveData", + value: function _onReceiveData(args) { + var 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, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."); + } + } + }, { + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + if (evt.total === undefined) { + var firstReader = this._rangeReaders[0]; + + if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) { + firstReader.onProgress({ + loaded: evt.loaded + }); + } + } else { + var fullReader = this._fullRequestReader; + + if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) { + fullReader.onProgress({ + loaded: evt.loaded, + total: evt.total + }); + } + } + } + }, { + key: "_onProgressiveDone", + value: function _onProgressiveDone() { + if (this._fullRequestReader) { + this._fullRequestReader.progressiveDone(); + } + + this._progressiveDone = true; + } + }, { + key: "_removeRangeReader", + value: function _removeRangeReader(reader) { + var i = this._rangeReaders.indexOf(reader); + + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once."); + var queuedChunks = this._queuedChunks; + this._queuedChunks = null; + return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename); + } + }, { + 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 _iterator = _createForOfIteratorHelper(this._rangeReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._pdfDataRangeTransport.abort(); + } + }]); + + return PDFDataTransportStream; +}(); + +exports.PDFDataTransportStream = PDFDataTransportStream; + +var PDFDataTransportStreamReader = /*#__PURE__*/function () { + function PDFDataTransportStreamReader(stream, queuedChunks) { + var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + + _classCallCheck(this, PDFDataTransportStreamReader); + + this._stream = stream; + this._done = progressiveDone || false; + this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null; + this._queuedChunks = queuedChunks || []; + this._loaded = 0; + + var _iterator2 = _createForOfIteratorHelper(this._queuedChunks), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var chunk = _step2.value; + this._loaded += chunk.byteLength; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + 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; + } + }, { + 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; + } + }, { + 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 + }); + + 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; + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + } + }, { + key: "progressiveDone", + value: function progressiveDone() { + if (this._done) { + return; + } + + this._done = true; + } + }]); + + return PDFDataTransportStreamReader; +}(); + +var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () { + function PDFDataTransportStreamRangeReader(stream, begin, end) { + _classCallCheck(this, PDFDataTransportStreamRangeReader); + + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + 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 + }); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; + } + + this._done = true; + + this._stream._removeRangeReader(this); + } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } + }, { + 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 + }); + + 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; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var requestCapability = _step5.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; + + this._stream._removeRangeReader(this); + } + }]); + + return PDFDataTransportStreamRangeReader; +}(); + +/***/ }), +/* 125 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.AnnotationLayer = void 0; + +var _display_utils = __w_pdfjs_require__(1); + +var _util = __w_pdfjs_require__(4); + +var _annotation_storage = __w_pdfjs_require__(116); + +var _scripting_utils = __w_pdfjs_require__(126); + +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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +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 _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$isRenderable = _ref.isRenderable, + isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable, + _ref$ignoreBorder = _ref.ignoreBorder, + ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder, + _ref$createQuadrilate = _ref.createQuadrilaterals, + createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate; + + _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; + 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); + } + } + + _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.makeHexColor(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: "_createQuadrilaterals", + value: function _createQuadrilaterals() { + var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.data.quadPoints) { + return null; + } + + var quadrilaterals = []; + var savedRect = this.data.rect; + + var _iterator = _createForOfIteratorHelper(this.data.quadPoints), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var quadPoint = _step.value; + this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y]; + quadrilaterals.push(this._createContainer(ignoreBorder)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.data.rect = savedRect; + return quadrilaterals; + } + }, { + key: "_createPopup", + value: function _createPopup(trigger, data) { + var 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); + } + + 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: "_renderQuadrilaterals", + value: function _renderQuadrilaterals(className) { + var _iterator2 = _createForOfIteratorHelper(this.quadrilaterals), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var quadrilateral = _step2.value; + quadrilateral.className = className; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return this.quadrilaterals; + } + }, { + key: "render", + value: function render() { + (0, _util.unreachable)("Abstract method `AnnotationElement.render` called"); + } + }]); + + return AnnotationElement; +}(); + +var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) { + _inherits(LinkAnnotationElement, _AnnotationElement); + + var _super = _createSuper(LinkAnnotationElement); + + function LinkAnnotationElement(parameters) { + _classCallCheck(this, LinkAnnotationElement); + + var 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"])); + return _super.call(this, parameters, { + isRenderable: isRenderable, + createQuadrilaterals: true + }); + } + + _createClass(LinkAnnotationElement, [{ + key: "render", + value: function render() { + 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 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(function (quadrilateral, index) { + var linkElement = index === 0 ? link : link.cloneNode(); + quadrilateral.appendChild(linkElement); + return quadrilateral; + }); + } + + this.container.className = "linkAnnotation"; + 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.goToDestination(destination); + } + + return false; + }; + + if (destination || 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"; + } + }, { + key: "_bindJSAction", + value: function _bindJSAction(link, data) { + var _this3 = this; + + link.href = this.linkService.getAnchorUrl(""); + var map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]); + + var _loop = function _loop() { + var name = _Object$keys[_i]; + var jsName = map.get(name); + + if (!jsName) { + return "continue"; + } + + link[jsName] = function () { + var _this3$linkService$ev; + + (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this3, + detail: { + id: data.id, + name: name + } + }); + return false; + }; + }; + + for (var _i = 0, _Object$keys = Object.keys(data.actions); _i < _Object$keys.length; _i++) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + + link.className = "internalLink"; + } + }]); + + return LinkAnnotationElement; +}(AnnotationElement); + +var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) { + _inherits(TextAnnotationElement, _AnnotationElement2); + + var _super2 = _createSuper(TextAnnotationElement); + + function TextAnnotationElement(parameters) { + _classCallCheck(this, TextAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super2.call(this, parameters, { + isRenderable: 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(image, this.data); + } + + this.container.appendChild(image); + return this.container; + } + }]); + + return TextAnnotationElement; +}(AnnotationElement); + +var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) { + _inherits(WidgetAnnotationElement, _AnnotationElement3); + + var _super3 = _createSuper(WidgetAnnotationElement); + + function WidgetAnnotationElement() { + _classCallCheck(this, WidgetAnnotationElement); + + return _super3.apply(this, arguments); + } + + _createClass(WidgetAnnotationElement, [{ + key: "render", + value: function render() { + if (this.data.alternativeText) { + this.container.title = this.data.alternativeText; + } + + return this.container; + } + }, { + key: "_getKeyModifier", + value: function _getKeyModifier(event) { + return navigator.platform.includes("Win") && event.ctrlKey || navigator.platform.includes("Mac") && event.metaKey; + } + }, { + key: "_setEventListener", + value: function _setEventListener(element, baseName, eventName, valueGetter) { + var _this4 = this; + + if (baseName.includes("mouse")) { + element.addEventListener(baseName, function (event) { + var _this4$linkService$ev; + + (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this4, + detail: { + id: _this4.data.id, + name: eventName, + value: valueGetter(event), + shift: event.shiftKey, + modifier: _this4._getKeyModifier(event) + } + }); + }); + } else { + element.addEventListener(baseName, function (event) { + var _this4$linkService$ev2; + + (_this4$linkService$ev2 = _this4.linkService.eventBus) === null || _this4$linkService$ev2 === void 0 ? void 0 : _this4$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this4, + detail: { + id: _this4.data.id, + name: eventName, + value: event.target.checked + } + }); + }); + } + } + }, { + key: "_setEventListeners", + value: function _setEventListeners(element, names, getter) { + var _iterator3 = _createForOfIteratorHelper(names), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _this$data$actions; + + var _step3$value = _slicedToArray(_step3.value, 2), + baseName = _step3$value[0], + eventName = _step3$value[1]; + + if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) { + this._setEventListener(element, baseName, eventName, getter); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + key: "_dispatchEventFromSandbox", + value: function _dispatchEventFromSandbox(actions, jsEvent) { + var _this5 = this; + + var setColor = function setColor(jsName, styleName, event) { + var color = event.detail[jsName]; + event.target.style[styleName] = _scripting_utils.ColorConverters["".concat(color[0], "_HTML")](color.slice(1)); + }; + + var commonActions = { + display: function display(event) { + var hidden = event.detail.display % 2 === 1; + event.target.style.visibility = hidden ? "hidden" : "visible"; + + _this5.annotationStorage.setValue(_this5.data.id, { + hidden: hidden, + print: event.detail.display === 0 || event.detail.display === 3 + }); + }, + print: function print(event) { + _this5.annotationStorage.setValue(_this5.data.id, { + print: event.detail.print + }); + }, + hidden: function hidden(event) { + event.target.style.visibility = event.detail.hidden ? "hidden" : "visible"; + + _this5.annotationStorage.setValue(_this5.data.id, { + hidden: event.detail.hidden + }); + }, + focus: function focus(event) { + setTimeout(function () { + return event.target.focus({ + preventScroll: false + }); + }, 0); + }, + userName: function userName(event) { + event.target.title = event.detail.userName; + }, + readonly: function readonly(event) { + if (event.detail.readonly) { + event.target.setAttribute("readonly", ""); + } else { + event.target.removeAttribute("readonly"); + } + }, + required: function required(event) { + if (event.detail.required) { + event.target.setAttribute("required", ""); + } else { + event.target.removeAttribute("required"); + } + }, + bgColor: function bgColor(event) { + setColor("bgColor", "backgroundColor", event); + }, + fillColor: function fillColor(event) { + setColor("fillColor", "backgroundColor", event); + }, + fgColor: function fgColor(event) { + setColor("fgColor", "color", event); + }, + textColor: function textColor(event) { + setColor("textColor", "color", event); + }, + borderColor: function borderColor(event) { + setColor("borderColor", "borderColor", event); + }, + strokeColor: function strokeColor(event) { + setColor("strokeColor", "borderColor", event); + } + }; + + for (var _i2 = 0, _Object$keys2 = Object.keys(jsEvent.detail); _i2 < _Object$keys2.length; _i2++) { + var name = _Object$keys2[_i2]; + var action = actions[name] || commonActions[name]; + + if (action) { + action(jsEvent); + } + } + } + }]); + + return WidgetAnnotationElement; +}(AnnotationElement); + +var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) { + _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem); + + var _super4 = _createSuper(TextWidgetAnnotationElement); + + function TextWidgetAnnotationElement(parameters) { + _classCallCheck(this, TextWidgetAnnotationElement); + + var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue; + return _super4.call(this, parameters, { + isRenderable: isRenderable + }); + } + + _createClass(TextWidgetAnnotationElement, [{ + key: "setPropertyOnSiblings", + value: function setPropertyOnSiblings(base, key, value, keyInStorage) { + var storage = this.annotationStorage; + + var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(base.name)), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var element = _step4.value; + + if (element !== base) { + element[key] = value; + var data = Object.create(null); + data[keyInStorage] = value; + storage.setValue(element.getAttribute("id"), data); + } + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + } + }, { + key: "render", + value: function render() { + var _this6 = this; + + var storage = this.annotationStorage; + var id = this.data.id; + this.container.className = "textWidgetAnnotation"; + var element = null; + + if (this.renderInteractiveForms) { + var storedData = storage.getValue(id, { + value: this.data.fieldValue, + valueAsString: this.data.fieldValue + }); + var textContent = storedData.valueAsString || storedData.value || ""; + var 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 + }); + + _this6.setPropertyOnSiblings(element, "value", event.target.value, "value"); + }); + + var blurListener = function blurListener(event) { + if (elementData.formattedValue) { + event.target.value = elementData.formattedValue; + } + + event.target.scrollLeft = 0; + elementData.beforeInputSelectionRange = null; + }; + + if (this.enableScripting && this.hasJSActions) { + var _this$data$actions2; + + element.addEventListener("focus", function (event) { + if (elementData.userValue) { + event.target.value = elementData.userValue; + } + }); + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + elementData.userValue = event.detail.value || ""; + storage.setValue(id, { + value: elementData.userValue.toString() + }); + + if (!elementData.formattedValue) { + event.target.value = elementData.userValue; + } + }, + valueAsString: function valueAsString(event) { + elementData.formattedValue = event.detail.valueAsString || ""; + + if (event.target !== document.activeElement) { + event.target.value = elementData.formattedValue; + } + + storage.setValue(id, { + formattedValue: elementData.formattedValue + }); + }, + selRange: function selRange(event) { + var _event$detail$selRang = _slicedToArray(event.detail.selRange, 2), + selStart = _event$detail$selRang[0], + selEnd = _event$detail$selRang[1]; + + if (selStart >= 0 && selEnd < event.target.value.length) { + event.target.setSelectionRange(selStart, selEnd); + } + } + }; + + _this6._dispatchEventFromSandbox(actions, jsEvent); + }); + element.addEventListener("keydown", function (event) { + var _this6$linkService$ev; + + elementData.beforeInputValue = event.target.value; + var 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; + (_this6$linkService$ev = _this6.linkService.eventBus) === null || _this6$linkService$ev === void 0 ? void 0 : _this6$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this6, + detail: { + id: id, + name: "Keystroke", + value: event.target.value, + willCommit: true, + commitKey: commitKey, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + }); + var _blurListener = blurListener; + blurListener = null; + element.addEventListener("blur", function (event) { + if (_this6._mouseState.isDown) { + var _this6$linkService$ev2; + + elementData.userValue = event.target.value; + (_this6$linkService$ev2 = _this6.linkService.eventBus) === null || _this6$linkService$ev2 === void 0 ? void 0 : _this6$linkService$ev2.dispatch("dispatcheventinsandbox", { + source: _this6, + detail: { + id: id, + name: "Keystroke", + value: event.target.value, + willCommit: true, + commitKey: 1, + selStart: event.target.selectionStart, + selEnd: event.target.selectionEnd + } + }); + } + + _blurListener(event); + }); + element.addEventListener("mousedown", function (event) { + elementData.beforeInputValue = event.target.value; + elementData.beforeInputSelectionRange = null; + }); + element.addEventListener("keyup", function (event) { + if (event.target.selectionStart === event.target.selectionEnd) { + elementData.beforeInputSelectionRange = null; + } + }); + element.addEventListener("select", function (event) { + elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd]; + }); + + if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) { + element.addEventListener("input", function (event) { + var _this6$linkService$ev3; + + var selStart = -1; + var selEnd = -1; + + if (elementData.beforeInputSelectionRange) { + var _elementData$beforeIn = _slicedToArray(elementData.beforeInputSelectionRange, 2); + + selStart = _elementData$beforeIn[0]; + selEnd = _elementData$beforeIn[1]; + } + + (_this6$linkService$ev3 = _this6.linkService.eventBus) === null || _this6$linkService$ev3 === void 0 ? void 0 : _this6$linkService$ev3.dispatch("dispatcheventinsandbox", { + source: _this6, + detail: { + id: id, + name: "Keystroke", + value: elementData.beforeInputValue, + change: event.data, + willCommit: false, + selStart: selStart, + selEnd: selEnd + } + }); + }); + } + + this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return 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) { + 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"; + } + + this._setTextStyle(element); + + this.container.appendChild(element); + return this.container; + } + }, { + key: "_setTextStyle", + value: function _setTextStyle(element) { + var TEXT_ALIGNMENT = ["left", "center", "right"]; + var _this$data$defaultApp = this.data.defaultAppearanceData, + fontSize = _this$data$defaultApp.fontSize, + fontColor = _this$data$defaultApp.fontColor; + var style = element.style; + + if (fontSize) { + style.fontSize = "".concat(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]; + } + } + }]); + + return TextWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) { + _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2); + + var _super5 = _createSuper(CheckboxWidgetAnnotationElement); + + function CheckboxWidgetAnnotationElement(parameters) { + _classCallCheck(this, CheckboxWidgetAnnotationElement); + + return _super5.call(this, parameters, { + isRenderable: parameters.renderInteractiveForms + }); + } + + _createClass(CheckboxWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this7 = this; + + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.fieldValue && (data.exportValue && data.exportValue === data.fieldValue || !data.exportValue && data.fieldValue !== "Off") + }).value; + + if (typeof value === "string") { + value = value !== "Off"; + storage.setValue(id, { + value: value + }); + } + + this.container.className = "buttonWidgetAnnotation checkBox"; + var 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) { + var name = event.target.name; + + var _iterator5 = _createForOfIteratorHelper(document.getElementsByName(name)), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var checkbox = _step5.value; + + if (checkbox !== event.target) { + checkbox.checked = false; + storage.setValue(checkbox.parentNode.getAttribute("data-annotation-id"), { + value: false + }); + } + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + storage.setValue(id, { + value: event.target.checked + }); + }); + + if (this.enableScripting && this.hasJSActions) { + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + event.target.checked = event.detail.value !== "Off"; + storage.setValue(id, { + value: event.target.checked + }); + } + }; + + _this7._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this.container.appendChild(element); + return this.container; + } + }]); + + return CheckboxWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) { + _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3); + + var _super6 = _createSuper(RadioButtonWidgetAnnotationElement); + + function RadioButtonWidgetAnnotationElement(parameters) { + _classCallCheck(this, RadioButtonWidgetAnnotationElement); + + return _super6.call(this, parameters, { + isRenderable: parameters.renderInteractiveForms + }); + } + + _createClass(RadioButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this8 = this; + + this.container.className = "buttonWidgetAnnotation radioButton"; + var storage = this.annotationStorage; + var data = this.data; + var id = data.id; + var value = storage.getValue(id, { + value: data.fieldValue === data.buttonValue + }).value; + + if (typeof value === "string") { + value = value !== data.buttonValue; + storage.setValue(id, { + value: value + }); + } + + var element = document.createElement("input"); + element.disabled = data.readOnly; + element.type = "radio"; + element.name = data.fieldName; + + if (value) { + element.setAttribute("checked", true); + } + + element.setAttribute("id", id); + element.addEventListener("change", function (event) { + var target = event.target; + + var _iterator6 = _createForOfIteratorHelper(document.getElementsByName(target.name)), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var radio = _step6.value; + + if (radio !== target) { + storage.setValue(radio.getAttribute("id"), { + value: false + }); + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + storage.setValue(id, { + value: target.checked + }); + }); + + if (this.enableScripting && this.hasJSActions) { + var pdfButtonValue = data.buttonValue; + element.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var checked = pdfButtonValue === event.detail.value; + + var _iterator7 = _createForOfIteratorHelper(document.getElementsByName(event.target.name)), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var radio = _step7.value; + var radioId = radio.getAttribute("id"); + radio.checked = radioId === id && checked; + storage.setValue(radioId, { + value: radio.checked + }); + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + } + }; + + _this8._dispatchEventFromSandbox(actions, jsEvent); + }); + + this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) { + return event.target.checked; + }); + } + + this.container.appendChild(element); + return this.container; + } + }]); + + return RadioButtonWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) { + _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen); + + var _super7 = _createSuper(PushButtonWidgetAnnotationElement); + + function PushButtonWidgetAnnotationElement() { + _classCallCheck(this, PushButtonWidgetAnnotationElement); + + return _super7.apply(this, arguments); + } + + _createClass(PushButtonWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this); + + container.className = "buttonWidgetAnnotation pushButton"; + + if (this.data.alternativeText) { + container.title = this.data.alternativeText; + } + + return container; + } + }]); + + return PushButtonWidgetAnnotationElement; +}(LinkAnnotationElement); + +var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) { + _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4); + + var _super8 = _createSuper(ChoiceWidgetAnnotationElement); + + function ChoiceWidgetAnnotationElement(parameters) { + _classCallCheck(this, ChoiceWidgetAnnotationElement); + + return _super8.call(this, parameters, { + isRenderable: parameters.renderInteractiveForms + }); + } + + _createClass(ChoiceWidgetAnnotationElement, [{ + key: "render", + value: function render() { + var _this9 = this; + + this.container.className = "choiceWidgetAnnotation"; + var storage = this.annotationStorage; + var id = this.data.id; + storage.getValue(id, { + value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined + }); + var 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; + } + } + + var _iterator8 = _createForOfIteratorHelper(this.data.options), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var option = _step8.value; + var 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); + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + + var getValue = function getValue(event, isExport) { + var name = isExport ? "value" : "textContent"; + var options = event.target.options; + + if (!event.target.multiple) { + return options.selectedIndex === -1 ? null : options[options.selectedIndex][name]; + } + + return Array.prototype.filter.call(options, function (option) { + return option.selected; + }).map(function (option) { + return option[name]; + }); + }; + + var getItems = function getItems(event) { + var options = event.target.options; + return Array.prototype.map.call(options, function (option) { + return { + displayValue: option.textContent, + exportValue: option.value + }; + }); + }; + + if (this.enableScripting && this.hasJSActions) { + selectElement.addEventListener("updatefromsandbox", function (jsEvent) { + var actions = { + value: function value(event) { + var options = selectElement.options; + var value = event.detail.value; + var values = new Set(Array.isArray(value) ? value : [value]); + Array.prototype.forEach.call(options, function (option) { + option.selected = values.has(option.value); + }); + storage.setValue(id, { + value: getValue(event, true) + }); + }, + multipleSelection: function multipleSelection(event) { + selectElement.multiple = true; + }, + remove: function remove(event) { + var options = selectElement.options; + var index = event.detail.remove; + options[index].selected = false; + selectElement.remove(index); + + if (options.length > 0) { + var i = Array.prototype.findIndex.call(options, function (option) { + return option.selected; + }); + + if (i === -1) { + options[0].selected = true; + } + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + clear: function clear(event) { + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + storage.setValue(id, { + value: null, + items: [] + }); + }, + insert: function insert(event) { + var _event$detail$insert = event.detail.insert, + index = _event$detail$insert.index, + displayValue = _event$detail$insert.displayValue, + exportValue = _event$detail$insert.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.insertBefore(optionElement, selectElement.children[index]); + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + items: function items(event) { + var items = event.detail.items; + + while (selectElement.length !== 0) { + selectElement.remove(0); + } + + var _iterator9 = _createForOfIteratorHelper(items), + _step9; + + try { + for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { + var item = _step9.value; + var displayValue = item.displayValue, + exportValue = item.exportValue; + var optionElement = document.createElement("option"); + optionElement.textContent = displayValue; + optionElement.value = exportValue; + selectElement.appendChild(optionElement); + } + } catch (err) { + _iterator9.e(err); + } finally { + _iterator9.f(); + } + + if (selectElement.options.length > 0) { + selectElement.options[0].selected = true; + } + + storage.setValue(id, { + value: getValue(event, true), + items: getItems(event) + }); + }, + indices: function indices(event) { + var indices = new Set(event.detail.indices); + var options = event.target.options; + Array.prototype.forEach.call(options, function (option, i) { + option.selected = indices.has(i); + }); + storage.setValue(id, { + value: getValue(event, true) + }); + }, + editable: function editable(event) { + event.target.disabled = !event.detail.editable; + } + }; + + _this9._dispatchEventFromSandbox(actions, jsEvent); + }); + selectElement.addEventListener("input", function (event) { + var _this9$linkService$ev; + + var exportValue = getValue(event, true); + var value = getValue(event, false); + storage.setValue(id, { + value: exportValue + }); + (_this9$linkService$ev = _this9.linkService.eventBus) === null || _this9$linkService$ev === void 0 ? void 0 : _this9$linkService$ev.dispatch("dispatcheventinsandbox", { + source: _this9, + detail: { + id: id, + name: "Keystroke", + value: value, + changeEx: exportValue, + 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"], ["input", "Action"]], function (event) { + return event.target.checked; + }); + } else { + selectElement.addEventListener("input", function (event) { + storage.setValue(id, { + value: getValue(event) + }); + }); + } + + this.container.appendChild(selectElement); + return this.container; + } + }]); + + return ChoiceWidgetAnnotationElement; +}(WidgetAnnotationElement); + +var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) { + _inherits(PopupAnnotationElement, _AnnotationElement4); + + var _super9 = _createSuper(PopupAnnotationElement); + + function PopupAnnotationElement(parameters) { + _classCallCheck(this, PopupAnnotationElement); + + var isRenderable = !!(parameters.data.title || parameters.data.contents); + return _super9.call(this, parameters, { + isRenderable: 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 parentElements = this.layer.querySelectorAll(selector); + + if (parentElements.length === 0) { + return this.container; + } + + var 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 + }); + var page = this.page; + + var 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]]); + + var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0]; + var popupTop = rect[1]; + this.container.style.transformOrigin = "".concat(-popupLeft, "px ").concat(-popupTop, "px"); + this.container.style.left = "".concat(popupLeft, "px"); + this.container.style.top = "".concat(popupTop, "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.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.makeHexColor(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); + + if (!Array.isArray(this.trigger)) { + this.trigger = [this.trigger]; + } + + var _iterator10 = _createForOfIteratorHelper(this.trigger), + _step10; + + try { + for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { + var element = _step10.value; + element.addEventListener("click", this._toggle.bind(this)); + element.addEventListener("mouseover", this._show.bind(this, false)); + element.addEventListener("mouseout", this._hide.bind(this, false)); + } + } catch (err) { + _iterator10.e(err); + } finally { + _iterator10.f(); + } + + 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.hidden) { + this.hideElement.hidden = false; + 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.hidden && !this.pinned) { + this.hideElement.hidden = true; + this.container.style.zIndex -= 1; + } + } + }]); + + return PopupElement; +}(); + +var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) { + _inherits(FreeTextAnnotationElement, _AnnotationElement5); + + var _super10 = _createSuper(FreeTextAnnotationElement); + + function FreeTextAnnotationElement(parameters) { + _classCallCheck(this, FreeTextAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super10.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(FreeTextAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "freeTextAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return FreeTextAnnotationElement; +}(AnnotationElement); + +var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) { + _inherits(LineAnnotationElement, _AnnotationElement6); + + var _super11 = _createSuper(LineAnnotationElement); + + function LineAnnotationElement(parameters) { + _classCallCheck(this, LineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super11.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: 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 || 1); + line.setAttribute("stroke", "transparent"); + svg.appendChild(line); + this.container.append(svg); + + this._createPopup(line, data); + + return this.container; + } + }]); + + return LineAnnotationElement; +}(AnnotationElement); + +var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) { + _inherits(SquareAnnotationElement, _AnnotationElement7); + + var _super12 = _createSuper(SquareAnnotationElement); + + function SquareAnnotationElement(parameters) { + _classCallCheck(this, SquareAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super12.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: 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 || 1); + square.setAttribute("stroke", "transparent"); + square.setAttribute("fill", "none"); + svg.appendChild(square); + this.container.append(svg); + + this._createPopup(square, data); + + return this.container; + } + }]); + + return SquareAnnotationElement; +}(AnnotationElement); + +var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) { + _inherits(CircleAnnotationElement, _AnnotationElement8); + + var _super13 = _createSuper(CircleAnnotationElement); + + function CircleAnnotationElement(parameters) { + _classCallCheck(this, CircleAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super13.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: 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 || 1); + circle.setAttribute("stroke", "transparent"); + circle.setAttribute("fill", "none"); + svg.appendChild(circle); + this.container.append(svg); + + this._createPopup(circle, data); + + return this.container; + } + }]); + + return CircleAnnotationElement; +}(AnnotationElement); + +var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) { + _inherits(PolylineAnnotationElement, _AnnotationElement9); + + var _super14 = _createSuper(PolylineAnnotationElement); + + function PolylineAnnotationElement(parameters) { + var _this10; + + _classCallCheck(this, PolylineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + _this10 = _super14.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this10.containerClassName = "polylineAnnotation"; + _this10.svgElementName = "svg:polyline"; + return _this10; + } + + _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 _iterator11 = _createForOfIteratorHelper(data.vertices), + _step11; + + try { + for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { + var coordinate = _step11.value; + var x = coordinate.x - data.rect[0]; + var y = data.rect[3] - coordinate.y; + points.push(x + "," + y); + } + } catch (err) { + _iterator11.e(err); + } finally { + _iterator11.f(); + } + + points = points.join(" "); + var 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; + } + }]); + + return PolylineAnnotationElement; +}(AnnotationElement); + +var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) { + _inherits(PolygonAnnotationElement, _PolylineAnnotationEl); + + var _super15 = _createSuper(PolygonAnnotationElement); + + function PolygonAnnotationElement(parameters) { + var _this11; + + _classCallCheck(this, PolygonAnnotationElement); + + _this11 = _super15.call(this, parameters); + _this11.containerClassName = "polygonAnnotation"; + _this11.svgElementName = "svg:polygon"; + return _this11; + } + + return PolygonAnnotationElement; +}(PolylineAnnotationElement); + +var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) { + _inherits(CaretAnnotationElement, _AnnotationElement10); + + var _super16 = _createSuper(CaretAnnotationElement); + + function CaretAnnotationElement(parameters) { + _classCallCheck(this, CaretAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super16.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(CaretAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "caretAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return CaretAnnotationElement; +}(AnnotationElement); + +var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) { + _inherits(InkAnnotationElement, _AnnotationElement11); + + var _super17 = _createSuper(InkAnnotationElement); + + function InkAnnotationElement(parameters) { + var _this12; + + _classCallCheck(this, InkAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + _this12 = _super17.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + _this12.containerClassName = "inkAnnotation"; + _this12.svgElementName = "svg:polyline"; + return _this12; + } + + _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 _iterator12 = _createForOfIteratorHelper(data.inkLists), + _step12; + + try { + for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { + var inkList = _step12.value; + var points = []; + + var _iterator13 = _createForOfIteratorHelper(inkList), + _step13; + + try { + for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { + var coordinate = _step13.value; + var x = coordinate.x - data.rect[0]; + var y = data.rect[3] - coordinate.y; + points.push("".concat(x, ",").concat(y)); + } + } catch (err) { + _iterator13.e(err); + } finally { + _iterator13.f(); + } + + points = points.join(" "); + var 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); + } + } catch (err) { + _iterator12.e(err); + } finally { + _iterator12.f(); + } + + this.container.append(svg); + return this.container; + } + }]); + + return InkAnnotationElement; +}(AnnotationElement); + +var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) { + _inherits(HighlightAnnotationElement, _AnnotationElement12); + + var _super18 = _createSuper(HighlightAnnotationElement); + + function HighlightAnnotationElement(parameters) { + _classCallCheck(this, HighlightAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super18.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(HighlightAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("highlightAnnotation"); + } + + this.container.className = "highlightAnnotation"; + return this.container; + } + }]); + + return HighlightAnnotationElement; +}(AnnotationElement); + +var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) { + _inherits(UnderlineAnnotationElement, _AnnotationElement13); + + var _super19 = _createSuper(UnderlineAnnotationElement); + + function UnderlineAnnotationElement(parameters) { + _classCallCheck(this, UnderlineAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super19.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(UnderlineAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("underlineAnnotation"); + } + + this.container.className = "underlineAnnotation"; + return this.container; + } + }]); + + return UnderlineAnnotationElement; +}(AnnotationElement); + +var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) { + _inherits(SquigglyAnnotationElement, _AnnotationElement14); + + var _super20 = _createSuper(SquigglyAnnotationElement); + + function SquigglyAnnotationElement(parameters) { + _classCallCheck(this, SquigglyAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super20.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(SquigglyAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("squigglyAnnotation"); + } + + this.container.className = "squigglyAnnotation"; + return this.container; + } + }]); + + return SquigglyAnnotationElement; +}(AnnotationElement); + +var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) { + _inherits(StrikeOutAnnotationElement, _AnnotationElement15); + + var _super21 = _createSuper(StrikeOutAnnotationElement); + + function StrikeOutAnnotationElement(parameters) { + _classCallCheck(this, StrikeOutAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super21.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true, + createQuadrilaterals: true + }); + } + + _createClass(StrikeOutAnnotationElement, [{ + key: "render", + value: function render() { + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + if (this.quadrilaterals) { + return this._renderQuadrilaterals("strikeoutAnnotation"); + } + + this.container.className = "strikeoutAnnotation"; + return this.container; + } + }]); + + return StrikeOutAnnotationElement; +}(AnnotationElement); + +var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) { + _inherits(StampAnnotationElement, _AnnotationElement16); + + var _super22 = _createSuper(StampAnnotationElement); + + function StampAnnotationElement(parameters) { + _classCallCheck(this, StampAnnotationElement); + + var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents); + return _super22.call(this, parameters, { + isRenderable: isRenderable, + ignoreBorder: true + }); + } + + _createClass(StampAnnotationElement, [{ + key: "render", + value: function render() { + this.container.className = "stampAnnotation"; + + if (!this.data.hasPopup) { + this._createPopup(null, this.data); + } + + return this.container; + } + }]); + + return StampAnnotationElement; +}(AnnotationElement); + +var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) { + _inherits(FileAttachmentAnnotationElement, _AnnotationElement17); + + var _super23 = _createSuper(FileAttachmentAnnotationElement); + + function FileAttachmentAnnotationElement(parameters) { + var _this13$linkService$e; + + var _this13; + + _classCallCheck(this, FileAttachmentAnnotationElement); + + _this13 = _super23.call(this, parameters, { + isRenderable: true + }); + var _this13$data$file = _this13.data.file, + filename = _this13$data$file.filename, + content = _this13$data$file.content; + _this13.filename = (0, _display_utils.getFilenameFromUrl)(filename); + _this13.content = content; + (_this13$linkService$e = _this13.linkService.eventBus) === null || _this13$linkService$e === void 0 ? void 0 : _this13$linkService$e.dispatch("fileattachmentannotation", { + source: _assertThisInitialized(_this13), + id: (0, _util.stringToPDFString)(filename), + filename: filename, + content: content + }); + return _this13; + } + + _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(trigger, this.data); + } + + this.container.appendChild(trigger); + return this.container; + } + }, { + key: "_download", + value: function _download() { + var _this$downloadManager; + + (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, 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 sortedAnnotations = [], + popupAnnotations = []; + + var _iterator14 = _createForOfIteratorHelper(parameters.annotations), + _step14; + + try { + for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { + var _data = _step14.value; + + if (!_data) { + continue; + } + + if (_data.annotationType === _util.AnnotationType.POPUP) { + popupAnnotations.push(_data); + continue; + } + + sortedAnnotations.push(_data); + } + } catch (err) { + _iterator14.e(err); + } finally { + _iterator14.f(); + } + + if (popupAnnotations.length) { + sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations); + } + + for (var _i3 = 0, _sortedAnnotations = sortedAnnotations; _i3 < _sortedAnnotations.length; _i3++) { + var data = _sortedAnnotations[_i3]; + 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(), + annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(), + enableScripting: parameters.enableScripting, + hasJSActions: parameters.hasJSActions, + mouseState: parameters.mouseState || { + isDown: false + } + }); + + if (element.isRenderable) { + var rendered = element.render(); + + if (data.hidden) { + rendered.style.visibility = "hidden"; + } + + if (Array.isArray(rendered)) { + var _iterator15 = _createForOfIteratorHelper(rendered), + _step15; + + try { + for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { + var renderedElement = _step15.value; + parameters.div.appendChild(renderedElement); + } + } catch (err) { + _iterator15.e(err); + } finally { + _iterator15.f(); + } + } else { + if (element instanceof PopupAnnotationElement) { + parameters.div.prepend(rendered); + } else { + parameters.div.appendChild(rendered); + } + } + } + } + } + }, { + key: "update", + value: function update(parameters) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + + var _iterator16 = _createForOfIteratorHelper(parameters.annotations), + _step16; + + try { + for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { + var data = _step16.value; + var elements = parameters.div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]")); + + if (elements) { + var _iterator17 = _createForOfIteratorHelper(elements), + _step17; + + try { + for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) { + var element = _step17.value; + element.style.transform = transform; + } + } catch (err) { + _iterator17.e(err); + } finally { + _iterator17.f(); + } + } + } + } catch (err) { + _iterator16.e(err); + } finally { + _iterator16.f(); + } + + parameters.div.hidden = false; + } + }]); + + return AnnotationLayer; +}(); + +exports.AnnotationLayer = AnnotationLayer; + +/***/ }), +/* 126 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ColorConverters = void 0; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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; } + +function makeColorComp(n) { + return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0"); +} + +var ColorConverters = /*#__PURE__*/function () { + function ColorConverters() { + _classCallCheck(this, ColorConverters); + } + + _createClass(ColorConverters, null, [{ + key: "CMYK_G", + value: function CMYK_G(_ref) { + var _ref2 = _slicedToArray(_ref, 4), + c = _ref2[0], + y = _ref2[1], + m = _ref2[2], + k = _ref2[3]; + + return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)]; + } + }, { + key: "G_CMYK", + value: function G_CMYK(_ref3) { + var _ref4 = _slicedToArray(_ref3, 1), + g = _ref4[0]; + + return ["CMYK", 0, 0, 0, 1 - g]; + } + }, { + key: "G_RGB", + value: function G_RGB(_ref5) { + var _ref6 = _slicedToArray(_ref5, 1), + g = _ref6[0]; + + return ["RGB", g, g, g]; + } + }, { + key: "G_HTML", + value: function G_HTML(_ref7) { + var _ref8 = _slicedToArray(_ref7, 1), + g = _ref8[0]; + + var G = makeColorComp(g); + return "#".concat(G).concat(G).concat(G); + } + }, { + key: "RGB_G", + value: function RGB_G(_ref9) { + var _ref10 = _slicedToArray(_ref9, 3), + r = _ref10[0], + g = _ref10[1], + b = _ref10[2]; + + return ["G", 0.3 * r + 0.59 * g + 0.11 * b]; + } + }, { + key: "RGB_HTML", + value: function RGB_HTML(_ref11) { + var _ref12 = _slicedToArray(_ref11, 3), + r = _ref12[0], + g = _ref12[1], + b = _ref12[2]; + + var R = makeColorComp(r); + var G = makeColorComp(g); + var B = makeColorComp(b); + return "#".concat(R).concat(G).concat(B); + } + }, { + key: "T_HTML", + value: function T_HTML() { + return "#00000000"; + } + }, { + key: "CMYK_RGB", + value: function CMYK_RGB(_ref13) { + var _ref14 = _slicedToArray(_ref13, 4), + c = _ref14[0], + y = _ref14[1], + m = _ref14[2], + k = _ref14[3]; + + return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)]; + } + }, { + key: "CMYK_HTML", + value: function CMYK_HTML(components) { + return this.RGB_HTML(this.CMYK_RGB(components)); + } + }, { + key: "RGB_CMYK", + value: function RGB_CMYK(_ref15) { + var _ref16 = _slicedToArray(_ref15, 3), + r = _ref16[0], + g = _ref16[1], + b = _ref16[2]; + + var c = 1 - r; + var m = 1 - g; + var y = 1 - b; + var k = Math.min(c, m, y); + return ["CMYK", c, m, y, k]; + } + }]); + + return ColorConverters; +}(); + +exports.ColorConverters = ColorConverters; + +/***/ }), +/* 127 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.renderTextLayer = renderTextLayer; + +var _util = __w_pdfjs_require__(4); + +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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +var MAX_TEXT_DIVS_TO_RENDER = 100000; +var DEFAULT_FONT_SIZE = 30; +var DEFAULT_FONT_ASCENT = 0.8; +var ascentCache = new Map(); +var AllWhitespaceRegexp = /^\s+$/g; + +function getAscent(fontFamily, ctx) { + var cachedAscent = ascentCache.get(fontFamily); + + if (cachedAscent) { + return cachedAscent; + } + + ctx.save(); + ctx.font = "".concat(DEFAULT_FONT_SIZE, "px ").concat(fontFamily); + var metrics = ctx.measureText(""); + var ascent = metrics.fontBoundingBoxAscent; + var descent = Math.abs(metrics.fontBoundingBoxDescent); + + if (ascent) { + ctx.restore(); + var ratio = ascent / (ascent + descent); + ascentCache.set(fontFamily, ratio); + return ratio; + } + + ctx.strokeStyle = "red"; + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("g", 0, 0); + var pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + descent = 0; + + for (var i = pixels.length - 1 - 3; i >= 0; i -= 4) { + if (pixels[i] > 0) { + descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE); + ctx.strokeText("A", 0, DEFAULT_FONT_SIZE); + pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data; + ascent = 0; + + for (var _i = 0, ii = pixels.length; _i < ii; _i += 4) { + if (pixels[_i] > 0) { + ascent = DEFAULT_FONT_SIZE - Math.floor(_i / 4 / DEFAULT_FONT_SIZE); + break; + } + } + + ctx.restore(); + + if (ascent) { + var _ratio = ascent / (ascent + descent); + + ascentCache.set(fontFamily, _ratio); + return _ratio; + } + + ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT); + return DEFAULT_FONT_ASCENT; +} + +function appendText(task, geom, styles, ctx) { + var textDiv = document.createElement("span"); + var textDivProperties = { + angle: 0, + canvasWidth: 0, + hasText: geom.str !== "", + hasEOL: geom.hasEOL, + originalTransform: null, + paddingBottom: 0, + paddingLeft: 0, + paddingRight: 0, + paddingTop: 0, + scale: 1 + }; + + task._textDivs.push(textDiv); + + var tx = _util.Util.transform(task._viewport.transform, geom.transform); + + var angle = Math.atan2(tx[1], tx[0]); + var style = styles[geom.fontName]; + + if (style.vertical) { + angle += Math.PI / 2; + } + + var fontHeight = Math.hypot(tx[2], tx[3]); + var fontAscent = fontHeight * getAscent(style.fontFamily, ctx); + var left, top; + + if (angle === 0) { + left = tx[4]; + top = tx[5] - fontAscent; + } else { + left = tx[4] + fontAscent * Math.sin(angle); + top = tx[5] - fontAscent * Math.cos(angle); + } + + textDiv.style.left = "".concat(left, "px"); + textDiv.style.top = "".concat(top, "px"); + textDiv.style.fontSize = "".concat(fontHeight, "px"); + textDiv.style.fontFamily = style.fontFamily; + textDiv.setAttribute("role", "presentation"); + textDiv.textContent = geom.str; + textDiv.dir = geom.dir; + + if (task._fontInspectorEnabled) { + textDiv.dataset.fontName = geom.fontName; + } + + if (angle !== 0) { + textDivProperties.angle = angle * (180 / Math.PI); + } + + var shouldScaleText = false; + + if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) { + shouldScaleText = true; + } else if (geom.transform[0] !== geom.transform[3]) { + var 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 { + textDivProperties.canvasWidth = geom.width * task._viewport.scale; + } + } + + task._textDivProperties.set(textDiv, textDivProperties); + + if (task._textContentStream) { + task._layoutText(textDiv); + } + + if (task._enhanceTextSelection && textDivProperties.hasText) { + var angleCos = 1, + angleSin = 0; + + if (angle !== 0) { + angleCos = Math.cos(angle); + angleSin = Math.sin(angle); + } + + var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale; + var divHeight = fontHeight; + var m, b; + + if (angle !== 0) { + m = [angleCos, angleSin, -angleSin, angleCos, left, top]; + b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m); + } else { + b = [left, top, left + divWidth, top + divHeight]; + } + + task._bounds.push({ + left: b[0], + top: b[1], + right: b[2], + bottom: b[3], + div: textDiv, + size: [divWidth, divHeight], + m: m + }); + } +} + +function render(task) { + if (task._canceled) { + return; + } + + var textDivs = task._textDivs; + var capability = task._capability; + var textDivsLength = textDivs.length; + + if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) { + task._renderingDone = true; + capability.resolve(); + return; + } + + if (!task._textContentStream) { + for (var i = 0; i < textDivsLength; i++) { + task._layoutText(textDivs[i]); + } + } + + task._renderingDone = true; + capability.resolve(); +} + +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; +} + +function expand(task) { + var bounds = task._bounds; + var viewport = task._viewport; + var expanded = expandBounds(viewport.width, viewport.height, bounds); + + for (var i = 0; i < expanded.length; i++) { + var div = bounds[i].div; + + var divProperties = task._textDivProperties.get(div); + + if (divProperties.angle === 0) { + divProperties.paddingLeft = bounds[i].left - expanded[i].left; + divProperties.paddingTop = bounds[i].top - expanded[i].top; + divProperties.paddingRight = expanded[i].right - bounds[i].right; + divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom; + + task._textDivProperties.set(div, divProperties); + + 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); + + for (var j = 0, jj = points.length; j < jj; j++) { + var t = _util.Util.applyTransform(points[j], m); + + 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 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; + divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale; + + task._textDivProperties.set(div, divProperties); + } +} + +function expandBounds(width, height, boxes) { + var bounds = boxes.map(function (box, i) { + return { + x1: box.left, + y1: box.top, + x2: box.right, + y2: box.bottom, + index: i, + x1New: undefined, + x2New: undefined + }; + }); + expandBoundsLTR(width, bounds); + var expanded = new Array(boxes.length); + + var _iterator = _createForOfIteratorHelper(bounds), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var b = _step.value; + var i = b.index; + expanded[i] = { + left: b.x1New, + top: 0, + right: b.x2New, + bottom: 0 + }; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + boxes.map(function (box, i) { + var e = expanded[i], + b = bounds[i]; + b.x1 = box.top; + b.y1 = width - e.right; + b.x2 = box.bottom; + b.y2 = width - e.left; + b.index = i; + b.x1New = undefined; + b.x2New = undefined; + }); + expandBoundsLTR(height, bounds); + + var _iterator2 = _createForOfIteratorHelper(bounds), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _b = _step2.value; + var _i2 = _b.index; + expanded[_i2].top = _b.x1New; + expanded[_i2].bottom = _b.x2New; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + return expanded; +} + +function expandBoundsLTR(width, bounds) { + bounds.sort(function (a, b) { + return a.x1 - b.x1 || a.index - b.index; + }); + var fakeBoundary = { + x1: -Infinity, + y1: -Infinity, + x2: 0, + y2: Infinity, + index: -1, + x1New: 0, + x2New: 0 + }; + var horizon = [{ + start: -Infinity, + end: Infinity, + boundary: fakeBoundary + }]; + + var _iterator3 = _createForOfIteratorHelper(bounds), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var boundary = _step3.value; + var i = 0; + + while (i < horizon.length && horizon[i].end <= boundary.y1) { + i++; + } + + var j = horizon.length - 1; + + while (j >= 0 && horizon[j].start >= boundary.y2) { + j--; + } + + var _horizonPart = void 0, + _affectedBoundary = void 0; + + var q = void 0, + k = void 0, + maxXNew = -Infinity; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var xNew = void 0; + + if (_affectedBoundary.x2 > boundary.x1) { + xNew = _affectedBoundary.index > boundary.index ? _affectedBoundary.x1New : boundary.x1; + } else if (_affectedBoundary.x2New === undefined) { + xNew = (_affectedBoundary.x2 + boundary.x1) / 2; + } else { + xNew = _affectedBoundary.x2New; + } + + if (xNew > maxXNew) { + maxXNew = xNew; + } + } + + boundary.x1New = maxXNew; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New === undefined) { + if (_affectedBoundary.x2 > boundary.x1) { + if (_affectedBoundary.index > boundary.index) { + _affectedBoundary.x2New = _affectedBoundary.x2; + } + } else { + _affectedBoundary.x2New = maxXNew; + } + } else if (_affectedBoundary.x2New > maxXNew) { + _affectedBoundary.x2New = Math.max(maxXNew, _affectedBoundary.x2); + } + } + + var changedHorizon = []; + var lastBoundary = null; + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + var useBoundary = _affectedBoundary.x2 > boundary.x2 ? _affectedBoundary : boundary; + + if (lastBoundary === useBoundary) { + changedHorizon[changedHorizon.length - 1].end = _horizonPart.end; + } else { + changedHorizon.push({ + start: _horizonPart.start, + end: _horizonPart.end, + boundary: useBoundary + }); + lastBoundary = useBoundary; + } + } + + if (horizon[i].start < boundary.y1) { + changedHorizon[0].start = boundary.y1; + changedHorizon.unshift({ + start: horizon[i].start, + end: boundary.y1, + boundary: horizon[i].boundary + }); + } + + if (boundary.y2 < horizon[j].end) { + changedHorizon[changedHorizon.length - 1].end = boundary.y2; + changedHorizon.push({ + start: boundary.y2, + end: horizon[j].end, + boundary: horizon[j].boundary + }); + } + + for (q = i; q <= j; q++) { + _horizonPart = horizon[q]; + _affectedBoundary = _horizonPart.boundary; + + if (_affectedBoundary.x2New !== undefined) { + continue; + } + + var used = false; + + for (k = i - 1; !used && k >= 0 && horizon[k].start >= _affectedBoundary.y1; k--) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = j + 1; !used && k < horizon.length && horizon[k].end <= _affectedBoundary.y2; k++) { + used = horizon[k].boundary === _affectedBoundary; + } + + for (k = 0; !used && k < changedHorizon.length; k++) { + used = changedHorizon[k].boundary === _affectedBoundary; + } + + if (!used) { + _affectedBoundary.x2New = maxXNew; + } + } + + Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon)); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + for (var _i3 = 0, _horizon = horizon; _i3 < _horizon.length; _i3++) { + var horizonPart = _horizon[_i3]; + var affectedBoundary = horizonPart.boundary; + + if (affectedBoundary.x2New === undefined) { + affectedBoundary.x2New = Math.max(width, affectedBoundary.x2); + } + } +} + +var TextLayerRenderTask = /*#__PURE__*/function () { + function TextLayerRenderTask(_ref) { + var _globalThis$FontInspe, + _this = this; + + var textContent = _ref.textContent, + textContentStream = _ref.textContentStream, + container = _ref.container, + viewport = _ref.viewport, + textDivs = _ref.textDivs, + textContentItemsStr = _ref.textContentItemsStr, + enhanceTextSelection = _ref.enhanceTextSelection; + + _classCallCheck(this, TextLayerRenderTask); + + 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 = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled); + this._reader = null; + this._layoutTextLastFontSize = null; + this._layoutTextLastFontFamily = null; + this._layoutTextCtx = null; + this._textDivProperties = new WeakMap(); + this._renderingDone = false; + this._canceled = false; + this._capability = (0, _util.createPromiseCapability)(); + 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; + } + })["catch"](function () {}); + } + + _createClass(TextLayerRenderTask, [{ + key: "promise", + get: function get() { + return this._capability.promise; + } + }, { + key: "cancel", + value: function cancel() { + this._canceled = true; + + if (this._reader) { + this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")); + + this._reader = null; + } + + if (this._renderTimer !== null) { + clearTimeout(this._renderTimer); + this._renderTimer = null; + } + + this._capability.reject(new Error("TextLayer task cancelled.")); + } + }, { + key: "_processItems", + value: function _processItems(items, styleCache) { + for (var i = 0, len = items.length; i < len; i++) { + if (items[i].str === undefined) { + if (items[i].type === "beginMarkedContentProps" || items[i].type === "beginMarkedContent") { + var parent = this._container; + this._container = document.createElement("span"); + + this._container.classList.add("markedContent"); + + if (items[i].id !== null) { + this._container.setAttribute("id", "".concat(items[i].id)); + } + + parent.appendChild(this._container); + } else if (items[i].type === "endMarkedContent") { + this._container = this._container.parentNode; + } + + continue; + } + + this._textContentItemsStr.push(items[i].str); + + appendText(this, items[i], styleCache, this._layoutTextCtx); + } + } + }, { + key: "_layoutText", + value: function _layoutText(textDiv) { + var textDivProperties = this._textDivProperties.get(textDiv); + + var transform = ""; + + if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) { + var _textDiv$style = textDiv.style, + fontSize = _textDiv$style.fontSize, + fontFamily = _textDiv$style.fontFamily; + + if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) { + this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily); + this._layoutTextLastFontSize = fontSize; + this._layoutTextLastFontFamily = fontFamily; + } + + var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent), + width = _this$_layoutTextCtx$.width; + + if (width > 0) { + textDivProperties.scale = textDivProperties.canvasWidth / width; + transform = "scaleX(".concat(textDivProperties.scale, ")"); + } + } + + if (textDivProperties.angle !== 0) { + transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform); + } + + if (transform.length > 0) { + if (this._enhanceTextSelection) { + textDivProperties.originalTransform = transform; + } + + textDiv.style.transform = transform; + } + + if (textDivProperties.hasText) { + this._container.appendChild(textDiv); + } + + if (textDivProperties.hasEOL) { + var br = document.createElement("br"); + br.setAttribute("role", "presentation"); + + this._container.appendChild(br); + } + } + }, { + key: "_render", + value: function _render() { + var _this2 = this; + + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var capability = (0, _util.createPromiseCapability)(); + var styleCache = Object.create(null); + + var canvas = this._document.createElement("canvas"); + + canvas.height = canvas.width = DEFAULT_FONT_SIZE; + canvas.mozOpaque = true; + this._layoutTextCtx = canvas.getContext("2d", { + alpha: false + }); + + if (this._textContent) { + var textItems = this._textContent.items; + var 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; + + if (done) { + capability.resolve(); + return; + } + + Object.assign(styleCache, value.styles); + + _this2._processItems(value.items, styleCache); + + pump(); + }, capability.reject); + }; + + this._reader = this._textContentStream.getReader(); + pump(); + } else { + throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified."); + } + + capability.promise.then(function () { + styleCache = null; + + if (!timeout) { + render(_this2); + } else { + _this2._renderTimer = setTimeout(function () { + render(_this2); + _this2._renderTimer = null; + }, timeout); + } + }, this._capability.reject); + } + }, { + key: "expandTextDivs", + value: function expandTextDivs() { + var expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._enhanceTextSelection || !this._renderingDone) { + return; + } + + if (this._bounds !== null) { + expand(this); + this._bounds = null; + } + + var transformBuf = [], + paddingBuf = []; + + for (var i = 0, ii = this._textDivs.length; i < ii; i++) { + var div = this._textDivs[i]; + + var divProps = this._textDivProperties.get(div); + + if (!divProps.hasText) { + continue; + } + + if (expandDivs) { + transformBuf.length = 0; + paddingBuf.length = 0; + + if (divProps.originalTransform) { + transformBuf.push(divProps.originalTransform); + } + + if (divProps.paddingTop > 0) { + paddingBuf.push("".concat(divProps.paddingTop, "px")); + transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingRight > 0) { + paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px")); + } else { + paddingBuf.push(0); + } + + if (divProps.paddingBottom > 0) { + paddingBuf.push("".concat(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)")); + } else { + paddingBuf.push(0); + } + + div.style.padding = paddingBuf.join(" "); + + if (transformBuf.length) { + div.style.transform = transformBuf.join(" "); + } + } else { + div.style.padding = null; + div.style.transform = divProps.originalTransform; + } + } + } + }]); + + return TextLayerRenderTask; +}(); + +function renderTextLayer(renderParameters) { + var task = new TextLayerRenderTask({ + textContent: renderParameters.textContent, + textContentStream: renderParameters.textContentStream, + container: renderParameters.container, + viewport: renderParameters.viewport, + textDivs: renderParameters.textDivs, + textContentItemsStr: renderParameters.textContentItemsStr, + enhanceTextSelection: renderParameters.enhanceTextSelection + }); + + task._render(renderParameters.timeout); + + return task; +} + +/***/ }), +/* 128 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SVGGraphics = void 0; + +var _util = __w_pdfjs_require__(4); + +var _display_utils = __w_pdfjs_require__(1); + +var _is_node = __w_pdfjs_require__(6); + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var SVGGraphics = function SVGGraphics() { + _classCallCheck(this, SVGGraphics); + + (0, _util.unreachable)("Not implemented: SVGGraphics"); +}; + +exports.SVGGraphics = SVGGraphics; +{ + var opListToTree = function opListToTree(opList) { + var opTree = []; + var tmp = []; + + var _iterator = _createForOfIteratorHelper(opList), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + 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) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return opTree; + }; + + var pf = function pf(value) { + if (Number.isInteger(value)) { + return value.toString(); + } + + var s = value.toFixed(10); + var 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); + }; + + 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++) { + if (c & 1) { + c = 0xedb88320 ^ c >> 1 & 0x7fffffff; + } else { + c = c >> 1 & 0x7fffffff; + } + } + + crcTable[i] = c; + } + + function crc32(data, start, end) { + var crc = -1; + + for (var _i = start; _i < end; _i++) { + var a = (crc ^ data[_i]) & 0xff; + var b = crcTable[a]; + crc = crc >>> 8 ^ b; + } + + return crc ^ -1; + } + + function writePngChunk(type, body, data, offset) { + var p = offset; + var len = body.length; + data[p] = len >> 24 & 0xff; + data[p + 1] = len >> 16 & 0xff; + data[p + 2] = len >> 8 & 0xff; + data[p + 3] = len & 0xff; + p += 4; + data[p] = type.charCodeAt(0) & 0xff; + data[p + 1] = type.charCodeAt(1) & 0xff; + data[p + 2] = type.charCodeAt(2) & 0xff; + data[p + 3] = type.charCodeAt(3) & 0xff; + p += 4; + data.set(body, p); + p += body.length; + var crc = crc32(data, offset + 4, p); + data[p] = crc >> 24 & 0xff; + data[p + 1] = crc >> 16 & 0xff; + data[p + 2] = crc >> 8 & 0xff; + data[p + 3] = crc & 0xff; + } + + function adler32(data, start, end) { + var a = 1; + var b = 0; + + for (var _i2 = start; _i2 < end; ++_i2) { + a = (a + (data[_i2] & 0xff)) % 65521; + b = (b + a) % 65521; + } + + return b << 16 | a; + } + + function deflateSync(literals) { + if (!_is_node.isNodeJS) { + return deflateSyncUncompressed(literals); + } + + try { + var input; + + if (parseInt(process.versions.node) >= 8) { + input = literals; + } else { + input = Buffer.from(literals); + } + + var output = require("zlib").deflateSync(input, { + level: 9 + }); + + return output instanceof Uint8Array ? output : new Uint8Array(output); + } catch (e) { + (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e); + } + + return deflateSyncUncompressed(literals); + } + + function deflateSyncUncompressed(literals) { + 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; + idat[pi++] = 0x78; + idat[pi++] = 0x9c; + var pos = 0; + + while (len > maxBlockLength) { + idat[pi++] = 0x00; + idat[pi++] = 0xff; + idat[pi++] = 0xff; + idat[pi++] = 0x00; + idat[pi++] = 0x00; + idat.set(literals.subarray(pos, pos + maxBlockLength), pi); + pi += maxBlockLength; + pos += maxBlockLength; + len -= maxBlockLength; + } + + idat[pi++] = 0x01; + idat[pi++] = len & 0xff; + idat[pi++] = len >> 8 & 0xff; + idat[pi++] = ~len & 0xffff & 0xff; + idat[pi++] = (~len & 0xffff) >> 8 & 0xff; + idat.set(literals.subarray(pos), pi); + pi += literals.length - pos; + var adler = adler32(literals, 0, literals.length); + idat[pi++] = adler >> 24 & 0xff; + idat[pi++] = adler >> 16 & 0xff; + idat[pi++] = adler >> 8 & 0xff; + idat[pi++] = adler & 0xff; + return idat; + } + + function encode(imgData, kind, forceDataSchema, isMask) { + var width = imgData.width; + var height = imgData.height; + var bitDepth, colorType, lineSize; + var bytes = imgData.data; + + switch (kind) { + case _util.ImageKind.GRAYSCALE_1BPP: + colorType = 0; + bitDepth = 1; + lineSize = width + 7 >> 3; + break; + + case _util.ImageKind.RGB_24BPP: + colorType = 2; + bitDepth = 8; + lineSize = width * 3; + break; + + case _util.ImageKind.RGBA_32BPP: + colorType = 6; + bitDepth = 8; + lineSize = width * 4; + break; + + default: + throw new Error("invalid format"); + } + + var literals = new Uint8Array((1 + lineSize) * height); + var offsetLiterals = 0, + offsetBytes = 0; + + for (var y = 0; y < height; ++y) { + literals[offsetLiterals++] = 0; + literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals); + offsetBytes += lineSize; + offsetLiterals += lineSize; + } + + if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) { + offsetLiterals = 0; + + for (var _y = 0; _y < height; _y++) { + offsetLiterals++; + + for (var _i3 = 0; _i3 < lineSize; _i3++) { + 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; + data.set(PNG_HEADER, offset); + offset += PNG_HEADER.length; + writePngChunk("IHDR", ihdr, data, offset); + offset += CHUNK_WRAPPER_SIZE + ihdr.length; + writePngChunk("IDATA", idat, data, offset); + offset += CHUNK_WRAPPER_SIZE + idat.length; + writePngChunk("IEND", new Uint8Array(0), data, offset); + return (0, _util.createObjectURL)(data, "image/png", forceDataSchema); + } + + return function convertImgDataToPng(imgData, forceDataSchema, isMask) { + var 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); + + this.fontSizeScale = 1; + this.fontWeight = SVG_DEFAULTS.fontWeight; + this.fontSize = 0; + this.textMatrix = _util.IDENTITY_MATRIX; + this.fontMatrix = _util.FONT_IDENTITY_MATRIX; + this.leading = 0; + this.textRenderingMode = _util.TextRenderingMode.FILL; + this.textMatrixScale = 1; + this.x = 0; + this.y = 0; + this.lineX = 0; + this.lineY = 0; + this.charSpacing = 0; + this.wordSpacing = 0; + this.textHScale = 1; + this.textRise = 0; + this.fillColor = SVG_DEFAULTS.fillColor; + this.strokeColor = "#000000"; + this.fillAlpha = 1; + this.strokeAlpha = 1; + this.lineWidth = 1; + this.lineJoin = ""; + this.lineCap = ""; + this.miterLimit = 0; + this.dashArray = []; + this.dashPhase = 0; + this.dependencies = []; + this.activeClipUrl = null; + this.clipGroup = null; + this.maskId = ""; + } + + _createClass(SVGExtraState, [{ + key: "clone", + value: function clone() { + return Object.create(this); + } + }, { + key: "setCurrentPoint", + value: function setCurrentPoint(x, y) { + this.x = x; + this.y = y; + } + }]); + + return SVGExtraState; + }(); + + var clipCount = 0; + var maskCount = 0; + var shadingCount = 0; + + exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () { + function SVGGraphics(commonObjs, objs) { + var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _classCallCheck(this, SVGGraphics); + + this.svgFactory = new _display_utils.DOMSVGFactory(); + this.current = new SVGExtraState(); + this.transformMatrix = _util.IDENTITY_MATRIX; + this.transformStack = []; + this.extraStack = []; + this.commonObjs = commonObjs; + this.objs = objs; + this.pendingClip = null; + this.pendingEOFill = false; + this.embedFonts = false; + this.embeddedFonts = Object.create(null); + this.cssStyle = null; + this.forceDataSchema = !!forceDataSchema; + this._operatorIdMapping = []; + + for (var 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; + + var fnArray = operatorList.fnArray; + var argsArray = operatorList.argsArray; + + for (var i = 0, ii = fnArray.length; i < ii; i++) { + if (fnArray[i] !== _util.OPS.dependency) { + continue; + } + + var _iterator2 = _createForOfIteratorHelper(argsArray[i]), + _step2; + + 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 (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + _loop(); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + return Promise.all(this.current.dependencies); + } + }, { + 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; + + var svgElement = this._initialize(viewport); + + return this.loadDependencies(operatorList).then(function () { + _this2.transformMatrix = _util.IDENTITY_MATRIX; + + _this2.executeOpTree(_this2.convertOpList(operatorList)); + + return svgElement; + }); + } + }, { + 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 _iterator3 = _createForOfIteratorHelper(opTree), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + 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; + + case _util.OPS.setDash: + this.setDash(args[0], args[1]); + break; + + case _util.OPS.setRenderingIntent: + this.setRenderingIntent(args[0]); + break; + + case _util.OPS.setFlatness: + this.setFlatness(args[0]); + break; + + case _util.OPS.setGState: + this.setGState(args[0]); + break; + + case _util.OPS.fill: + this.fill(); + break; + + case _util.OPS.eoFill: + this.eoFill(); + break; + + case _util.OPS.stroke: + this.stroke(); + break; + + case _util.OPS.fillStroke: + this.fillStroke(); + break; + + case _util.OPS.eoFillStroke: + this.eoFillStroke(); + break; + + case _util.OPS.clip: + this.clip("nonzero"); + break; + + case _util.OPS.eoClip: + this.clip("evenodd"); + break; + + case _util.OPS.paintSolidColorImageMask: + this.paintSolidColorImageMask(); + break; + + case _util.OPS.paintImageXObject: + this.paintImageXObject(args[0]); + break; + + case _util.OPS.paintInlineImageXObject: + this.paintInlineImageXObject(args[0]); + break; + + case _util.OPS.paintImageMaskXObject: + this.paintImageMaskXObject(args[0]); + break; + + case _util.OPS.paintFormXObjectBegin: + this.paintFormXObjectBegin(args[0], args[1]); + break; + + case _util.OPS.paintFormXObjectEnd: + this.paintFormXObjectEnd(); + break; + + case _util.OPS.closePath: + this.closePath(); + break; + + case _util.OPS.closeStroke: + this.closeStroke(); + break; + + case _util.OPS.closeFillStroke: + this.closeFillStroke(); + break; + + case _util.OPS.closeEOFillStroke: + this.closeEOFillStroke(); + break; + + case _util.OPS.nextLine: + this.nextLine(); + break; + + case _util.OPS.transform: + this.transform(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + + case _util.OPS.constructPath: + this.constructPath(args[0], args[1]); + break; + + case _util.OPS.endPath: + this.endPath(); + break; + + case 92: + this.group(opTreeElement.items); + break; + + default: + (0, _util.warn)("Unimplemented operator ".concat(fn)); + break; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + } + }, { + 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.hypot(a, b); + current.x = current.lineX = 0; + current.y = current.lineY = 0; + current.xcoords = []; + current.ycoords = []; + current.tspan = this.svgFactory.createElement("svg:tspan"); + current.tspan.setAttributeNS(null, "font-family", current.fontFamily); + current.tspan.setAttributeNS(null, "font-size", "".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 = []; + current.ycoords = []; + } + }, { + key: "moveText", + value: function moveText(x, y) { + var 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", "".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 fontSizeScale = current.fontSizeScale; + var charSpacing = current.charSpacing; + var wordSpacing = current.wordSpacing; + var fontDirection = current.fontDirection; + var textHScale = current.textHScale * fontDirection; + var vertical = font.vertical; + var spacingDir = vertical ? 1 : -1; + var defaultVMetrics = font.defaultVMetrics; + var widthAdvanceScale = fontSize * current.fontMatrix[0]; + var x = 0; + + var _iterator4 = _createForOfIteratorHelper(glyphs), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var glyph = _step4.value; + + if (glyph === null) { + x += fontDirection * wordSpacing; + continue; + } else if ((0, _util.isNum)(glyph)) { + x += spacingDir * glyph * fontSize / 1000; + continue; + } + + var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing; + var character = glyph.fontChar; + var scaledX = void 0, + scaledY = void 0; + var width = glyph.width; + + if (vertical) { + var vx = void 0; + var vmetric = glyph.vmetric || defaultVMetrics; + vx = glyph.vmetric ? vmetric[1] : width * 0.5; + vx = -vx * widthAdvanceScale; + var vy = vmetric[2] * widthAdvanceScale; + width = vmetric ? -vmetric[0] : width; + scaledX = vx / fontSizeScale; + scaledY = (x + vy) / fontSizeScale; + } else { + scaledX = x / fontSizeScale; + scaledY = 0; + } + + if (glyph.isInFont || font.missingFile) { + current.xcoords.push(current.x + scaledX); + + if (vertical) { + current.ycoords.push(-current.y + scaledY); + } + + current.tspan.textContent += character; + } else {} + + var charWidth = void 0; + + if (vertical) { + charWidth = width * widthAdvanceScale - spacing * fontDirection; + } else { + charWidth = width * widthAdvanceScale + spacing * fontDirection; + } + + x += charWidth; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + 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", "".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(").concat(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); + } + }, { + key: "setLeadingMoveText", + value: function setLeadingMoveText(x, y) { + this.setLeading(-y); + this.moveText(x, y); + } + }, { + key: "addFontStyle", + value: function 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); + } + + 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.missingFile && !this.embeddedFonts[fontObj.loadedName]) { + this.addFontStyle(fontObj); + this.embeddedFonts[fontObj.loadedName] = fontObj; + } + + current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX; + var bold = "normal"; + + if (fontObj.black) { + bold = "900"; + } else if (fontObj.bold) { + bold = "bold"; + } + + 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 = []; + current.ycoords = []; + } + }, { + key: "endText", + value: function endText() { + var _current$txtElement; + + var current = this.current; + + if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _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.makeHexColor(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.makeHexColor(r, g, b); + this.current.tspan = this.svgFactory.createElement("svg:tspan"); + this.current.xcoords = []; + this.current.ycoords = []; + } + }, { + 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)); + + if (this.current.fillAlpha < 1) { + rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha); + } + + 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.makeHexColor.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[3]; + var gradient; + + switch (args[1]) { + case "axial": + var point0 = args[4]; + var 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": + var focalPoint = args[4]; + var circlePoint = args[5]; + var focalRadius = args[6]; + var 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: ".concat(args[1])); + } + + var _iterator5 = _createForOfIteratorHelper(colorStops), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + 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) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this.defs.appendChild(gradient); + return "url(#".concat(shadingId, ")"); + + case "Mesh": + (0, _util.warn)("Unimplemented pattern Mesh"); + return null; + + case "Dummy": + return "hotpink"; + + default: + throw new Error("Unknown IR type: ".concat(args[0])); + } + } + }, { + key: "setDash", + value: function setDash(dashArray, dashPhase) { + this.current.dashArray = dashArray; + this.current.dashPhase = dashPhase; + } + }, { + key: "constructPath", + value: function constructPath(ops, args) { + var current = this.current; + var x = current.x, + y = current.y; + var d = []; + var j = 0; + + var _iterator6 = _createForOfIteratorHelper(ops), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var op = _step6.value; + + 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: + 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; + } + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + 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); + } + }, { + key: "endPath", + value: function endPath() { + var current = this.current; + current.path = null; + + if (!this.pendingClip) { + return; + } + + if (!current.element) { + this.pendingClip = null; + return; + } + + 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); + + 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; + + var _iterator7 = _createForOfIteratorHelper(this.extraStack), + _step7; + + try { + for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { + var prev = _step7.value; + prev.clipGroup = null; + } + } catch (err) { + _iterator7.e(err); + } finally { + _iterator7.f(); + } + + clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl); + } + + current.activeClipUrl = "url(#".concat(clipId, ")"); + this.tgrp = null; + } + }, { + 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); + } + } + }, { + key: "setLeading", + value: function setLeading(leading) { + this.current.leading = -leading; + } + }, { + key: "setTextRise", + value: function setTextRise(textRise) { + this.current.textRise = textRise; + } + }, { + key: "setTextRenderingMode", + value: function setTextRenderingMode(textRenderingMode) { + this.current.textRenderingMode = textRenderingMode; + } + }, { + key: "setHScale", + value: function setHScale(scale) { + this.current.textHScale = scale / 100; + } + }, { + key: "setRenderingIntent", + value: function setRenderingIntent(intent) {} + }, { + key: "setFlatness", + value: function setFlatness(flatness) {} + }, { + key: "setGState", + value: function setGState(states) { + var _iterator8 = _createForOfIteratorHelper(states), + _step8; + + try { + for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { + var _step8$value = _slicedToArray(_step8.value, 2), + key = _step8$value[0], + value = _step8$value[1]; + + 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 ".concat(key)); + break; + } + } + } catch (err) { + _iterator8.e(err); + } finally { + _iterator8.f(); + } + } + }, { + 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; + + if (current.element) { + this._setStrokeAttributes(current.element); + + 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; + + if (lineWidthScale !== 1 && dashArray.length > 0) { + dashArray = dashArray.map(function (value) { + return lineWidthScale * value; + }); + } + + element.setAttributeNS(null, "stroke", current.strokeColor); + element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha); + element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit)); + element.setAttributeNS(null, "stroke-linecap", current.lineCap); + element.setAttributeNS(null, "stroke-linejoin", current.lineJoin); + element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px"); + element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" ")); + element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px"); + } + }, { + key: "eoFill", + value: function eoFill() { + if (this.current.element) { + this.current.element.setAttributeNS(null, "fill-rule", "evenodd"); + } + + 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.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); + + this._ensureTransformGroup().appendChild(rect); + } + }, { + key: "paintImageXObject", + value: function paintImageXObject(objId) { + var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId); + + if (!imgData) { + (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet")); + return; + } + + this.paintInlineImageXObject(imgData); + } + }, { + 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)); + 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), ")")); + + if (mask) { + mask.appendChild(imgEl); + } else { + this._ensureTransformGroup().appendChild(imgEl); + } + } + }, { + 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); + + 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; + }(); +} + +/***/ }), +/* 129 */ +/***/ ((__unused_webpack_module, exports) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayer = void 0; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var XfaLayer = /*#__PURE__*/function () { + function XfaLayer() { + _classCallCheck(this, XfaLayer); + } + + _createClass(XfaLayer, null, [{ + key: "setupStorage", + value: function setupStorage(html, fieldId, element, storage) { + var storedData = storage.getValue(fieldId, { + value: null + }); + + switch (element.name) { + case "textarea": + html.textContent = storedData.value !== null ? storedData.value : ""; + html.addEventListener("input", function (event) { + storage.setValue(fieldId, { + value: event.target.value + }); + }); + break; + + case "input": + if (storedData.value !== null) { + html.setAttribute("value", storedData.value); + } + + if (element.attributes.type === "radio") { + html.addEventListener("change", function (event) { + var target = event.target; + + var _iterator = _createForOfIteratorHelper(document.getElementsByName(target.name)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var radio = _step.value; + + if (radio !== target) { + var id = radio.id; + storage.setValue(id.split("-")[0], { + value: false + }); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + storage.setValue(fieldId, { + value: target.checked + }); + }); + } else { + html.addEventListener("input", function (event) { + storage.setValue(fieldId, { + value: event.target.value + }); + }); + } + + break; + + case "select": + if (storedData.value !== null) { + var _iterator2 = _createForOfIteratorHelper(element.children), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var option = _step2.value; + + if (option.attributes.value === storedData.value) { + option.attributes.selected = true; + } + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + } + + html.addEventListener("input", function (event) { + var options = event.target.options; + var value = options.selectedIndex === -1 ? null : options[options.selectedIndex].value; + storage.setValue(fieldId, { + value: value + }); + }); + break; + } + } + }, { + key: "setAttributes", + value: function setAttributes(html, element, storage) { + var attributes = element.attributes; + + for (var _i = 0, _Object$entries = Object.entries(attributes); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + key = _Object$entries$_i[0], + value = _Object$entries$_i[1]; + + if (value === null || value === undefined || key === "fieldId") { + continue; + } + + if (key !== "style") { + if (key === "textContent") { + html.textContent = value; + } else { + html.setAttribute(key, value); + } + } else { + Object.assign(html.style, value); + } + } + + if (storage && attributes.fieldId !== undefined) { + this.setupStorage(html, attributes.fieldId, element, storage); + } + } + }, { + key: "render", + value: function render(parameters) { + var storage = parameters.annotationStorage; + var root = parameters.xfa; + var rootHtml = document.createElement(root.name); + + if (root.attributes) { + this.setAttributes(rootHtml, root); + } + + var stack = [[root, -1, rootHtml]]; + var rootDiv = parameters.div; + rootDiv.appendChild(rootHtml); + var coeffs = parameters.viewport.transform.join(","); + rootDiv.style.transform = "matrix(".concat(coeffs, ")"); + rootDiv.setAttribute("class", "xfaLayer xfaFont"); + + while (stack.length > 0) { + var _stack = _slicedToArray(stack[stack.length - 1], 3), + parent = _stack[0], + i = _stack[1], + html = _stack[2]; + + if (i + 1 === parent.children.length) { + stack.pop(); + continue; + } + + var child = parent.children[++stack[stack.length - 1][1]]; + + if (child === null) { + continue; + } + + var name = child.name; + + if (name === "#text") { + html.appendChild(document.createTextNode(child.value)); + continue; + } + + var childHtml = document.createElement(name); + html.appendChild(childHtml); + + if (child.attributes) { + this.setAttributes(childHtml, child, storage); + } + + if (child.children && child.children.length > 0) { + stack.push([child, -1, childHtml]); + } else if (child.value) { + childHtml.appendChild(document.createTextNode(child.value)); + } + } + } + }, { + key: "update", + value: function update(parameters) { + var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")"); + parameters.div.style.transform = transform; + parameters.div.hidden = false; + } + }]); + + return XfaLayer; +}(); + +exports.XfaLayer = XfaLayer; + +/***/ }), +/* 130 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNodeStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +var _network_utils = __w_pdfjs_require__(131); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +; + +var fs = require("fs"); + +var http = require("http"); + +var https = require("https"); + +var url = require("url"); + +var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//; + +function parseUrl(sourceUrl) { + var parsedUrl = url.parse(sourceUrl); + + if (parsedUrl.protocol === "file:" || parsedUrl.host) { + return parsedUrl; + } + + if (/^[a-z]:[/\\]/i.test(sourceUrl)) { + return url.parse("file:///".concat(sourceUrl)); + } + + if (!parsedUrl.host) { + parsedUrl.protocol = "file:"; + } + + return parsedUrl; +} + +var PDFNodeStream = /*#__PURE__*/function () { + function PDFNodeStream(source) { + _classCallCheck(this, PDFNodeStream); + + this.source = source; + this.url = parseUrl(source.url); + this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:"; + this.isFsUrl = this.url.protocol === "file:"; + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNodeStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "getFullReader", + value: function 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; + } + }, { + 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); + + this._rangeRequestReaders.push(rangeReader); + + return rangeReader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFNodeStream; +}(); + +exports.PDFNodeStream = PDFNodeStream; + +var BaseFullReader = /*#__PURE__*/function () { + function BaseFullReader(stream) { + _classCallCheck(this, BaseFullReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + var source = stream.source; + this._contentLength = source.length; + this._loaded = 0; + this._filename = null; + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + this._headersCapability = (0, _util.createPromiseCapability)(); + } + + _createClass(BaseFullReader, [{ + 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; + } + }, { + 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; + + case 2: + if (!this._done) { + _context.next = 4; + break; + } + + return _context.abrupt("return", { + value: undefined, + done: true + }); + + case 4: + if (!this._storedError) { + _context.next = 6; + break; + } + + throw this._storedError; + + case 6: + chunk = this._readableStream.read(); + + 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); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + key: "_setReadableStream", + value: function _setReadableStream(readableStream) { + var _this = this; + + 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); + } + } + }]); + + return BaseFullReader; +}(); + +var BaseRangeReader = /*#__PURE__*/function () { + function BaseRangeReader(stream) { + _classCallCheck(this, BaseRangeReader); + + this._url = stream.url; + this._done = false; + this._storedError = null; + this.onProgress = null; + this._loaded = 0; + this._readableStream = null; + this._readCapability = (0, _util.createPromiseCapability)(); + var source = stream.source; + this._isStreamingSupported = !source.disableStream; + } + + _createClass(BaseRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + 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; + + case 2: + if (!this._done) { + _context2.next = 4; + break; + } + + 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); + } + }, { + key: "_error", + value: function _error(reason) { + this._storedError = reason; + + this._readCapability.resolve(); + } + }, { + 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); + } + } + }]); + + return BaseRangeReader; +}(); + +function createRequestOptions(parsedUrl, headers) { + return { + protocol: parsedUrl.protocol, + auth: parsedUrl.auth, + host: parsedUrl.hostname, + port: parsedUrl.port, + path: parsedUrl.path, + method: "GET", + headers: headers + }; +} + +var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) { + _inherits(PDFNodeStreamFullReader, _BaseFullReader); + + var _super = _createSuper(PDFNodeStreamFullReader); + + function PDFNodeStreamFullReader(stream) { + var _this3; + + _classCallCheck(this, PDFNodeStreamFullReader); + + _this3 = _super.call(this, stream); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\".")); + _this3._storedError = error; + + _this3._headersCapability.reject(error); + + return; + } + + _this3._headersCapability.resolve(); + + _this3._setReadableStream(response); + + var getResponseHeader = function getResponseHeader(name) { + return _this3._readableStream.headers[name.toLowerCase()]; + }; + + var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({ + getResponseHeader: 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); + }; + + _this3._request = null; + + if (_this3._url.protocol === "http:") { + _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } else { + _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse); + } + + _this3._request.on("error", function (reason) { + _this3._storedError = reason; + + _this3._headersCapability.reject(reason); + }); + + _this3._request.end(); + + return _this3; + } + + return PDFNodeStreamFullReader; +}(BaseFullReader); + +var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) { + _inherits(PDFNodeStreamRangeReader, _BaseRangeReader); + + var _super2 = _createSuper(PDFNodeStreamRangeReader); + + function PDFNodeStreamRangeReader(stream, start, end) { + var _this4; + + _classCallCheck(this, PDFNodeStreamRangeReader); + + _this4 = _super2.call(this, stream); + _this4._httpHeaders = {}; + + for (var property in stream.httpHeaders) { + var value = stream.httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + _this4._httpHeaders[property] = value; + } + + _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1); + + var handleResponse = function handleResponse(response) { + if (response.statusCode === 404) { + var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\".")); + _this4._storedError = error; + return; + } + + _this4._setReadableStream(response); + }; + + _this4._request = null; + + if (_this4._url.protocol === "http:") { + _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } else { + _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse); + } + + _this4._request.on("error", function (reason) { + _this4._storedError = reason; + }); + + _this4._request.end(); + + return _this4; + } + + return PDFNodeStreamRangeReader; +}(BaseRangeReader); + +var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) { + _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2); + + var _super3 = _createSuper(PDFNodeStreamFsFullReader); + + function PDFNodeStreamFsFullReader(stream) { + var _this5; + + _classCallCheck(this, PDFNodeStreamFsFullReader); + + _this5 = _super3.call(this, stream); + var path = decodeURIComponent(_this5._url.path); + + if (fileUriRegex.test(_this5._url.href)) { + path = path.replace(/^\//, ""); + } + + fs.lstat(path, function (error, stat) { + if (error) { + if (error.code === "ENOENT") { + error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\".")); + } + + _this5._storedError = error; + + _this5._headersCapability.reject(error); + + return; + } + + _this5._contentLength = stat.size; + + _this5._setReadableStream(fs.createReadStream(path)); + + _this5._headersCapability.resolve(); + }); + return _this5; + } + + return PDFNodeStreamFsFullReader; +}(BaseFullReader); + +var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) { + _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2); + + var _super4 = _createSuper(PDFNodeStreamFsRangeReader); + + function PDFNodeStreamFsRangeReader(stream, start, end) { + var _this6; + + _classCallCheck(this, PDFNodeStreamFsRangeReader); + + _this6 = _super4.call(this, stream); + var path = decodeURIComponent(_this6._url.path); + + if (fileUriRegex.test(_this6._url.href)) { + path = path.replace(/^\//, ""); + } + + _this6._setReadableStream(fs.createReadStream(path, { + start: start, + end: end - 1 + })); + + return _this6; + } + + return PDFNodeStreamFsRangeReader; +}(BaseRangeReader); + +/***/ }), +/* 131 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createResponseStatusError = createResponseStatusError; +exports.extractFilenameFromHeader = extractFilenameFromHeader; +exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities; +exports.validateResponseStatus = validateResponseStatus; + +var _util = __w_pdfjs_require__(4); + +var _content_disposition = __w_pdfjs_require__(132); + +var _display_utils = __w_pdfjs_require__(1); + +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 = { + allowRangeRequests: false, + suggestedLength: undefined + }; + var length = parseInt(getResponseHeader("Content-Length"), 10); + + if (!Number.isInteger(length)) { + return returnValues; + } + + returnValues.suggestedLength = length; + + if (length <= 2 * rangeChunkSize) { + return returnValues; + } + + if (disableRange || !isHttp) { + return returnValues; + } + + if (getResponseHeader("Accept-Ranges") !== "bytes") { + return returnValues; + } + + var contentEncoding = getResponseHeader("Content-Encoding") || "identity"; + + if (contentEncoding !== "identity") { + return returnValues; + } + + returnValues.allowRangeRequests = true; + return returnValues; +} + +function extractFilenameFromHeader(getResponseHeader) { + var contentDisposition = getResponseHeader("Content-Disposition"); + + if (contentDisposition) { + var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition); + + if (filename.includes("%")) { + try { + filename = decodeURIComponent(filename); + } catch (ex) {} + } + + if ((0, _display_utils.isPdfFile)(filename)) { + return filename; + } + } + + return null; +} + +function createResponseStatusError(status, url) { + if (status === 404 || status === 0 && url.startsWith("file:")) { + return new _util.MissingPDFException('Missing PDF "' + url + '".'); + } + + return new _util.UnexpectedResponseException("Unexpected server response (".concat(status, ") while retrieving PDF \"").concat(url, "\"."), status); +} + +function validateResponseStatus(status) { + return status === 200 || status === 206; +} + +/***/ }), +/* 132 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader; + +var _util = __w_pdfjs_require__(4); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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); + + if (tmp) { + tmp = tmp[1]; + var filename = rfc2616unquote(tmp); + filename = unescape(filename); + filename = rfc5987decode(filename); + filename = rfc2047decode(filename); + return fixupEncoding(filename); + } + + tmp = rfc2231getparam(contentDisposition); + + if (tmp) { + var _filename = rfc2047decode(tmp); + + return fixupEncoding(_filename); + } + + tmp = toParamRegExp("filename", "i").exec(contentDisposition); + + if (tmp) { + tmp = tmp[1]; + + var _filename2 = rfc2616unquote(tmp); + + _filename2 = rfc2047decode(_filename2); + return fixupEncoding(_filename2); + } + + function toParamRegExp(attributePattern, flags) { + return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags); + } + + function textdecode(encoding, value) { + if (encoding) { + if (!/^[\x00-\xFF]+$/.test(value)) { + return value; + } + + try { + var decoder = new TextDecoder(encoding, { + fatal: true + }); + var buffer = (0, _util.stringToBytes)(value); + value = decoder.decode(buffer); + needsEncodingFixup = false; + } catch (e) { + if (/^utf-?8$/i.test(encoding)) { + try { + value = decodeURIComponent(escape(value)); + needsEncodingFixup = false; + } catch (err) {} + } + } + } + + return value; + } + + function fixupEncoding(value) { + if (needsEncodingFixup && /[\x80-\xff]/.test(value)) { + value = textdecode("utf-8", value); + + if (needsEncodingFixup) { + value = textdecode("iso-8859-1", value); + } + } + + return value; + } + + function rfc2231getparam(contentDispositionStr) { + var matches = []; + var match; + var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig"); + + while ((match = iter.exec(contentDispositionStr)) !== null) { + var _match = match, + _match2 = _slicedToArray(_match, 4), + n = _match2[1], + quot = _match2[2], + part = _match2[3]; + + n = parseInt(n, 10); + + if (n in matches) { + if (n === 0) { + break; + } + + continue; + } + + matches[n] = [quot, part]; + } + + var parts = []; + + for (var _n2 = 0; _n2 < matches.length; ++_n2) { + if (!(_n2 in matches)) { + break; + } + + var _matches$_n = _slicedToArray(matches[_n2], 2), + _quot = _matches$_n[0], + _part = _matches$_n[1]; + + _part = rfc2616unquote(_part); + + if (_quot) { + _part = unescape(_part); + + if (_n2 === 0) { + _part = rfc5987decode(_part); + } + } + + parts.push(_part); + } + + return parts.join(""); + } + + function rfc2616unquote(value) { + if (value.startsWith('"')) { + var parts = value.slice(1).split('\\"'); + + for (var i = 0; i < parts.length; ++i) { + var 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"); + } + + value = parts.join('"'); + } + + return value; + } + + function rfc5987decode(extvalue) { + var encodingend = extvalue.indexOf("'"); + + if (encodingend === -1) { + return extvalue; + } + + var encoding = extvalue.slice(0, encodingend); + var langvalue = extvalue.slice(encodingend + 1); + var value = langvalue.replace(/^[^']*'/, ""); + return textdecode(encoding, value); + } + + function rfc2047decode(value) { + if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) { + return value; + } + + 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); + } + + try { + text = atob(text); + } catch (e) {} + + return textdecode(charset, text); + }); + } + + return ""; +} + +/***/ }), +/* 133 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFNetworkStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +var _network_utils = __w_pdfjs_require__(131); + +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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +; +var OK_RESPONSE = 200; +var PARTIAL_CONTENT_RESPONSE = 206; + +function getArrayBuffer(xhr) { + var data = xhr.response; + + if (typeof data !== "string") { + return data; + } + + var array = (0, _util.stringToBytes)(data); + return array.buffer; +} + +var NetworkManager = /*#__PURE__*/function () { + function NetworkManager(url, args) { + _classCallCheck(this, NetworkManager); + + this.url = url; + args = args || {}; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || {}; + this.withCredentials = args.withCredentials || false; + + this.getXhr = args.getXhr || function NetworkManager_getXhr() { + return new XMLHttpRequest(); + }; + + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + } + + _createClass(NetworkManager, [{ + key: "requestRange", + value: function requestRange(begin, end, listeners) { + var args = { + begin: begin, + end: end + }; + + for (var prop in listeners) { + args[prop] = listeners[prop]; + } + + return this.request(args); + } + }, { + key: "requestFull", + value: function requestFull(listeners) { + return this.request(listeners); + } + }, { + 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; + } + }, { + key: "onProgress", + value: function onProgress(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + if (pendingRequest.onProgress) { + pendingRequest.onProgress(evt); + } + } + }, { + key: "onStateChange", + value: function onStateChange(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + + if (!pendingRequest) { + return; + } + + var xhr = pendingRequest.xhr; + + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + + if (xhr.readyState !== 4) { + return; + } + + if (!(xhrId in this.pendingRequests)) { + return; + } + + delete this.pendingRequests[xhrId]; + + if (xhr.status === 0 && this.isHttp) { + 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) { + pendingRequest.onError(xhr.status); + } + } + }, { + key: "getRequestXhr", + value: function getRequestXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + } + }, { + key: "isPendingRequest", + value: function isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + } + }, { + key: "abortRequest", + value: function abortRequest(xhrId) { + var xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } + }]); + + return NetworkManager; +}(); + +var PDFNetworkStream = /*#__PURE__*/function () { + function PDFNetworkStream(source) { + _classCallCheck(this, PDFNetworkStream); + + this._source = source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFNetworkStream, [{ + key: "_onRangeRequestReaderClosed", + value: function _onRangeRequestReaderClosed(reader) { + var i = this._rangeRequestReaders.indexOf(reader); + + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source); + return this._fullRequestReader; + } + }, { + 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); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFNetworkStream; +}(); + +exports.PDFNetworkStream = PDFNetworkStream; + +var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamFullRequestReader(manager, source) { + _classCallCheck(this, PDFNetworkStreamFullRequestReader); + + this._manager = manager; + var args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this._filename = null; + this.onProgress = null; + } + + _createClass(PDFNetworkStreamFullRequestReader, [{ + key: "_onHeadersReceived", + value: function _onHeadersReceived() { + var fullRequestXhrId = this._fullRequestId; + + var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId); + + var getResponseHeader = function getResponseHeader(name) { + return fullRequestXhr.getResponseHeader(name); + }; + + 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); + } + } + + this._done = true; + + if (this._cachedChunks.length > 0) { + return; + } + + var _iterator2 = _createForOfIteratorHelper(this._requests), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _requestCapability = _step2.value; + + _requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + this._requests.length = 0; + } + }, { + 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); + + var _iterator3 = _createForOfIteratorHelper(this._requests), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var requestCapability = _step3.value; + requestCapability.reject(exception); + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + this._requests.length = 0; + this._cachedChunks.length = 0; + } + }, { + key: "_onProgress", + value: function _onProgress(data) { + if (this.onProgress) { + this.onProgress({ + loaded: data.loaded, + total: data.lengthComputable ? data.total : this._contentLength + }); + } + } + }, { + 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; + } + }, { + 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); + + var _iterator4 = _createForOfIteratorHelper(this._requests), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var requestCapability = _step4.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._requests.length = 0; + + if (this._manager.isPendingRequest(this._fullRequestId)) { + this._manager.abortRequest(this._fullRequestId); + } + + this._fullRequestReader = null; + } + }]); + + return PDFNetworkStreamFullRequestReader; +}(); + +var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () { + function PDFNetworkStreamRangeRequestReader(manager, begin, end) { + _classCallCheck(this, PDFNetworkStreamRangeRequestReader); + + this._manager = manager; + var args = { + onDone: this._onDone.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._requestId = manager.requestRange(begin, end, args); + this._requests = []; + this._queuedChunk = null; + this._done = false; + this.onProgress = null; + this.onClosed = null; + } + + _createClass(PDFNetworkStreamRangeRequestReader, [{ + key: "_close", + value: function _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(); + + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + + this._done = true; + + var _iterator5 = _createForOfIteratorHelper(this._requests), + _step5; + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + var _requestCapability2 = _step5.value; + + _requestCapability2.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._requests.length = 0; + + this._close(); + } + }, { + key: "_onProgress", + value: function _onProgress(evt) { + if (!this.isStreamingSupported && this.onProgress) { + this.onProgress({ + loaded: evt.loaded + }); + } + } + }, { + key: "isStreamingSupported", + get: function get() { + return false; + } + }, { + 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 + }); + + 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; + + var _iterator6 = _createForOfIteratorHelper(this._requests), + _step6; + + try { + for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { + var requestCapability = _step6.value; + requestCapability.resolve({ + value: undefined, + done: true + }); + } + } catch (err) { + _iterator6.e(err); + } finally { + _iterator6.f(); + } + + this._requests.length = 0; + + if (this._manager.isPendingRequest(this._requestId)) { + this._manager.abortRequest(this._requestId); + } + + this._close(); + } + }]); + + return PDFNetworkStreamRangeRequestReader; +}(); + +/***/ }), +/* 134 */ +/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFetchStream = void 0; + +var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); + +var _util = __w_pdfjs_require__(4); + +var _network_utils = __w_pdfjs_require__(131); + +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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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 createFetchOptions(headers, withCredentials, abortController) { + return { + method: "GET", + headers: headers, + signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal, + mode: "cors", + credentials: withCredentials ? "include" : "same-origin", + redirect: "follow" + }; +} + +function createHeaders(httpHeaders) { + var headers = new Headers(); + + for (var property in httpHeaders) { + var value = httpHeaders[property]; + + if (typeof value === "undefined") { + continue; + } + + headers.append(property, value); + } + + return headers; +} + +var PDFFetchStream = /*#__PURE__*/function () { + function PDFFetchStream(source) { + _classCallCheck(this, PDFFetchStream); + + this.source = source; + this.isHttp = /^https?:/i.test(source.url); + this.httpHeaders = this.isHttp && source.httpHeaders || {}; + this._fullRequestReader = null; + this._rangeRequestReaders = []; + } + + _createClass(PDFFetchStream, [{ + key: "_progressiveDataLength", + get: function get() { + var _this$_fullRequestRea, _this$_fullRequestRea2; + + return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0; + } + }, { + key: "getFullReader", + value: function getFullReader() { + (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once."); + this._fullRequestReader = new PDFFetchStreamReader(this); + return this._fullRequestReader; + } + }, { + key: "getRangeReader", + value: function getRangeReader(begin, end) { + if (end <= this._progressiveDataLength) { + return null; + } + + var reader = new PDFFetchStreamRangeReader(this, begin, end); + + this._rangeRequestReaders.push(reader); + + return reader; + } + }, { + key: "cancelAllRequests", + value: function cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + + var _iterator = _createForOfIteratorHelper(this._rangeRequestReaders.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var reader = _step.value; + reader.cancel(reason); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }]); + + return PDFFetchStream; +}(); + +exports.PDFFetchStream = PDFFetchStream; + +var PDFFetchStreamReader = /*#__PURE__*/function () { + function PDFFetchStreamReader(stream) { + var _this = this; + + _classCallCheck(this, PDFFetchStreamReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + this._filename = null; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._contentLength = source.length; + this._headersCapability = (0, _util.createPromiseCapability)(); + this._disableRange = source.disableRange || false; + this._rangeChunkSize = source.rangeChunkSize; + + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._isStreamingSupported = !source.disableStream; + this._isRangeSupported = !source.disableRange; + this._headers = createHeaders(this._stream.httpHeaders); + var url = source.url; + fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this._reader = response.body.getReader(); + + _this._headersCapability.resolve(); + + var getResponseHeader = function 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; + + _this._isRangeSupported = allowRangeRequests; + _this._contentLength = suggestedLength || _this._contentLength; + _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader); + + if (!_this._isStreamingSupported && _this._isRangeSupported) { + _this.cancel(new _util.AbortException("Streaming is disabled.")); + } + })["catch"](this._headersCapability.reject); + this.onProgress = null; + } + + _createClass(PDFFetchStreamReader, [{ + 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; + } + }, { + key: "read", + value: function () { + var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _yield$this$_reader$r, value, done, buffer; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._headersCapability.promise; + + case 2: + _context.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r = _context.sent; + value = _yield$this$_reader$r.value; + done = _yield$this$_reader$r.done; + + if (!done) { + _context.next = 9; + break; + } + + return _context.abrupt("return", { + value: value, + done: done + }); + + 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(); + } + } + }]); + + return PDFFetchStreamReader; +}(); + +var PDFFetchStreamRangeReader = /*#__PURE__*/function () { + function PDFFetchStreamRangeReader(stream, begin, end) { + var _this2 = this; + + _classCallCheck(this, PDFFetchStreamRangeReader); + + this._stream = stream; + this._reader = null; + this._loaded = 0; + var source = stream.source; + this._withCredentials = source.withCredentials || false; + this._readCapability = (0, _util.createPromiseCapability)(); + this._isStreamingSupported = !source.disableStream; + + if (typeof AbortController !== "undefined") { + this._abortController = new AbortController(); + } + + this._headers = createHeaders(this._stream.httpHeaders); + + 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) { + if (!(0, _network_utils.validateResponseStatus)(response.status)) { + throw (0, _network_utils.createResponseStatusError)(response.status, url); + } + + _this2._readCapability.resolve(); + + _this2._reader = response.body.getReader(); + })["catch"](function (reason) { + if ((reason === null || reason === void 0 ? void 0 : reason.name) === "AbortError") { + return; + } + + throw reason; + }); + this.onProgress = null; + } + + _createClass(PDFFetchStreamRangeReader, [{ + key: "isStreamingSupported", + get: function get() { + return this._isStreamingSupported; + } + }, { + key: "read", + value: function () { + var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var _yield$this$_reader$r2, value, done, buffer; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._readCapability.promise; + + case 2: + _context2.next = 4; + return this._reader.read(); + + case 4: + _yield$this$_reader$r2 = _context2.sent; + value = _yield$this$_reader$r2.value; + done = _yield$this$_reader$r2.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(); + } + } + }]); + + return PDFFetchStreamRangeReader; +}(); + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __w_pdfjs_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "addLinkAttributes", ({ + enumerable: true, + get: function get() { + return _display_utils.addLinkAttributes; + } +})); +Object.defineProperty(exports, "getFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getFilenameFromUrl; + } +})); +Object.defineProperty(exports, "getPdfFilenameFromUrl", ({ + enumerable: true, + get: function get() { + return _display_utils.getPdfFilenameFromUrl; + } +})); +Object.defineProperty(exports, "isPdfFile", ({ + enumerable: true, + get: function get() { + return _display_utils.isPdfFile; + } +})); +Object.defineProperty(exports, "LinkTarget", ({ + enumerable: true, + get: function get() { + return _display_utils.LinkTarget; + } +})); +Object.defineProperty(exports, "loadScript", ({ + enumerable: true, + get: function get() { + return _display_utils.loadScript; + } +})); +Object.defineProperty(exports, "PDFDateString", ({ + enumerable: true, + get: function get() { + return _display_utils.PDFDateString; + } +})); +Object.defineProperty(exports, "RenderingCancelledException", ({ + enumerable: true, + get: function get() { + return _display_utils.RenderingCancelledException; + } +})); +Object.defineProperty(exports, "build", ({ + enumerable: true, + get: function get() { + return _api.build; + } +})); +Object.defineProperty(exports, "getDocument", ({ + enumerable: true, + get: function get() { + return _api.getDocument; + } +})); +Object.defineProperty(exports, "LoopbackPort", ({ + enumerable: true, + get: function get() { + return _api.LoopbackPort; + } +})); +Object.defineProperty(exports, "PDFDataRangeTransport", ({ + enumerable: true, + get: function get() { + return _api.PDFDataRangeTransport; + } +})); +Object.defineProperty(exports, "PDFWorker", ({ + enumerable: true, + get: function get() { + return _api.PDFWorker; + } +})); +Object.defineProperty(exports, "version", ({ + enumerable: true, + get: function get() { + return _api.version; + } +})); +Object.defineProperty(exports, "CMapCompressionType", ({ + enumerable: true, + get: function get() { + return _util.CMapCompressionType; + } +})); +Object.defineProperty(exports, "createObjectURL", ({ + enumerable: true, + get: function get() { + return _util.createObjectURL; + } +})); +Object.defineProperty(exports, "createPromiseCapability", ({ + enumerable: true, + get: function get() { + return _util.createPromiseCapability; + } +})); +Object.defineProperty(exports, "createValidAbsoluteUrl", ({ + enumerable: true, + get: function get() { + return _util.createValidAbsoluteUrl; + } +})); +Object.defineProperty(exports, "InvalidPDFException", ({ + enumerable: true, + get: function get() { + return _util.InvalidPDFException; + } +})); +Object.defineProperty(exports, "MissingPDFException", ({ + enumerable: true, + get: function get() { + return _util.MissingPDFException; + } +})); +Object.defineProperty(exports, "OPS", ({ + enumerable: true, + get: function get() { + return _util.OPS; + } +})); +Object.defineProperty(exports, "PasswordResponses", ({ + enumerable: true, + get: function get() { + return _util.PasswordResponses; + } +})); +Object.defineProperty(exports, "PermissionFlag", ({ + enumerable: true, + get: function get() { + return _util.PermissionFlag; + } +})); +Object.defineProperty(exports, "removeNullCharacters", ({ + enumerable: true, + get: function get() { + return _util.removeNullCharacters; + } +})); +Object.defineProperty(exports, "shadow", ({ + enumerable: true, + get: function get() { + return _util.shadow; + } +})); +Object.defineProperty(exports, "UnexpectedResponseException", ({ + enumerable: true, + get: function get() { + return _util.UnexpectedResponseException; + } +})); +Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({ + enumerable: true, + get: function get() { + return _util.UNSUPPORTED_FEATURES; + } +})); +Object.defineProperty(exports, "Util", ({ + enumerable: true, + get: function get() { + return _util.Util; + } +})); +Object.defineProperty(exports, "VerbosityLevel", ({ + enumerable: true, + get: function get() { + return _util.VerbosityLevel; + } +})); +Object.defineProperty(exports, "AnnotationLayer", ({ + enumerable: true, + get: function get() { + return _annotation_layer.AnnotationLayer; + } +})); +Object.defineProperty(exports, "apiCompatibilityParams", ({ + enumerable: true, + get: function get() { + return _api_compatibility.apiCompatibilityParams; + } +})); +Object.defineProperty(exports, "GlobalWorkerOptions", ({ + enumerable: true, + get: function get() { + return _worker_options.GlobalWorkerOptions; + } +})); +Object.defineProperty(exports, "renderTextLayer", ({ + enumerable: true, + get: function get() { + return _text_layer.renderTextLayer; + } +})); +Object.defineProperty(exports, "SVGGraphics", ({ + enumerable: true, + get: function get() { + return _svg.SVGGraphics; + } +})); +Object.defineProperty(exports, "XfaLayer", ({ + enumerable: true, + get: function get() { + return _xfa_layer.XfaLayer; + } +})); + +var _display_utils = __w_pdfjs_require__(1); + +var _api = __w_pdfjs_require__(113); + +var _util = __w_pdfjs_require__(4); + +var _annotation_layer = __w_pdfjs_require__(125); + +var _api_compatibility = __w_pdfjs_require__(117); + +var _worker_options = __w_pdfjs_require__(120); + +var _text_layer = __w_pdfjs_require__(127); + +var _svg = __w_pdfjs_require__(128); + +var _xfa_layer = __w_pdfjs_require__(129); + +var pdfjsVersion = '2.9.359'; +var pdfjsBuild = 'e667c8cbc'; +{ + var _require = __w_pdfjs_require__(6), + isNodeJS = _require.isNodeJS; + + if (isNodeJS) { + var PDFNodeStream = __w_pdfjs_require__(130).PDFNodeStream; + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + return new PDFNodeStream(params); + }); + } else { + var PDFNetworkStream = __w_pdfjs_require__(133).PDFNetworkStream; + + var PDFFetchStream; + + if ((0, _display_utils.isFetchSupported)()) { + PDFFetchStream = __w_pdfjs_require__(134).PDFFetchStream; + } + + (0, _api.setPDFNetworkStreamFactory)(function (params) { + if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) { + return new PDFFetchStream(params); + } + + return new PDFNetworkStream(params); + }); + } +} +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=pdf.js.map \ No newline at end of file diff --git a/fluidbook/compile/pdfjs-legacy/build/pdf.js.map b/fluidbook/compile/pdfjs-legacy/build/pdf.js.map new file mode 100644 index 000000000..07293b8c1 --- /dev/null +++ b/fluidbook/compile/pdfjs-legacy/build/pdf.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/display/display_utils.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/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/es/global-this.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.global-this.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/to-object.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/document-create-element.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-property.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/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/set-global.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/inspect-source.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/shared-store.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/shared.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-pure.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/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/es/object/from-entries.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.array.iterator.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/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/engine-v8-version.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-user-agent.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-create.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-define-properties.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/object-keys.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/html.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterators.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/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/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.object.from-entries.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterate.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/function-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/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/to-string-tag-support.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/iterator-close.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/create-property.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.aggregate-error.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/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/check-correctness-of-iteration.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/engine-is-ios.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-node.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/microtask.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/internals/engine-is-webos-webkit.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/internals/engine-is-browser.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.any.js","webpack://pdfjs-dist/build/pdf/node_modules/core-js/modules/es.promise.finally.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/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/web-streams-polyfill/dist/ponyfill.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.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/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.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","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/webpack/runtime/node module decorator","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"names":["DEFAULT_LINK_REL","SVG_NS","constructor","unreachable","create","reset","canvasAndContext","width","height","destroy","ownerDocument","globalThis","canvas","context","baseUrl","isCompressed","url","compressionType","CMapCompressionType","reason","_fetchData","isFetchSupported","isValidFetchUrl","document","response","cMapData","stringToBytes","request","XMLHttpRequest","resolve","reject","assert","svg","createElement","offsetX","offsetY","dontFlip","centerX","viewBox","centerY","rotation","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","Math","offsetCanvasY","clone","scale","convertToViewportPoint","convertToViewportRectangle","topLeft","rect","bottomRight","convertToPdfPoint","LinkTarget","NONE","SELF","BLANK","PARENT","TOP","enabled","urlNullRemoved","removeNullCharacters","link","targetStr","ii","i","anchor","query","end","defaultFilename","isDataScheme","warn","reURI","reFilename","splitURI","suggestedFilename","decodeURIComponent","Object","time","name","Date","timeEnd","start","toString","outBuf","longest","duration","Response","protocol","removeScriptElement","script","console","isString","pdfDateStringRegex","matches","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","module","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","value","enumerable","configurable","writable","obj","define","protoGenerator","outerFn","generator","tryLocsList","makeInvokeMethod","exports","type","arg","fn","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","ctor","genFun","__await","record","tryCatch","result","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","PromiseImpl","iter","wrap","state","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","done","info","entry","tryLoc","locs","keys","key","next","iteratorMethod","iterable","isNaN","Context","stop","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","complete","finish","resetTryEntry","thrown","delegateYield","iterator","resultName","nextLoc","regeneratorRuntime","Function","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","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","AnnotationActionEventType","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","F","V","C","DocumentActionEventType","WC","WS","DS","WP","DP","PageActionEventType","O","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","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","signatures","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontBuildPath","errorFontGetPath","errorMarkedContent","PasswordResponses","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","Number","base","other","absoluteUrl","_isValidProtocol","BaseException","NullCharactersRegExp","str","bytes","length","MAX_ARGUMENT_COUNT","String","strBuf","chunkEnd","chunk","arr","resultLength","arrayByteLength","pos","data","item","itemLength","buffer8","view32","IsLittleEndianCached","shadow","isLittleEndian","IsEvalSupportedCached","isEvalSupported","hexNumbers","Array","n","m1","m2","xt","p","m","yt","d","p1","Util","p2","r","p3","p4","v","transpose","a","b","c","first","sx","sy","orderedX","rect1","rect2","orderedY","PDFStringTranslateTable","code","match","buf","char","escape","unescape","encodeURIComponent","arr1","arr2","date","buffer","capability","isSettled","get","contentType","forceDataSchema","URL","digits","b1","b2","b3","d1","d2","d3","d4","require","Buffer","isReadableStreamSupported","controller","isNodeJS","process","$","global","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","TARGET","target","GLOBAL","STATIC","stat","FORCED","targetProperty","sourceProperty","descriptor","prototype","noTargetGet","forced","undefined","sham","check","it","window","self","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","has","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","P","error","f","call","fails","defineProperty","exec","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","bitmap","IndexedObject","requireObjectCoercible","classof","split","slice","TypeError","isObject","input","PREFERRED_STRING","val","valueOf","toObject","hasOwnProperty","argument","EXISTS","definePropertyModule","object","anObject","$defineProperty","Attributes","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","unsafe","simple","join","store","functionToString","SHARED","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","set","getterFor","TYPE","wmget","wmhas","wmset","metadata","facade","STATE","test","uid","IS_PURE","push","version","mode","copyright","id","postfix","random","ownKeys","getOwnPropertyDescriptorModule","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","getOwnPropertySymbols","concat","path","aFunction","variable","namespace","arguments","internalObjectKeys","enumBugKeys","getOwnPropertyNames","indexOf","names","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","toInteger","min","ceil","floor","max","integer","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","fromEntries","addToUnscopables","Iterators","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","kind","Arguments","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","Symbol","createWellKnownSymbol","withoutSetter","V8_VERSION","symbol","userAgent","versions","v8","defineProperties","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","write","close","temp","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","src","contentWindow","open","NullProtoObject","domain","ActiveXObject","Properties","objectKeys","createIteratorConstructor","getPrototypeOf","setPrototypeOf","setToStringTag","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","NAME","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","entries","TO_STRING_TAG","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","KEY","proto","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","TAG","aPossiblePrototype","CORRECT_SETTER","setter","__proto__","iterate","createProperty","k","AS_ENTRIES","isArrayIteratorMethod","bind","getIteratorMethod","iteratorClose","Result","stopped","unboundFunction","that","IS_ITERATOR","INTERRUPTED","iterFn","step","condition","callFn","apply","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","returnMethod","propertyKey","Promise","$AggregateError","AggregateError","errors","message","Error","errorsArray","NativePromise","redefineAll","setSpecies","anInstance","checkCorrectnessOfIteration","speciesConstructor","task","microtask","promiseResolve","hostReportErrors","newPromiseCapabilityModule","perform","IS_BROWSER","IS_NODE","SPECIES","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newPromiseCapability","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","REJECTION_HANDLED","PENDING","FULFILLED","HANDLED","UNHANDLED","SUBCLASSING","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","GLOBAL_CORE_JS_PROMISE","promise","FakePromise","then","INCORRECT_ITERATION","all","isThenable","notify","isReject","notified","chain","reactions","ok","reaction","handler","fail","exited","rejection","onHandleUnhandled","enter","exit","onUnhandled","event","initEvent","IS_UNHANDLED","isUnhandled","emit","parent","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","x","$promiseResolve","counter","remaining","alreadyCalled","race","CONSTRUCTOR_NAME","Constructor","SAFE_CLOSING","called","iteratorWithReturn","from","SKIP_CLOSING","ITERATION_SUPPORT","defaultConstructor","S","IS_IOS","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","queue","ONREADYSTATECHANGE","defer","channel","port","run","runner","listener","post","postMessage","host","args","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","macrotask","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","flush","head","last","toggle","node","createTextNode","observe","characterData","promiseCapability","PromiseCapability","$$resolve","$$reject","allSettled","status","PROMISE_ANY_ERROR","any","alreadyResolved","alreadyRejected","NON_GENERIC","real","onFinally","isFunction","e","charAt","STRING_ITERATOR","point","CONVERT_TO_STRING","position","size","charCodeAt","codeAt","DOMIterables","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","METHOD_NAME","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","factory","SymbolPolyfill","description","noop","getGlobals","globals","typeIsObject","rethrowAssertionErrorRejection","originalPromise","originalPromiseThen","originalPromiseResolve","originalPromiseReject","newPromise","promiseResolvedWith","promiseRejectedWith","PerformPromiseThen","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","globalQueueMicrotask","resolvedPromise","reflectCall","promiseCall","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","element","oldBack","newBack","shift","oldFront","newFront","oldCursor","newCursor","elements","forEach","callback","peek","front","cursor","ReadableStreamReaderGenericInitialize","reader","stream","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","AbortSteps","ErrorSteps","CancelSteps","PullSteps","NumberIsFinite","isFinite","MathTrunc","trunc","isDictionary","assertDictionary","assertFunction","assertObject","assertRequiredArgument","assertRequiredField","field","convertUnrestrictedDouble","censorNegativeZero","integerPart","convertUnsignedLongLongWithEnforceRange","lowerBound","upperBound","MAX_SAFE_INTEGER","assertReadableStream","IsReadableStream","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_readRequests","ReadableStreamFulfillReadRequest","_closeSteps","_chunkSteps","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","read","resolvePromise","rejectPromise","_errorSteps","ReadableStreamDefaultReaderRead","releaseLock","closed","toStringTag","_disturbed","_readableStreamController","_a","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorImpl","preventCancel","_ongoingPromise","_isFinished","_preventCancel","_this","nextSteps","_nextSteps","return","returnSteps","_returnSteps","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorImpl","AcquireReadableStreamAsyncIterator","impl","NumberIsNaN","IsFiniteNonNegativeNumber","IsNonNegativeNumber","Infinity","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","RangeError","PeekQueueValue","ResetQueue","CreateArrayFromList","CopyDataBlockBytes","dest","destOffset","srcOffset","Uint8Array","TransferArrayBuffer","IsDetachedBuffer","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","ArrayBuffer","isView","byteLength","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","_byobRequest","_pendingPullIntos","firstDescriptor","byteOffset","bytesFilled","byobRequest","SetUpReadableStreamBYOBRequest","ReadableByteStreamControllerGetDesiredSize","_closeRequested","_controlledReadableByteStream","ReadableByteStreamControllerClose","enqueue","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","_cancelAlgorithm","ReadableByteStreamControllerClearAlgorithms","ReadableByteStreamControllerHandleQueueDrain","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","elementSize","viewConstructor","readerType","ReadableByteStreamControllerCallPullIfNeeded","desiredSize","shouldPull","ReadableByteStreamControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableByteStreamControllerClearPendingPullIntos","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableStreamClose","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","readIntoRequest","DataView","BYTES_PER_ELEMENT","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","_started","firstPendingPullInto","transferredBuffer","transferredView","ReadableStreamError","_strategyHWM","SetUpReadableByteStreamController","startAlgorithm","pullAlgorithm","cancelAlgorithm","highWaterMark","startResult","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","pull","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ExtractHighWaterMark","strategy","defaultHWM","ExtractSizeAlgorithm","convertQueuingStrategy","init","convertQueuingStrategySize","convertUnderlyingSink","original","abort","convertUnderlyingSinkAbortCallback","convertUnderlyingSinkCloseCallback","convertUnderlyingSinkStartCallback","convertUnderlyingSinkWriteCallback","assertWritableStream","IsWritableStream","WritableStream","rawUnderlyingSink","rawStrategy","underlyingSink","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","streamBrandCheckException$2","IsWritableStreamLocked","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","locked","WritableStreamDefaultWriter","CreateWritableStream","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_promise","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","chunkSize","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","closeSentinel","IsWritableStreamDefaultController","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","_strategySizeAlgorithm","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","isAbortSignal","aborted","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","signal","shuttingDown","currentWrite","actions","shutdownWithAction","map","action","pipeLoop","resolveLoop","rejectLoop","pipeStep","resolveRead","rejectRead","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException$1","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerShouldCallPull","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","reading","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","value1","value2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","convertUnderlyingDefaultOrByteSource","convertUnderlyingSourceCancelCallback","convertUnderlyingSourcePullCallback","convertUnderlyingSourceStartCallback","convertReadableStreamType","convertReaderOptions","convertReadableStreamReaderMode","convertIteratorOptions","Boolean","convertPipeOptions","assertAbortSignal","convertReadableWritablePair","readable","ReadableStream","rawUnderlyingSource","InitializeReadableStream","streamBrandCheckException$1","getReader","rawOptions","pipeThrough","rawTransform","pipeTo","destination","tee","branches","sourceCancelPromise","convertQueuingStrategyInit","byteLengthSizeFunction","ByteLengthQueuingStrategy","_byteLengthQueuingStrategyHighWaterMark","IsByteLengthQueuingStrategy","byteLengthBrandCheckException","countSizeFunction","CountQueuingStrategy","_countQueuingStrategyHighWaterMark","IsCountQueuingStrategy","countBrandCheckException","convertTransformer","readableType","writableType","convertTransformerFlushCallback","convertTransformerStartCallback","convertTransformerTransformCallback","TransformStream","rawTransformer","rawWritableStrategy","rawReadableStrategy","writableStrategy","readableStrategy","transformer","readableHighWaterMark","readableSizeAlgorithm","writableHighWaterMark","writableSizeAlgorithm","startPromise_resolve","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","terminate","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","DefaultCMapReaderFactory","createPDFNetworkStream","isArrayBuffer","range","params","rangeTransport","worker","apiCompatibilityParams","setVerbosityLevel","workerParams","GlobalWorkerOptions","PDFWorker","docId","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","initialData","progressiveDone","contentDispositionFilename","disableRange","disableStream","httpHeaders","withCredentials","rangeChunkSize","messageHandler","transport","pdfDataRangeTransport","apiVersion","password","disableAutoFetch","maxImageSize","disableFontFace","postMessageTransfers","docBaseUrl","ignoreErrors","fontExtraProperties","enableXfa","PDFDocumentLoadingTask","nextDocumentId","transportDestroyed","addRangeListener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","onDataProgress","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","getDownloadInfo","getStats","cleanup","keepLoadedFonts","saveDocument","deprecated","getFieldObjects","hasJSActions","getCalculationOrderIds","pdfBug","getViewport","getAnnotations","intent","getXfa","render","renderInteractiveForms","imageLayer","canvasFactory","background","includeAnnotationStorage","optionalContentConfigPromise","renderingIntent","intentState","clearTimeout","canvasFactoryInstance","annotationStorage","fnArray","argsArray","lastChunk","pageIndex","internalRenderTask","canvasContext","viewport","objs","commonObjs","operatorList","useRequestAnimationFrame","renderTask","transparency","optionalContentConfig","getOperatorList","opListTask","streamTextContent","normalizeWhitespace","disableCombineTextItems","includeMarkedContent","TEXT_CONTENT_CHUNK_SIZE","combineTextItems","textContent","getTextContent","readableStream","pump","items","styles","getStructTree","_destroy","waitOn","force","resetStats","_tryCleanup","renderTasks","_startRenderPage","_renderPageChunk","operatorListChunk","_pumpOperatorList","_abortOperatorList","curIntentState","cloned","transfers","cloneValue","desc","pdfWorkerPorts","isWorkerDisabled","nextFakeWorkerId","fallbackWorkerSrc","pdfjsFilePath","mainWorkerMessageHandler","fakeWorkerCapability","loader","getMainThreadWorkerMessageHandler","eval","getWorkerSrc","loadScript","_initializeFromPort","_initialize","workerSrc","isSameOrigin","createCDNWrapper","terminateEarly","onWorkerError","sendTest","testObj","_setupFakeWorker","setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","loadingTask","onUnsupportedFeature","page","terminated","setupMessageHandler","evt","loaded","total","sink","readyReason","headersCapability","fullReader","isStreamingSupported","isRangeSupported","contentLength","rangeReader","pdfInfo","ex","msg","exception","updatePassword","exportedError","exportedData","fontRegistry","registerFont","pageProxy","MAX_IMAGE_SIZE_TO_STORE","imageData","fetched","builtInCMap","_onUnsupportedFeature","pageNumber","pageInfo","ref","numPages","filename","getDocJSActions","getPageJSActions","getPageXfa","results","cleanupSuccessful","_ensureObj","resolved","InternalRenderTask","canvasInRendering","initializeGraphics","operatorListChanged","_continue","_scheduleNext","build","addNativeFontFace","insertRule","styleElement","styleSheet","nativeFontFace","featureId","rule","_queueLoadingCallback","_prepareFontLoadEvent","FontLoader","requests","nextRequestId","supported","navigator","otherRequest","getLoadTestFont","atob","offset","chunk1","s","chunk2","ctx","isFontReady","loadTestFontId","COMMENT_OFFSET","spliceString","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","int32","string32","btoa","div","span","translatedData","createNativeFontFace","css","weight","createFontFaceRule","bytesToString","getPathGenerator","cmds","jsBuf","current","NodeCanvasFactory","NodeCMapReaderFactory","Canvas","__non_webpack_require__","fs","getValue","setValue","modified","getAll","objectFromMap","_setModified","resetModified","compatibilityParams","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","COMPILE_TYPE3_GLYPHS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","LINEWIDTH_SCALE_FACTOR","ad_bc","bc_ad","old","prev","cosValue","sinValue","getCanvas","canvasEntry","addContextCurrentTransform","POINT_TO_PROCESS_LIMIT","POINT_TYPES","imgData","width1","points","lineSize","data0","elem","mask","count","j","j0","sum","steps","outlines","coords","p0","pp","drawOutline","kk","o","l","ll","setCurrentPoint","CanvasGraphics","EXECUTION_TIME","EXECUTION_STEPS","transferMaps","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","thisChunkHeight","destPos","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","elemsInThisChunk","properties","property","sourceCtx","destCtx","alpha","alpha_","r0","g0","b0","maskData","transferMap","layerData","y","hasBackdrop","backdrop","subtype","composeFn","PIXELS_TO_PROCESS","row","chunkHeight","maskCtx","layerCtx","composeSMaskBackdrop","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","lineWidth","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","resetLineWidthToOne","glyph","isNum","restoreNeeded","spacing","character","accent","scaledX","scaledY","vmetric","vx","vy","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","showType3Text","fontMatrix","isTextInvisible","spacingLength","transformed","urx","ury","getColorN_Pattern","IR","color","baseTransform","canvasGraphicsFactory","createCanvasGraphics","getShadingPattern","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","bounds","canvasBounds","scaleX","scaleY","startTransformInverse","img","maskCanvas","putBinaryImageMask","skewX","skewY","positions","images","image","objId","w","h","widthScale","heightScale","imgToPaint","tmpCanvas","tmpCtx","putBinaryImageData","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","left","top","visible","getSinglePixelWidth","absDet","sqNorm1","sqNorm2","pixelHeight","getCanvasPosition","isContentVisible","svgElement","region","getPattern","owner","applyBoundingBox","grad","colorStop","createMatrix","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","q","drawTriangle","_createMeshCanvas","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","combinedScale","paddedWidth","paddedHeight","cachedCanvases","backgroundColor","drawFigure","matrixScale","temporaryPatternCanvas","PaintType","COLORED","UNCOLORED","createPatternCanvas","xstep","ystep","paintType","tilingType","curMatrixScale","dimx","dimy","graphics","getSizeAndScale","maxSize","TilingPattern","clipBbox","bboxWidth","bboxHeight","setFillAndStrokeStyleToContext","cssColor","domMatrix","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","callbackId","wrapReason","cbSourceName","cbTargetName","comObj","sourceName","targetName","on","ah","send","sendWithPromise","sendWithStream","streamId","startCapability","startCall","pullCall","cancelCall","isClosed","pullCapability","cancelCapability","_createStreamSink","streamSink","lastDesiredSize","sinkCapability","onPull","onCancel","isCancelled","success","_processStreamMessage","_postMessage","getRaw","_evaluateVisibilityExpression","array","operator","isVisible","setVisibility","getOrder","getGroups","getGroup","begin","_onReceiveData","found","_onProgress","firstReader","_onProgressiveDone","_removeRangeReader","getFullReader","queuedChunks","getRangeReader","cancelAllRequests","isPdfFile","_enqueue","requestCapability","requestsCapability","parameters","fieldType","isRenderable","ignoreBorder","createQuadrilaterals","_createContainer","horizontalRadius","verticalRadius","radius","_createQuadrilaterals","quadrilaterals","savedRect","quadPoint","_createPopup","trigger","popupElement","title","modificationDate","contents","hideWrapper","popup","_renderQuadrilaterals","quadrilateral","addLinkAttributes","linkService","rel","linkElement","_bindLink","_bindNamedAction","_bindJSAction","jsName","detail","JSON","_getKeyModifier","_setEventListener","baseName","valueGetter","modifier","_setEventListeners","eventName","_dispatchEventFromSandbox","setColor","ColorConverters","commonActions","hidden","print","focus","preventScroll","userName","readonly","required","bgColor","fgColor","textColor","borderColor","jsEvent","setPropertyOnSiblings","storage","storedData","valueAsString","elementData","userValue","formattedValue","beforeInputSelectionRange","beforeInputValue","blurListener","selRange","selStart","selEnd","commitKey","willCommit","_blurListener","change","fieldWidth","combWidth","_setTextStyle","TEXT_ALIGNMENT","fontColor","checkbox","radio","pdfButtonValue","checked","radioId","selectElement","optionElement","option","isExport","getItems","displayValue","exportValue","multipleSelection","remove","insert","indices","editable","changeEx","keyDown","IGNORE_TYPES","selector","parentElements","popupLeft","popupTop","BACKGROUND_ENLIGHT","g","dateObject","PDFDateString","_formatContents","lines","line","_toggle","_show","pin","_hide","unpin","borderWidth","square","circle","coordinate","polyline","getFilenameFromUrl","stringToPDFString","_download","sortedAnnotations","popupAnnotations","layer","downloadManager","imageResourcesPath","svgFactory","enableScripting","mouseState","isDown","rendered","G","makeColorComp","R","B","MAX_TEXT_DIVS_TO_RENDER","DEFAULT_FONT_SIZE","DEFAULT_FONT_ASCENT","ascentCache","AllWhitespaceRegexp","cachedAscent","metrics","ascent","descent","ratio","pixels","textDiv","textDivProperties","angle","canvasWidth","hasText","geom","hasEOL","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","tx","fontHeight","fontAscent","getAscent","shouldScaleText","absScaleX","absScaleY","angleCos","angleSin","divWidth","divHeight","right","bottom","textDivs","textDivsLength","t","ts","expanded","expandBounds","divProperties","jj","boxScale","findPositiveMin","box","x1New","x2New","expandBoundsLTR","boxes","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","used","textContentItemsStr","_processItems","len","appendText","_layoutText","fontFamily","_render","timeout","styleCache","textItems","textStyles","expandTextDivs","expandDivs","expand","transformBuf","paddingBuf","divProps","renderParameters","textContentStream","enhanceTextSelection","SVGGraphics","opTree","opListElement","pf","SVG_DEFAULTS","fontStyle","fontWeight","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc","body","crc32","deflateSyncUncompressed","output","level","literals","maxBlockLength","deflateBlocks","idat","pi","adler","adler32","colorType","bitDepth","offsetLiterals","offsetBytes","ihdr","deflateSync","pngLength","writePngChunk","createObjectURL","encode","clipCount","maskCount","shadingCount","loadDependencies","transformMatrix","getSVG","convertOpList","operatorIdMapping","opList","opListToTree","executeOpTree","opTreeElement","lineWidthScale","textMatrix","pm","addFontStyle","details","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeTilingPattern","tilingId","txstep","tystep","tiling","tx1","ty1","_makeShadingPattern","shadingId","colorStops","point0","point1","gradient","focalPoint","circlePoint","focalRadius","circleRadius","op","clipId","clipPath","clipElement","_setStrokeAttributes","dashArray","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","clipGroup","_ensureTransformGroup","attributes","root","rootHtml","stack","rootDiv","coeffs","child","childHtml","http","https","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","parts","part","quotindex","encodingend","extvalue","encoding","langvalue","text","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","onError","manager","_onHeadersReceived","fullRequestXhrId","fullRequestXhr","_onDone","_onError","createResponseStatusError","_close","abortController","credentials","redirect","createHeaders","fetch","createFetchOptions","validateResponseStatus","pdfjsVersion","pdfjsBuild","PDFNodeStream","setPDFNetworkStreamFactory","PDFNetworkStream","PDFFetchStream"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,mBA3BN,8BA2BA;;AACA,IAAMC,SA5BN,4BA4BA;;IAEA,iB;AACEC,+BAAc;AAAA;;AACZ,QAAI,qBAAJ,mBAA4C;AAC1CC,6BAD0C,sCAC1CA;AAFU;AADQ;;;;WAOtBC,+BAAsB;AACpBD,6BADoB,kCACpBA;AARoB;;;WAWtBE,gDAAuC;AACrC,UAAI,CAACC,iBAAL,QAA8B;AAC5B,cAAM,UADsB,yBACtB,CAAN;AAFmC;;AAIrC,UAAIC,cAAcC,UAAlB,GAA+B;AAC7B,cAAM,UADuB,qBACvB,CAAN;AALmC;;AAOrCF,sCAPqC,KAOrCA;AACAA,uCARqC,MAQrCA;AAnBoB;;;WAsBtBG,mCAA0B;AACxB,UAAI,CAACH,iBAAL,QAA8B;AAC5B,cAAM,UADsB,yBACtB,CAAN;AAFsB;;AAMxBA,sCANwB,CAMxBA;AACAA,uCAPwB,CAOxBA;AACAA,gCARwB,IAQxBA;AACAA,iCATwB,IASxBA;AA/BoB;;;;;;;;IAmCxB,gB;;;;;AACEJ,8BAA0D;AAAA;;AAAA,mFAA1DA,EAA0D;AAAA,kCAA5CQ,aAA4C;AAAA,QAA5CA,aAA4C,mCAA5BC,WAAlB,QAA8C;;AAAA;;AAAA;AAExD,sBAFwD,aAExD;AAFwD;AADX;;;;WAM/CP,+BAAsB;AACpB,UAAIG,cAAcC,UAAlB,GAA+B;AAC7B,cAAM,UADuB,qBACvB,CAAN;AAFkB;;AAIpB,UAAMI,SAAS,6BAJK,QAIL,CAAf;;AACA,UAAMC,UAAUD,kBALI,IAKJA,CAAhB;AACAA,qBANoB,KAMpBA;AACAA,sBAPoB,MAOpBA;AACA,aAAO;AACLA,cADK,EACLA,MADK;AAELC,eAFK,EAELA;AAFK,OAAP;AAd6C;;;;EAAjD,iB;;;;IAqBA,qB;AACEX,wCAAsD;AAAA,8BAAxCY,OAAwC;AAAA,QAAxCA,OAAwC,8BAA1C,IAA0C;AAAA,mCAAxBC,YAAwB;AAAA,QAAxBA,YAAwB,mCAAtDb,KAAsD;;AAAA;;AACpD,QAAI,qBAAJ,uBAAgD;AAC9CC,6BAD8C,0CAC9CA;AAFkD;;AAIpD,mBAJoD,OAIpD;AACA,wBALoD,YAKpD;AANwB;;;;;gFAS1B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,oBACO,KAAL,OADF;AAAA;AAAA;AAAA;;AAAA,sBAEU,UACJ,iEAFe,6DACX,CAFV;;AAAA;AAAA,oBAOE,IAPF;AAAA;AAAA;AAAA;;AAAA,sBAQU,UADG,8BACH,CARV;;AAAA;AAUQa,mBAVR,GAUc,uBAAuB,+BAVf,EAUR,CAVd;AAWQC,+BAXR,GAW0B,oBACpBC,0BADoB,SAEpBA,0BAbgB,IAAtB;AAAA,iDAeS,+CAA4CC,kBAAU;AAC3D,wBAAM,mCACc,kCAAlB,EADI,sBADqD,GACrD,EAAN;AAhBkB,iBAeb,CAfT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAyBAC,0CAAiC;AAC/BjB,6BAD+B,sCAC/BA;AAnCwB;;;;;;;;IAuC5B,oB;;;;;;;;;;;;;WACEiB,0CAAiC;AAAA;;AAC/B,UAEGC,sBAAsBC,qBAAqBC,SAF9C,OAEyBD,CAFzB,EAGE;AACA,eAAO;AAAA,mFAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAChBE,SAAL,EADqB;AAAA;AAAA;AAAA;;AAAA,0BAEb,UAAUA,SADA,UACV,CAFa;;AAAA;AAAA,yBAKjB,OAAJ,YALqB;AAAA;AAAA;AAAA;;AAAA,mCAMR,UANQ;AAAA;AAAA,2BAMaA,SADX,WACWA,EANb;;AAAA;AAAA;AAMnBC,4BANmB;AAAA;AAAA;;AAAA;AAAA,mCAQRC,mBARQ;AAAA;AAAA,2BAQYF,SAD1B,IAC0BA,EARZ;;AAAA;AAAA;AAQnBC,4BARmB;;AAAA;AAAA,sDAUd;AAAEA,8BAAF,EAAEA,QAAF;AAAYR,qCAAZ,EAAYA;AAAZ,qBAVc;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAAhB;;AAAA;AAAA;AAAA;AAAA,YAAP;AAL6B;;AAoB/B,aAAO,YAAY,2BAAqB;AACtC,YAAMU,UAAU,IADsB,cACtB,EAAhB;AACAA,iCAFsC,IAEtCA;;AAEA,YAAI,OAAJ,cAAuB;AACrBA,iCADqB,aACrBA;AALoC;;AAOtCA,qCAA6B,YAAM;AACjC,cAAIA,uBAAuBC,eAA3B,MAAgD;AAAA;AADf;;AAIjC,cAAID,0BAA0BA,mBAA9B,GAAoD;AAClD,gBADkD,QAClD;;AACA,gBAAI,uBAAqBA,QAAzB,UAA2C;AACzCF,yBAAW,eAAeE,QADe,QAC9B,CAAXF;AADF,mBAEO,IAAI,CAAC,OAAD,gBAAsBE,QAA1B,cAAgD;AACrDF,yBAAWC,yBAAcC,QAD4B,YAC1CD,CAAXD;AALgD;;AAOlD,0BAAc;AACZI,sBAAQ;AAAEJ,wBAAF,EAAEA,QAAF;AAAYR,+BAAZ,EAAYA;AAAZ,eAARY;AADY;AAPoC;AAJnB;;AAgBjCC,iBAAO,UAAUH,QAhBgB,UAgB1B,CAAPG;AAvBoC,SAOtCH;;AAmBAA,qBA1BsC,IA0BtCA;AA9C6B,OAoBxB,CAAP;AArBqD;;;;EAAzD,qB;;;;IAoDA,a;;;;;;;WACEvB,+BAAsB;AACpB2B,wBAAOxB,aAAaC,SAApBuB,GADoB,wBACpBA;AAEA,UAAMC,MAAMT,iCAHQ,SAGRA,CAAZ;AACAS,kCAJoB,KAIpBA;AACAA,gCAA0BzB,QALN,IAKpByB;AACAA,iCAA2BxB,SANP,IAMpBwB;AACAA,8CAPoB,MAOpBA;AACAA,kCAA4B,uBARR,MAQpBA;AAEA,aAVoB,GAUpB;AAXgB;;;WAclBC,6BAAoB;AAClBF,wBAAO,gBAAPA,UADkB,0BAClBA;AAEA,aAAOR,iCAHW,IAGXA,CAAP;AAjBgB;;;;;;;;IAoDpB,Y;AAIErB,+BAOG;AAAA,QAPS,OAOT,SAPS,OAOT;AAAA,QAPS,KAOT,SAPS,KAOT;AAAA,QAPS,QAOT,SAPS,QAOT;AAAA,8BAHDgC,OAGC;AAAA,QAHDA,OAGC,8BAPS,CAOT;AAAA,8BAFDC,OAEC;AAAA,QAFDA,OAEC,8BAPS,CAOT;AAAA,+BADDC,QACC;AAAA,QADDA,QACC,+BAPHlC,KAOG;;AAAA;;AACD,mBADC,OACD;AACA,iBAFC,KAED;AACA,oBAHC,QAGD;AACA,mBAJC,OAID;AACA,mBALC,OAKD;AAIA,QAAMmC,UAAW,cAAaC,QAAd,CAAcA,CAAb,IAThB,CASD;AACA,QAAMC,UAAW,cAAaD,QAAd,CAAcA,CAAb,IAVhB,CAUD;AACA,mCAXC,OAWD;AAEAE,gBAbC,GAaDA;;AACA,QAAIA,WAAJ,GAAkB;AAChBA,kBADgB,GAChBA;AAfD;;AAiBD;AACE;AACEC,kBAAU,CADZ,CACEA;AACAC,kBAFF,CAEEA;AACAC,kBAHF,CAGEA;AACAC,kBAJF,CAIEA;AALJ;;AAOE;AACEH,kBADF,CACEA;AACAC,kBAFF,CAEEA;AACAC,kBAHF,CAGEA;AACAC,kBAJF,CAIEA;AAXJ;;AAaE;AACEH,kBADF,CACEA;AACAC,kBAAU,CAFZ,CAEEA;AACAC,kBAAU,CAHZ,CAGEA;AACAC,kBAJF,CAIEA;AAjBJ;;AAmBE;AACEH,kBADF,CACEA;AACAC,kBAFF,CAEEA;AACAC,kBAHF,CAGEA;AACAC,kBAAU,CAJZ,CAIEA;AAvBJ;;AAyBE;AACE,cAAM,UA1BV,mEA0BU,CAAN;AA1BJ;;AA+BA,kBAAc;AACZD,gBAAU,CADE,OACZA;AACAC,gBAAU,CAFE,OAEZA;AAlDD;;AAqDD,uBArDC,aAqDD;AACA,eAtDC,MAsDD;;AACA,QAAIH,YAAJ,GAAmB;AACjBI,sBAAgBC,SAASP,UAAUD,QAAnBQ,CAAmBR,CAAnBQ,YADC,OACjBD;AACAE,sBAAgBD,SAAST,UAAUC,QAAnBQ,CAAmBR,CAAnBQ,YAFC,OAEjBC;AACAxC,cAAQuC,SAASR,aAAaA,QAAtBQ,CAAsBR,CAAtBQ,IAHS,KAGjBvC;AACAC,eAASsC,SAASR,aAAaA,QAAtBQ,CAAsBR,CAAtBQ,IAJQ,KAIjBtC;AAJF,WAKO;AACLqC,sBAAgBC,SAAST,UAAUC,QAAnBQ,CAAmBR,CAAnBQ,YADX,OACLD;AACAE,sBAAgBD,SAASP,UAAUD,QAAnBQ,CAAmBR,CAAnBQ,YAFX,OAELC;AACAxC,cAAQuC,SAASR,aAAaA,QAAtBQ,CAAsBR,CAAtBQ,IAHH,KAGLvC;AACAC,eAASsC,SAASR,aAAaA,QAAtBQ,CAAsBR,CAAtBQ,IAJJ,KAILtC;AAhED;;AAqED,qBAAiB,CACfiC,UADe,OAEfC,UAFe,OAGfC,UAHe,OAIfC,UAJe,OAKfC,gBAAgBJ,kBAAhBI,UAA4CF,kBAL7B,SAMfI,gBAAgBL,kBAAhBK,UAA4CH,kBAN7B,QAAjB;AASA,iBA9EC,KA8ED;AACA,kBA/EC,MA+ED;AA1Fe;;;;WAkGjBI,iBAMQ;AAAA,sFANRA,EAMQ;AAAA,8BALNC,KAKM;AAAA,UALNA,KAKM,4BALE,KADJ,KAME;AAAA,iCAJNT,QAIM;AAAA,UAJNA,QAIM,+BAJK,KAFP,QAME;AAAA,gCAHNN,OAGM;AAAA,UAHNA,OAGM,8BAHI,KAHN,OAME;AAAA,gCAFNC,OAEM;AAAA,UAFNA,OAEM,8BAFI,KAJN,OAME;AAAA,iCADNC,QACM;AAAA,UADNA,QACM,+BANF,KAME;;AACN,aAAO,iBAAiB;AACtBE,iBAAS,aADa,KACb,EADa;AAEtBW,aAFsB,EAEtBA,KAFsB;AAGtBT,gBAHsB,EAGtBA,QAHsB;AAItBN,eAJsB,EAItBA,OAJsB;AAKtBC,eALsB,EAKtBA,OALsB;AAMtBC,gBANsB,EAMtBA;AANsB,OAAjB,CAAP;AAzGe;;;WA6HjBc,sCAA6B;AAC3B,aAAO,0BAAoB,MAApB,EAA4B,KADR,SACpB,CAAP;AA9He;;;WAwIjBC,0CAAiC;AAC/B,UAAMC,UAAU,0BAAoB,CAACC,KAAD,CAACA,CAAD,EAAUA,KAAV,CAAUA,CAAV,CAApB,EAAwC,KADzB,SACf,CAAhB;;AACA,UAAMC,cAAc,0BAAoB,CAACD,KAAD,CAACA,CAAD,EAAUA,KAAV,CAAUA,CAAV,CAApB,EAAwC,KAF7B,SAEX,CAApB;;AACA,aAAO,CAACD,QAAD,CAACA,CAAD,EAAaA,QAAb,CAAaA,CAAb,EAAyBE,YAAzB,CAAyBA,CAAzB,EAAyCA,YAAzC,CAAyCA,CAAzC,CAAP;AA3Ie;;;WAuJjBC,iCAAwB;AACtB,aAAO,iCAA2B,MAA3B,EAAmC,KADpB,SACf,CAAP;AAxJe;;;;;;;;IA4JnB,2B;;;;;AACErD,kDAAuB;AAAA;;AAAA;;AACrB,gCADqB,GACrB;AACA,kBAFqB,IAErB;AAFqB;AAD+B;;;EAAxD,mB;;;AAOA,IAAMsD,aAAa;AACjBC,QADiB;AAEjBC,QAFiB;AAGjBC,SAHiB;AAIjBC,UAJiB;AAKjBC,OALiB;AAAA,CAAnB;;;AAyBA,iCAA4E;AAAA,kFAA5E,EAA4E;AAAA,MAA3C,GAA2C,SAA3C,GAA2C;AAAA,MAA3C,MAA2C,SAA3C,MAA2C;AAAA,MAA3C,GAA2C,SAA3C,GAA2C;AAAA,4BAAvBC,OAAuB;AAAA,MAAvBA,OAAuB,8BAA3C,IAA2C;;AAC1E/B,oBACEf,OAAO,eADTe,UAD0E,2DAC1EA;AAKA,MAAMgC,iBAAiBC,gCANmD,GAMnDA,CAAvB;;AACA,eAAa;AACXC,gBAAYA,aADD,cACXA;AADF,SAEO;AACLA,gBADK,EACLA;AACAA,qCAFK,cAELA;;AACAA,mBAAe,YAAM;AACnB,aADmB,KACnB;AAJG,KAGLA;AAZwE;;AAiB1E,MAAIC,YAjBsE,EAiB1E;;AACA;AACE,SAAKV,WAAL;AADF;;AAGE,SAAKA,WAAL;AACEU,kBADF,OACEA;AAJJ;;AAME,SAAKV,WAAL;AACEU,kBADF,QACEA;AAPJ;;AASE,SAAKV,WAAL;AACEU,kBADF,SACEA;AAVJ;;AAYE,SAAKV,WAAL;AACEU,kBADF,MACEA;AAbJ;AAAA;;AAgBAD,gBAlC0E,SAkC1EA;AAEAA,aAAW,gCApC+D,gBAoC1EA;AArcF;;AAwcA,2BAA2B;AACzB,MAAME,KAAKnD,IADc,MACzB;AACA,MAAIoD,IAFqB,CAEzB;;AACA,SAAOA,UAAUpD,kBAAjB,IAAuC;AACrCoD,KADqC;AAHd;;AAMzB,SAAOpD,iBAAiBoD,IAAjBpD,qBANkB,OAMzB;AA9cF;;AAidA,6BAA6B;AAC3B,SAAO,gCAAgC,eADZ,QACY,CAAvC;AAldF;;AA0dA,iCAAiC;AAC/B,MAAMqD,SAASrD,YADgB,GAChBA,CAAf;AACA,MAAMsD,QAAQtD,YAFiB,GAEjBA,CAAd;AACA,MAAMuD,MAAMzB,SACVuB,sBAAsBrD,IADZ8B,QAEVwB,oBAAoBtD,IALS,MAGnB8B,CAAZ;AAIA,SAAO9B,cAAcA,4BAAdA,GAPwB,GAOxBA,CAAP;AAjeF;;AA2eA,oCAAsE;AAAA,MAAlCwD,eAAkC,uEAAtE,cAAsE;;AACpE,MAAI,eAAJ,UAA6B;AAC3B,WAD2B,eAC3B;AAFkE;;AAIpE,MAAIC,aAAJ,GAAIA,CAAJ,EAAuB;AACrBC,oBADqB,oEACrBA;AACA,WAFqB,eAErB;AANkE;;AAQpE,MAAMC,QAR8D,qDAQpE;AAGA,MAAMC,aAX8D,+BAWpE;AACA,MAAMC,WAAWF,WAZmD,GAYnDA,CAAjB;AACA,MAAIG,oBACFF,gBAAgBC,SAAhBD,CAAgBC,CAAhBD,KACAA,gBAAgBC,SADhBD,CACgBC,CAAhBD,CADAA,IAEAA,gBAAgBC,SAhBkD,CAgBlDA,CAAhBD,CAHF;;AAIA,yBAAuB;AACrBE,wBAAoBA,kBADC,CACDA,CAApBA;;AACA,QAAIA,2BAAJ,GAAIA,CAAJ,EAAqC;AAEnC,UAAI;AACFA,4BAAoBF,gBAClBG,mBADkBH,iBAClBG,CADkBH,EADlB,CACkBA,CAApBE;AADF,QAIE,WAAW,CANsB;AAFhB;AAjB6C;;AAgCpE,SAAOA,qBAhC6D,eAgCpE;AA3gBF;;IA8gBA,S;AACE5E,uBAAc;AAAA;;AACZ,mBAAe8E,cADH,IACGA,CAAf;AACA,iBAFY,EAEZ;AAHY;;;;WAMdC,oBAAW;AACT,UAAIC,QAAQ,KAAZ,SAA0B;AACxBR,+DADwB,IACxBA;AAFO;;AAIT,2BAAqBS,KAJZ,GAIYA,EAArB;AAVY;;;WAadC,uBAAc;AACZ,UAAI,EAAE,QAAQ,KAAd,OAAI,CAAJ,EAA6B;AAC3BV,iEAD2B,IAC3BA;AAFU;;AAIZ,sBAAgB;AACdQ,YADc,EACdA,IADc;AAEdG,eAAO,aAFO,IAEP,CAFO;AAGdd,aAAKY,KAHS,GAGTA;AAHS,OAAhB;AAMA,aAAO,aAVK,IAUL,CAAP;AAvBY;;;WA0BdG,oBAAW;AAET,UAAMC,SAFG,EAET;AACA,UAAIC,UAHK,CAGT;;AAHS,iDAIU,KAAnB,KAJS;AAAA;;AAAA;AAIT,4DAA+B;AAAA,cAA/B,IAA+B;AAC7B,cAAMN,OAAOD,KADgB,IAC7B;;AACA,cAAIC,cAAJ,SAA2B;AACzBM,sBAAUN,KADe,MACzBM;AAH2B;AAJtB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,kDAUU,KAAnB,KAVS;AAAA;;AAAA;AAUT,+DAA+B;AAAA,cAA/B,KAA+B;AAC7B,cAAMC,WAAWR,YAAWA,MADC,KAC7B;AACAM,gCAAeN,kBAAH,OAAGA,CAAfM,cAF6B,QAE7BA;AAZO;AAAA;AAAA;AAAA;AAAA;AAAA;;AAcT,aAAOA,YAdE,EAcFA,CAAP;AAxCY;;;;;;;;AA4ChB,4BAA4B;AAC1B,SACE,gCACA,oBADA,eAEA,UAAUG,SAFV,aAGA,0BALwB,WAC1B;AA3jBF;;AAmkBA,uCAAuC;AACrC,MAAI;AACF,gBAAqB5E,UAAU,aAAVA,OAAU,CAAVA,GAAkC,QADrD,GACqD,CAAvD;AAAA,QAAM,QAAN,SAAM,QAAN;;AAEA,WAAO6E,wBAAwBA,aAH7B,QAGF;AAHF,IAIE,WAAW;AACX,WADW,KACX;AANmC;AAnkBvC;;AAklBA,yBAAsD;AAAA,MAA7BC,mBAA6B,uEAAtD,KAAsD;AACpD,SAAO,YAAY,2BAAqB;AACtC,QAAMC,SAAStE,uBADuB,QACvBA,CAAf;AACAsE,iBAFsC,GAEtCA;;AAEAA,oBAAgB,eAAe;AAC7B,+BAAyB;AACvBA,eADuB,MACvBA;AAF2B;;AAI7BhE,cAJ6B,GAI7BA;AARoC,KAItCgE;;AAMAA,qBAAiB,YAAY;AAC3B/D,aAAO,2CAAoC+D,OADhB,GACpB,EAAP/D;AAXoC,KAUtC+D;;AAGC,sBAAiBtE,SAAlB,eAAC,EAAD,WAAC,CAbqC,MAarC;AAdiD,GAC7C,CAAP;AAnlBF;;AAqmBA,6BAA6B;AAC3BuE,cAAY,2BADe,OAC3BA;AAtmBF;;AAymBA,IAzmBA,kBAymBA;;IAEA,a;;;;;;;WAiBE,6BAA2B;AACzB,UAAI,UAAU,CAACC,oBAAf,KAAeA,CAAf,EAAgC;AAC9B,eAD8B,IAC9B;AAFuB;;AAMzB,UAAI,CAAJ,oBAAyB;AACvBC,6BAAqB,WACnB,6IAFqB,IACF,CAArBA;AAPuB;;AA0BzB,UAAMC,UAAUD,wBA1BS,KA0BTA,CAAhB;;AACA,UAAI,CAAJ,SAAc;AACZ,eADY,IACZ;AA5BuB;;AAiCzB,UAAME,OAAOC,SAASF,QAATE,CAASF,CAATE,EAjCY,EAiCZA,CAAb;AACA,UAAIC,QAAQD,SAASF,QAATE,CAASF,CAATE,EAlCa,EAkCbA,CAAZ;AACAC,cAAQA,cAAcA,SAAdA,KAA4BA,QAA5BA,IAnCiB,CAmCzBA;AACA,UAAIC,MAAMF,SAASF,QAATE,CAASF,CAATE,EApCe,EAoCfA,CAAV;AACAE,YAAMA,YAAYA,OAAZA,WArCmB,CAqCzBA;AACA,UAAIC,OAAOH,SAASF,QAATE,CAASF,CAATE,EAtCc,EAsCdA,CAAX;AACAG,aAAOA,aAAaA,QAAbA,YAvCkB,CAuCzBA;AACA,UAAIC,SAASJ,SAASF,QAATE,CAASF,CAATE,EAxCY,EAwCZA,CAAb;AACAI,eAASA,eAAeA,UAAfA,cAzCgB,CAyCzBA;AACA,UAAIC,SAASL,SAASF,QAATE,CAASF,CAATE,EA1CY,EA0CZA,CAAb;AACAK,eAASA,eAAeA,UAAfA,cA3CgB,CA2CzBA;AACA,UAAMC,wBAAwBR,cA5CL,GA4CzB;AACA,UAAIS,aAAaP,SAASF,QAATE,CAASF,CAATE,EA7CQ,EA6CRA,CAAjB;AACAO,mBAAaA,mBAAmBA,cAAnBA,kBA9CY,CA8CzBA;AACA,UAAIC,eAAeR,SAASF,QAATE,CAASF,CAATE,SA/CM,CA+CzB;AACAQ,qBAAeA,qBAAqBA,gBAArBA,oBAhDU,CAgDzBA;;AAMA,UAAIF,0BAAJ,KAAmC;AACjCH,gBADiC,UACjCA;AACAC,kBAFiC,YAEjCA;AAFF,aAGO,IAAIE,0BAAJ,KAAmC;AACxCH,gBADwC,UACxCA;AACAC,kBAFwC,YAExCA;AA3DuB;;AA8DzB,aAAO,SAASpB,yCA9DS,MA8DTA,CAAT,CAAP;AA/EgB;;;;;;;;;;;;;;;AC3mBpByB,wC;;;;;;;;;;;;ACOA,IAAIC,UAAW,mBAAmB;AAAA;;AAGhC,MAAIC,KAAK9B,OAHuB,SAGhC;AACA,MAAI+B,SAASD,GAJmB,cAIhC;AACA,MALgC,SAKhC;AACA,MAAIE,UAAU,wCANkB,EAMhC;AACA,MAAIC,iBAAiBD,oBAPW,YAOhC;AACA,MAAIE,sBAAsBF,yBARM,iBAQhC;AACA,MAAIG,oBAAoBH,uBATQ,eAShC;;AAEA,mCAAiC;AAC/BhC,oCAAgC;AAC9BoC,aAD8B;AAE9BC,kBAF8B;AAG9BC,oBAH8B;AAI9BC,gBAJ8B;AAAA,KAAhCvC;AAMA,WAAOwC,IAPwB,GAOxBA,CAAP;AAlB8B;;AAoBhC,MAAI;AAEFC,eAFE,EAEFA;AAFF,IAGE,YAAY;AACZA,aAAS,iCAA0B;AACjC,aAAOD,WAD0B,KACjC;AAFU,KACZC;AAxB8B;;AA6BhC,qDAAmD;AAEjD,QAAIC,iBAAiBC,WAAWA,6BAAXA,sBAF4B,SAEjD;AACA,QAAIC,YAAY5C,cAAc0C,eAHmB,SAGjC1C,CAAhB;AACA,QAAInE,UAAU,YAAYgH,eAJuB,EAInC,CAAd;AAIAD,wBAAoBE,gCAR6B,OAQ7BA,CAApBF;AAEA,WAViD,SAUjD;AAvC8B;;AAyChCG,iBAzCgC,IAyChCA;;AAYA,kCAAgC;AAC9B,QAAI;AACF,aAAO;AAAEC,cAAF;AAAkBC,aAAKC,aAAvB,GAAuBA;AAAvB,OAAP;AADF,MAEE,YAAY;AACZ,aAAO;AAAEF,cAAF;AAAiBC,aAAjB;AAAA,OAAP;AAJ4B;AArDA;;AA6DhC,MAAIE,yBA7D4B,gBA6DhC;AACA,MAAIC,yBA9D4B,gBA8DhC;AACA,MAAIC,oBA/D4B,WA+DhC;AACA,MAAIC,oBAhE4B,WAgEhC;AAIA,MAAIC,mBApE4B,EAoEhC;;AAMA,uBAAqB,CA1EW;;AA2EhC,+BAA6B,CA3EG;;AA4EhC,wCAAsC,CA5EN;;AAgFhC,MAAIC,oBAhF4B,EAgFhC;;AACAA,sCAAoC,YAAY;AAC9C,WAD8C,IAC9C;AAlF8B,GAiFhCA;;AAIA,MAAIC,WAAWzD,OArFiB,cAqFhC;AACA,MAAI0D,0BAA0BD,YAAYA,SAASA,SAASE,OAtF5B,EAsF4BA,CAATF,CAATA,CAA1C;;AACA,MAAIC,2BACAA,4BADAA,MAEA3B,qCAFJ,cAEIA,CAFJ,EAE0D;AAGxDyB,wBAHwD,uBAGxDA;AA5F8B;;AA+FhC,MAAII,KAAKC,uCACPC,sBAAsB9D,cAhGQ,iBAgGRA,CADxB;AAEA+D,gCAA8BH,iBAjGE,0BAiGhCG;AACAF,2CAlGgC,iBAkGhCA;AACAE,kCAAgCtB,sDAnGA,mBAmGAA,CAAhCsB;;AAQA,4CAA0C;AACxC,wCAAoC,kBAAiB;AACnDtB,gCAA0B,eAAc;AACtC,eAAO,qBAD+B,GAC/B,CAAP;AAFiD,OACnDA;AAFsC,KACxC;AA5G8B;;AAmHhCM,gCAA8B,kBAAiB;AAC7C,QAAIiB,OAAO,gCAAgCC,OADE,WAC7C;AACA,WAAOD,OACHA,8BAGC,qBAAoBA,KAArB,IAAC,MAJEA,sBAFsC,KAE7C;AArH8B,GAmHhCjB;;AAUAA,iBAAe,kBAAiB;AAC9B,QAAI/C,OAAJ,gBAA2B;AACzBA,oCADyB,0BACzBA;AADF,WAEO;AACLiE,yBADK,0BACLA;AACAxB,wCAFK,mBAELA;AAL4B;;AAO9BwB,uBAAmBjE,cAPW,EAOXA,CAAnBiE;AACA,WAR8B,MAQ9B;AArI8B,GA6HhClB;;AAeAA,kBAAgB,eAAc;AAC5B,WAAO;AAAEmB,eADmB;AACrB,KAAP;AA7I8B,GA4IhCnB;;AAIA,iDAA+C;AAC7C,kDAA8C;AAC5C,UAAIoB,SAASC,SAASxB,UAATwB,MAASxB,CAATwB,aAD+B,GAC/BA,CAAb;;AACA,UAAID,gBAAJ,SAA6B;AAC3BrH,eAAOqH,OADoB,GAC3BrH;AADF,aAEO;AACL,YAAIuH,SAASF,OADR,GACL;AACA,YAAI/B,QAAQiC,OAFP,KAEL;;AACA,YAAIjC,SACA,mBADAA,YAEAL,mBAFJ,SAEIA,CAFJ,EAEmC;AACjC,iBAAO,oBAAoBK,MAApB,cAAwC,iBAAgB;AAC7DkC,2CAD6D,MAC7DA;AADK,aAEJ,eAAc;AACfA,0CADe,MACfA;AAJ+B,WAC1B,CAAP;AANG;;AAaL,eAAO,gCAAgC,qBAAoB;AAIzDD,yBAJyD,SAIzDA;AACAxH,kBALyD,MAKzDA;AALK,WAMJ,iBAAgB;AAGjB,iBAAOyH,gCAHU,MAGVA,CAAP;AAtBG,SAaE,CAAP;AAjB0C;AADD;;AAgC7C,QAhC6C,eAgC7C;;AAEA,kCAA8B;AAC5B,4CAAsC;AACpC,eAAO,gBAAgB,2BAA0B;AAC/CA,uCAD+C,MAC/CA;AAFkC,SAC7B,CAAP;AAF0B;;AAO5B,aAAOC,kBAaLA,kBAAkBA,iDAAlBA,0BAAkBA,CAAlBA,GAKIC,0BAzBsB,EAO5B;AAzC2C;;AAgE7C,mBAhE6C,OAgE7C;AAhN8B;;AAmNhCC,wBAAsBC,cAnNU,SAmNhCD;;AACAC,iDAA+C,YAAY;AACzD,WADyD,IACzD;AArN8B,GAoNhCA;;AAGA3B,0BAvNgC,aAuNhCA;;AAKAA,kBAAgB,4DAA2D;AACzE,QAAI4B,gBAAgB,KAApB,GAA4BA,cAD6C,OAC7CA;AAE5B,QAAIC,OAAO,kBACTC,6BADS,WACTA,CADS,EAH8D,WAG9D,CAAX;AAKA,WAAO9B,8CAEH,iBAAiB,kBAAiB;AAChC,aAAOsB,cAAcA,OAAdA,QAA6BO,KADJ,IACIA,EAApC;AAXmE,KAUrE,CAFJ;AApO8B,GA4NhC7B;;AAeA,oDAAkD;AAChD,QAAI+B,QAD4C,sBAChD;AAEA,WAAO,6BAA6B;AAClC,UAAIA,UAAJ,mBAAiC;AAC/B,cAAM,UADyB,8BACzB,CAAN;AAFgC;;AAKlC,UAAIA,UAAJ,mBAAiC;AAC/B,YAAIC,WAAJ,SAAwB;AACtB,gBADsB,GACtB;AAF6B;;AAO/B,eAAOC,UAPwB,EAO/B;AAZgC;;AAelCnJ,uBAfkC,MAelCA;AACAA,oBAhBkC,GAgBlCA;;AAEA,mBAAa;AACX,YAAIoJ,WAAWpJ,QADJ,QACX;;AACA,sBAAc;AACZ,cAAIqJ,iBAAiBC,8BADT,OACSA,CAArB;;AACA,8BAAoB;AAClB,gBAAID,mBAAJ,kBADkB;AAElB,mBAFkB,cAElB;AAJU;AAFH;;AAUX,YAAIrJ,mBAAJ,QAA+B;AAG7BA,yBAAeA,gBAAgBA,QAHF,GAG7BA;AAHF,eAKO,IAAIA,mBAAJ,SAAgC;AACrC,cAAIiJ,UAAJ,wBAAsC;AACpCA,oBADoC,iBACpCA;AACA,kBAAMjJ,QAF8B,GAEpC;AAHmC;;AAMrCA,oCAA0BA,QANW,GAMrCA;AANK,eAQA,IAAIA,mBAAJ,UAAiC;AACtCA,mCAAyBA,QADa,GACtCA;AAxBS;;AA2BXiJ,gBA3BW,iBA2BXA;AAEA,YAAIX,SAASC,wBA7BF,OA6BEA,CAAb;;AACA,YAAID,gBAAJ,UAA8B;AAG5BW,kBAAQjJ,mCAHoB,sBAG5BiJ;;AAIA,cAAIX,eAAJ,kBAAqC;AAAA;AAPT;;AAW5B,iBAAO;AACL/B,mBAAO+B,OADF;AAELiB,kBAAMvJ,QAFD;AAAA,WAAP;AAXF,eAgBO,IAAIsI,gBAAJ,SAA6B;AAClCW,kBADkC,iBAClCA;AAGAjJ,2BAJkC,OAIlCA;AACAA,wBAAcsI,OALoB,GAKlCtI;AAnDS;AAlBqB;AAHY,KAGhD;AA9O8B;;AA6ThC,kDAAgD;AAC9C,QAAIkJ,SAASE,kBAAkBpJ,QADe,MACjCoJ,CAAb;;AACA,QAAIF,WAAJ,WAA0B;AAGxBlJ,yBAHwB,IAGxBA;;AAEA,UAAIA,mBAAJ,SAAgC;AAE9B,YAAIoJ,kBAAJ,QAAIA,CAAJ,EAAiC;AAG/BpJ,2BAH+B,QAG/BA;AACAA,wBAJ+B,SAI/BA;AACAsJ,wCAL+B,OAK/BA;;AAEA,cAAItJ,mBAAJ,SAAgC;AAG9B,mBAH8B,gBAG9B;AAV6B;AAFH;;AAgB9BA,yBAhB8B,OAgB9BA;AACAA,sBAAc,cAjBgB,gDAiBhB,CAAdA;AAtBsB;;AA0BxB,aA1BwB,gBA0BxB;AA5B4C;;AA+B9C,QAAIsI,SAASC,iBAAiBa,SAAjBb,UAAoCvI,QA/BH,GA+BjCuI,CAAb;;AAEA,QAAID,gBAAJ,SAA6B;AAC3BtI,uBAD2B,OAC3BA;AACAA,oBAAcsI,OAFa,GAE3BtI;AACAA,yBAH2B,IAG3BA;AACA,aAJ2B,gBAI3B;AArC4C;;AAwC9C,QAAIwJ,OAAOlB,OAxCmC,GAwC9C;;AAEA,QAAI,CAAJ,MAAY;AACVtI,uBADU,OACVA;AACAA,oBAAc,cAFJ,kCAEI,CAAdA;AACAA,yBAHU,IAGVA;AACA,aAJU,gBAIV;AA9C4C;;AAiD9C,QAAIwJ,KAAJ,MAAe;AAGbxJ,cAAQoJ,SAARpJ,cAA+BwJ,KAHlB,KAGbxJ;AAGAA,qBAAeoJ,SANF,OAMbpJ;;AAQA,UAAIA,mBAAJ,UAAiC;AAC/BA,yBAD+B,MAC/BA;AACAA,sBAF+B,SAE/BA;AAhBW;AAAf,WAmBO;AAEL,aAFK,IAEL;AAtE4C;;AA2E9CA,uBA3E8C,IA2E9CA;AACA,WA5E8C,gBA4E9C;AAzY8B;;AA8YhC4I,wBA9YgC,EA8YhCA;AAEAhC,gCAhZgC,WAgZhCA;;AAOAmB,uBAAqB,YAAW;AAC9B,WAD8B,IAC9B;AAxZ8B,GAuZhCA;;AAIAA,gBAAc,YAAW;AACvB,WADuB,oBACvB;AA5Z8B,GA2ZhCA;;AAIA,8BAA4B;AAC1B,QAAI0B,QAAQ;AAAEC,cAAQC,KADI,CACJA;AAAV,KAAZ;;AAEA,QAAI,KAAJ,MAAe;AACbF,uBAAiBE,KADJ,CACIA,CAAjBF;AAJwB;;AAO1B,QAAI,KAAJ,MAAe;AACbA,yBAAmBE,KADN,CACMA,CAAnBF;AACAA,uBAAiBE,KAFJ,CAEIA,CAAjBF;AATwB;;AAY1B,yBAZ0B,KAY1B;AA3a8B;;AA8ahC,gCAA8B;AAC5B,QAAInB,SAASmB,oBADe,EAC5B;AACAnB,kBAF4B,QAE5BA;AACA,WAAOA,OAHqB,GAG5B;AACAmB,uBAJ4B,MAI5BA;AAlb8B;;AAqbhC,gCAA8B;AAI5B,sBAAkB,CAAC;AAAEC,cAJO;AAIT,KAAD,CAAlB;AACA1C,sCAL4B,IAK5BA;AACA,eAN4B,IAM5B;AA3b8B;;AA8bhCE,iBAAe,kBAAiB;AAC9B,QAAI0C,OAD0B,EAC9B;;AACA,4BAAwB;AACtBA,gBADsB,GACtBA;AAH4B;;AAK9BA,SAL8B,OAK9BA;AAIA,WAAO,gBAAgB;AACrB,aAAOA,KAAP,QAAoB;AAClB,YAAIC,MAAMD,KADQ,GACRA,EAAV;;AACA,YAAIC,OAAJ,QAAmB;AACjBC,uBADiB,GACjBA;AACAA,sBAFiB,KAEjBA;AACA,iBAHiB,IAGjB;AALgB;AADC;;AAarBA,kBAbqB,IAarBA;AACA,aAdqB,IAcrB;AAvB4B,KAS9B;AAvc8B,GA8bhC5C;;AA2BA,4BAA0B;AACxB,kBAAc;AACZ,UAAI6C,iBAAiBC,SADT,cACSA,CAArB;;AACA,0BAAoB;AAClB,eAAOD,oBADW,QACXA,CAAP;AAHU;;AAMZ,UAAI,OAAOC,SAAP,SAAJ,YAAyC;AACvC,eADuC,QACvC;AAPU;;AAUZ,UAAI,CAACC,MAAMD,SAAX,MAAKC,CAAL,EAA6B;AAC3B,YAAI1G,IAAI,CAAR;AAAA,YAAYuG,OAAO,gBAAgB;AACjC,iBAAO,MAAME,SAAb,QAA8B;AAC5B,gBAAI9D,sBAAJ,CAAIA,CAAJ,EAA8B;AAC5B4D,2BAAaE,SADe,CACfA,CAAbF;AACAA,0BAF4B,KAE5BA;AACA,qBAH4B,IAG5B;AAJ0B;AADG;;AASjCA,uBATiC,SASjCA;AACAA,sBAViC,IAUjCA;AAEA,iBAZiC,IAYjC;AAbyB,SAC3B;;AAeA,eAAOA,YAhBoB,IAgB3B;AA1BU;AADU;;AAgCxB,WAAO;AAAEA,YAhCe;AAgCjB,KAAP;AAzf8B;;AA2fhC5C,mBA3fgC,MA2fhCA;;AAEA,wBAAsB;AACpB,WAAO;AAAEX,aAAF;AAAoBgD,YAApB;AAAA,KAAP;AA9f8B;;AAigBhCW,sBAAoB;AAClB7K,iBADkB;AAGlBG,WAAO,8BAAwB;AAC7B,kBAD6B,CAC7B;AACA,kBAF6B,CAE7B;AAGA,kBAAY,aALiB,SAK7B;AACA,kBAN6B,KAM7B;AACA,sBAP6B,IAO7B;AAEA,oBAT6B,MAS7B;AACA,iBAV6B,SAU7B;AAEA,8BAZ6B,aAY7B;;AAEA,UAAI,CAAJ,eAAoB;AAClB,+BAAuB;AAErB,cAAI6E,0BACA6B,kBADA7B,IACA6B,CADA7B,IAEA,CAAC4F,MAAM,CAAC5F,WAFZ,CAEYA,CAAP4F,CAFL,EAE4B;AAC1B,yBAD0B,SAC1B;AALmB;AADL;AAdS;AAHb;AA6BlBE,UAAM,gBAAW;AACf,kBADe,IACf;AAEA,UAAIC,YAAY,gBAHD,CAGC,CAAhB;AACA,UAAIC,aAAaD,UAJF,UAIf;;AACA,UAAIC,oBAAJ,SAAiC;AAC/B,cAAMA,WADyB,GAC/B;AANa;;AASf,aAAO,KATQ,IASf;AAtCgB;AAyClBC,uBAAmB,sCAAoB;AACrC,UAAI,KAAJ,MAAe;AACb,cADa,SACb;AAFmC;;AAKrC,UAAItK,UALiC,IAKrC;;AACA,mCAA6B;AAC3BsI,sBAD2B,OAC3BA;AACAA,qBAF2B,SAE3BA;AACAtI,uBAH2B,GAG3BA;;AAEA,oBAAY;AAGVA,2BAHU,MAGVA;AACAA,wBAJU,SAIVA;AATyB;;AAY3B,eAAO,CAAC,CAZmB,MAY3B;AAlBmC;;AAqBrC,WAAK,IAAIuD,IAAI,yBAAb,GAAyCA,KAAzC,GAAiD,EAAjD,GAAsD;AACpD,YAAIkG,QAAQ,gBADwC,CACxC,CAAZ;AACA,YAAInB,SAASmB,MAFuC,UAEpD;;AAEA,YAAIA,iBAAJ,QAA6B;AAI3B,iBAAOc,OAJoB,KAIpBA,CAAP;AARkD;;AAWpD,YAAId,gBAAgB,KAApB,MAA+B;AAC7B,cAAIe,WAAWtE,mBADc,UACdA,CAAf;AACA,cAAIuE,aAAavE,mBAFY,YAEZA,CAAjB;;AAEA,cAAIsE,YAAJ,YAA4B;AAC1B,gBAAI,YAAYf,MAAhB,UAAgC;AAC9B,qBAAOc,OAAOd,MAAPc,UADuB,IACvBA,CAAP;AADF,mBAEO,IAAI,YAAYd,MAAhB,YAAkC;AACvC,qBAAOc,OAAOd,MADyB,UAChCc,CAAP;AAJwB;AAA5B,iBAOO,cAAc;AACnB,gBAAI,YAAYd,MAAhB,UAAgC;AAC9B,qBAAOc,OAAOd,MAAPc,UADuB,IACvBA,CAAP;AAFiB;AAAd,iBAKA,gBAAgB;AACrB,gBAAI,YAAYd,MAAhB,YAAkC;AAChC,qBAAOc,OAAOd,MADkB,UACzBc,CAAP;AAFmB;AAAhB,iBAKA;AACL,kBAAM,UADD,wCACC,CAAN;AAtB2B;AAXqB;AArBjB;AAzCrB;AAqGlBG,YAAQ,2BAAoB;AAC1B,WAAK,IAAInH,IAAI,yBAAb,GAAyCA,KAAzC,GAAiD,EAAjD,GAAsD;AACpD,YAAIkG,QAAQ,gBADwC,CACxC,CAAZ;;AACA,YAAIA,gBAAgB,KAAhBA,QACAvD,mBADAuD,YACAvD,CADAuD,IAEA,YAAYA,MAFhB,YAEkC;AAChC,cAAIkB,eAD4B,KAChC;AADgC;AAJkB;AAD5B;;AAW1B,UAAIA,iBACC,oBACAxD,SAFDwD,eAGAA,uBAHAA,OAIAvD,OAAOuD,aAJX,YAIoC;AAGlCA,uBAHkC,IAGlCA;AAlBwB;;AAqB1B,UAAIrC,SAASqC,eAAeA,aAAfA,aArBa,EAqB1B;AACArC,oBAtB0B,IAsB1BA;AACAA,mBAvB0B,GAuB1BA;;AAEA,wBAAkB;AAChB,sBADgB,MAChB;AACA,oBAAYqC,aAFI,UAEhB;AACA,eAHgB,gBAGhB;AA5BwB;;AA+B1B,aAAO,cA/BmB,MA+BnB,CAAP;AApIgB;AAuIlBC,cAAU,oCAA2B;AACnC,UAAItC,gBAAJ,SAA6B;AAC3B,cAAMA,OADqB,GAC3B;AAFiC;;AAKnC,UAAIA,2BACAA,gBADJ,YACgC;AAC9B,oBAAYA,OADkB,GAC9B;AAFF,aAGO,IAAIA,gBAAJ,UAA8B;AACnC,oBAAY,WAAWA,OADY,GACnC;AACA,sBAFmC,QAEnC;AACA,oBAHmC,KAGnC;AAHK,aAIA,IAAIA,4BAAJ,UAA0C;AAC/C,oBAD+C,QAC/C;AAbiC;;AAgBnC,aAhBmC,gBAgBnC;AAvJgB;AA0JlBuC,YAAQ,4BAAqB;AAC3B,WAAK,IAAItH,IAAI,yBAAb,GAAyCA,KAAzC,GAAiD,EAAjD,GAAsD;AACpD,YAAIkG,QAAQ,gBADwC,CACxC,CAAZ;;AACA,YAAIA,qBAAJ,YAAqC;AACnC,wBAAcA,MAAd,YAAgCA,MADG,QACnC;AACAqB,wBAFmC,KAEnCA;AACA,iBAHmC,gBAGnC;AALkD;AAD3B;AA1JX;AAqKlB,aAAS,wBAAiB;AACxB,WAAK,IAAIvH,IAAI,yBAAb,GAAyCA,KAAzC,GAAiD,EAAjD,GAAsD;AACpD,YAAIkG,QAAQ,gBADwC,CACxC,CAAZ;;AACA,YAAIA,iBAAJ,QAA6B;AAC3B,cAAInB,SAASmB,MADc,UAC3B;;AACA,cAAInB,gBAAJ,SAA6B;AAC3B,gBAAIyC,SAASzC,OADc,GAC3B;AACAwC,0BAF2B,KAE3BA;AAJyB;;AAM3B,iBAN2B,MAM3B;AARkD;AAD9B;;AAexB,YAAM,UAfkB,uBAelB,CAAN;AApLgB;AAuLlBE,mBAAe,sDAAwC;AACrD,sBAAgB;AACdC,kBAAUnD,OADI,QACJA,CADI;AAEdoD,oBAFc;AAGdC,iBAHc;AAAA,OAAhB;;AAMA,UAAI,gBAAJ,QAA4B;AAG1B,mBAH0B,SAG1B;AAVmD;;AAarD,aAbqD,gBAarD;AApMgB;AAAA,GAApBjB;AA4MA,SA7sBgC,OA6sBhC;AA7sBa,EAotBb,8CAA6BnE,OAA7B,UA3tBF,EAOe,CAAf;;AAutBA,IAAI;AACFqF,uBADE,OACFA;AADF,EAEE,6BAA6B;AAU7BC,0CAV6B,OAU7BA;AAV6B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChuB/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAMC,kBAAkB,kBAAxB;;AACA,IAAMC,uBAAuB,0BAA7B;;AAGA,IAAMC,iBAAiB;AACrBC,SADqB;AAErBC,mBAFqB;AAGrBC,QAHqB;AAIrBC,sBAJqB;AAKrBC,0BALqB;AAMrBC,0BANqB;AAOrBC,YAPqB;AAQrBC,sBARqB;AAAA,CAAvB;;AAWA,IAAMC,oBAAoB;AACxBC,QADwB;AAExBC,UAFwB;AAGxBC,eAHwB;AAIxBC,aAJwB;AAKxBC,oBALwB;AAMxBC,sBANwB;AAOxBC,2BAPwB;AAQxBC,eARwB;AASxBC,oBATwB;AAUxBC,oBAVwB;AAAA,CAA1B;;AAaA,IAAMC,YAAY;AAChBC,kBADgB;AAEhBC,aAFgB;AAGhBC,cAHgB;AAAA,CAAlB;;AAMA,IAAMC,iBAAiB;AACrBC,QADqB;AAErBC,QAFqB;AAGrBC,YAHqB;AAIrBC,QAJqB;AAKrBC,UALqB;AAMrBC,UANqB;AAOrBC,WAPqB;AAQrBC,YARqB;AASrBC,aATqB;AAUrBC,aAVqB;AAWrBC,YAXqB;AAYrBC,aAZqB;AAarBC,SAbqB;AAcrBC,SAdqB;AAerBC,OAfqB;AAgBrBC,SAhBqB;AAiBrBC,kBAjBqB;AAkBrBC,SAlBqB;AAmBrBC,SAnBqB;AAoBrBC,UApBqB;AAqBrBC,UArBqB;AAsBrBC,eAtBqB;AAuBrBC,WAvBqB;AAwBrBC,aAxBqB;AAyBrBC,UAzBqB;AA0BrBC,UA1BqB;AAAA,CAAvB;;AA6BA,IAAMC,2BAA2B;AAC/BC,UAD+B;AAE/BC,UAF+B;AAAA,CAAjC;;AAKA,IAAMC,wBAAwB;AAC5BF,UAD4B;AAE5BG,YAF4B;AAAA,CAA9B;;AAKA,IAAMC,wBAAwB;AAC5BC,YAD4B;AAE5BC,YAF4B;AAG5BC,aAH4B;AAI5BC,aAJ4B;AAK5BxM,QAL4B;AAAA,CAA9B;;AAQA,IAAMyM,sBAAsB;AAC1BC,SAD0B;AAE1BC,SAF0B;AAAA,CAA5B;;AAKA,IAAMC,iBAAiB;AACrBnD,aADqB;AAErBoD,UAFqB;AAGrBhE,SAHqB;AAIrBiE,UAJqB;AAKrBC,YALqB;AAMrBC,UANqB;AAOrBC,YAPqB;AAQrBC,UARqB;AASrBC,gBATqB;AAUrBC,kBAVqB;AAAA,CAAvB;;AAaA,IAAMC,sBAAsB;AAC1BJ,YAD0B;AAE1BK,YAF0B;AAG1BC,YAH0B;AAI1BC,aAJ0B;AAK1BC,YAL0B;AAM1BC,iBAN0B;AAO1BC,SAP0B;AAQ1BC,cAR0B;AAS1BC,SAT0B;AAU1BC,QAV0B;AAW1BC,QAX0B;AAY1BC,cAZ0B;AAa1BC,eAb0B;AAc1BC,mBAd0B;AAe1BC,eAf0B;AAgB1BC,QAhB0B;AAiB1BC,YAjB0B;AAkB1BC,kBAlB0B;AAmB1BC,qBAnB0B;AAAA,CAA5B;;AAsBA,IAAMC,4BAA4B;AAChCC,SADgC;AAEhCC,UAFgC;AAGhCC,WAHgC;AAIhCC,SAJgC;AAKhC9D,aALgC;AAAA,CAAlC;;AAQA,IAAM+D,4BAA4B;AAChCC,KADgC;AAEhCC,KAFgC;AAGhCC,KAHgC;AAIhCC,KAJgC;AAKhCC,MALgC;AAMhCC,MANgC;AAOhCC,MAPgC;AAQhCC,MARgC;AAShCC,MATgC;AAUhCC,MAVgC;AAWhCC,KAXgC;AAYhCC,KAZgC;AAahCC,KAbgC;AAchCC,KAdgC;AAAA,CAAlC;;AAiBA,IAAMC,0BAA0B;AAC9BC,MAD8B;AAE9BC,MAF8B;AAG9BC,MAH8B;AAI9BC,MAJ8B;AAK9BC,MAL8B;AAAA,CAAhC;;AAQA,IAAMC,sBAAsB;AAC1BC,KAD0B;AAE1BR,KAF0B;AAAA,CAA5B;;AAKA,IAAMS,aAAa;AACjBC,WADiB;AAEjBC,SAFiB;AAGjBC,OAHiB;AAIjBC,OAJiB;AAKjBC,OALiB;AAMjBC,QANiB;AAOjBC,OAPiB;AAQjBC,OARiB;AASjBC,OATiB;AAUjBC,OAViB;AAAA,CAAnB;;AAaA,IAAMC,WAAW;AACfV,WADe;AAEfW,SAFe;AAGfC,UAHe;AAIfC,gBAJe;AAKfC,iBALe;AAMfC,YANe;AAOfC,gBAPe;AAQfC,SARe;AASfC,YATe;AAUfC,SAVe;AAWfC,WAXe;AAAA,CAAjB;;AAcA,IAAMC,iBAAiB;AACrBC,UADqB;AAErBC,YAFqB;AAGrBC,SAHqB;AAAA,CAAvB;;AAMA,IAAMpU,sBAAsB;AAC1BuC,QAD0B;AAE1B8R,UAF0B;AAG1BC,UAH0B;AAAA,CAA5B;;AAOA,IAAMC,MAAM;AAGVC,cAHU;AAIVC,gBAJU;AAKVC,cALU;AAMVC,eANU;AAOVC,iBAPU;AAQVC,WARU;AASVC,sBATU;AAUVC,eAVU;AAWVC,aAXU;AAYVC,QAZU;AAaVC,WAbU;AAcVC,aAdU;AAeVC,UAfU;AAgBVC,UAhBU;AAiBVC,WAjBU;AAkBVC,YAlBU;AAmBVC,YAnBU;AAoBVC,aApBU;AAqBVC,aArBU;AAsBVC,UAtBU;AAuBVC,eAvBU;AAwBVC,QAxBU;AAyBVC,UAzBU;AA0BVC,cA1BU;AA2BVC,gBA3BU;AA4BVC,mBA5BU;AA6BVC,qBA7BU;AA8BVC,WA9BU;AA+BVC,QA/BU;AAgCVC,UAhCU;AAiCVC,aAjCU;AAkCVC,WAlCU;AAmCVC,kBAnCU;AAoCVC,kBApCU;AAqCVC,aArCU;AAsCVC,cAtCU;AAuCVC,WAvCU;AAwCVC,wBAxCU;AAyCVC,eAzCU;AA0CVC,YA1CU;AA2CVC,sBA3CU;AA4CVC,iBA5CU;AA6CVC,YA7CU;AA8CVC,YA9CU;AA+CVC,kBA/CU;AAgDVC,oBAhDU;AAiDVC,8BAjDU;AAkDVC,gBAlDU;AAmDVC,yBAnDU;AAoDVC,uBApDU;AAqDVC,qBArDU;AAsDVC,kBAtDU;AAuDVC,mBAvDU;AAwDVC,gBAxDU;AAyDVC,iBAzDU;AA0DVC,iBA1DU;AA2DVC,eA3DU;AA4DVC,qBA5DU;AA6DVC,mBA7DU;AA8DVC,sBA9DU;AA+DVC,oBA/DU;AAgEVC,eAhEU;AAiEVC,oBAjEU;AAkEVC,kBAlEU;AAmEVC,kBAnEU;AAoEVC,gBApEU;AAqEVC,aArEU;AAsEVC,kBAtEU;AAuEVC,sBAvEU;AAwEVC,2BAxEU;AAyEVC,oBAzEU;AA0EVC,eA1EU;AA2EVC,aA3EU;AA4EVC,yBA5EU;AA6EVC,uBA7EU;AA8EVC,cA9EU;AA+EVC,YA/EU;AAgFVC,oBAhFU;AAiFVC,kBAjFU;AAkFVC,mBAlFU;AAmFVC,iBAnFU;AAoFVC,oBApFU;AAqFVC,yBArFU;AAsFVC,8BAtFU;AAuFVC,qBAvFU;AAwFVC,2BAxFU;AAyFVC,gCAzFU;AA0FVC,2BA1FU;AA2FVC,+BA3FU;AA4FVC,4BA5FU;AA6FVC,iBA7FU;AAAA,CAAZ;;AAgGA,IAAMC,uBAAuB;AAE3BC,WAF2B;AAG3BC,SAH2B;AAI3BC,cAJ2B;AAK3BC,cAL2B;AAM3BC,SAN2B;AAO3BC,kBAP2B;AAS3BC,QAT2B;AAU3BC,sBAV2B;AAW3BC,kBAX2B;AAY3BC,gBAZ2B;AAa3BC,sBAb2B;AAc3BC,kBAd2B;AAe3BC,oBAf2B;AAgB3BC,sBAhB2B;AAiB3BC,mBAjB2B;AAkB3BC,qBAlB2B;AAmB3BC,sBAnB2B;AAoB3BC,uBApB2B;AAqB3BC,sBArB2B;AAsB3BC,oBAtB2B;AAuB3BC,sBAvB2B;AAAA,CAA7B;;AA0BA,IAAMC,oBAAoB;AACxBC,iBADwB;AAExBC,sBAFwB;AAAA,CAA1B;;AAKA,IAAIC,YAAY3H,eAvVhB,QAuVA;;AAEA,kCAAkC;AAChC,MAAI4H,iBAAJ,KAAIA,CAAJ,EAA6B;AAC3BD,gBAD2B,KAC3BA;AAF8B;AAzVlC;;AA+VA,6BAA6B;AAC3B,SAD2B,SAC3B;AAhWF;;AAsWA,mBAAmB;AACjB,MAAIA,aAAa3H,eAAjB,OAAuC;AACrCrP,gCADqC,GACrCA;AAFe;AAtWnB;;AA6WA,mBAAmB;AACjB,MAAIgX,aAAa3H,eAAjB,UAA0C;AACxCrP,mCADwC,GACxCA;AAFe;AA7WnB;;AAmXA,0BAA0B;AACxB,QAAM,UADkB,GAClB,CAAN;AApXF;;AAuXA,2BAA2B;AACzB,MAAI,CAAJ,MAAW;AACT3F,gBADS,GACTA;AAFuB;AAvX3B;;AA8XA,yCAAyC;AACvC,MADuC,IACvC;;AACA,MAAI;AACF6c,WAAO,QADL,OACK,CAAPA;;AACA,QAAI,CAACA,KAAD,UAAgBA,gBAApB,QAA4C;AAC1C,aAD0C,KAC1C;AAHA;AAAJ,IAKE,UAAU;AACV,WADU,KACV;AARqC;;AAWvC,MAAMC,QAAQ,kBAXyB,IAWzB,CAAd;AACA,SAAOD,gBAAgBC,MAZgB,MAYvC;AA1YF;;AA8YA,+BAA+B;AAC7B,MAAI,CAAJ,KAAU;AACR,WADQ,KACR;AAF2B;;AAI7B,UAAQjc,IAAR;AACE,SADF,OACE;AACA,SAFF,QAEE;AACA,SAHF,MAGE;AACA,SAJF,SAIE;AACA;AACE,aANJ,IAMI;;AACF;AACE,aARJ,KAQI;AARJ;AAlZF;;AAqaA,8CAA8C;AAC5C,MAAI,CAAJ,KAAU;AACR,WADQ,IACR;AAF0C;;AAI5C,MAAI;AACF,QAAMkc,cAAcpc,UAAU,aAAVA,OAAU,CAAVA,GAAkC,QADpD,GACoD,CAAtD;;AACA,QAAIqc,iBAAJ,WAAIA,CAAJ,EAAmC;AACjC,aADiC,WACjC;AAHA;AAAJ,IAKE,WAAW,CAT+B;;AAY5C,SAZ4C,IAY5C;AAjbF;;AAobA,kCAAkC;AAChCnY,mCAAiC;AAC/BoC,SAD+B,EAC/BA,KAD+B;AAE/BC,gBAF+B;AAG/BC,kBAH+B;AAI/BC,cAJ+B;AAAA,GAAjCvC;AAMA,SAPgC,KAOhC;AA3bF;;AAicA,IAAMoY,gBAAiB,gCAAgC;AAErD,kCAAgC;AAC9B,QAAI,qBAAJ,eAAwC;AACtCjd,kBADsC,kCACtCA;AAF4B;;AAI9B,mBAJ8B,OAI9B;AACA,gBAAY,iBALkB,IAK9B;AAPmD;;AASrDid,4BAA0B,IAT2B,KAS3B,EAA1BA;AACAA,8BAVqD,aAUrDA;AAEA,SAZqD,aAYrD;AA7cF,CAicuB,EAAvB;;;;IAeA,iB;;;;;AACEld,wCAAuB;AAAA;;AAAA;;AACrB,8BADqB,GACrB;AACA,iBAFqB,IAErB;AAFqB;AADqB;;;EAA9C,a;;;;IAOA,qB;;;;;AACEA,+CAA0B;AAAA;;AAAA;;AACxB,gCADwB,GACxB;AACA,qBAFwB,OAExB;AAFwB;AADsB;;;EAAlD,a;;;;IAOA,mB;;;;;;;;;;;;EAAA,a;;;;IAEA,mB;;;;;;;;;;;;EAAA,a;;;;IAEA,2B;;;;;AACEA,oDAAyB;AAAA;;AAAA;;AACvB,gCADuB,GACvB;AACA,oBAFuB,MAEvB;AAFuB;AAD6B;;;EAAxD,a;;;;IAUA,W;;;;;;;;;;;;EAAA,a;;;;IAKA,c;;;;;;;;;;;;EAAA,a;;;AAEA,IAAMmd,uBAnfN,OAmfA;;AAKA,mCAAmC;AACjC,MAAI,eAAJ,UAA6B;AAC3B3Y,SAD2B,yDAC3BA;AACA,WAF2B,GAE3B;AAH+B;;AAKjC,SAAO4Y,kCAL0B,EAK1BA,CAAP;AA7fF;;AAggBA,8BAA8B;AAC5Bvb,SACEwb,kBAAkB,mBAAlBA,YAA+CA,iBADjDxb,WAD4B,oCAC5BA;AAIA,MAAMyb,SAASD,MALa,MAK5B;AACA,MAAME,qBANsB,IAM5B;;AACA,MAAID,SAAJ,oBAAiC;AAC/B,WAAOE,gCADwB,KACxBA,CAAP;AAR0B;;AAU5B,MAAMC,SAVsB,EAU5B;;AACA,OAAK,IAAIvZ,IAAT,GAAgBA,IAAhB,QAA4BA,KAA5B,oBAAqD;AACnD,QAAMwZ,WAAW9a,SAASsB,IAATtB,oBADkC,MAClCA,CAAjB;AACA,QAAM+a,QAAQN,kBAFqC,QAErCA,CAAd;AACAI,gBAAYD,gCAHuC,KAGvCA,CAAZC;AAd0B;;AAgB5B,SAAOA,YAhBqB,EAgBrBA,CAAP;AAhhBF;;AAmhBA,4BAA4B;AAC1B5b,SAAO,eAAPA,UAD0B,oCAC1BA;AACA,MAAMyb,SAASF,IAFW,MAE1B;AACA,MAAMC,QAAQ,eAHY,MAGZ,CAAd;;AACA,OAAK,IAAInZ,IAAT,GAAgBA,IAAhB,QAA4B,EAA5B,GAAiC;AAC/BmZ,eAAWD,oBADoB,IAC/BC;AALwB;;AAO1B,SAP0B,KAO1B;AA1hBF;;AAkiBA,8BAA8B;AAC5B,MAAIO,eAAJ,WAA8B;AAC5B,WAAOA,IADqB,MAC5B;AAF0B;;AAI5B/b,SAAO+b,mBAAP/b,WAJ4B,qCAI5BA;AACA,SAAO+b,IALqB,UAK5B;AAviBF;;AAgjBA,4BAA4B;AAC1B,MAAMN,SAASM,IADW,MAC1B;;AAEA,MAAIN,gBAAgBM,kBAApB,YAAkD;AAChD,WAAOA,IADyC,CACzCA,CAAP;AAJwB;;AAM1B,MAAIC,eANsB,CAM1B;;AACA,OAAK,IAAI3Z,IAAT,GAAgBA,IAAhB,QAA4BA,CAA5B,IAAiC;AAC/B2Z,oBAAgBC,gBAAgBF,IADD,CACCA,CAAhBE,CAAhBD;AARwB;;AAU1B,MAAIE,MAVsB,CAU1B;AACA,MAAMC,OAAO,eAXa,YAWb,CAAb;;AACA,OAAK,IAAI9Z,KAAT,GAAgBA,KAAhB,QAA4BA,EAA5B,IAAiC;AAC/B,QAAI+Z,OAAOL,IADoB,EACpBA,CAAX;;AACA,QAAI,EAAE,gBAAN,UAAI,CAAJ,EAAmC;AACjC,UAAI,gBAAJ,UAA8B;AAC5BK,eAAOzc,cADqB,IACrBA,CAAPyc;AADF,aAEO;AACLA,eAAO,eADF,IACE,CAAPA;AAJ+B;AAFJ;;AAS/B,QAAMC,aAAaD,KATY,UAS/B;AACAD,mBAV+B,GAU/BA;AACAD,WAX+B,UAW/BA;AAvBwB;;AAyB1B,SAzB0B,IAyB1B;AAzkBF;;AA4kBA,yBAAyB;AACvB,SAAOP,oBACJtW,SAAD,EAACA,GADIsW,MAEJtW,SAAD,EAACA,GAFIsW,MAGJtW,SAAD,CAACA,GAHIsW,MAILtW,QALqB,IAChBsW,CAAP;AA7kBF;;AAqlBA,yBAAyB;AACvB,SAAO1Y,iBADgB,MACvB;AAtlBF;;AA2lBA,4BAA4B;AAC1B,MAAMwC,MAAMxC,cADc,IACdA,CAAZ;;AAD0B,6CAE1B,GAF0B;AAAA;;AAAA;AAE1B,wDAAgC;AAAA;AAAA,UAArB,GAAqB;AAAA,UAAhC,KAAgC;;AAC9BwC,iBAD8B,KAC9BA;AAHwB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAK1B,SAL0B,GAK1B;AAhmBF;;AAomBA,0BAA0B;AACxB,MAAM6W,UAAU,eADQ,CACR,CAAhB;AACAA,eAFwB,CAExBA;AACA,MAAMC,SAAS,gBAAgBD,QAAhB,WAHS,CAGT,CAAf;AACA,SAAOC,cAJiB,CAIxB;AAxmBF;;AA0mBA,IAAMC,uBAAuB;AAC3B,cAAY;AACV,WAAOC,sBAAsBC,cADnB,EACHD,CAAP;AAFyB;;AAAA,CAA7B;;;AAOA,2BAA2B;AACzB,MAAI;AACF,iBADE,EACF;AACA,WAFE,IAEF;AAFF,IAGE,UAAU;AACV,WADU,KACV;AALuB;AAjnB3B;;AAynBA,IAAME,wBAAwB;AAC5B,cAAY;AACV,WAAOF,sBAAsBG,eADnB,EACHH,CAAP;AAF0B;;AAAA,CAA9B;;;AAMA,IAAMI,aAAa,mBAAIC,WAAJ,IAAIA,EAAJ,MAA2BC;AAAAA,SAC5CA,2BAhoBF,GAgoBEA,CAD4CA;AAAAA,CAA3B,CAAnB;;IAIA,I;;;;;;;WACE,+BAA6B;AAC3B,wBAAWF,WAAJ,CAAIA,CAAX,SAA2BA,WAApB,CAAoBA,CAA3B,SAA2CA,WADhB,CACgBA,CAA3C;AAFO;;;WAMT,2BAAyB;AACvB,aAAO,CACLG,QAAQC,GAARD,CAAQC,CAARD,GAAgBA,QAAQC,GADnB,CACmBA,CADnB,EAELD,QAAQC,GAARD,CAAQC,CAARD,GAAgBA,QAAQC,GAFnB,CAEmBA,CAFnB,EAGLD,QAAQC,GAARD,CAAQC,CAARD,GAAgBA,QAAQC,GAHnB,CAGmBA,CAHnB,EAILD,QAAQC,GAARD,CAAQC,CAARD,GAAgBA,QAAQC,GAJnB,CAImBA,CAJnB,EAKLD,QAAQC,GAARD,CAAQC,CAARD,GAAgBA,QAAQC,GAAxBD,CAAwBC,CAAxBD,GAAgCA,GAL3B,CAK2BA,CAL3B,EAMLA,QAAQC,GAARD,CAAQC,CAARD,GAAgBA,QAAQC,GAAxBD,CAAwBC,CAAxBD,GAAgCA,GAN3B,CAM2BA,CAN3B,CAAP;AAPO;;;WAkBT,8BAA4B;AAC1B,UAAME,KAAKC,OAAOC,EAAPD,CAAOC,CAAPD,GAAcA,OAAOC,EAArBD,CAAqBC,CAArBD,GAA4BC,EADb,CACaA,CAAvC;AACA,UAAMC,KAAKF,OAAOC,EAAPD,CAAOC,CAAPD,GAAcA,OAAOC,EAArBD,CAAqBC,CAArBD,GAA4BC,EAFb,CAEaA,CAAvC;AACA,aAAO,QAAP;AArBO;;;WAwBT,qCAAmC;AACjC,UAAME,IAAIF,OAAOA,EAAPA,CAAOA,CAAPA,GAAcA,OAAOA,EADE,CACFA,CAA/B;AACA,UAAMF,KAAM,QAAOE,EAAP,CAAOA,CAAP,GAAcD,OAAOC,EAArB,CAAqBA,CAArB,GAA4BA,OAAOA,EAAnC,CAAmCA,CAAnC,GAA0CA,OAAOA,EAAlD,CAAkDA,CAAjD,IAFqB,CAEjC;AACA,UAAMC,KAAM,EAACF,EAAD,CAACA,CAAD,GAAQC,EAAR,CAAQA,CAAR,GAAeD,OAAOC,EAAtB,CAAsBA,CAAtB,GAA6BA,OAAOA,EAApC,CAAoCA,CAApC,GAA2CA,OAAOA,EAAnD,CAAmDA,CAAlD,IAHqB,CAGjC;AACA,aAAO,QAAP;AA5BO;;;WAiCT,0CAAwC;AACtC,UAAMG,KAAKC,uBAD2B,CAC3BA,CAAX;AACA,UAAMC,KAAKD,oBAAoBE,WAApBF,CAAoBE,CAApBF,EAF2B,CAE3BA,CAAX;AACA,UAAMG,KAAK,oBAAoB,CAACD,EAAD,CAACA,CAAD,EAAOA,EAAP,CAAOA,CAAP,CAApB,EAH2B,CAG3B,CAAX;AACA,UAAME,KAAK,oBAAoB,CAACF,EAAD,CAACA,CAAD,EAAOA,EAAP,CAAOA,CAAP,CAApB,EAJ2B,CAI3B,CAAX;AACA,aAAO,CACL3c,SAASwc,GAATxc,CAASwc,CAATxc,EAAgB0c,GAAhB1c,CAAgB0c,CAAhB1c,EAAuB4c,GAAvB5c,CAAuB4c,CAAvB5c,EAA8B6c,GADzB,CACyBA,CAA9B7c,CADK,EAELA,SAASwc,GAATxc,CAASwc,CAATxc,EAAgB0c,GAAhB1c,CAAgB0c,CAAhB1c,EAAuB4c,GAAvB5c,CAAuB4c,CAAvB5c,EAA8B6c,GAFzB,CAEyBA,CAA9B7c,CAFK,EAGLA,SAASwc,GAATxc,CAASwc,CAATxc,EAAgB0c,GAAhB1c,CAAgB0c,CAAhB1c,EAAuB4c,GAAvB5c,CAAuB4c,CAAvB5c,EAA8B6c,GAHzB,CAGyBA,CAA9B7c,CAHK,EAILA,SAASwc,GAATxc,CAASwc,CAATxc,EAAgB0c,GAAhB1c,CAAgB0c,CAAhB1c,EAAuB4c,GAAvB5c,CAAuB4c,CAAvB5c,EAA8B6c,GAJzB,CAIyBA,CAA9B7c,CAJK,CAAP;AAtCO;;;WA8CT,6BAA2B;AACzB,UAAMuc,IAAIF,OAAOA,EAAPA,CAAOA,CAAPA,GAAcA,OAAOA,EADN,CACMA,CAA/B;AACA,aAAO,CACLA,OADK,GAEL,CAACA,EAAD,CAACA,CAAD,GAFK,GAGL,CAACA,EAAD,CAACA,CAAD,GAHK,GAILA,OAJK,GAKJ,QAAOA,EAAP,CAAOA,CAAP,GAAcA,OAAOA,EAAtB,CAAsBA,CAArB,IALI,GAMJ,QAAOA,EAAP,CAAOA,CAAP,GAAcA,OAAOA,EAAtB,CAAsBA,CAArB,IANI,EAAP;AAhDO;;;WAgET,gCAA8B;AAC5B,aAAO,CACLA,OAAOS,EAAPT,CAAOS,CAAPT,GAAcA,OAAOS,EAArBT,CAAqBS,CAArBT,GAA4BA,OAAOS,EAD9B,CAC8BA,CAD9B,EAELT,OAAOS,EAAPT,CAAOS,CAAPT,GAAcA,OAAOS,EAArBT,CAAqBS,CAArBT,GAA4BA,OAAOS,EAF9B,CAE8BA,CAF9B,EAGLT,OAAOS,EAAPT,CAAOS,CAAPT,GAAcA,OAAOS,EAArBT,CAAqBS,CAArBT,GAA4BA,OAAOS,EAH9B,CAG8BA,CAH9B,CAAP;AAjEO;;;WA2ET,0CAAwC;AACtC,UAAMC,YAAY,CAACV,EAAD,CAACA,CAAD,EAAOA,EAAP,CAAOA,CAAP,EAAaA,EAAb,CAAaA,CAAb,EAAmBA,EAAnB,CAAmBA,CAAnB,CAAlB;AAGA,UAAMW,IAAIX,OAAOU,UAAPV,CAAOU,CAAPV,GAAsBA,OAAOU,UAJD,CAICA,CAAvC;AACA,UAAME,IAAIZ,OAAOU,UAAPV,CAAOU,CAAPV,GAAsBA,OAAOU,UALD,CAKCA,CAAvC;AACA,UAAMG,IAAIb,OAAOU,UAAPV,CAAOU,CAAPV,GAAsBA,OAAOU,UAND,CAMCA,CAAvC;AACA,UAAMR,IAAIF,OAAOU,UAAPV,CAAOU,CAAPV,GAAsBA,OAAOU,UAPD,CAOCA,CAAvC;AAGA,UAAMI,QAAS,KAAD,CAAC,IAVuB,CAUtC;AACA,UAAMzZ,SAAS1D,UAAW,aAAD,CAAC,EAAD,CAAC,IAAc,KAAK,QAAQkd,IAAtCld,CAAyB,CAAzBA,IAXuB,CAWtC;AACA,UAAMod,KAAKD,kBAZ2B,CAYtC;AACA,UAAME,KAAKF,kBAb2B,CAatC;AAGA,aAAO,CAACnd,UAAD,EAACA,CAAD,EAAgBA,UAAhB,EAAgBA,CAAhB,CAAP;AA3FO;;;WAkGT,6BAA2B;AACzB,UAAM2c,IAAIpc,WADe,CACfA,CAAV;;AACA,UAAIA,UAAUA,KAAd,CAAcA,CAAd,EAAuB;AACrBoc,eAAOpc,KADc,CACdA,CAAPoc;AACAA,eAAOpc,KAFc,CAEdA,CAAPoc;AAJuB;;AAMzB,UAAIpc,UAAUA,KAAd,CAAcA,CAAd,EAAuB;AACrBoc,eAAOpc,KADc,CACdA,CAAPoc;AACAA,eAAOpc,KAFc,CAEdA,CAAPoc;AARuB;;AAUzB,aAVyB,CAUzB;AA5GO;;;WAkHT,iCAA+B;AAC7B,6BAAuB;AACrB,eAAOK,IADc,CACrB;AAF2B;;AAM7B,UAAMM,WAAW,CAACC,MAAD,CAACA,CAAD,EAAWA,MAAX,CAAWA,CAAX,EAAqBC,MAArB,CAAqBA,CAArB,EAA+BA,MAA/B,CAA+BA,CAA/B,OANY,OAMZ,CAAjB;AACA,UAAMC,WAAW,CAACF,MAAD,CAACA,CAAD,EAAWA,MAAX,CAAWA,CAAX,EAAqBC,MAArB,CAAqBA,CAArB,EAA+BA,MAA/B,CAA+BA,CAA/B,OAPY,OAOZ,CAAjB;AACA,UAAMjX,SARuB,EAQ7B;AAEAgX,cAAQd,mBAVqB,KAUrBA,CAARc;AACAC,cAAQf,mBAXqB,KAWrBA,CAARe;;AAGA,UACGF,gBAAgBC,MAAhBD,CAAgBC,CAAhBD,IAA4BA,gBAAgBE,MAA7C,CAA6CA,CAA5CF,IACAA,gBAAgBE,MAAhBF,CAAgBE,CAAhBF,IAA4BA,gBAAgBC,MAF/C,CAE+CA,CAF/C,EAGE;AAEAhX,oBAAY+W,SAFZ,CAEYA,CAAZ/W;AACAA,oBAAY+W,SAHZ,CAGYA,CAAZ/W;AANF,aAOO;AACL,eADK,IACL;AAtB2B;;AA0B7B,UACGkX,gBAAgBF,MAAhBE,CAAgBF,CAAhBE,IAA4BA,gBAAgBD,MAA7C,CAA6CA,CAA5CC,IACAA,gBAAgBD,MAAhBC,CAAgBD,CAAhBC,IAA4BA,gBAAgBF,MAF/C,CAE+CA,CAF/C,EAGE;AAEAhX,oBAAYkX,SAFZ,CAEYA,CAAZlX;AACAA,oBAAYkX,SAHZ,CAGYA,CAAZlX;AANF,aAOO;AACL,eADK,IACL;AAlC2B;;AAqC7B,aArC6B,MAqC7B;AAvJO;;;;;;;AA2JX,IAAMmX,0BAA0B,wpBAAhC;;AAYA,gCAAgC;AAC9B,MAAMhD,SAASF,IAAf;AAAA,MACEK,SAF4B,EAC9B;;AAEA,MAAIL,qBAAqBA,WAAzB,QAA4C;AAE1C,SAAK,IAAIlZ,IAAT,GAAgBA,IAAhB,QAA4BA,KAA5B,GAAoC;AAClCuZ,kBACED,oBAAqBJ,qBAAD,CAACA,GAA0BA,eAAelZ,IAF9B,CAEekZ,CAA/CI,CADFC;AAHwC;AAA5C,SAOO,IAAIL,qBAAqBA,WAAzB,QAA4C;AAEjD,SAAK,IAAIlZ,MAAT,GAAgBA,MAAhB,QAA4BA,OAA5B,GAAoC;AAClCuZ,kBACED,oBAAqBJ,eAAelZ,MAAfkZ,MAAD,CAACA,GAA8BA,eAFnB,GAEmBA,CAAnDI,CADFC;AAH+C;AAA5C,SAOA;AACL,SAAK,IAAIvZ,MAAT,GAAgBA,MAAhB,QAA4B,EAA5B,KAAiC;AAC/B,UAAMqc,OAAOD,wBAAwBlD,eADN,GACMA,CAAxBkD,CAAb;AACA7C,kBAAY8C,OAAO/C,oBAAP+C,IAAO/C,CAAP+C,GAAmCnD,WAFhB,GAEgBA,CAA/CK;AAHG;AAjBuB;;AAuB9B,SAAOA,YAvBuB,EAuBvBA,CAAP;AAj0BF;;AAo0BA,2BAA2B;AAIzB,SAAO,6BAA6B+C,iBAAS;AAC3C,QAAIA,UAAJ,MAAoB;AAClB,aADkB,KAClB;AADF,WAEO,IAAIA,UAAJ,MAAoB;AACzB,aADyB,KACzB;AAJyC;;AAM3C,uBAN2C,KAM3C;AAVuB,GAIlB,CAAP;AAx0BF;;AAk1BA,sBAAsB;AACpB,SAAO,sBADa,GACb,CAAP;AAn1BF;;AAs1BA,oCAAoC;AAClC,MAAMC,MAAM,CADsB,UACtB,CAAZ;;AACA,OAAK,IAAIvc,IAAJ,GAAWD,KAAKmZ,IAArB,QAAiClZ,IAAjC,IAAyCA,CAAzC,IAA8C;AAC5C,QAAMwc,QAAOtD,eAD+B,CAC/BA,CAAb;;AACAqD,aACEjD,oBAAqBkD,SAAD,CAACA,GADvBD,IACEjD,CADFiD,EAEEjD,oBAAoBkD,QAJsB,IAI1ClD,CAFFiD;AAJgC;;AASlC,SAAOA,SAT2B,EAS3BA,CAAP;AA/1BF;;AAk2BA,iCAAiC;AAC/B,SAAO5b,mBAAmB8b,OADK,GACLA,CAAnB9b,CAAP;AAn2BF;;AAs2BA,iCAAiC;AAC/B,SAAO+b,SAASC,mBADe,GACfA,CAATD,CAAP;AAv2BF;;AA02BA,mBAAmB;AACjB,SAAO,aADU,SACjB;AA32BF;;AA82BA,kBAAkB;AAChB,SAAO,aADS,QAChB;AA/2BF;;AAk3BA,qBAAqB;AACnB,SAAO,aADY,QACnB;AAn3BF;;AAs3BA,0BAA0B;AACxB,SAAO,2BAAyBlB,MAAzB,QAAuCA,iBADtB,SACxB;AAv3BF;;AA03BA,kCAAkC;AAChC,MAAIoB,gBAAgBC,KAApB,QAAiC;AAC/B,WAD+B,KAC/B;AAF8B;;AAIhC,OAAK,IAAI7c,IAAJ,GAAWD,KAAK6c,KAArB,QAAkC5c,IAAlC,IAA0CA,CAA1C,IAA+C;AAC7C,QAAI4c,YAAYC,KAAhB,CAAgBA,CAAhB,EAAyB;AACvB,aADuB,KACvB;AAF2C;AAJf;;AAShC,SATgC,IAShC;AAn4BF;;AAs4BA,+BAAgD;AAAA,MAAnBC,IAAmB,uEAAZ,IAApC,IAAoC,EAAY;AAC9C,MAAMC,SAAS,CACbD,sBADa,QACbA,EADa,EAEZ,sBAAD,CAAC,EAAD,QAAC,GAAD,QAAC,CAAD,CAAC,EAFY,GAEZ,CAFY,EAGbA,yCAHa,GAGbA,CAHa,EAIbA,0CAJa,GAIbA,CAJa,EAKbA,4CALa,GAKbA,CALa,EAMbA,4CANa,GAMbA,CANa,CAAf;AASA,SAAOC,YAVuC,EAUvCA,CAAP;AAh5BF;;AAm6BA,mCAAmC;AACjC,MAAMC,aAAapc,cADc,IACdA,CAAnB;AACA,MAAIqc,YAF6B,KAEjC;AAEArc,+CAA6C;AAC3Csc,OAD2C,iBACrC;AACJ,aADI,SACJ;AAFyC;AAAA,GAA7Ctc;AAKAoc,uBAAqB,YAAY,2BAA2B;AAC1DA,yBAAqB,gBAAgB;AACnCC,kBADmC,IACnCA;AACAxf,cAFmC,IAEnCA;AAHwD,KAC1Duf;;AAIAA,wBAAoB,kBAAkB;AACpCC,kBADoC,IACpCA;AACAvf,aAFoC,MAEpCA;AAPwD,KAK1Dsf;AAd+B,GASZ,CAArBA;AAUA,SAnBiC,UAmBjC;AAt7BF;;AAy7BA,+BAA0E;AAAA,MAA3CG,WAA2C,uEAA1E,EAA0E;AAAA,MAAzBC,eAAyB,uEAA1E,KAA0E;;AACxE,MAAIC,uBAAuB,CAA3B,iBAA6C;AAC3C,WAAOA,oBAAoB,SAAS,CAAT,IAAS,CAAT,EAAiB;AAAEzZ,YADH;AACC,KAAjB,CAApByZ,CAAP;AAFsE;;AAKxE,MAAMC,SALkE,mEAKxE;AAGA,MAAIP,wBARoE,WAQpEA,aAAJ;;AACA,OAAK,IAAI/c,IAAJ,GAAWD,KAAK+Z,KAArB,QAAkC9Z,IAAlC,IAA0CA,KAA1C,GAAkD;AAChD,QAAMud,KAAKzD,UADqC,IAChD;AACA,QAAM0D,KAAK1D,KAAK9Z,IAAL8Z,KAFqC,IAEhD;AACA,QAAM2D,KAAK3D,KAAK9Z,IAAL8Z,KAHqC,IAGhD;AACA,QAAM4D,KAAKH,MAAX;AAAA,QACEI,KAAO,MAAD,CAAC,KAAF,CAAE,GAAiBH,MALsB,CAIhD;AAEA,QAAMI,KAAK5d,aAAe,MAAD,GAAC,KAAF,CAAE,GAAmByd,MAAlCzd,IANqC,EAMhD;AACA,QAAM6d,KAAK7d,aAAayd,KAAbzd,OAPqC,EAOhD;AACA+c,cAAUO,aAAaA,OAAbA,EAAaA,CAAbA,GAA0BA,OAA1BA,EAA0BA,CAA1BA,GAAuCA,OARD,EAQCA,CAAjDP;AAjBsE;;AAmBxE,SAnBwE,MAmBxE;AA58BF,C;;;;;;;;;ACAA;;AAkBA,IAEG,qCAAqC,CAACxgB,WAFzC,4BAGE;AAGA,MAAI,qCAAqCA,oBAAzC,MAAmE;AAEjEA,iBAAauhB,oBAFoD,CAEpDA,CAAbvhB;AALF;;AAOAA,0CAPA,IAOAA;;AAGC,4BAAyB;AACxB,QAAIA,mBAAmB,CAAvB,mBAAkC;AAAA;AADV;;AAIxBA,sBAAkB,iBAAiB;AAEjC,aAAOwhB,sCAF0B,QAE1BA,CAAP;AANsB,KAIxBxhB;AAdF,GAUC,GAAD;;AAWC,4BAAyB;AACxB,QAAIA,mBAAmB,CAAvB,mBAAkC;AAAA;AADV;;AAIxBA,sBAAkB,iBAAiB;AAEjC,aAAOwhB,sCAF0B,QAE1BA,CAAP;AANsB,KAIxBxhB;AAzBF,GAqBC,GAAD;;AAYC,qCAAkC;AACjC,QAAIqE,OAAJ,aAAwB;AAAA;AADS;;AAIjCkd,wBAJiC,EAIjCA;AArCF,GAiCC,GAAD;;AAUC,2BAAwB;AAMvB,QAAIvhB,mBAAJ,YAAmC;AAAA;AANZ;;AASvBA,yBAAqBuhB,oBATE,EASFA,CAArBvhB;AApDF,GA2CC,GAAD;;AAaC,kCAA+B;AAM9B,QAAIyhB,4BAN0B,KAM9B;;AAEA,QAAI,0BAAJ,aAA2C;AAEzC,UAAI;AAEF,2BAAmB;AACjB/c,eADiB,iBACjBA,UADiB,EACC;AAChBgd,uBADgB,KAChBA;AAFe;AAAA,SAAnB;AAKAD,oCAPE,IAOFA;AAPF,QAQE,UAAU,CAV6B;AARb;;AAsB9B,mCAA+B;AAAA;AAtBD;;AAyB9BzhB,gCACEuhB,uCADFvhB;AAjFF,GAwDC,GAAD;AAxDA,C;;;;;;;;;;;;;;;;ACDF,IAAM2hB,WACJ,kFACAC,iBADA,sBAEA,CAACA,iBAFD,MAGA,EAAE,6BAA6BA,QAA7B,QAA6CA,iBAxBjD,SAwBE,CAJF;;;;;;;ACpBAL,mBAAA,CAAQ,CAAR;AAEAtb,wCAAA,C;;;;;;ACFA,IAAI4b,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR;AACA,IAAIO,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb,CADA;AAKAM,CAAA,CAAE,EAAEC,MAAA,EAAQ,IAAV,EAAF,EAAoB,EAClB9hB,UAAA,EAAY8hB,MADM,EAApB,E;;;;;;ACLA,IAAIA,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIQ,wBAAA,GAA2BR,yBAA/B,CADA;AAEA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CAFA;AAGA,IAAIU,QAAA,GAAWV,mBAAA,CAAQ,EAAR,CAAf,CAHA;AAIA,IAAIW,SAAA,GAAYX,mBAAA,CAAQ,EAAR,CAAhB,CAJA;AAKA,IAAIY,yBAAA,GAA4BZ,mBAAA,CAAQ,EAAR,CAAhC,CALA;AAMA,IAAIa,QAAA,GAAWb,mBAAA,CAAQ,EAAR,CAAf,CANA;AAsBAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUib,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,CAC1C,IAAIC,MAAA,GAASF,OAAA,CAAQG,MAArB,CAD0C;AAAA,CAE1C,IAAIC,MAAA,GAASJ,OAAA,CAAQP,MAArB,CAF0C;AAAA,CAG1C,IAAIY,MAAA,GAASL,OAAA,CAAQM,IAArB,CAH0C;AAAA,CAI1C,IAAIC,MAAJ,EAAYJ,MAAZ,EAAoBzY,GAApB,EAAyB8Y,cAAzB,EAAyCC,cAAzC,EAAyDC,UAAzD,CAJ0C;AAAA,CAK1C,IAAIN,MAAJ,EAAY;AAAA,EACVD,MAAA,GAASV,MAAT,CADU;AAAA,EAAZ,MAEO,IAAIY,MAAJ,EAAY;AAAA,EACjBF,MAAA,GAASV,MAAA,CAAOS,MAAP,KAAkBL,SAAA,CAAUK,MAAV,EAAkB,EAAlB,CAA3B,CADiB;AAAA,EAAZ,MAEA;AAAA,EACLC,MAAA,GAAU,CAAAV,MAAA,CAAOS,MAAP,KAAkB,EAAlB,CAAD,CAAuBS,SAAhC,CADK;AAAA,EATmC;AAAA,CAY1C,IAAIR,MAAJ;AAAA,EAAY,KAAKzY,GAAL,IAAYuY,MAAZ,EAAoB;AAAA,GAC9BQ,cAAA,GAAiBR,MAAA,CAAOvY,GAAP,CAAjB,CAD8B;AAAA,GAE9B,IAAIsY,OAAA,CAAQY,WAAZ,EAAyB;AAAA,IACvBF,UAAA,GAAahB,wBAAA,CAAyBS,MAAzB,EAAiCzY,GAAjC,CAAb,CADuB;AAAA,IAEvB8Y,cAAA,GAAiBE,UAAA,IAAcA,UAAA,CAAWtc,KAA1C,CAFuB;AAAA,IAAzB;AAAA,IAGOoc,cAAA,GAAiBL,MAAA,CAAOzY,GAAP,CAAjB,CALuB;AAAA,GAM9B6Y,MAAA,GAASR,QAAA,CAASK,MAAA,GAAS1Y,GAAT,GAAewY,MAAA,GAAU,CAAAG,MAAA,GAAS,GAAT,GAAe,GAAf,CAAV,GAAgC3Y,GAAxD,EAA6DsY,OAAA,CAAQa,MAArE,CAAT,CAN8B;AAAA,GAQ9B,IAAI,CAACN,MAAD,IAAWC,cAAA,KAAmBM,SAAlC,EAA6C;AAAA,IAC3C,IAAI,OAAOL,cAAP,KAA0B,OAAOD,cAArC;AAAA,KAAqD,SADV;AAAA,IAE3CV,yBAAA,CAA0BW,cAA1B,EAA0CD,cAA1C,EAF2C;AAAA,IARf;AAAA,GAa9B,IAAIR,OAAA,CAAQe,IAAR,IAAiBP,cAAA,IAAkBA,cAAA,CAAeO,IAAtD,EAA6D;AAAA,IAC3DpB,2BAAA,CAA4Bc,cAA5B,EAA4C,MAA5C,EAAoD,IAApD,EAD2D;AAAA,IAb/B;AAAA,GAiB9Bb,QAAA,CAASO,MAAT,EAAiBzY,GAAjB,EAAsB+Y,cAAtB,EAAsCT,OAAtC,EAjB8B;AAAA,GAZU;AAAA,CAA5C,C;;;;;;ACtBA,IAAIgB,KAAA,GAAQ,UAAUC,EAAV,EAAc;AAAA,CACxB,OAAOA,EAAA,IAAMA,EAAA,CAAGnhB,IAAH,IAAWA,IAAjB,IAAyBmhB,EAAhC,CADwB;AAAA,CAA1B;AAKArd,MAAA,CAAOmB,OAAP,GAEEic,KAAA,CAAM,OAAOrjB,UAAP,IAAqB,QAArB,IAAiCA,UAAvC,KACAqjB,KAAA,CAAM,OAAOE,MAAP,IAAiB,QAAjB,IAA6BA,MAAnC,CADA,IAGAF,KAAA,CAAM,OAAOG,IAAP,IAAe,QAAf,IAA2BA,IAAjC,CAHA,IAIAH,KAAA,CAAM,OAAOvB,MAAP,IAAiB,QAAjB,IAA6BA,MAAnC,CAJA,IAMC,YAAY;AAAA,CAAE,OAAO,IAAP,CAAF;AAAA,CAAb,EANA,IAMoCvW,QAAA,CAAS,aAAT,GARtC,C;;;;;;ACLA,IAAIkY,WAAA,GAAclC,mBAAA,CAAQ,EAAR,CAAlB;AACA,IAAImC,0BAAA,GAA6BnC,mBAAA,CAAQ,EAAR,CAAjC,CADA;AAEA,IAAIoC,wBAAA,GAA2BpC,mBAAA,CAAQ,EAAR,CAA/B,CAFA;AAGA,IAAIqC,eAAA,GAAkBrC,mBAAA,CAAQ,EAAR,CAAtB,CAHA;AAIA,IAAIsC,WAAA,GAActC,mBAAA,CAAQ,EAAR,CAAlB,CAJA;AAKA,IAAIuC,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV,CALA;AAMA,IAAIwC,cAAA,GAAiBxC,mBAAA,CAAQ,EAAR,CAArB,CANA;AASA,IAAIyC,yBAAA,GAA4B3f,MAAA,CAAO0d,wBAAvC,CATA;AAaA3a,SAAA,GAAYqc,WAAA,GAAcO,yBAAd,GAA0C,SAASjC,wBAAT,CAAkC9O,CAAlC,EAAqCgR,CAArC,EAAwC;AAAA,CAC5FhR,CAAA,GAAI2Q,eAAA,CAAgB3Q,CAAhB,CAAJ,CAD4F;AAAA,CAE5FgR,CAAA,GAAIJ,WAAA,CAAYI,CAAZ,EAAe,IAAf,CAAJ,CAF4F;AAAA,CAG5F,IAAIF,cAAJ;AAAA,EAAoB,IAAI;AAAA,GACtB,OAAOC,yBAAA,CAA0B/Q,CAA1B,EAA6BgR,CAA7B,CAAP,CADsB;AAAA,GAAJ,CAElB,OAAOC,KAAP,EAAc;AAAA,GAL4E;AAAA,CAM5F,IAAIJ,GAAA,CAAI7Q,CAAJ,EAAOgR,CAAP,CAAJ;AAAA,EAAe,OAAON,wBAAA,CAAyB,CAACD,0BAAA,CAA2BS,CAA3B,CAA6BC,IAA7B,CAAkCnR,CAAlC,EAAqCgR,CAArC,CAA1B,EAAmEhR,CAAA,CAAEgR,CAAF,CAAnE,CAAP,CAN6E;AAAA,CAA9F,C;;;;;;ACbA,IAAII,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ;AAGAtb,MAAA,CAAOmB,OAAP,GAAiB,CAACid,KAAA,CAAM,YAAY;AAAA,CAElC,OAAOhgB,MAAA,CAAOigB,cAAP,CAAsB,EAAtB,EAA0B,CAA1B,EAA6B;AAAA,EAAE3D,GAAA,EAAK,YAAY;AAAA,GAAE,OAAO,CAAP,CAAF;AAAA,GAAnB;AAAA,EAA7B,EAAiE,CAAjE,KAAuE,CAA9E,CAFkC;AAAA,CAAlB,CAAlB,C;;;;;;ACHA1a,MAAA,CAAOmB,OAAP,GAAiB,UAAUmd,IAAV,EAAgB;AAAA,CAC/B,IAAI;AAAA,EACF,OAAO,CAAC,CAACA,IAAA,EAAT,CADE;AAAA,EAAJ,CAEE,OAAOL,KAAP,EAAc;AAAA,EACd,OAAO,IAAP,CADc;AAAA,EAHe;AAAA,CAAjC,C;;;;;;;ACAa;AACb,IAAIM,qBAAA,GAAwB,GAAGC,oBAA/B,CADA;AAGA,IAAI1C,wBAAA,GAA2B1d,MAAA,CAAO0d,wBAAtC,CAHA;AAMA,IAAI2C,WAAA,GAAc3C,wBAAA,IAA4B,CAACyC,qBAAA,CAAsBJ,IAAtB,CAA2B,EAAE,GAAG,CAAL,EAA3B,EAAqC,CAArC,CAA/C,CANA;AAUAhd,SAAA,GAAYsd,WAAA,GAAc,SAASD,oBAAT,CAA8BjS,CAA9B,EAAiC;AAAA,CACzD,IAAIuQ,UAAA,GAAahB,wBAAA,CAAyB,IAAzB,EAA+BvP,CAA/B,CAAjB,CADyD;AAAA,CAEzD,OAAO,CAAC,CAACuQ,UAAF,IAAgBA,UAAA,CAAWrc,UAAlC,CAFyD;AAAA,CAA/C,GAGR8d,qBAHJ,C;;;;;;ACVAve,MAAA,CAAOmB,OAAP,GAAiB,UAAUud,MAAV,EAAkBle,KAAlB,EAAyB;AAAA,CACxC,OAAO;AAAA,EACLC,UAAA,EAAY,CAAE,CAAAie,MAAA,GAAS,CAAT,CADT;AAAA,EAELhe,YAAA,EAAc,CAAE,CAAAge,MAAA,GAAS,CAAT,CAFX;AAAA,EAGL/d,QAAA,EAAU,CAAE,CAAA+d,MAAA,GAAS,CAAT,CAHP;AAAA,EAILle,KAAA,EAAOA,KAJF;AAAA,EAAP,CADwC;AAAA,CAA1C,C;;;;;;ACCA,IAAIme,aAAA,GAAgBrD,mBAAA,CAAQ,EAAR,CAApB,CADA;AAEA,IAAIsD,sBAAA,GAAyBtD,mBAAA,CAAQ,EAAR,CAA7B,CAFA;AAIAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,OAAOsB,aAAA,CAAcC,sBAAA,CAAuBvB,EAAvB,CAAd,CAAP,CAD6B;AAAA,CAA/B,C;;;;;;ACJA,IAAIe,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ;AACA,IAAIuD,OAAA,GAAUvD,mBAAA,CAAQ,EAAR,CAAd,CADA;AAGA,IAAIwD,KAAA,GAAQ,GAAGA,KAAf,CAHA;AAMA9e,MAAA,CAAOmB,OAAP,GAAiBid,KAAA,CAAM,YAAY;AAAA,CAGjC,OAAO,CAAChgB,MAAA,CAAO,GAAP,EAAYogB,oBAAZ,CAAiC,CAAjC,CAAR,CAHiC;AAAA,CAAlB,IAIZ,UAAUnB,EAAV,EAAc;AAAA,CACjB,OAAOwB,OAAA,CAAQxB,EAAR,KAAe,QAAf,GAA0ByB,KAAA,CAAMX,IAAN,CAAWd,EAAX,EAAe,EAAf,CAA1B,GAA+Cjf,MAAA,CAAOif,EAAP,CAAtD,CADiB;AAAA,CAJF,GAMbjf,MANJ,C;;;;;;ACNA,IAAIM,QAAA,GAAW,GAAGA,QAAlB;AAEAsB,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,OAAO3e,QAAA,CAASyf,IAAT,CAAcd,EAAd,EAAkB0B,KAAlB,CAAwB,CAAxB,EAA2B,CAAC,CAA5B,CAAP,CAD6B;AAAA,CAA/B,C;;;;;;ACAA/e,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,IAAIA,EAAA,IAAMH,SAAV;AAAA,EAAqB,MAAM8B,SAAA,CAAU,0BAA0B3B,EAApC,CAAN,CADQ;AAAA,CAE7B,OAAOA,EAAP,CAF6B;AAAA,CAA/B,C;;;;;;ACFA,IAAI4B,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf;AAMAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAU+d,KAAV,EAAiBC,gBAAjB,EAAmC;AAAA,CAClD,IAAI,CAACF,QAAA,CAASC,KAAT,CAAL;AAAA,EAAsB,OAAOA,KAAP,CAD4B;AAAA,CAElD,IAAI5d,EAAJ,EAAQ8d,GAAR,CAFkD;AAAA,CAGlD,IAAID,gBAAA,IAAoB,OAAQ,CAAA7d,EAAA,GAAK4d,KAAA,CAAMxgB,QAAX,CAAR,IAAgC,UAApD,IAAkE,CAACugB,QAAA,CAASG,GAAA,GAAM9d,EAAA,CAAG6c,IAAH,CAAQe,KAAR,CAAf,CAAvE;AAAA,EAAuG,OAAOE,GAAP,CAHrD;AAAA,CAIlD,IAAI,OAAQ,CAAA9d,EAAA,GAAK4d,KAAA,CAAMG,OAAX,CAAR,IAA+B,UAA/B,IAA6C,CAACJ,QAAA,CAASG,GAAA,GAAM9d,EAAA,CAAG6c,IAAH,CAAQe,KAAR,CAAf,CAAlD;AAAA,EAAkF,OAAOE,GAAP,CAJhC;AAAA,CAKlD,IAAI,CAACD,gBAAD,IAAqB,OAAQ,CAAA7d,EAAA,GAAK4d,KAAA,CAAMxgB,QAAX,CAAR,IAAgC,UAArD,IAAmE,CAACugB,QAAA,CAASG,GAAA,GAAM9d,EAAA,CAAG6c,IAAH,CAAQe,KAAR,CAAf,CAAxE;AAAA,EAAwG,OAAOE,GAAP,CALtD;AAAA,CAMlD,MAAMJ,SAAA,CAAU,yCAAV,CAAN,CANkD;AAAA,CAApD,C;;;;;;ACNAhf,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,OAAO,OAAOA,EAAP,KAAc,QAAd,GAAyBA,EAAA,KAAO,IAAhC,GAAuC,OAAOA,EAAP,KAAc,UAA5D,CAD6B;AAAA,CAA/B,C;;;;;;ACAA,IAAIiC,QAAA,GAAWhE,mBAAA,CAAQ,EAAR,CAAf;AAEA,IAAIiE,cAAA,GAAiB,GAAGA,cAAxB,CAFA;AAIAvf,MAAA,CAAOmB,OAAP,GAAiB/C,MAAA,CAAO+B,MAAP,IAAiB,SAASA,MAAT,CAAgBkd,EAAhB,EAAoBvZ,GAApB,EAAyB;AAAA,CACzD,OAAOyb,cAAA,CAAepB,IAAf,CAAoBmB,QAAA,CAASjC,EAAT,CAApB,EAAkCvZ,GAAlC,CAAP,CADyD;AAAA,CAA3D,C;;;;;;ACJA,IAAI8a,sBAAA,GAAyBtD,mBAAA,CAAQ,EAAR,CAA7B;AAIAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUqe,QAAV,EAAoB;AAAA,CACnC,OAAOphB,MAAA,CAAOwgB,sBAAA,CAAuBY,QAAvB,CAAP,CAAP,CADmC;AAAA,CAArC,C;;;;;;ACJA,IAAIhC,WAAA,GAAclC,mBAAA,CAAQ,EAAR,CAAlB;AACA,IAAI8C,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ,CADA;AAEA,IAAIjgB,aAAA,GAAgBigB,mBAAA,CAAQ,EAAR,CAApB,CAFA;AAKAtb,MAAA,CAAOmB,OAAP,GAAiB,CAACqc,WAAD,IAAgB,CAACY,KAAA,CAAM,YAAY;AAAA,CAElD,OAAOhgB,MAAA,CAAOigB,cAAP,CAAsBhjB,aAAA,CAAc,KAAd,CAAtB,EAA4C,GAA5C,EAAiD;AAAA,EACtDqf,GAAA,EAAK,YAAY;AAAA,GAAE,OAAO,CAAP,CAAF;AAAA,GADqC;AAAA,EAAjD,EAEJxB,CAFI,IAEC,CAFR,CAFkD;AAAA,CAAlB,CAAlC,C;;;;;;ACLA,IAAI2C,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAI2D,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf,CADA;AAGA,IAAI3gB,QAAA,GAAWkhB,MAAA,CAAOlhB,QAAtB,CAHA;AAKA,IAAI8kB,MAAA,GAASR,QAAA,CAAStkB,QAAT,KAAsBskB,QAAA,CAAStkB,QAAA,CAASU,aAAlB,CAAnC,CALA;AAOA2E,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,OAAOoC,MAAA,GAAS9kB,QAAA,CAASU,aAAT,CAAuBgiB,EAAvB,CAAT,GAAsC,EAA7C,CAD6B;AAAA,CAA/B,C;;;;;;ACPA,IAAIG,WAAA,GAAclC,mBAAA,CAAQ,EAAR,CAAlB;AACA,IAAIoE,oBAAA,GAAuBpE,mBAAA,CAAQ,EAAR,CAA3B,CADA;AAEA,IAAIoC,wBAAA,GAA2BpC,mBAAA,CAAQ,EAAR,CAA/B,CAFA;AAIAtb,MAAA,CAAOmB,OAAP,GAAiBqc,WAAA,GAAc,UAAUmC,MAAV,EAAkB7b,GAAlB,EAAuBtD,KAAvB,EAA8B;AAAA,CAC3D,OAAOkf,oBAAA,CAAqBxB,CAArB,CAAuByB,MAAvB,EAA+B7b,GAA/B,EAAoC4Z,wBAAA,CAAyB,CAAzB,EAA4Bld,KAA5B,CAApC,CAAP,CAD2D;AAAA,CAA5C,GAEb,UAAUmf,MAAV,EAAkB7b,GAAlB,EAAuBtD,KAAvB,EAA8B;AAAA,CAChCmf,MAAA,CAAO7b,GAAP,IAActD,KAAd,CADgC;AAAA,CAEhC,OAAOmf,MAAP,CAFgC;AAAA,CAFlC,C;;;;;;ACJA,IAAInC,WAAA,GAAclC,mBAAA,CAAQ,EAAR,CAAlB;AACA,IAAIwC,cAAA,GAAiBxC,mBAAA,CAAQ,EAAR,CAArB,CADA;AAEA,IAAIsE,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf,CAFA;AAGA,IAAIsC,WAAA,GAActC,mBAAA,CAAQ,EAAR,CAAlB,CAHA;AAMA,IAAIuE,eAAA,GAAkBzhB,MAAA,CAAOigB,cAA7B,CANA;AAUAld,SAAA,GAAYqc,WAAA,GAAcqC,eAAd,GAAgC,SAASxB,cAAT,CAAwBrR,CAAxB,EAA2BgR,CAA3B,EAA8B8B,UAA9B,EAA0C;AAAA,CACpFF,QAAA,CAAS5S,CAAT,EADoF;AAAA,CAEpFgR,CAAA,GAAIJ,WAAA,CAAYI,CAAZ,EAAe,IAAf,CAAJ,CAFoF;AAAA,CAGpF4B,QAAA,CAASE,UAAT,EAHoF;AAAA,CAIpF,IAAIhC,cAAJ;AAAA,EAAoB,IAAI;AAAA,GACtB,OAAO+B,eAAA,CAAgB7S,CAAhB,EAAmBgR,CAAnB,EAAsB8B,UAAtB,CAAP,CADsB;AAAA,GAAJ,CAElB,OAAO7B,KAAP,EAAc;AAAA,GANoE;AAAA,CAOpF,IAAI,SAAS6B,UAAT,IAAuB,SAASA,UAApC;AAAA,EAAgD,MAAMd,SAAA,CAAU,yBAAV,CAAN,CAPoC;AAAA,CAQpF,IAAI,WAAWc,UAAf;AAAA,EAA2B9S,CAAA,CAAEgR,CAAF,IAAO8B,UAAA,CAAWtf,KAAlB,CARyD;AAAA,CASpF,OAAOwM,CAAP,CAToF;AAAA,CAAtF,C;;;;;;ACVA,IAAIiS,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,IAAI,CAAC4B,QAAA,CAAS5B,EAAT,CAAL,EAAmB;AAAA,EACjB,MAAM2B,SAAA,CAAUlI,MAAA,CAAOuG,EAAP,IAAa,mBAAvB,CAAN,CADiB;AAAA,EADU;AAAA,CAG3B,OAAOA,EAAP,CAH2B;AAAA,CAA/B,C;;;;;;ACFA,IAAIxB,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CADA;AAEA,IAAIuC,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV,CAFA;AAGA,IAAIW,SAAA,GAAYX,mBAAA,CAAQ,EAAR,CAAhB,CAHA;AAIA,IAAIyE,aAAA,GAAgBzE,mBAAA,CAAQ,EAAR,CAApB,CAJA;AAKA,IAAI0E,mBAAA,GAAsB1E,mBAAA,CAAQ,EAAR,CAA1B,CALA;AAOA,IAAI2E,gBAAA,GAAmBD,mBAAA,CAAoBtF,GAA3C,CAPA;AAQA,IAAIwF,oBAAA,GAAuBF,mBAAA,CAAoBG,OAA/C,CARA;AASA,IAAIC,QAAA,GAAWtJ,MAAA,CAAOA,MAAP,EAAegI,KAAf,CAAqB,QAArB,CAAf,CATA;AAWC,CAAA9e,MAAA,CAAOmB,OAAP,GAAiB,UAAU6L,CAAV,EAAalJ,GAAb,EAAkBtD,KAAlB,EAAyB4b,OAAzB,EAAkC;AAAA,CAClD,IAAIiE,MAAA,GAASjE,OAAA,GAAU,CAAC,CAACA,OAAA,CAAQiE,MAApB,GAA6B,KAA1C,CADkD;AAAA,CAElD,IAAIC,MAAA,GAASlE,OAAA,GAAU,CAAC,CAACA,OAAA,CAAQ3b,UAApB,GAAiC,KAA9C,CAFkD;AAAA,CAGlD,IAAIuc,WAAA,GAAcZ,OAAA,GAAU,CAAC,CAACA,OAAA,CAAQY,WAApB,GAAkC,KAApD,CAHkD;AAAA,CAIlD,IAAI9Z,KAAJ,CAJkD;AAAA,CAKlD,IAAI,OAAO1C,KAAP,IAAgB,UAApB,EAAgC;AAAA,EAC9B,IAAI,OAAOsD,GAAP,IAAc,QAAd,IAA0B,CAAC+Z,GAAA,CAAIrd,KAAJ,EAAW,MAAX,CAA/B,EAAmD;AAAA,GACjDub,2BAAA,CAA4Bvb,KAA5B,EAAmC,MAAnC,EAA2CsD,GAA3C,EADiD;AAAA,GADrB;AAAA,EAI9BZ,KAAA,GAAQgd,oBAAA,CAAqB1f,KAArB,CAAR,CAJ8B;AAAA,EAK9B,IAAI,CAAC0C,KAAA,CAAMmZ,MAAX,EAAmB;AAAA,GACjBnZ,KAAA,CAAMmZ,MAAN,GAAe+D,QAAA,CAASG,IAAT,CAAc,OAAOzc,GAAP,IAAc,QAAd,GAAyBA,GAAzB,GAA+B,EAA7C,CAAf,CADiB;AAAA,GALW;AAAA,EALkB;AAAA,CAclD,IAAIkJ,CAAA,KAAM6O,MAAV,EAAkB;AAAA,EAChB,IAAIyE,MAAJ;AAAA,GAAYtT,CAAA,CAAElJ,GAAF,IAAStD,KAAT,CAAZ;AAAA;AAAA,GACKyb,SAAA,CAAUnY,GAAV,EAAetD,KAAf,EAFW;AAAA,EAGhB,OAHgB;AAAA,EAAlB,MAIO,IAAI,CAAC6f,MAAL,EAAa;AAAA,EAClB,OAAOrT,CAAA,CAAElJ,GAAF,CAAP,CADkB;AAAA,EAAb,MAEA,IAAI,CAACkZ,WAAD,IAAgBhQ,CAAA,CAAElJ,GAAF,CAApB,EAA4B;AAAA,EACjCwc,MAAA,GAAS,IAAT,CADiC;AAAA,EApBe;AAAA,CAuBlD,IAAIA,MAAJ;AAAA,EAAYtT,CAAA,CAAElJ,GAAF,IAAStD,KAAT,CAAZ;AAAA;AAAA,EACKub,2BAAA,CAA4B/O,CAA5B,EAA+BlJ,GAA/B,EAAoCtD,KAApC,EAxB6C;AAAA,CAAnD,CAAD,CA0BG8E,QAAA,CAASyX,SA1BZ,EA0BuB,UA1BvB,EA0BmC,SAASre,QAAT,GAAoB;AAAA,CACrD,OAAO,OAAO,IAAP,IAAe,UAAf,IAA6BuhB,gBAAA,CAAiB,IAAjB,EAAuB5D,MAApD,IAA8D0D,aAAA,CAAc,IAAd,CAArE,CADqD;AAAA,CA1BvD,E;;;;;;ACXA,IAAIlE,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CADA;AAGAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAU2C,GAAV,EAAetD,KAAf,EAAsB;AAAA,CACrC,IAAI;AAAA,EACFub,2BAAA,CAA4BF,MAA5B,EAAoC/X,GAApC,EAAyCtD,KAAzC,EADE;AAAA,EAAJ,CAEE,OAAOyd,KAAP,EAAc;AAAA,EACdpC,MAAA,CAAO/X,GAAP,IAActD,KAAd,CADc;AAAA,EAHqB;AAAA,CAKnC,OAAOA,KAAP,CALmC;AAAA,CAAvC,C;;;;;;ACHA,IAAIggB,KAAA,GAAQlF,mBAAA,CAAQ,EAAR,CAAZ;AAEA,IAAImF,gBAAA,GAAmBnb,QAAA,CAAS5G,QAAhC,CAFA;AAKA,IAAI,OAAO8hB,KAAA,CAAMT,aAAb,IAA8B,UAAlC,EAA8C;AAAA,CAC5CS,KAAA,CAAMT,aAAN,GAAsB,UAAU1C,EAAV,EAAc;AAAA,EAClC,OAAOoD,gBAAA,CAAiBtC,IAAjB,CAAsBd,EAAtB,CAAP,CADkC;AAAA,EAApC,CAD4C;AAAA,CAL9C;AAWArd,MAAA,CAAOmB,OAAP,GAAiBqf,KAAA,CAAMT,aAAvB,C;;;;;;ACXA,IAAIlE,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIW,SAAA,GAAYX,mBAAA,CAAQ,EAAR,CAAhB,CADA;AAGA,IAAIoF,MAAA,GAAS,oBAAb,CAHA;AAIA,IAAIF,KAAA,GAAQ3E,MAAA,CAAO6E,MAAP,KAAkBzE,SAAA,CAAUyE,MAAV,EAAkB,EAAlB,CAA9B,CAJA;AAMA1gB,MAAA,CAAOmB,OAAP,GAAiBqf,KAAjB,C;;;;;;ACNA,IAAIG,eAAA,GAAkBrF,mBAAA,CAAQ,EAAR,CAAtB;AACA,IAAIO,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb,CADA;AAEA,IAAI2D,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf,CAFA;AAGA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CAHA;AAIA,IAAIsF,SAAA,GAAYtF,mBAAA,CAAQ,EAAR,CAAhB,CAJA;AAKA,IAAIuF,MAAA,GAASvF,mBAAA,CAAQ,EAAR,CAAb,CALA;AAMA,IAAIwF,SAAA,GAAYxF,mBAAA,CAAQ,EAAR,CAAhB,CANA;AAOA,IAAIyF,UAAA,GAAazF,mBAAA,CAAQ,EAAR,CAAjB,CAPA;AASA,IAAI0F,0BAAA,GAA6B,4BAAjC,CATA;AAUA,IAAIC,OAAA,GAAUpF,MAAA,CAAOoF,OAArB,CAVA;AAWA,IAAIC,GAAJ,EAASxG,GAAT,EAAcmD,GAAd,CAXA;AAaA,IAAIsC,OAAA,GAAU,UAAU9C,EAAV,EAAc;AAAA,CAC1B,OAAOQ,GAAA,CAAIR,EAAJ,IAAU3C,GAAA,CAAI2C,EAAJ,CAAV,GAAoB6D,GAAA,CAAI7D,EAAJ,EAAQ,EAAR,CAA3B,CAD0B;AAAA,CAA5B,CAbA;AAiBA,IAAI8D,SAAA,GAAY,UAAUC,IAAV,EAAgB;AAAA,CAC9B,OAAO,UAAU/D,EAAV,EAAc;AAAA,EACnB,IAAIna,KAAJ,CADmB;AAAA,EAEnB,IAAI,CAAC+b,QAAA,CAAS5B,EAAT,CAAD,IAAkB,CAAAna,KAAA,GAAQwX,GAAA,CAAI2C,EAAJ,CAAR,CAAD,CAAkBjc,IAAlB,KAA2BggB,IAAhD,EAAsD;AAAA,GACpD,MAAMpC,SAAA,CAAU,4BAA4BoC,IAA5B,GAAmC,WAA7C,CAAN,CADoD;AAAA,GAFnC;AAAA,EAIjB,OAAOle,KAAP,CAJiB;AAAA,EAArB,CAD8B;AAAA,CAAhC,CAjBA;AA0BA,IAAIyd,eAAA,IAAmBE,MAAA,CAAO3d,KAA9B,EAAqC;AAAA,CACnC,IAAIsd,KAAA,GAAQK,MAAA,CAAO3d,KAAP,IAAiB,CAAA2d,MAAA,CAAO3d,KAAP,GAAe,IAAI+d,OAAJ,EAAf,CAA7B,CADmC;AAAA,CAEnC,IAAII,KAAA,GAAQb,KAAA,CAAM9F,GAAlB,CAFmC;AAAA,CAGnC,IAAI4G,KAAA,GAAQd,KAAA,CAAM3C,GAAlB,CAHmC;AAAA,CAInC,IAAI0D,KAAA,GAAQf,KAAA,CAAMU,GAAlB,CAJmC;AAAA,CAKnCA,GAAA,GAAM,UAAU7D,EAAV,EAAcmE,QAAd,EAAwB;AAAA,EAC5B,IAAIF,KAAA,CAAMnD,IAAN,CAAWqC,KAAX,EAAkBnD,EAAlB,CAAJ;AAAA,GAA2B,MAAM,IAAI2B,SAAJ,CAAcgC,0BAAd,CAAN,CADC;AAAA,EAE5BQ,QAAA,CAASC,MAAT,GAAkBpE,EAAlB,CAF4B;AAAA,EAG5BkE,KAAA,CAAMpD,IAAN,CAAWqC,KAAX,EAAkBnD,EAAlB,EAAsBmE,QAAtB,EAH4B;AAAA,EAI5B,OAAOA,QAAP,CAJ4B;AAAA,EAA9B,CALmC;AAAA,CAWnC9G,GAAA,GAAM,UAAU2C,EAAV,EAAc;AAAA,EAClB,OAAOgE,KAAA,CAAMlD,IAAN,CAAWqC,KAAX,EAAkBnD,EAAlB,KAAyB,EAAhC,CADkB;AAAA,EAApB,CAXmC;AAAA,CAcnCQ,GAAA,GAAM,UAAUR,EAAV,EAAc;AAAA,EAClB,OAAOiE,KAAA,CAAMnD,IAAN,CAAWqC,KAAX,EAAkBnD,EAAlB,CAAP,CADkB;AAAA,EAApB,CAdmC;AAAA,CAArC,MAiBO;AAAA,CACL,IAAIqE,KAAA,GAAQZ,SAAA,CAAU,OAAV,CAAZ,CADK;AAAA,CAELC,UAAA,CAAWW,KAAX,IAAoB,IAApB,CAFK;AAAA,CAGLR,GAAA,GAAM,UAAU7D,EAAV,EAAcmE,QAAd,EAAwB;AAAA,EAC5B,IAAIZ,SAAA,CAAUvD,EAAV,EAAcqE,KAAd,CAAJ;AAAA,GAA0B,MAAM,IAAI1C,SAAJ,CAAcgC,0BAAd,CAAN,CADE;AAAA,EAE5BQ,QAAA,CAASC,MAAT,GAAkBpE,EAAlB,CAF4B;AAAA,EAG5BtB,2BAAA,CAA4BsB,EAA5B,EAAgCqE,KAAhC,EAAuCF,QAAvC,EAH4B;AAAA,EAI5B,OAAOA,QAAP,CAJ4B;AAAA,EAA9B,CAHK;AAAA,CASL9G,GAAA,GAAM,UAAU2C,EAAV,EAAc;AAAA,EAClB,OAAOuD,SAAA,CAAUvD,EAAV,EAAcqE,KAAd,IAAuBrE,EAAA,CAAGqE,KAAH,CAAvB,GAAmC,EAA1C,CADkB;AAAA,EAApB,CATK;AAAA,CAYL7D,GAAA,GAAM,UAAUR,EAAV,EAAc;AAAA,EAClB,OAAOuD,SAAA,CAAUvD,EAAV,EAAcqE,KAAd,CAAP,CADkB;AAAA,EAApB,CAZK;AAAA,CA3CP;AA4DA1hB,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CACf+f,GAAA,EAAKA,GADU;AAAA,CAEfxG,GAAA,EAAKA,GAFU;AAAA,CAGfmD,GAAA,EAAKA,GAHU;AAAA,CAIfsC,OAAA,EAASA,OAJM;AAAA,CAKfgB,SAAA,EAAWA,SALI;AAAA,CAAjB,C;;;;;;AC5DA,IAAItF,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIyE,aAAA,GAAgBzE,mBAAA,CAAQ,EAAR,CAApB,CADA;AAGA,IAAI2F,OAAA,GAAUpF,MAAA,CAAOoF,OAArB,CAHA;AAKAjhB,MAAA,CAAOmB,OAAP,GAAiB,OAAO8f,OAAP,KAAmB,UAAnB,IAAiC,cAAcU,IAAd,CAAmB5B,aAAA,CAAckB,OAAd,CAAnB,CAAlD,C;;;;;;ACLA,IAAIJ,MAAA,GAASvF,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIsG,GAAA,GAAMtG,mBAAA,CAAQ,EAAR,CAAV,CADA;AAGA,IAAIzX,IAAA,GAAOgd,MAAA,CAAO,MAAP,CAAX,CAHA;AAKA7gB,MAAA,CAAOmB,OAAP,GAAiB,UAAU2C,GAAV,EAAe;AAAA,CAC9B,OAAOD,IAAA,CAAKC,GAAL,KAAc,CAAAD,IAAA,CAAKC,GAAL,IAAY8d,GAAA,CAAI9d,GAAJ,CAAZ,CAArB,CAD8B;AAAA,CAAhC,C;;;;;;ACLA,IAAI+d,OAAA,GAAUvG,mBAAA,CAAQ,EAAR,CAAd;AACA,IAAIkF,KAAA,GAAQlF,mBAAA,CAAQ,EAAR,CAAZ,CADA;AAGC,CAAAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAU2C,GAAV,EAAetD,KAAf,EAAsB;AAAA,CACtC,OAAOggB,KAAA,CAAM1c,GAAN,KAAe,CAAA0c,KAAA,CAAM1c,GAAN,IAAatD,KAAA,KAAU0c,SAAV,GAAsB1c,KAAtB,GAA8B,EAA3C,CAAtB,CADsC;AAAA,CAAvC,CAAD,CAEG,UAFH,EAEe,EAFf,EAEmBshB,IAFnB,CAEwB;AAAA,CACtBC,OAAA,EAAS,QADa;AAAA,CAEtBC,IAAA,EAAMH,OAAA,GAAU,MAAV,GAAmB,QAFH;AAAA,CAGtBI,SAAA,EAAW,sCAHW;AAAA,CAFxB,E;;;;;;ACHAjiB,MAAA,CAAOmB,OAAP,GAAiB,KAAjB,C;;;;;;ACAA,IAAI+gB,EAAA,GAAK,CAAT;AACA,IAAIC,OAAA,GAAUjmB,IAAA,CAAKkmB,MAAL,EAAd,CADA;AAGApiB,MAAA,CAAOmB,OAAP,GAAiB,UAAU2C,GAAV,EAAe;AAAA,CAC9B,OAAO,YAAYgT,MAAA,CAAOhT,GAAA,KAAQoZ,SAAR,GAAoB,EAApB,GAAyBpZ,GAAhC,CAAZ,GAAmD,IAAnD,GAA2D,GAAEoe,EAAF,GAAOC,OAAP,CAAD,CAAiBzjB,QAAjB,CAA0B,EAA1B,CAAjE,CAD8B;AAAA,CAAhC,C;;;;;;ACHAsB,MAAA,CAAOmB,OAAP,GAAiB,EAAjB,C;;;;;;ACAA,IAAI0c,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV;AACA,IAAI+G,OAAA,GAAU/G,mBAAA,CAAQ,EAAR,CAAd,CADA;AAEA,IAAIgH,8BAAA,GAAiChH,mBAAA,CAAQ,EAAR,CAArC,CAFA;AAGA,IAAIoE,oBAAA,GAAuBpE,mBAAA,CAAQ,EAAR,CAA3B,CAHA;AAKAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUob,MAAV,EAAkBF,MAAlB,EAA0B;AAAA,CACzC,IAAIxY,IAAA,GAAOwe,OAAA,CAAQhG,MAAR,CAAX,CADyC;AAAA,CAEzC,IAAIgC,cAAA,GAAiBqB,oBAAA,CAAqBxB,CAA1C,CAFyC;AAAA,CAGzC,IAAIpC,wBAAA,GAA2BwG,8BAAA,CAA+BpE,CAA9D,CAHyC;AAAA,CAIzC,KAAK,IAAI1gB,CAAA,GAAI,CAAR,CAAL,CAAgBA,CAAA,GAAIqG,IAAA,CAAK+S,MAAzB,EAAiCpZ,CAAA,EAAjC,EAAsC;AAAA,EACpC,IAAIsG,GAAA,GAAMD,IAAA,CAAKrG,CAAL,CAAV,CADoC;AAAA,EAEpC,IAAI,CAACqgB,GAAA,CAAItB,MAAJ,EAAYzY,GAAZ,CAAL;AAAA,GAAuBua,cAAA,CAAe9B,MAAf,EAAuBzY,GAAvB,EAA4BgY,wBAAA,CAAyBO,MAAzB,EAAiCvY,GAAjC,CAA5B,EAFa;AAAA,EAJG;AAAA,CAA3C,C;;;;;;ACLA,IAAIye,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB;AACA,IAAIkH,yBAAA,GAA4BlH,mBAAA,CAAQ,EAAR,CAAhC,CADA;AAEA,IAAImH,2BAAA,GAA8BnH,mBAAA,CAAQ,EAAR,CAAlC,CAFA;AAGA,IAAIsE,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf,CAHA;AAMAtb,MAAA,CAAOmB,OAAP,GAAiBohB,UAAA,CAAW,SAAX,EAAsB,SAAtB,KAAoC,SAASF,OAAT,CAAiBhF,EAAjB,EAAqB;AAAA,CACxE,IAAIxZ,IAAA,GAAO2e,yBAAA,CAA0BtE,CAA1B,CAA4B0B,QAAA,CAASvC,EAAT,CAA5B,CAAX,CADwE;AAAA,CAExE,IAAIqF,qBAAA,GAAwBD,2BAAA,CAA4BvE,CAAxD,CAFwE;AAAA,CAGxE,OAAOwE,qBAAA,GAAwB7e,IAAA,CAAK8e,MAAL,CAAYD,qBAAA,CAAsBrF,EAAtB,CAAZ,CAAxB,GAAiExZ,IAAxE,CAHwE;AAAA,CAA1E,C;;;;;;ACNA,IAAI+e,IAAA,GAAOtH,mBAAA,CAAQ,EAAR,CAAX;AACA,IAAIO,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb,CADA;AAGA,IAAIuH,SAAA,GAAY,UAAUC,QAAV,EAAoB;AAAA,CAClC,OAAO,OAAOA,QAAP,IAAmB,UAAnB,GAAgCA,QAAhC,GAA2C5F,SAAlD,CADkC;AAAA,CAApC,CAHA;AAOAld,MAAA,CAAOmB,OAAP,GAAiB,UAAU4hB,SAAV,EAAqB5f,MAArB,EAA6B;AAAA,CAC5C,OAAO6f,SAAA,CAAUpM,MAAV,GAAmB,CAAnB,GAAuBiM,SAAA,CAAUD,IAAA,CAAKG,SAAL,CAAV,KAA8BF,SAAA,CAAUhH,MAAA,CAAOkH,SAAP,CAAV,CAArD,GACHH,IAAA,CAAKG,SAAL,KAAmBH,IAAA,CAAKG,SAAL,EAAgB5f,MAAhB,CAAnB,IAA8C0Y,MAAA,CAAOkH,SAAP,KAAqBlH,MAAA,CAAOkH,SAAP,EAAkB5f,MAAlB,CADvE,CAD4C;AAAA,CAA9C,C;;;;;;ACPA,IAAI0Y,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB0a,MAAjB,C;;;;;;ACFA,IAAIoH,kBAAA,GAAqB3H,mBAAA,CAAQ,EAAR,CAAzB;AACA,IAAI4H,WAAA,GAAc5H,mBAAA,CAAQ,EAAR,CAAlB,CADA;AAGA,IAAIyF,UAAA,GAAamC,WAAA,CAAYP,MAAZ,CAAmB,QAAnB,EAA6B,WAA7B,CAAjB,CAHA;AAQAxhB,SAAA,GAAY/C,MAAA,CAAO+kB,mBAAP,IAA8B,SAASA,mBAAT,CAA6BnW,CAA7B,EAAgC;AAAA,CACxE,OAAOiW,kBAAA,CAAmBjW,CAAnB,EAAsB+T,UAAtB,CAAP,CADwE;AAAA,CAA1E,C;;;;;;ACRA,IAAIlD,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV;AACA,IAAIqC,eAAA,GAAkBrC,mBAAA,CAAQ,EAAR,CAAtB,CADA;AAEA,IAAI8H,OAAA,GAAU9H,+BAAd,CAFA;AAGA,IAAIyF,UAAA,GAAazF,mBAAA,CAAQ,EAAR,CAAjB,CAHA;AAKAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUwe,MAAV,EAAkB0D,KAAlB,EAAyB;AAAA,CACxC,IAAIrW,CAAA,GAAI2Q,eAAA,CAAgBgC,MAAhB,CAAR,CADwC;AAAA,CAExC,IAAIniB,CAAA,GAAI,CAAR,CAFwC;AAAA,CAGxC,IAAIiF,MAAA,GAAS,EAAb,CAHwC;AAAA,CAIxC,IAAIqB,GAAJ,CAJwC;AAAA,CAKxC,KAAKA,GAAL,IAAYkJ,CAAZ;AAAA,EAAe,CAAC6Q,GAAA,CAAIkD,UAAJ,EAAgBjd,GAAhB,CAAD,IAAyB+Z,GAAA,CAAI7Q,CAAJ,EAAOlJ,GAAP,CAAzB,IAAwCrB,MAAA,CAAOqf,IAAP,CAAYhe,GAAZ,CAAxC,CALyB;AAAA,CAOxC,OAAOuf,KAAA,CAAMzM,MAAN,GAAepZ,CAAtB;AAAA,EAAyB,IAAIqgB,GAAA,CAAI7Q,CAAJ,EAAOlJ,GAAA,GAAMuf,KAAA,CAAM7lB,CAAA,EAAN,CAAb,CAAJ,EAA8B;AAAA,GACrD,CAAC4lB,OAAA,CAAQ3gB,MAAR,EAAgBqB,GAAhB,CAAD,IAAyBrB,MAAA,CAAOqf,IAAP,CAAYhe,GAAZ,CAAzB,CADqD;AAAA,GAPf;AAAA,CAUxC,OAAOrB,MAAP,CAVwC;AAAA,CAA1C,C;;;;;;ACLA,IAAIkb,eAAA,GAAkBrC,mBAAA,CAAQ,EAAR,CAAtB;AACA,IAAIgI,QAAA,GAAWhI,mBAAA,CAAQ,EAAR,CAAf,CADA;AAEA,IAAIiI,eAAA,GAAkBjI,mBAAA,CAAQ,EAAR,CAAtB,CAFA;AAKA,IAAIkI,YAAA,GAAe,UAAUC,WAAV,EAAuB;AAAA,CACxC,OAAO,UAAUC,KAAV,EAAiBC,EAAjB,EAAqBC,SAArB,EAAgC;AAAA,EACrC,IAAI5W,CAAA,GAAI2Q,eAAA,CAAgB+F,KAAhB,CAAR,CADqC;AAAA,EAErC,IAAI9M,MAAA,GAAS0M,QAAA,CAAStW,CAAA,CAAE4J,MAAX,CAAb,CAFqC;AAAA,EAGrC,IAAIiN,KAAA,GAAQN,eAAA,CAAgBK,SAAhB,EAA2BhN,MAA3B,CAAZ,CAHqC;AAAA,EAIrC,IAAIpW,KAAJ,CAJqC;AAAA,EAOrC,IAAIijB,WAAA,IAAeE,EAAA,IAAMA,EAAzB;AAAA,GAA6B,OAAO/M,MAAA,GAASiN,KAAhB,EAAuB;AAAA,IAClDrjB,KAAA,GAAQwM,CAAA,CAAE6W,KAAA,EAAF,CAAR,CADkD;AAAA,IAGlD,IAAIrjB,KAAA,IAASA,KAAb;AAAA,KAAoB,OAAO,IAAP,CAH8B;AAAA,IAApD;AAAA;AAAA,GAKO,OAAMoW,MAAA,GAASiN,KAAf,EAAsBA,KAAA,EAAtB,EAA+B;AAAA,IACpC,IAAK,CAAAJ,WAAA,IAAeI,KAAA,IAAS7W,CAAxB,CAAD,IAA+BA,CAAA,CAAE6W,KAAF,MAAaF,EAAhD;AAAA,KAAoD,OAAOF,WAAA,IAAeI,KAAf,IAAwB,CAA/B,CADhB;AAAA,IAZD;AAAA,EAcnC,OAAO,CAACJ,WAAD,IAAgB,CAAC,CAAxB,CAdmC;AAAA,EAAvC,CADwC;AAAA,CAA1C,CALA;AAwBAzjB,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CAGf2iB,QAAA,EAAUN,YAAA,CAAa,IAAb,CAHK;AAAA,CAMfJ,OAAA,EAASI,YAAA,CAAa,KAAb,CANM;AAAA,CAAjB,C;;;;;;ACxBA,IAAIO,SAAA,GAAYzI,mBAAA,CAAQ,EAAR,CAAhB;AAEA,IAAI0I,GAAA,GAAM9nB,IAAA,CAAK8nB,GAAf,CAFA;AAMAhkB,MAAA,CAAOmB,OAAP,GAAiB,UAAUqe,QAAV,EAAoB;AAAA,CACnC,OAAOA,QAAA,GAAW,CAAX,GAAewE,GAAA,CAAID,SAAA,CAAUvE,QAAV,CAAJ,EAAyB,gBAAzB,CAAf,GAA4D,CAAnE,CADmC;AAAA,CAArC,C;;;;;;ACNA,IAAIyE,IAAA,GAAO/nB,IAAA,CAAK+nB,IAAhB;AACA,IAAIC,KAAA,GAAQhoB,IAAA,CAAKgoB,KAAjB,CADA;AAKAlkB,MAAA,CAAOmB,OAAP,GAAiB,UAAUqe,QAAV,EAAoB;AAAA,CACnC,OAAOtb,KAAA,CAAMsb,QAAA,GAAW,CAACA,QAAlB,IAA8B,CAA9B,GAAmC,CAAAA,QAAA,GAAW,CAAX,GAAe0E,KAAf,GAAuBD,IAAvB,CAAD,CAA8BzE,QAA9B,CAAzC,CADmC;AAAA,CAArC,C;;;;;;ACLA,IAAIuE,SAAA,GAAYzI,mBAAA,CAAQ,EAAR,CAAhB;AAEA,IAAI6I,GAAA,GAAMjoB,IAAA,CAAKioB,GAAf,CAFA;AAGA,IAAIH,GAAA,GAAM9nB,IAAA,CAAK8nB,GAAf,CAHA;AAQAhkB,MAAA,CAAOmB,OAAP,GAAiB,UAAU0iB,KAAV,EAAiBjN,MAAjB,EAAyB;AAAA,CACxC,IAAIwN,OAAA,GAAUL,SAAA,CAAUF,KAAV,CAAd,CADwC;AAAA,CAExC,OAAOO,OAAA,GAAU,CAAV,GAAcD,GAAA,CAAIC,OAAA,GAAUxN,MAAd,EAAsB,CAAtB,CAAd,GAAyCoN,GAAA,CAAII,OAAJ,EAAaxN,MAAb,CAAhD,CAFwC;AAAA,CAA1C,C;;;;;;ACPA5W,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CACf,aADe;AAAA,CAEf,gBAFe;AAAA,CAGf,eAHe;AAAA,CAIf,sBAJe;AAAA,CAKf,gBALe;AAAA,CAMf,UANe;AAAA,CAOf,SAPe;AAAA,CAAjB,C;;;;;;ACAAA,SAAA,GAAY/C,MAAA,CAAOskB,qBAAnB,C;;;;;;ACDA,IAAItE,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ;AAEA,IAAI+I,WAAA,GAAc,iBAAlB,CAFA;AAIA,IAAIlI,QAAA,GAAW,UAAUmI,OAAV,EAAmBC,SAAnB,EAA8B;AAAA,CAC3C,IAAI/jB,KAAA,GAAQ8W,IAAA,CAAKkN,SAAA,CAAUF,OAAV,CAAL,CAAZ,CAD2C;AAAA,CAE3C,OAAO9jB,KAAA,IAASikB,QAAT,GAAoB,IAApB,GACHjkB,KAAA,IAASkkB,MAAT,GAAkB,KAAlB,GACA,OAAOH,SAAP,IAAoB,UAApB,GAAiCnG,KAAA,CAAMmG,SAAN,CAAjC,GACA,CAAC,CAACA,SAHN,CAF2C;AAAA,CAA7C,CAJA;AAYA,IAAIC,SAAA,GAAYrI,QAAA,CAASqI,SAAT,GAAqB,UAAUG,MAAV,EAAkB;AAAA,CACrD,OAAO7N,MAAA,CAAO6N,MAAP,EAAeC,OAAf,CAAuBP,WAAvB,EAAoC,GAApC,EAAyCQ,WAAzC,EAAP,CADqD;AAAA,CAAvD,CAZA;AAgBA,IAAIvN,IAAA,GAAO6E,QAAA,CAAS7E,IAAT,GAAgB,EAA3B,CAhBA;AAiBA,IAAIoN,MAAA,GAASvI,QAAA,CAASuI,MAAT,GAAkB,GAA/B,CAjBA;AAkBA,IAAID,QAAA,GAAWtI,QAAA,CAASsI,QAAT,GAAoB,GAAnC,CAlBA;AAoBAzkB,MAAA,CAAOmB,OAAP,GAAiBgb,QAAjB,C;;;;;;ACpBAb,mBAAA,CAAQ,EAAR;AACAA,mBAAA,CAAQ,EAAR,EADA;AAEA,IAAIsH,IAAA,GAAOtH,mBAAA,CAAQ,EAAR,CAAX,CAFA;AAIAtb,MAAA,CAAOmB,OAAP,GAAiByhB,IAAA,CAAKxkB,MAAL,CAAY0mB,WAA7B,C;;;;;;;ACJa;AACb,IAAInH,eAAA,GAAkBrC,mBAAA,CAAQ,EAAR,CAAtB,CADA;AAEA,IAAIyJ,gBAAA,GAAmBzJ,mBAAA,CAAQ,EAAR,CAAvB,CAFA;AAGA,IAAI0J,SAAA,GAAY1J,mBAAA,CAAQ,EAAR,CAAhB,CAHA;AAIA,IAAI0E,mBAAA,GAAsB1E,mBAAA,CAAQ,EAAR,CAA1B,CAJA;AAKA,IAAI2J,cAAA,GAAiB3J,mBAAA,CAAQ,EAAR,CAArB,CALA;AAOA,IAAI4J,cAAA,GAAiB,gBAArB,CAPA;AAQA,IAAIC,gBAAA,GAAmBnF,mBAAA,CAAoBkB,GAA3C,CARA;AASA,IAAIjB,gBAAA,GAAmBD,mBAAA,CAAoBmB,SAApB,CAA8B+D,cAA9B,CAAvB,CATA;AAqBAllB,MAAA,CAAOmB,OAAP,GAAiB8jB,cAAA,CAAehN,KAAf,EAAsB,OAAtB,EAA+B,UAAUmN,QAAV,EAAoBC,IAApB,EAA0B;AAAA,CACxEF,gBAAA,CAAiB,IAAjB,EAAuB;AAAA,EACrB/jB,IAAA,EAAM8jB,cADe;AAAA,EAErB3I,MAAA,EAAQoB,eAAA,CAAgByH,QAAhB,CAFa;AAAA,EAGrBvB,KAAA,EAAO,CAHc;AAAA,EAIrBwB,IAAA,EAAMA,IAJe;AAAA,EAAvB,EADwE;AAAA,CAAzD,EASd,YAAY;AAAA,CACb,IAAIniB,KAAA,GAAQ+c,gBAAA,CAAiB,IAAjB,CAAZ,CADa;AAAA,CAEb,IAAI1D,MAAA,GAASrZ,KAAA,CAAMqZ,MAAnB,CAFa;AAAA,CAGb,IAAI8I,IAAA,GAAOniB,KAAA,CAAMmiB,IAAjB,CAHa;AAAA,CAIb,IAAIxB,KAAA,GAAQ3gB,KAAA,CAAM2gB,KAAN,EAAZ,CAJa;AAAA,CAKb,IAAI,CAACtH,MAAD,IAAWsH,KAAA,IAAStH,MAAA,CAAO3F,MAA/B,EAAuC;AAAA,EACrC1T,KAAA,CAAMqZ,MAAN,GAAeW,SAAf,CADqC;AAAA,EAErC,OAAO;AAAA,GAAE1c,KAAA,EAAO0c,SAAT;AAAA,GAAoB1Z,IAAA,EAAM,IAA1B;AAAA,GAAP,CAFqC;AAAA,EAL1B;AAAA,CASb,IAAI6hB,IAAA,IAAQ,MAAZ;AAAA,EAAoB,OAAO;AAAA,GAAE7kB,KAAA,EAAOqjB,KAAT;AAAA,GAAgBrgB,IAAA,EAAM,KAAtB;AAAA,GAAP,CATP;AAAA,CAUb,IAAI6hB,IAAA,IAAQ,QAAZ;AAAA,EAAsB,OAAO;AAAA,GAAE7kB,KAAA,EAAO+b,MAAA,CAAOsH,KAAP,CAAT;AAAA,GAAwBrgB,IAAA,EAAM,KAA9B;AAAA,GAAP,CAVT;AAAA,CAWb,OAAO;AAAA,EAAEhD,KAAA,EAAO;AAAA,GAACqjB,KAAD;AAAA,GAAQtH,MAAA,CAAOsH,KAAP,CAAR;AAAA,GAAT;AAAA,EAAiCrgB,IAAA,EAAM,KAAvC;AAAA,EAAP,CAXa;AAAA,CATE,EAqBd,QArBc,CAAjB,CArBA;AA+CAwhB,SAAA,CAAUM,SAAV,GAAsBN,SAAA,CAAU/M,KAAhC,CA/CA;AAkDA8M,gBAAA,CAAiB,MAAjB,EAlDA;AAmDAA,gBAAA,CAAiB,QAAjB,EAnDA;AAoDAA,gBAAA,CAAiB,SAAjB,E;;;;;;ACpDA,IAAIQ,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB;AACA,IAAI9hB,MAAA,GAAS8hB,mBAAA,CAAQ,EAAR,CAAb,CADA;AAEA,IAAIoE,oBAAA,GAAuBpE,mBAAA,CAAQ,EAAR,CAA3B,CAFA;AAIA,IAAIkK,WAAA,GAAcD,eAAA,CAAgB,aAAhB,CAAlB,CAJA;AAKA,IAAIE,cAAA,GAAiBxN,KAAA,CAAM8E,SAA3B,CALA;AASA,IAAI0I,cAAA,CAAeD,WAAf,KAA+BtI,SAAnC,EAA8C;AAAA,CAC5CwC,oBAAA,CAAqBxB,CAArB,CAAuBuH,cAAvB,EAAuCD,WAAvC,EAAoD;AAAA,EAClD9kB,YAAA,EAAc,IADoC;AAAA,EAElDF,KAAA,EAAOhH,MAAA,CAAO,IAAP,CAF2C;AAAA,EAApD,EAD4C;AAAA,CAT9C;AAiBAwG,MAAA,CAAOmB,OAAP,GAAiB,UAAU2C,GAAV,EAAe;AAAA,CAC9B2hB,cAAA,CAAeD,WAAf,EAA4B1hB,GAA5B,IAAmC,IAAnC,CAD8B;AAAA,CAAhC,C;;;;;;ACjBA,IAAI+X,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIuF,MAAA,GAASvF,mBAAA,CAAQ,EAAR,CAAb,CADA;AAEA,IAAIuC,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV,CAFA;AAGA,IAAIsG,GAAA,GAAMtG,mBAAA,CAAQ,EAAR,CAAV,CAHA;AAIA,IAAIoK,aAAA,GAAgBpK,mBAAA,CAAQ,EAAR,CAApB,CAJA;AAKA,IAAIqK,iBAAA,GAAoBrK,mBAAA,CAAQ,EAAR,CAAxB,CALA;AAOA,IAAIsK,qBAAA,GAAwB/E,MAAA,CAAO,KAAP,CAA5B,CAPA;AAQA,IAAIgF,MAAA,GAAShK,MAAA,CAAOgK,MAApB,CARA;AASA,IAAIC,qBAAA,GAAwBH,iBAAA,GAAoBE,MAApB,GAA6BA,MAAA,IAAUA,MAAA,CAAOE,aAAjB,IAAkCnE,GAA3F,CATA;AAWA5hB,MAAA,CAAOmB,OAAP,GAAiB,UAAU7C,IAAV,EAAgB;AAAA,CAC/B,IAAI,CAACuf,GAAA,CAAI+H,qBAAJ,EAA2BtnB,IAA3B,CAAD,IAAqC,CAAE,CAAAonB,aAAA,IAAiB,OAAOE,qBAAA,CAAsBtnB,IAAtB,CAAP,IAAsC,QAAvD,CAA3C,EAA6G;AAAA,EAC3G,IAAIonB,aAAA,IAAiB7H,GAAA,CAAIgI,MAAJ,EAAYvnB,IAAZ,CAArB,EAAwC;AAAA,GACtCsnB,qBAAA,CAAsBtnB,IAAtB,IAA8BunB,MAAA,CAAOvnB,IAAP,CAA9B,CADsC;AAAA,GAAxC,MAEO;AAAA,GACLsnB,qBAAA,CAAsBtnB,IAAtB,IAA8BwnB,qBAAA,CAAsB,YAAYxnB,IAAlC,CAA9B,CADK;AAAA,GAHoG;AAAA,EAD9E;AAAA,CAO7B,OAAOsnB,qBAAA,CAAsBtnB,IAAtB,CAAP,CAP6B;AAAA,CAAjC,C;;;;;;ACVA,IAAI0nB,UAAA,GAAa1K,mBAAA,CAAQ,EAAR,CAAjB,CADA;AAEA,IAAI8C,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ,CAFA;AAKAtb,MAAA,CAAOmB,OAAP,GAAiB,CAAC,CAAC/C,MAAA,CAAOskB,qBAAT,IAAkC,CAACtE,KAAA,CAAM,YAAY;AAAA,CACpE,IAAI6H,MAAA,GAASJ,MAAA,EAAb,CADoE;AAAA,CAIpE,OAAO,CAAC/O,MAAA,CAAOmP,MAAP,CAAD,IAAmB,CAAE,CAAA7nB,MAAA,CAAO6nB,MAAP,aAA0BJ,MAA1B,CAArB,IAEL,CAACA,MAAA,CAAO1I,IAAR,IAAgB6I,UAAhB,IAA8BA,UAAA,GAAa,EAF7C,CAJoE;AAAA,CAAlB,CAApD,C;;;;;;ACLA,IAAInK,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAI4K,SAAA,GAAY5K,mBAAA,CAAQ,EAAR,CAAhB,CADA;AAGA,IAAIK,OAAA,GAAUE,MAAA,CAAOF,OAArB,CAHA;AAIA,IAAIwK,QAAA,GAAWxK,OAAA,IAAWA,OAAA,CAAQwK,QAAlC,CAJA;AAKA,IAAIC,EAAA,GAAKD,QAAA,IAAYA,QAAA,CAASC,EAA9B,CALA;AAMA,IAAItM,KAAJ,EAAWiI,OAAX,CANA;AAQA,IAAIqE,EAAJ,EAAQ;AAAA,CACNtM,KAAA,GAAQsM,EAAA,CAAGtH,KAAH,CAAS,GAAT,CAAR,CADM;AAAA,CAENiD,OAAA,GAAUjI,KAAA,CAAM,CAAN,IAAW,CAAX,GAAe,CAAf,GAAmBA,KAAA,CAAM,CAAN,IAAWA,KAAA,CAAM,CAAN,CAAxC,CAFM;AAAA,CAAR,MAGO,IAAIoM,SAAJ,EAAe;AAAA,CACpBpM,KAAA,GAAQoM,SAAA,CAAUpM,KAAV,CAAgB,aAAhB,CAAR,CADoB;AAAA,CAEpB,IAAI,CAACA,KAAD,IAAUA,KAAA,CAAM,CAAN,KAAY,EAA1B,EAA8B;AAAA,EAC5BA,KAAA,GAAQoM,SAAA,CAAUpM,KAAV,CAAgB,eAAhB,CAAR,CAD4B;AAAA,EAE5B,IAAIA,KAAJ;AAAA,GAAWiI,OAAA,GAAUjI,KAAA,CAAM,CAAN,CAAV,CAFiB;AAAA,EAFV;AAAA,CAXtB;AAmBA9Z,MAAA,CAAOmB,OAAP,GAAiB4gB,OAAA,IAAW,CAACA,OAA7B,C;;;;;;ACnBA,IAAIQ,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB;AAEAtb,MAAA,CAAOmB,OAAP,GAAiBohB,UAAA,CAAW,WAAX,EAAwB,WAAxB,KAAwC,EAAzD,C;;;;;;ACDA,IAAImD,aAAA,GAAgBpK,mBAAA,CAAQ,EAAR,CAApB,CADA;AAGAtb,MAAA,CAAOmB,OAAP,GAAiBukB,aAAA,IACZ,CAACG,MAAA,CAAO1I,IADI,IAEZ,OAAO0I,MAAA,CAAO3gB,QAAd,IAA0B,QAF/B,C;;;;;;ACHA,IAAI0a,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf;AACA,IAAI+K,gBAAA,GAAmB/K,mBAAA,CAAQ,EAAR,CAAvB,CADA;AAEA,IAAI4H,WAAA,GAAc5H,mBAAA,CAAQ,EAAR,CAAlB,CAFA;AAGA,IAAIyF,UAAA,GAAazF,mBAAA,CAAQ,EAAR,CAAjB,CAHA;AAIA,IAAIgL,IAAA,GAAOhL,mBAAA,CAAQ,EAAR,CAAX,CAJA;AAKA,IAAIiL,qBAAA,GAAwBjL,mBAAA,CAAQ,EAAR,CAA5B,CALA;AAMA,IAAIwF,SAAA,GAAYxF,mBAAA,CAAQ,EAAR,CAAhB,CANA;AAQA,IAAIkL,EAAA,GAAK,GAAT,CARA;AASA,IAAIC,EAAA,GAAK,GAAT,CATA;AAUA,IAAIC,SAAA,GAAY,WAAhB,CAVA;AAWA,IAAIC,MAAA,GAAS,QAAb,CAXA;AAYA,IAAIC,QAAA,GAAW9F,SAAA,CAAU,UAAV,CAAf,CAZA;AAcA,IAAI+F,gBAAA,GAAmB,YAAY;AAAA,CAAnC,CAdA;AAgBA,IAAIC,SAAA,GAAY,UAAUC,OAAV,EAAmB;AAAA,CACjC,OAAON,EAAA,GAAKE,MAAL,GAAcH,EAAd,GAAmBO,OAAnB,GAA6BN,EAA7B,GAAkC,GAAlC,GAAwCE,MAAxC,GAAiDH,EAAxD,CADiC;AAAA,CAAnC,CAhBA;AAqBA,IAAIQ,yBAAA,GAA4B,UAAUC,eAAV,EAA2B;AAAA,CACzDA,eAAA,CAAgBC,KAAhB,CAAsBJ,SAAA,CAAU,EAAV,CAAtB,EADyD;AAAA,CAEzDG,eAAA,CAAgBE,KAAhB,GAFyD;AAAA,CAGzD,IAAIC,IAAA,GAAOH,eAAA,CAAgBI,YAAhB,CAA6BjpB,MAAxC,CAHyD;AAAA,CAIzD6oB,eAAA,GAAkB,IAAlB,CAJyD;AAAA,CAKzD,OAAOG,IAAP,CALyD;AAAA,CAA3D,CArBA;AA8BA,IAAIE,wBAAA,GAA2B,YAAY;AAAA,CAEzC,IAAIC,MAAA,GAAShB,qBAAA,CAAsB,QAAtB,CAAb,CAFyC;AAAA,CAGzC,IAAIiB,EAAA,GAAK,SAASb,MAAT,GAAkB,GAA3B,CAHyC;AAAA,CAIzC,IAAIc,cAAJ,CAJyC;AAAA,CAKzCF,MAAA,CAAOG,KAAP,CAAaC,OAAb,GAAuB,MAAvB,CALyC;AAAA,CAMzCrB,IAAA,CAAKsB,WAAL,CAAiBL,MAAjB,EANyC;AAAA,CAQzCA,MAAA,CAAOM,GAAP,GAAa/Q,MAAA,CAAO0Q,EAAP,CAAb,CARyC;AAAA,CASzCC,cAAA,GAAiBF,MAAA,CAAOO,aAAP,CAAqBntB,QAAtC,CATyC;AAAA,CAUzC8sB,cAAA,CAAeM,IAAf,GAVyC;AAAA,CAWzCN,cAAA,CAAeP,KAAf,CAAqBJ,SAAA,CAAU,mBAAV,CAArB,EAXyC;AAAA,CAYzCW,cAAA,CAAeN,KAAf,GAZyC;AAAA,CAazC,OAAOM,cAAA,CAAenb,CAAtB,CAbyC;AAAA,CAA3C,CA9BA;AAmDA,IAAI2a,eAAJ,CAnDA;AAoDA,IAAIe,eAAA,GAAkB,YAAY;AAAA,CAChC,IAAI;AAAA,EAEFf,eAAA,GAAkBtsB,QAAA,CAASstB,MAAT,IAAmB,IAAIC,aAAJ,CAAkB,UAAlB,CAArC,CAFE;AAAA,EAAJ,CAGE,OAAOjK,KAAP,EAAc;AAAA,EAJgB;AAAA,CAKhC+J,eAAA,GAAkBf,eAAA,GAAkBD,yBAAA,CAA0BC,eAA1B,CAAlB,GAA+DK,wBAAA,EAAjF,CALgC;AAAA,CAMhC,IAAI1Q,MAAA,GAASsM,WAAA,CAAYtM,MAAzB,CANgC;AAAA,CAOhC,OAAOA,MAAA,EAAP;AAAA,EAAiB,OAAOoR,eAAA,CAAgBtB,SAAhB,EAA2BxD,WAAA,CAAYtM,MAAZ,CAA3B,CAAP,CAPe;AAAA,CAQhC,OAAOoR,eAAA,EAAP,CARgC;AAAA,CAAlC,CApDA;AA+DAjH,UAAA,CAAW6F,QAAX,IAAuB,IAAvB,CA/DA;AAmEA5mB,MAAA,CAAOmB,OAAP,GAAiB/C,MAAA,CAAO5E,MAAP,IAAiB,SAASA,MAAT,CAAgBwT,CAAhB,EAAmBmb,UAAnB,EAA+B;AAAA,CAC/D,IAAI1lB,MAAJ,CAD+D;AAAA,CAE/D,IAAIuK,CAAA,KAAM,IAAV,EAAgB;AAAA,EACd6Z,gBAAA,CAAiBH,SAAjB,IAA8B9G,QAAA,CAAS5S,CAAT,CAA9B,CADc;AAAA,EAEdvK,MAAA,GAAS,IAAIokB,gBAAJ,EAAT,CAFc;AAAA,EAGdA,gBAAA,CAAiBH,SAAjB,IAA8B,IAA9B,CAHc;AAAA,EAKdjkB,MAAA,CAAOmkB,QAAP,IAAmB5Z,CAAnB,CALc;AAAA,EAAhB;AAAA,EAMOvK,MAAA,GAASulB,eAAA,EAAT,CARwD;AAAA,CAS/D,OAAOG,UAAA,KAAejL,SAAf,GAA2Bza,MAA3B,GAAoC4jB,gBAAA,CAAiB5jB,MAAjB,EAAyB0lB,UAAzB,CAA3C,CAT+D;AAAA,CAAjE,C;;;;;;ACnEA,IAAI3K,WAAA,GAAclC,mBAAA,CAAQ,EAAR,CAAlB;AACA,IAAIoE,oBAAA,GAAuBpE,mBAAA,CAAQ,EAAR,CAA3B,CADA;AAEA,IAAIsE,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf,CAFA;AAGA,IAAI8M,UAAA,GAAa9M,mBAAA,CAAQ,EAAR,CAAjB,CAHA;AAQAtb,MAAA,CAAOmB,OAAP,GAAiBqc,WAAA,GAAcpf,MAAA,CAAOioB,gBAArB,GAAwC,SAASA,gBAAT,CAA0BrZ,CAA1B,EAA6Bmb,UAA7B,EAAyC;AAAA,CAChGvI,QAAA,CAAS5S,CAAT,EADgG;AAAA,CAEhG,IAAInJ,IAAA,GAAOukB,UAAA,CAAWD,UAAX,CAAX,CAFgG;AAAA,CAGhG,IAAIvR,MAAA,GAAS/S,IAAA,CAAK+S,MAAlB,CAHgG;AAAA,CAIhG,IAAIiN,KAAA,GAAQ,CAAZ,CAJgG;AAAA,CAKhG,IAAI/f,GAAJ,CALgG;AAAA,CAMhG,OAAO8S,MAAA,GAASiN,KAAhB;AAAA,EAAuBnE,oBAAA,CAAqBxB,CAArB,CAAuBlR,CAAvB,EAA0BlJ,GAAA,GAAMD,IAAA,CAAKggB,KAAA,EAAL,CAAhC,EAA+CsE,UAAA,CAAWrkB,GAAX,CAA/C,EANyE;AAAA,CAOhG,OAAOkJ,CAAP,CAPgG;AAAA,CAAlG,C;;;;;;ACRA,IAAIiW,kBAAA,GAAqB3H,mBAAA,CAAQ,EAAR,CAAzB;AACA,IAAI4H,WAAA,GAAc5H,mBAAA,CAAQ,EAAR,CAAlB,CADA;AAMAtb,MAAA,CAAOmB,OAAP,GAAiB/C,MAAA,CAAOyF,IAAP,IAAe,SAASA,IAAT,CAAcmJ,CAAd,EAAiB;AAAA,CAC/C,OAAOiW,kBAAA,CAAmBjW,CAAnB,EAAsBkW,WAAtB,CAAP,CAD+C;AAAA,CAAjD,C;;;;;;ACNA,IAAIX,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB;AAEAtb,MAAA,CAAOmB,OAAP,GAAiBohB,UAAA,CAAW,UAAX,EAAuB,iBAAvB,CAAjB,C;;;;;;ACFAviB,MAAA,CAAOmB,OAAP,GAAiB,EAAjB,C;;;;;;;ACAa;AACb,IAAIya,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR,CADA;AAEA,IAAI+M,yBAAA,GAA4B/M,mBAAA,CAAQ,EAAR,CAAhC,CAFA;AAGA,IAAIgN,cAAA,GAAiBhN,mBAAA,CAAQ,EAAR,CAArB,CAHA;AAIA,IAAIiN,cAAA,GAAiBjN,mBAAA,CAAQ,EAAR,CAArB,CAJA;AAKA,IAAIkN,cAAA,GAAiBlN,mBAAA,CAAQ,EAAR,CAArB,CALA;AAMA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CANA;AAOA,IAAIU,QAAA,GAAWV,mBAAA,CAAQ,EAAR,CAAf,CAPA;AAQA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CARA;AASA,IAAIuG,OAAA,GAAUvG,mBAAA,CAAQ,EAAR,CAAd,CATA;AAUA,IAAI0J,SAAA,GAAY1J,mBAAA,CAAQ,EAAR,CAAhB,CAVA;AAWA,IAAImN,aAAA,GAAgBnN,mBAAA,CAAQ,EAAR,CAApB,CAXA;AAaA,IAAI1Z,iBAAA,GAAoB6mB,aAAA,CAAc7mB,iBAAtC,CAbA;AAcA,IAAI8mB,sBAAA,GAAyBD,aAAA,CAAcC,sBAA3C,CAdA;AAeA,IAAIC,QAAA,GAAWpD,eAAA,CAAgB,UAAhB,CAAf,CAfA;AAgBA,IAAIqD,IAAA,GAAO,MAAX,CAhBA;AAiBA,IAAIC,MAAA,GAAS,QAAb,CAjBA;AAkBA,IAAIC,OAAA,GAAU,SAAd,CAlBA;AAoBA,IAAIC,UAAA,GAAa,YAAY;AAAA,CAAE,OAAO,IAAP,CAAF;AAAA,CAA7B,CApBA;AAsBA/oB,MAAA,CAAOmB,OAAP,GAAiB,UAAU6nB,QAAV,EAAoBC,IAApB,EAA0BC,mBAA1B,EAA+CnlB,IAA/C,EAAqDolB,OAArD,EAA8DC,MAA9D,EAAsEzM,MAAtE,EAA8E;AAAA,CAC7F0L,yBAAA,CAA0Ba,mBAA1B,EAA+CD,IAA/C,EAAqDllB,IAArD,EAD6F;AAAA,CAG7F,IAAIslB,kBAAA,GAAqB,UAAUC,IAAV,EAAgB;AAAA,EACvC,IAAIA,IAAA,KAASH,OAAT,IAAoBI,eAAxB;AAAA,GAAyC,OAAOA,eAAP,CADF;AAAA,EAEvC,IAAI,CAACb,sBAAD,IAA2BY,IAAA,IAAQE,iBAAvC;AAAA,GAA0D,OAAOA,iBAAA,CAAkBF,IAAlB,CAAP,CAFnB;AAAA,EAGvC,QAAQA,IAAR;AAAA,EACE,KAAKV,IAAL;AAAA,GAAW,OAAO,SAAS/kB,IAAT,GAAgB;AAAA,IAAE,OAAO,IAAIqlB,mBAAJ,CAAwB,IAAxB,EAA8BI,IAA9B,CAAP,CAAF;AAAA,IAAvB,CADb;AAAA,EAEE,KAAKT,MAAL;AAAA,GAAa,OAAO,SAAS9mB,MAAT,GAAkB;AAAA,IAAE,OAAO,IAAImnB,mBAAJ,CAAwB,IAAxB,EAA8BI,IAA9B,CAAP,CAAF;AAAA,IAAzB,CAFf;AAAA,EAGE,KAAKR,OAAL;AAAA,GAAc,OAAO,SAASW,OAAT,GAAmB;AAAA,IAAE,OAAO,IAAIP,mBAAJ,CAAwB,IAAxB,EAA8BI,IAA9B,CAAP,CAAF;AAAA,IAA1B,CAHhB;AAAA,GAHuC;AAAA,EAOrC,OAAO,YAAY;AAAA,GAAE,OAAO,IAAIJ,mBAAJ,CAAwB,IAAxB,CAAP,CAAF;AAAA,GAAnB,CAPqC;AAAA,EAAzC,CAH6F;AAAA,CAa7F,IAAIQ,aAAA,GAAgBT,IAAA,GAAO,WAA3B,CAb6F;AAAA,CAc7F,IAAIU,qBAAA,GAAwB,KAA5B,CAd6F;AAAA,CAe7F,IAAIH,iBAAA,GAAoBR,QAAA,CAASjM,SAAjC,CAf6F;AAAA,CAgB7F,IAAI6M,cAAA,GAAiBJ,iBAAA,CAAkBb,QAAlB,KAChBa,iBAAA,CAAkB,YAAlB,CADgB,IAEhBL,OAAA,IAAWK,iBAAA,CAAkBL,OAAlB,CAFhB,CAhB6F;AAAA,CAmB7F,IAAII,eAAA,GAAkB,CAACb,sBAAD,IAA2BkB,cAA3B,IAA6CP,kBAAA,CAAmBF,OAAnB,CAAnE,CAnB6F;AAAA,CAoB7F,IAAIU,iBAAA,GAAoBZ,IAAA,IAAQ,OAAR,GAAkBO,iBAAA,CAAkBC,OAAlB,IAA6BG,cAA/C,GAAgEA,cAAxF,CApB6F;AAAA,CAqB7F,IAAIE,wBAAJ,EAA8BC,OAA9B,EAAuCC,GAAvC,CArB6F;AAAA,CAwB7F,IAAIH,iBAAJ,EAAuB;AAAA,EACrBC,wBAAA,GAA2BxB,cAAA,CAAeuB,iBAAA,CAAkB1L,IAAlB,CAAuB,IAAI6K,QAAJ,EAAvB,CAAf,CAA3B,CADqB;AAAA,EAErB,IAAIpnB,iBAAA,KAAsBxD,MAAA,CAAO2e,SAA7B,IAA0C+M,wBAAA,CAAyB/lB,IAAvE,EAA6E;AAAA,GAC3E,IAAI,CAAC8d,OAAD,IAAYyG,cAAA,CAAewB,wBAAf,MAA6CloB,iBAA7D,EAAgF;AAAA,IAC9E,IAAI2mB,cAAJ,EAAoB;AAAA,KAClBA,cAAA,CAAeuB,wBAAf,EAAyCloB,iBAAzC,EADkB;AAAA,KAApB,MAEO,IAAI,OAAOkoB,wBAAA,CAAyBnB,QAAzB,CAAP,IAA6C,UAAjD,EAA6D;AAAA,KAClE5M,2BAAA,CAA4B+N,wBAA5B,EAAsDnB,QAAtD,EAAgEI,UAAhE,EADkE;AAAA,KAHU;AAAA,IADL;AAAA,GAS3EP,cAAA,CAAesB,wBAAf,EAAyCJ,aAAzC,EAAwD,IAAxD,EAA8D,IAA9D,EAT2E;AAAA,GAU3E,IAAI7H,OAAJ;AAAA,IAAamD,SAAA,CAAU0E,aAAV,IAA2BX,UAA3B,CAV8D;AAAA,GAFxD;AAAA,EAxBsE;AAAA,CAyC7F,IAAII,OAAA,IAAWN,MAAX,IAAqBe,cAArB,IAAuCA,cAAA,CAAetrB,IAAf,KAAwBuqB,MAAnE,EAA2E;AAAA,EACzEc,qBAAA,GAAwB,IAAxB,CADyE;AAAA,EAEzEJ,eAAA,GAAkB,SAASxnB,MAAT,GAAkB;AAAA,GAAE,OAAO6nB,cAAA,CAAezL,IAAf,CAAoB,IAApB,CAAP,CAAF;AAAA,GAApC,CAFyE;AAAA,EAzCkB;AAAA,CA+C7F,IAAK,EAAC0D,OAAD,IAAYlF,MAAZ,CAAD,IAAwB6M,iBAAA,CAAkBb,QAAlB,MAAgCY,eAA5D,EAA6E;AAAA,EAC3ExN,2BAAA,CAA4ByN,iBAA5B,EAA+Cb,QAA/C,EAAyDY,eAAzD,EAD2E;AAAA,EA/CgB;AAAA,CAkD7FvE,SAAA,CAAUiE,IAAV,IAAkBM,eAAlB,CAlD6F;AAAA,CAqD7F,IAAIJ,OAAJ,EAAa;AAAA,EACXY,OAAA,GAAU;AAAA,GACRhoB,MAAA,EAAQsnB,kBAAA,CAAmBR,MAAnB,CADA;AAAA,GAERhlB,IAAA,EAAMulB,MAAA,GAASG,eAAT,GAA2BF,kBAAA,CAAmBT,IAAnB,CAFzB;AAAA,GAGRa,OAAA,EAASJ,kBAAA,CAAmBP,OAAnB,CAHD;AAAA,GAAV,CADW;AAAA,EAMX,IAAInM,MAAJ;AAAA,GAAY,KAAKqN,GAAL,IAAYD,OAAZ,EAAqB;AAAA,IAC/B,IAAIrB,sBAAA,IAA0BiB,qBAA1B,IAAmD,CAAE,CAAAK,GAAA,IAAOR,iBAAP,CAAzD,EAAoF;AAAA,KAClFxN,QAAA,CAASwN,iBAAT,EAA4BQ,GAA5B,EAAiCD,OAAA,CAAQC,GAAR,CAAjC,EADkF;AAAA,KADrD;AAAA,IAAjC;AAAA;AAAA,GAIOpO,CAAA,CAAE;AAAA,IAAEW,MAAA,EAAQ0M,IAAV;AAAA,IAAgBgB,KAAA,EAAO,IAAvB;AAAA,IAA6BhN,MAAA,EAAQyL,sBAAA,IAA0BiB,qBAA/D;AAAA,IAAF,EAA0FI,OAA1F,EAVI;AAAA,EArDgF;AAAA,CAkE7F,OAAOA,OAAP,CAlE6F;AAAA,CAA/F,C;;;;;;;ACtBa;AACb,IAAInoB,iBAAA,GAAoB0Z,yCAAxB,CADA;AAEA,IAAI9hB,MAAA,GAAS8hB,mBAAA,CAAQ,EAAR,CAAb,CAFA;AAGA,IAAIoC,wBAAA,GAA2BpC,mBAAA,CAAQ,EAAR,CAA/B,CAHA;AAIA,IAAIkN,cAAA,GAAiBlN,mBAAA,CAAQ,EAAR,CAArB,CAJA;AAKA,IAAI0J,SAAA,GAAY1J,mBAAA,CAAQ,EAAR,CAAhB,CALA;AAOA,IAAIyN,UAAA,GAAa,YAAY;AAAA,CAAE,OAAO,IAAP,CAAF;AAAA,CAA7B,CAPA;AASA/oB,MAAA,CAAOmB,OAAP,GAAiB,UAAU+nB,mBAAV,EAA+BD,IAA/B,EAAqCllB,IAArC,EAA2C;AAAA,CAC1D,IAAI2lB,aAAA,GAAgBT,IAAA,GAAO,WAA3B,CAD0D;AAAA,CAE1DC,mBAAA,CAAoBnM,SAApB,GAAgCvjB,MAAA,CAAOoI,iBAAP,EAA0B,EAAEmC,IAAA,EAAM2Z,wBAAA,CAAyB,CAAzB,EAA4B3Z,IAA5B,CAAR,EAA1B,CAAhC,CAF0D;AAAA,CAG1DykB,cAAA,CAAeU,mBAAf,EAAoCQ,aAApC,EAAmD,KAAnD,EAA0D,IAA1D,EAH0D;AAAA,CAI1D1E,SAAA,CAAU0E,aAAV,IAA2BX,UAA3B,CAJ0D;AAAA,CAK1D,OAAOG,mBAAP,CAL0D;AAAA,CAA5D,C;;;;;;;ACTa;AACb,IAAI9K,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ,CADA;AAEA,IAAIgN,cAAA,GAAiBhN,mBAAA,CAAQ,EAAR,CAArB,CAFA;AAGA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CAHA;AAIA,IAAIuC,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV,CAJA;AAKA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CALA;AAMA,IAAIuG,OAAA,GAAUvG,mBAAA,CAAQ,EAAR,CAAd,CANA;AAQA,IAAIqN,QAAA,GAAWpD,eAAA,CAAgB,UAAhB,CAAf,CARA;AASA,IAAImD,sBAAA,GAAyB,KAA7B,CATA;AAWA,IAAIK,UAAA,GAAa,YAAY;AAAA,CAAE,OAAO,IAAP,CAAF;AAAA,CAA7B,CAXA;AAeA,IAAInnB,iBAAJ,EAAuBsoB,iCAAvB,EAA0DC,aAA1D,CAfA;AAkBA,IAAI,GAAGtmB,IAAP,EAAa;AAAA,CACXsmB,aAAA,GAAgB,GAAGtmB,IAAH,EAAhB,CADW;AAAA,CAGX,IAAI,CAAE,WAAUsmB,aAAV,CAAN;AAAA,EAAgCzB,sBAAA,GAAyB,IAAzB,CAAhC;AAAA,MACK;AAAA,EACHwB,iCAAA,GAAoC5B,cAAA,CAAeA,cAAA,CAAe6B,aAAf,CAAf,CAApC,CADG;AAAA,EAEH,IAAID,iCAAA,KAAsC9rB,MAAA,CAAO2e,SAAjD;AAAA,GAA4Dnb,iBAAA,GAAoBsoB,iCAApB,CAFzD;AAAA,EAJM;AAAA,CAlBb;AA4BA,IAAIE,sBAAA,GAAyBxoB,iBAAA,IAAqBsb,SAArB,IAAkCkB,KAAA,CAAM,YAAY;AAAA,CAC/E,IAAIuD,IAAA,GAAO,EAAX,CAD+E;AAAA,CAG/E,OAAO/f,iBAAA,CAAkB+mB,QAAlB,EAA4BxK,IAA5B,CAAiCwD,IAAjC,MAA2CA,IAAlD,CAH+E;AAAA,CAAlB,CAA/D,CA5BA;AAkCA,IAAIyI,sBAAJ;AAAA,CAA4BxoB,iBAAA,GAAoB,EAApB,CAlC5B;AAsCA,IAAK,EAACigB,OAAD,IAAYuI,sBAAZ,CAAD,IAAwC,CAACvM,GAAA,CAAIjc,iBAAJ,EAAuB+mB,QAAvB,CAA7C,EAA+E;AAAA,CAC7E5M,2BAAA,CAA4Bna,iBAA5B,EAA+C+mB,QAA/C,EAAyDI,UAAzD,EAD6E;AAAA,CAtC/E;AA0CA/oB,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CACfS,iBAAA,EAAmBA,iBADJ;AAAA,CAEf8mB,sBAAA,EAAwBA,sBAFT;AAAA,CAAjB,C;;;;;;AC1CA,IAAI7K,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV;AACA,IAAIgE,QAAA,GAAWhE,mBAAA,CAAQ,EAAR,CAAf,CADA;AAEA,IAAIwF,SAAA,GAAYxF,mBAAA,CAAQ,EAAR,CAAhB,CAFA;AAGA,IAAI+O,wBAAA,GAA2B/O,mBAAA,CAAQ,EAAR,CAA/B,CAHA;AAKA,IAAIsL,QAAA,GAAW9F,SAAA,CAAU,UAAV,CAAf,CALA;AAMA,IAAIwJ,eAAA,GAAkBlsB,MAAA,CAAO2e,SAA7B,CANA;AAWA/c,MAAA,CAAOmB,OAAP,GAAiBkpB,wBAAA,GAA2BjsB,MAAA,CAAOkqB,cAAlC,GAAmD,UAAUtb,CAAV,EAAa;AAAA,CAC/EA,CAAA,GAAIsS,QAAA,CAAStS,CAAT,CAAJ,CAD+E;AAAA,CAE/E,IAAI6Q,GAAA,CAAI7Q,CAAJ,EAAO4Z,QAAP,CAAJ;AAAA,EAAsB,OAAO5Z,CAAA,CAAE4Z,QAAF,CAAP,CAFyD;AAAA,CAG/E,IAAI,OAAO5Z,CAAA,CAAE1T,WAAT,IAAwB,UAAxB,IAAsC0T,CAAA,YAAaA,CAAA,CAAE1T,WAAzD,EAAsE;AAAA,EACpE,OAAO0T,CAAA,CAAE1T,WAAF,CAAcyjB,SAArB,CADoE;AAAA,EAHS;AAAA,CAK7E,OAAO/P,CAAA,YAAa5O,MAAb,GAAsBksB,eAAtB,GAAwC,IAA/C,CAL6E;AAAA,CAAjF,C;;;;;;ACXA,IAAIlM,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,CAACid,KAAA,CAAM,YAAY;AAAA,CAClC,SAAS9R,CAAT,GAAa;AAAA,EADqB;AAAA,CAElCA,CAAA,CAAEyQ,SAAF,CAAYzjB,WAAZ,GAA0B,IAA1B,CAFkC;AAAA,CAIlC,OAAO8E,MAAA,CAAOkqB,cAAP,CAAsB,IAAIhc,CAAJ,EAAtB,MAAmCA,CAAA,CAAEyQ,SAA5C,CAJkC;AAAA,CAAlB,CAAlB,C;;;;;;ACFA,IAAIsB,cAAA,GAAiB/C,yBAArB;AACA,IAAIuC,GAAA,GAAMvC,mBAAA,CAAQ,EAAR,CAAV,CADA;AAEA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CAFA;AAIA,IAAIoO,aAAA,GAAgBnE,eAAA,CAAgB,aAAhB,CAApB,CAJA;AAMAvlB,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAckN,GAAd,EAAmB9N,MAAnB,EAA2B;AAAA,CAC1C,IAAIY,EAAA,IAAM,CAACQ,GAAA,CAAIR,EAAA,GAAKZ,MAAA,GAASY,EAAT,GAAcA,EAAA,CAAGN,SAA1B,EAAqC2M,aAArC,CAAX,EAAgE;AAAA,EAC9DrL,cAAA,CAAehB,EAAf,EAAmBqM,aAAnB,EAAkC;AAAA,GAAEhpB,YAAA,EAAc,IAAhB;AAAA,GAAsBF,KAAA,EAAO+pB,GAA7B;AAAA,GAAlC,EAD8D;AAAA,EADtB;AAAA,CAA5C,C;;;;;;ACLA,IAAI3K,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf,CADA;AAEA,IAAIkP,kBAAA,GAAqBlP,mBAAA,CAAQ,EAAR,CAAzB,CAFA;AAQAtb,MAAA,CAAOmB,OAAP,GAAiB/C,MAAA,CAAOmqB,cAAP,IAA0B,gBAAe,EAAf,GAAoB,YAAY;AAAA,CACzE,IAAIkC,cAAA,GAAiB,KAArB,CADyE;AAAA,CAEzE,IAAI9I,IAAA,GAAO,EAAX,CAFyE;AAAA,CAGzE,IAAI+I,MAAJ,CAHyE;AAAA,CAIzE,IAAI;AAAA,EAEFA,MAAA,GAAStsB,MAAA,CAAO0d,wBAAP,CAAgC1d,MAAA,CAAO2e,SAAvC,EAAkD,WAAlD,EAA+DmE,GAAxE,CAFE;AAAA,EAGFwJ,MAAA,CAAOvM,IAAP,CAAYwD,IAAZ,EAAkB,EAAlB,EAHE;AAAA,EAIF8I,cAAA,GAAiB9I,IAAA,YAAgB1J,KAAjC,CAJE;AAAA,EAAJ,CAKE,OAAOgG,KAAP,EAAc;AAAA,EATyD;AAAA,CAUzE,OAAO,SAASsK,cAAT,CAAwBvb,CAAxB,EAA2Bid,KAA3B,EAAkC;AAAA,EACvCrK,QAAA,CAAS5S,CAAT,EADuC;AAAA,EAEvCwd,kBAAA,CAAmBP,KAAnB,EAFuC;AAAA,EAGvC,IAAIQ,cAAJ;AAAA,GAAoBC,MAAA,CAAOvM,IAAP,CAAYnR,CAAZ,EAAeid,KAAf,EAApB;AAAA;AAAA,GACKjd,CAAA,CAAE2d,SAAF,GAAcV,KAAd,CAJkC;AAAA,EAKvC,OAAOjd,CAAP,CALuC;AAAA,EAAzC,CAVyE;AAAA,CAAZ,EAApB,GAiBrCkQ,SAjBqC,CAA3C,C;;;;;;ACRA,IAAI+B,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,IAAI,CAAC4B,QAAA,CAAS5B,EAAT,CAAD,IAAiBA,EAAA,KAAO,IAA5B,EAAkC;AAAA,EAChC,MAAM2B,SAAA,CAAU,eAAelI,MAAA,CAAOuG,EAAP,CAAf,GAA4B,iBAAtC,CAAN,CADgC;AAAA,EADL;AAAA,CAG3B,OAAOA,EAAP,CAH2B;AAAA,CAA/B,C;;;;;;ACFA,IAAIzB,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR;AACA,IAAIsP,OAAA,GAAUtP,mBAAA,CAAQ,EAAR,CAAd,CADA;AAEA,IAAIuP,cAAA,GAAiBvP,mBAAA,CAAQ,EAAR,CAArB,CAFA;AAMAM,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQ,QAAV;AAAA,CAAoBG,IAAA,EAAM,IAA1B;AAAA,CAAF,EAAoC;AAAA,CAClCoI,WAAA,EAAa,SAASA,WAAT,CAAqB7gB,QAArB,EAA+B;AAAA,EAC1C,IAAIrD,GAAA,GAAM,EAAV,CAD0C;AAAA,EAE1CgqB,OAAA,CAAQ3mB,QAAR,EAAkB,UAAU6mB,CAAV,EAAa9R,CAAb,EAAgB;AAAA,GAChC6R,cAAA,CAAejqB,GAAf,EAAoBkqB,CAApB,EAAuB9R,CAAvB,EADgC;AAAA,GAAlC,EAEG,EAAE+R,UAAA,EAAY,IAAd,EAFH,EAF0C;AAAA,EAK1C,OAAOnqB,GAAP,CAL0C;AAAA,EADV;AAAA,CAApC,E;;;;;;ACNA,IAAIgf,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf;AACA,IAAI0P,qBAAA,GAAwB1P,mBAAA,CAAQ,EAAR,CAA5B,CADA;AAEA,IAAIgI,QAAA,GAAWhI,mBAAA,CAAQ,EAAR,CAAf,CAFA;AAGA,IAAI2P,IAAA,GAAO3P,mBAAA,CAAQ,EAAR,CAAX,CAHA;AAIA,IAAI4P,iBAAA,GAAoB5P,mBAAA,CAAQ,EAAR,CAAxB,CAJA;AAKA,IAAI6P,aAAA,GAAgB7P,mBAAA,CAAQ,EAAR,CAApB,CALA;AAOA,IAAI8P,MAAA,GAAS,UAAUC,OAAV,EAAmB5oB,MAAnB,EAA2B;AAAA,CACtC,KAAK4oB,OAAL,GAAeA,OAAf,CADsC;AAAA,CAEtC,KAAK5oB,MAAL,GAAcA,MAAd,CAFsC;AAAA,CAAxC,CAPA;AAYAzC,MAAA,CAAOmB,OAAP,GAAiB,UAAU8C,QAAV,EAAoBqnB,eAApB,EAAqClP,OAArC,EAA8C;AAAA,CAC7D,IAAImP,IAAA,GAAOnP,OAAA,IAAWA,OAAA,CAAQmP,IAA9B,CAD6D;AAAA,CAE7D,IAAIR,UAAA,GAAa,CAAC,CAAE,CAAA3O,OAAA,IAAWA,OAAA,CAAQ2O,UAAnB,CAApB,CAF6D;AAAA,CAG7D,IAAIS,WAAA,GAAc,CAAC,CAAE,CAAApP,OAAA,IAAWA,OAAA,CAAQoP,WAAnB,CAArB,CAH6D;AAAA,CAI7D,IAAIC,WAAA,GAAc,CAAC,CAAE,CAAArP,OAAA,IAAWA,OAAA,CAAQqP,WAAnB,CAArB,CAJ6D;AAAA,CAK7D,IAAInqB,EAAA,GAAK2pB,IAAA,CAAKK,eAAL,EAAsBC,IAAtB,EAA4B,IAAIR,UAAJ,GAAiBU,WAA7C,CAAT,CAL6D;AAAA,CAM7D,IAAIvmB,QAAJ,EAAcwmB,MAAd,EAAsB7H,KAAtB,EAA6BjN,MAA7B,EAAqCnU,MAArC,EAA6CsB,IAA7C,EAAmD4nB,IAAnD,CAN6D;AAAA,CAQ7D,IAAIvnB,IAAA,GAAO,UAAUwnB,SAAV,EAAqB;AAAA,EAC9B,IAAI1mB,QAAJ;AAAA,GAAcimB,aAAA,CAAcjmB,QAAd,EADgB;AAAA,EAE9B,OAAO,IAAIkmB,MAAJ,CAAW,IAAX,EAAiBQ,SAAjB,CAAP,CAF8B;AAAA,EAAhC,CAR6D;AAAA,CAa7D,IAAIC,MAAA,GAAS,UAAUrrB,KAAV,EAAiB;AAAA,EAC5B,IAAIuqB,UAAJ,EAAgB;AAAA,GACdnL,QAAA,CAASpf,KAAT,EADc;AAAA,GAEd,OAAOirB,WAAA,GAAcnqB,EAAA,CAAGd,KAAA,CAAM,CAAN,CAAH,EAAaA,KAAA,CAAM,CAAN,CAAb,EAAuB4D,IAAvB,CAAd,GAA6C9C,EAAA,CAAGd,KAAA,CAAM,CAAN,CAAH,EAAaA,KAAA,CAAM,CAAN,CAAb,CAApD,CAFc;AAAA,GADY;AAAA,EAI1B,OAAOirB,WAAA,GAAcnqB,EAAA,CAAGd,KAAH,EAAU4D,IAAV,CAAd,GAAgC9C,EAAA,CAAGd,KAAH,CAAvC,CAJ0B;AAAA,EAA9B,CAb6D;AAAA,CAoB7D,IAAIgrB,WAAJ,EAAiB;AAAA,EACftmB,QAAA,GAAWjB,QAAX,CADe;AAAA,EAAjB,MAEO;AAAA,EACLynB,MAAA,GAASR,iBAAA,CAAkBjnB,QAAlB,CAAT,CADK;AAAA,EAEL,IAAI,OAAOynB,MAAP,IAAiB,UAArB;AAAA,GAAiC,MAAM1M,SAAA,CAAU,wBAAV,CAAN,CAF5B;AAAA,EAIL,IAAIgM,qBAAA,CAAsBU,MAAtB,CAAJ,EAAmC;AAAA,GACjC,KAAK7H,KAAA,GAAQ,CAAR,EAAWjN,MAAA,GAAS0M,QAAA,CAASrf,QAAA,CAAS2S,MAAlB,CAAzB,EAAoDA,MAAA,GAASiN,KAA7D,EAAoEA,KAAA,EAApE,EAA6E;AAAA,IAC3EphB,MAAA,GAASopB,MAAA,CAAO5nB,QAAA,CAAS4f,KAAT,CAAP,CAAT,CAD2E;AAAA,IAE3E,IAAIphB,MAAA,IAAUA,MAAA,YAAkB2oB,MAAhC;AAAA,KAAwC,OAAO3oB,MAAP,CAFmC;AAAA,IAD5C;AAAA,GAI/B,OAAO,IAAI2oB,MAAJ,CAAW,KAAX,CAAP,CAJ+B;AAAA,GAJ9B;AAAA,EAULlmB,QAAA,GAAWwmB,MAAA,CAAOvN,IAAP,CAAYla,QAAZ,CAAX,CAVK;AAAA,EAtBsD;AAAA,CAmC7DF,IAAA,GAAOmB,QAAA,CAASnB,IAAhB,CAnC6D;AAAA,CAoC7D,OAAO,CAAE,CAAA4nB,IAAA,GAAO5nB,IAAA,CAAKoa,IAAL,CAAUjZ,QAAV,CAAP,CAAD,CAA6B1B,IAArC,EAA2C;AAAA,EACzC,IAAI;AAAA,GACFf,MAAA,GAASopB,MAAA,CAAOF,IAAA,CAAKnrB,KAAZ,CAAT,CADE;AAAA,GAAJ,CAEE,OAAOyd,KAAP,EAAc;AAAA,GACdkN,aAAA,CAAcjmB,QAAd,EADc;AAAA,GAEd,MAAM+Y,KAAN,CAFc;AAAA,GAHyB;AAAA,EAOzC,IAAI,OAAOxb,MAAP,IAAiB,QAAjB,IAA6BA,MAA7B,IAAuCA,MAAA,YAAkB2oB,MAA7D;AAAA,GAAqE,OAAO3oB,MAAP,CAP5B;AAAA,EApCkB;AAAA,CA4C3D,OAAO,IAAI2oB,MAAJ,CAAW,KAAX,CAAP,CA5C2D;AAAA,CAA/D,C;;;;;;ACZA,IAAI7F,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB;AACA,IAAI0J,SAAA,GAAY1J,mBAAA,CAAQ,EAAR,CAAhB,CADA;AAGA,IAAIqN,QAAA,GAAWpD,eAAA,CAAgB,UAAhB,CAAf,CAHA;AAIA,IAAIE,cAAA,GAAiBxN,KAAA,CAAM8E,SAA3B,CAJA;AAOA/c,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,OAAOA,EAAA,KAAOH,SAAP,IAAqB,CAAA8H,SAAA,CAAU/M,KAAV,KAAoBoF,EAApB,IAA0BoI,cAAA,CAAekD,QAAf,MAA6BtL,EAAvD,CAA5B,CAD6B;AAAA,CAA/B,C;;;;;;ACPA,IAAIwF,SAAA,GAAYvH,mBAAA,CAAQ,EAAR,CAAhB;AAGAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUG,EAAV,EAAciqB,IAAd,EAAoB3U,MAApB,EAA4B;AAAA,CAC3CiM,SAAA,CAAUvhB,EAAV,EAD2C;AAAA,CAE3C,IAAIiqB,IAAA,KAASrO,SAAb;AAAA,EAAwB,OAAO5b,EAAP,CAFmB;AAAA,CAG3C,QAAQsV,MAAR;AAAA,CACE,KAAK,CAAL;AAAA,EAAQ,OAAO,YAAY;AAAA,GACzB,OAAOtV,EAAA,CAAG6c,IAAH,CAAQoN,IAAR,CAAP,CADyB;AAAA,GAAnB,CADV;AAAA,CAIE,KAAK,CAAL;AAAA,EAAQ,OAAO,UAAUrS,CAAV,EAAa;AAAA,GAC1B,OAAO5X,EAAA,CAAG6c,IAAH,CAAQoN,IAAR,EAAcrS,CAAd,CAAP,CAD0B;AAAA,GAApB,CAJV;AAAA,CAOE,KAAK,CAAL;AAAA,EAAQ,OAAO,UAAUA,CAAV,EAAaC,CAAb,EAAgB;AAAA,GAC7B,OAAO7X,EAAA,CAAG6c,IAAH,CAAQoN,IAAR,EAAcrS,CAAd,EAAiBC,CAAjB,CAAP,CAD6B;AAAA,GAAvB,CAPV;AAAA,CAUE,KAAK,CAAL;AAAA,EAAQ,OAAO,UAAUD,CAAV,EAAaC,CAAb,EAAgBC,CAAhB,EAAmB;AAAA,GAChC,OAAO9X,EAAA,CAAG6c,IAAH,CAAQoN,IAAR,EAAcrS,CAAd,EAAiBC,CAAjB,EAAoBC,CAApB,CAAP,CADgC;AAAA,GAA1B,CAVV;AAAA,EAH2C;AAAA,CAiB3C,OAAO,YAAyB;AAAA,EAC9B,OAAO9X,EAAA,CAAGwqB,KAAH,CAASP,IAAT,EAAevI,SAAf,CAAP,CAD8B;AAAA,EAAhC,CAjB2C;AAAA,CAA7C,C;;;;;;ACHAhjB,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,IAAI,OAAOA,EAAP,IAAa,UAAjB,EAA6B;AAAA,EAC3B,MAAM2B,SAAA,CAAUlI,MAAA,CAAOuG,EAAP,IAAa,oBAAvB,CAAN,CAD2B;AAAA,EADA;AAAA,CAG3B,OAAOA,EAAP,CAH2B;AAAA,CAA/B,C;;;;;;ACAA,IAAIwB,OAAA,GAAUvD,mBAAA,CAAQ,EAAR,CAAd;AACA,IAAI0J,SAAA,GAAY1J,mBAAA,CAAQ,EAAR,CAAhB,CADA;AAEA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CAFA;AAIA,IAAIqN,QAAA,GAAWpD,eAAA,CAAgB,UAAhB,CAAf,CAJA;AAMAvlB,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAc;AAAA,CAC7B,IAAIA,EAAA,IAAMH,SAAV;AAAA,EAAqB,OAAOG,EAAA,CAAGsL,QAAH,KACvBtL,EAAA,CAAG,YAAH,CADuB,IAEvB2H,SAAA,CAAUnG,OAAA,CAAQxB,EAAR,CAAV,CAFgB,CADQ;AAAA,CAA/B,C;;;;;;ACNA,IAAI0O,qBAAA,GAAwBzQ,mBAAA,CAAQ,EAAR,CAA5B;AACA,IAAI0Q,UAAA,GAAa1Q,mBAAA,CAAQ,EAAR,CAAjB,CADA;AAEA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CAFA;AAIA,IAAIoO,aAAA,GAAgBnE,eAAA,CAAgB,aAAhB,CAApB,CAJA;AAMA,IAAI0G,iBAAA,GAAoBD,UAAA,CAAW,YAAY;AAAA,CAAE,OAAOhJ,SAAP,CAAF;AAAA,CAAZ,EAAX,KAAmD,WAA3E,CANA;AASA,IAAIkJ,MAAA,GAAS,UAAU7O,EAAV,EAAcvZ,GAAd,EAAmB;AAAA,CAC9B,IAAI;AAAA,EACF,OAAOuZ,EAAA,CAAGvZ,GAAH,CAAP,CADE;AAAA,EAAJ,CAEE,OAAOma,KAAP,EAAc;AAAA,EAHc;AAAA,CAAhC,CATA;AAgBAje,MAAA,CAAOmB,OAAP,GAAiB4qB,qBAAA,GAAwBC,UAAxB,GAAqC,UAAU3O,EAAV,EAAc;AAAA,CAClE,IAAIrQ,CAAJ,EAAOmf,GAAP,EAAY1pB,MAAZ,CADkE;AAAA,CAElE,OAAO4a,EAAA,KAAOH,SAAP,GAAmB,WAAnB,GAAiCG,EAAA,KAAO,IAAP,GAAc,MAAd,GAEpC,OAAQ,CAAA8O,GAAA,GAAMD,MAAA,CAAOlf,CAAA,GAAI5O,MAAA,CAAOif,EAAP,CAAX,EAAuBqM,aAAvB,CAAN,CAAR,IAAwD,QAAxD,GAAmEyC,GAAnE,GAEAF,iBAAA,GAAoBD,UAAA,CAAWhf,CAAX,CAApB,GAEC,CAAAvK,MAAA,GAASupB,UAAA,CAAWhf,CAAX,CAAT,CAAD,IAA4B,QAA5B,IAAwC,OAAOA,CAAA,CAAEof,MAAT,IAAmB,UAA3D,GAAwE,WAAxE,GAAsF3pB,MAN1F,CAFkE;AAAA,CAApE,C;;;;;;AChBA,IAAI8iB,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB;AAEA,IAAIoO,aAAA,GAAgBnE,eAAA,CAAgB,aAAhB,CAApB,CAFA;AAGA,IAAI5D,IAAA,GAAO,EAAX,CAHA;AAKAA,IAAA,CAAK+H,aAAL,IAAsB,GAAtB,CALA;AAOA1pB,MAAA,CAAOmB,OAAP,GAAiB2V,MAAA,CAAO6K,IAAP,MAAiB,YAAlC,C;;;;;;ACPA,IAAI/B,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAU+D,QAAV,EAAoB;AAAA,CACnC,IAAImnB,YAAA,GAAennB,QAAA,CAAS,QAAT,CAAnB,CADmC;AAAA,CAEnC,IAAImnB,YAAA,KAAiBnP,SAArB,EAAgC;AAAA,EAC9B,OAAO0C,QAAA,CAASyM,YAAA,CAAalO,IAAb,CAAkBjZ,QAAlB,CAAT,EAAsC1E,KAA7C,CAD8B;AAAA,EAFG;AAAA,CAArC,C;;;;;;;ACFa;AACb,IAAIod,WAAA,GAActC,mBAAA,CAAQ,EAAR,CAAlB,CADA;AAEA,IAAIoE,oBAAA,GAAuBpE,mBAAA,CAAQ,EAAR,CAA3B,CAFA;AAGA,IAAIoC,wBAAA,GAA2BpC,mBAAA,CAAQ,EAAR,CAA/B,CAHA;AAKAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUwe,MAAV,EAAkB7b,GAAlB,EAAuBtD,KAAvB,EAA8B;AAAA,CAC7C,IAAI8rB,WAAA,GAAc1O,WAAA,CAAY9Z,GAAZ,CAAlB,CAD6C;AAAA,CAE7C,IAAIwoB,WAAA,IAAe3M,MAAnB;AAAA,EAA2BD,oBAAA,CAAqBxB,CAArB,CAAuByB,MAAvB,EAA+B2M,WAA/B,EAA4C5O,wBAAA,CAAyB,CAAzB,EAA4Bld,KAA5B,CAA5C,EAA3B;AAAA;AAAA,EACKmf,MAAA,CAAO2M,WAAP,IAAsB9rB,KAAtB,CAHwC;AAAA,CAA/C,C;;;;;;ACLA8a,mBAAA,CAAQ,EAAR;AACAA,mBAAA,CAAQ,EAAR,EADA;AAEAA,mBAAA,CAAQ,EAAR,EAFA;AAGAA,mBAAA,CAAQ,GAAR,EAHA;AAIAA,mBAAA,CAAQ,GAAR,EAJA;AAKAA,mBAAA,CAAQ,GAAR,EALA;AAMAA,mBAAA,CAAQ,GAAR,EANA;AAOAA,mBAAA,CAAQ,GAAR,EAPA;AAQA,IAAIsH,IAAA,GAAOtH,mBAAA,CAAQ,EAAR,CAAX,CARA;AAUAtb,MAAA,CAAOmB,OAAP,GAAiByhB,IAAA,CAAK2J,OAAtB,C;;;;;;;ACVa;AACb,IAAI3Q,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR,CADA;AAEA,IAAIgN,cAAA,GAAiBhN,mBAAA,CAAQ,EAAR,CAArB,CAFA;AAGA,IAAIiN,cAAA,GAAiBjN,mBAAA,CAAQ,EAAR,CAArB,CAHA;AAIA,IAAI9hB,MAAA,GAAS8hB,mBAAA,CAAQ,EAAR,CAAb,CAJA;AAKA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CALA;AAMA,IAAIoC,wBAAA,GAA2BpC,mBAAA,CAAQ,EAAR,CAA/B,CANA;AAOA,IAAIsP,OAAA,GAAUtP,mBAAA,CAAQ,EAAR,CAAd,CAPA;AASA,IAAIkR,eAAA,GAAkB,SAASC,cAAT,CAAwBC,MAAxB,EAAgCC,OAAhC,EAAyC;AAAA,CAC7D,IAAIpB,IAAA,GAAO,IAAX,CAD6D;AAAA,CAE7D,IAAI,CAAE,CAAAA,IAAA,YAAgBiB,eAAhB,CAAN;AAAA,EAAwC,OAAO,IAAIA,eAAJ,CAAoBE,MAApB,EAA4BC,OAA5B,CAAP,CAFqB;AAAA,CAG7D,IAAIpE,cAAJ,EAAoB;AAAA,EAElBgD,IAAA,GAAOhD,cAAA,CAAe,IAAIqE,KAAJ,CAAU1P,SAAV,CAAf,EAAqCoL,cAAA,CAAeiD,IAAf,CAArC,CAAP,CAFkB;AAAA,EAHyC;AAAA,CAO7D,IAAIoB,OAAA,KAAYzP,SAAhB;AAAA,EAA2BnB,2BAAA,CAA4BwP,IAA5B,EAAkC,SAAlC,EAA6CzU,MAAA,CAAO6V,OAAP,CAA7C,EAPkC;AAAA,CAQ7D,IAAIE,WAAA,GAAc,EAAlB,CAR6D;AAAA,CAS7DjC,OAAA,CAAQ8B,MAAR,EAAgBG,WAAA,CAAY/K,IAA5B,EAAkC,EAAEyJ,IAAA,EAAMsB,WAAR,EAAlC,EAT6D;AAAA,CAU7D9Q,2BAAA,CAA4BwP,IAA5B,EAAkC,QAAlC,EAA4CsB,WAA5C,EAV6D;AAAA,CAW7D,OAAOtB,IAAP,CAX6D;AAAA,CAA/D,CATA;AAuBAiB,eAAA,CAAgBzP,SAAhB,GAA4BvjB,MAAA,CAAOozB,KAAA,CAAM7P,SAAb,EAAwB;AAAA,CAClDzjB,WAAA,EAAaokB,wBAAA,CAAyB,CAAzB,EAA4B8O,eAA5B,CADqC;AAAA,CAElDG,OAAA,EAASjP,wBAAA,CAAyB,CAAzB,EAA4B,EAA5B,CAFyC;AAAA,CAGlDpf,IAAA,EAAMof,wBAAA,CAAyB,CAAzB,EAA4B,gBAA5B,CAH4C;AAAA,CAAxB,CAA5B,CAvBA;AA+BA9B,CAAA,CAAE,EAAEC,MAAA,EAAQ,IAAV,EAAF,EAAoB,EAClB4Q,cAAA,EAAgBD,eADE,EAApB,E;;;;;;AC/BA,IAAIT,qBAAA,GAAwBzQ,mBAAA,CAAQ,EAAR,CAA5B;AACA,IAAIU,QAAA,GAAWV,mBAAA,CAAQ,EAAR,CAAf,CADA;AAEA,IAAI5c,QAAA,GAAW4c,mBAAA,CAAQ,EAAR,CAAf,CAFA;AAMA,IAAI,CAACyQ,qBAAL,EAA4B;AAAA,CAC1B/P,QAAA,CAAS5d,MAAA,CAAO2e,SAAhB,EAA2B,UAA3B,EAAuCre,QAAvC,EAAiD,EAAE2hB,MAAA,EAAQ,IAAV,EAAjD,EAD0B;AAAA,C;;;;;;;ACNf;AACb,IAAI0L,qBAAA,GAAwBzQ,mBAAA,CAAQ,EAAR,CAA5B,CADA;AAEA,IAAIuD,OAAA,GAAUvD,mBAAA,CAAQ,EAAR,CAAd,CAFA;AAMAtb,MAAA,CAAOmB,OAAP,GAAiB4qB,qBAAA,GAAwB,GAAGrtB,QAA3B,GAAsC,SAASA,QAAT,GAAoB;AAAA,CACzE,OAAO,aAAamgB,OAAA,CAAQ,IAAR,CAAb,GAA6B,GAApC,CADyE;AAAA,CAA3E,C;;;;;;;ACNa;AACb,IAAIjD,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR,CADA;AAEA,IAAIuG,OAAA,GAAUvG,mBAAA,CAAQ,EAAR,CAAd,CAFA;AAGA,IAAIO,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb,CAHA;AAIA,IAAIiH,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB,CAJA;AAKA,IAAIwR,aAAA,GAAgBxR,mBAAA,CAAQ,EAAR,CAApB,CALA;AAMA,IAAIU,QAAA,GAAWV,mBAAA,CAAQ,EAAR,CAAf,CANA;AAOA,IAAIyR,WAAA,GAAczR,mBAAA,CAAQ,EAAR,CAAlB,CAPA;AAQA,IAAIiN,cAAA,GAAiBjN,mBAAA,CAAQ,EAAR,CAArB,CARA;AASA,IAAIkN,cAAA,GAAiBlN,mBAAA,CAAQ,EAAR,CAArB,CATA;AAUA,IAAI0R,UAAA,GAAa1R,mBAAA,CAAQ,EAAR,CAAjB,CAVA;AAWA,IAAI2D,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf,CAXA;AAYA,IAAIuH,SAAA,GAAYvH,mBAAA,CAAQ,EAAR,CAAhB,CAZA;AAaA,IAAI2R,UAAA,GAAa3R,mBAAA,CAAQ,EAAR,CAAjB,CAbA;AAcA,IAAIyE,aAAA,GAAgBzE,mBAAA,CAAQ,EAAR,CAApB,CAdA;AAeA,IAAIsP,OAAA,GAAUtP,mBAAA,CAAQ,EAAR,CAAd,CAfA;AAgBA,IAAI4R,2BAAA,GAA8B5R,mBAAA,CAAQ,EAAR,CAAlC,CAhBA;AAiBA,IAAI6R,kBAAA,GAAqB7R,mBAAA,CAAQ,EAAR,CAAzB,CAjBA;AAkBA,IAAI8R,IAAA,GAAO9R,2BAAX,CAlBA;AAmBA,IAAI+R,SAAA,GAAY/R,mBAAA,CAAQ,EAAR,CAAhB,CAnBA;AAoBA,IAAIgS,cAAA,GAAiBhS,mBAAA,CAAQ,GAAR,CAArB,CApBA;AAqBA,IAAIiS,gBAAA,GAAmBjS,mBAAA,CAAQ,GAAR,CAAvB,CArBA;AAsBA,IAAIkS,0BAAA,GAA6BlS,mBAAA,CAAQ,GAAR,CAAjC,CAtBA;AAuBA,IAAImS,OAAA,GAAUnS,mBAAA,CAAQ,GAAR,CAAd,CAvBA;AAwBA,IAAI0E,mBAAA,GAAsB1E,mBAAA,CAAQ,EAAR,CAA1B,CAxBA;AAyBA,IAAIa,QAAA,GAAWb,mBAAA,CAAQ,EAAR,CAAf,CAzBA;AA0BA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CA1BA;AA2BA,IAAIoS,UAAA,GAAapS,mBAAA,CAAQ,GAAR,CAAjB,CA3BA;AA4BA,IAAIqS,OAAA,GAAUrS,mBAAA,CAAQ,EAAR,CAAd,CA5BA;AA6BA,IAAI0K,UAAA,GAAa1K,mBAAA,CAAQ,EAAR,CAAjB,CA7BA;AA+BA,IAAIsS,OAAA,GAAUrI,eAAA,CAAgB,SAAhB,CAAd,CA/BA;AAgCA,IAAIsI,OAAA,GAAU,SAAd,CAhCA;AAiCA,IAAI5N,gBAAA,GAAmBD,mBAAA,CAAoBtF,GAA3C,CAjCA;AAkCA,IAAIyK,gBAAA,GAAmBnF,mBAAA,CAAoBkB,GAA3C,CAlCA;AAmCA,IAAI4M,uBAAA,GAA0B9N,mBAAA,CAAoBmB,SAApB,CAA8B0M,OAA9B,CAA9B,CAnCA;AAoCA,IAAIE,sBAAA,GAAyBjB,aAAA,IAAiBA,aAAA,CAAc/P,SAA5D,CApCA;AAqCA,IAAIiR,kBAAA,GAAqBlB,aAAzB,CArCA;AAsCA,IAAImB,2BAAA,GAA8BF,sBAAlC,CAtCA;AAuCA,IAAI/O,SAAA,GAAYnD,MAAA,CAAOmD,SAAvB,CAvCA;AAwCA,IAAIrkB,QAAA,GAAWkhB,MAAA,CAAOlhB,QAAtB,CAxCA;AAyCA,IAAIghB,OAAA,GAAUE,MAAA,CAAOF,OAArB,CAzCA;AA0CA,IAAIuS,oBAAA,GAAuBV,0BAAA,CAA2BtP,CAAtD,CA1CA;AA2CA,IAAIiQ,2BAAA,GAA8BD,oBAAlC,CA3CA;AA4CA,IAAIE,cAAA,GAAiB,CAAC,CAAE,CAAAzzB,QAAA,IAAYA,QAAA,CAAS0zB,WAArB,IAAoCxS,MAAA,CAAOyS,aAA3C,CAAxB,CA5CA;AA6CA,IAAIC,sBAAA,GAAyB,OAAOC,qBAAP,IAAgC,UAA7D,CA7CA;AA8CA,IAAIC,mBAAA,GAAsB,oBAA1B,CA9CA;AA+CA,IAAIC,iBAAA,GAAoB,kBAAxB,CA/CA;AAgDA,IAAIC,OAAA,GAAU,CAAd,CAhDA;AAiDA,IAAIC,SAAA,GAAY,CAAhB,CAjDA;AAkDA,IAAIzlB,QAAA,GAAW,CAAf,CAlDA;AAmDA,IAAI0lB,OAAA,GAAU,CAAd,CAnDA;AAoDA,IAAIC,SAAA,GAAY,CAAhB,CApDA;AAqDA,IAAIC,WAAA,GAAc,KAAlB,CArDA;AAsDA,IAAIC,QAAJ,EAAcC,oBAAd,EAAoCC,cAApC,EAAoDC,UAApD,CAtDA;AAwDA,IAAIxS,MAAA,GAASR,QAAA,CAAS0R,OAAT,EAAkB,YAAY;AAAA,CACzC,IAAIuB,sBAAA,GAAyBrP,aAAA,CAAciO,kBAAd,MAAsClX,MAAA,CAAOkX,kBAAP,CAAnE,CADyC;AAAA,CAKzC,IAAI,CAACoB,sBAAD,IAA2BpJ,UAAA,KAAe,EAA9C;AAAA,EAAkD,OAAO,IAAP,CALT;AAAA,CAOzC,IAAInE,OAAA,IAAW,CAACoM,2BAAA,CAA4B,SAA5B,CAAhB;AAAA,EAAwD,OAAO,IAAP,CAPf;AAAA,CAWzC,IAAIjI,UAAA,IAAc,EAAd,IAAoB,cAAcrE,IAAd,CAAmBqM,kBAAnB,CAAxB;AAAA,EAAgE,OAAO,KAAP,CAXvB;AAAA,CAazC,IAAIqB,OAAA,GAAU,IAAIrB,kBAAJ,CAAuB,UAAU/yB,OAAV,EAAmB;AAAA,EAAEA,OAAA,CAAQ,CAAR,EAAF;AAAA,EAA1C,CAAd,CAbyC;AAAA,CAczC,IAAIq0B,WAAA,GAAc,UAAUhR,IAAV,EAAgB;AAAA,EAChCA,IAAA,CAAK,YAAY;AAAA,GAAjB,EAAkC,YAAY;AAAA,GAA9C,EADgC;AAAA,EAAlC,CAdyC;AAAA,CAiBzC,IAAIhlB,WAAA,GAAc+1B,OAAA,CAAQ/1B,WAAR,GAAsB,EAAxC,CAjByC;AAAA,CAkBzCA,WAAA,CAAYs0B,OAAZ,IAAuB0B,WAAvB,CAlByC;AAAA,CAmBzCP,WAAA,GAAcM,OAAA,CAAQE,IAAR,CAAa,YAAY;AAAA,EAAzB,aAAqDD,WAAnE,CAnByC;AAAA,CAoBzC,IAAI,CAACP,WAAL;AAAA,EAAkB,OAAO,IAAP,CApBuB;AAAA,CAsBzC,OAAO,CAACK,sBAAD,IAA2B1B,UAA3B,IAAyC,CAACa,sBAAjD,CAtByC;AAAA,CAA9B,CAAb,CAxDA;AAiFA,IAAIiB,mBAAA,GAAsB7S,MAAA,IAAU,CAACuQ,2BAAA,CAA4B,UAAUjpB,QAAV,EAAoB;AAAA,CACnF+pB,kBAAA,CAAmByB,GAAnB,CAAuBxrB,QAAvB,EAAiC,OAAjC,EAA0C,YAAY;AAAA,EAAtD,EADmF;AAAA,CAAhD,CAArC,CAjFA;AAsFA,IAAIyrB,UAAA,GAAa,UAAUrS,EAAV,EAAc;AAAA,CAC7B,IAAIkS,IAAJ,CAD6B;AAAA,CAE7B,OAAOtQ,QAAA,CAAS5B,EAAT,KAAgB,OAAQ,CAAAkS,IAAA,GAAOlS,EAAA,CAAGkS,IAAV,CAAR,IAA2B,UAA3C,GAAwDA,IAAxD,GAA+D,KAAtE,CAF6B;AAAA,CAA/B,CAtFA;AA2FA,IAAII,MAAA,GAAS,UAAUzsB,KAAV,EAAiB0sB,QAAjB,EAA2B;AAAA,CACtC,IAAI1sB,KAAA,CAAM2sB,QAAV;AAAA,EAAoB,OADkB;AAAA,CAEtC3sB,KAAA,CAAM2sB,QAAN,GAAiB,IAAjB,CAFsC;AAAA,CAGtC,IAAIC,KAAA,GAAQ5sB,KAAA,CAAM6sB,SAAlB,CAHsC;AAAA,CAItC1C,SAAA,CAAU,YAAY;AAAA,EACpB,IAAI7sB,KAAA,GAAQ0C,KAAA,CAAM1C,KAAlB,CADoB;AAAA,EAEpB,IAAIwvB,EAAA,GAAK9sB,KAAA,CAAMA,KAAN,IAAe0rB,SAAxB,CAFoB;AAAA,EAGpB,IAAI/K,KAAA,GAAQ,CAAZ,CAHoB;AAAA,EAKpB,OAAOiM,KAAA,CAAMlZ,MAAN,GAAeiN,KAAtB,EAA6B;AAAA,GAC3B,IAAIoM,QAAA,GAAWH,KAAA,CAAMjM,KAAA,EAAN,CAAf,CAD2B;AAAA,GAE3B,IAAIqM,OAAA,GAAUF,EAAA,GAAKC,QAAA,CAASD,EAAd,GAAmBC,QAAA,CAASE,IAA1C,CAF2B;AAAA,GAG3B,IAAIl1B,OAAA,GAAUg1B,QAAA,CAASh1B,OAAvB,CAH2B;AAAA,GAI3B,IAAIC,MAAA,GAAS+0B,QAAA,CAAS/0B,MAAtB,CAJ2B;AAAA,GAK3B,IAAI+sB,MAAA,GAASgI,QAAA,CAAShI,MAAtB,CAL2B;AAAA,GAM3B,IAAIxlB,MAAJ,EAAY8sB,IAAZ,EAAkBa,MAAlB,CAN2B;AAAA,GAO3B,IAAI;AAAA,IACF,IAAIF,OAAJ,EAAa;AAAA,KACX,IAAI,CAACF,EAAL,EAAS;AAAA,MACP,IAAI9sB,KAAA,CAAMmtB,SAAN,KAAoBvB,SAAxB;AAAA,OAAmCwB,iBAAA,CAAkBptB,KAAlB,EAD5B;AAAA,MAEPA,KAAA,CAAMmtB,SAAN,GAAkBxB,OAAlB,CAFO;AAAA,MADE;AAAA,KAKX,IAAIqB,OAAA,KAAY,IAAhB;AAAA,MAAsBztB,MAAA,GAASjC,KAAT,CAAtB;AAAA,UACK;AAAA,MACH,IAAIynB,MAAJ;AAAA,OAAYA,MAAA,CAAOsI,KAAP,GADT;AAAA,MAEH9tB,MAAA,GAASytB,OAAA,CAAQ1vB,KAAR,CAAT,CAFG;AAAA,MAGH,IAAIynB,MAAJ,EAAY;AAAA,OACVA,MAAA,CAAOuI,IAAP,GADU;AAAA,OAEVJ,MAAA,GAAS,IAAT,CAFU;AAAA,OAHT;AAAA,MANM;AAAA,KAcX,IAAI3tB,MAAA,KAAWwtB,QAAA,CAASZ,OAAxB,EAAiC;AAAA,MAC/Bn0B,MAAA,CAAO8jB,SAAA,CAAU,qBAAV,CAAP,EAD+B;AAAA,MAAjC,MAEO,IAAIuQ,IAAA,GAAOG,UAAA,CAAWjtB,MAAX,CAAX,EAA+B;AAAA,MACpC8sB,IAAA,CAAKpR,IAAL,CAAU1b,MAAV,EAAkBxH,OAAlB,EAA2BC,MAA3B,EADoC;AAAA,MAA/B;AAAA,MAEAD,OAAA,CAAQwH,MAAR,EAlBI;AAAA,KAAb;AAAA,KAmBOvH,MAAA,CAAOsF,KAAP,EApBL;AAAA,IAAJ,CAqBE,OAAOyd,KAAP,EAAc;AAAA,IACd,IAAIgK,MAAA,IAAU,CAACmI,MAAf;AAAA,KAAuBnI,MAAA,CAAOuI,IAAP,GADT;AAAA,IAEdt1B,MAAA,CAAO+iB,KAAP,EAFc;AAAA,IA5BW;AAAA,GALT;AAAA,EAsCpB/a,KAAA,CAAM6sB,SAAN,GAAkB,EAAlB,CAtCoB;AAAA,EAuCpB7sB,KAAA,CAAM2sB,QAAN,GAAiB,KAAjB,CAvCoB;AAAA,EAwCpB,IAAID,QAAA,IAAY,CAAC1sB,KAAA,CAAMmtB,SAAvB;AAAA,GAAkCI,WAAA,CAAYvtB,KAAZ,EAxCd;AAAA,EAAtB,EAJsC;AAAA,CAAxC,CA3FA;AA2IA,IAAIorB,aAAA,GAAgB,UAAUhwB,IAAV,EAAgB+wB,OAAhB,EAAyB90B,MAAzB,EAAiC;AAAA,CACnD,IAAIm2B,KAAJ,EAAWR,OAAX,CADmD;AAAA,CAEnD,IAAI9B,cAAJ,EAAoB;AAAA,EAClBsC,KAAA,GAAQ/1B,QAAA,CAAS0zB,WAAT,CAAqB,OAArB,CAAR,CADkB;AAAA,EAElBqC,KAAA,CAAMrB,OAAN,GAAgBA,OAAhB,CAFkB;AAAA,EAGlBqB,KAAA,CAAMn2B,MAAN,GAAeA,MAAf,CAHkB;AAAA,EAIlBm2B,KAAA,CAAMC,SAAN,CAAgBryB,IAAhB,EAAsB,KAAtB,EAA6B,IAA7B,EAJkB;AAAA,EAKlBud,MAAA,CAAOyS,aAAP,CAAqBoC,KAArB,EALkB;AAAA,EAApB;AAAA,EAMOA,KAAA,GAAQ;AAAA,GAAErB,OAAA,EAASA,OAAX;AAAA,GAAoB90B,MAAA,EAAQA,MAA5B;AAAA,GAAR,CAR4C;AAAA,CASnD,IAAI,CAACg0B,sBAAD,IAA4B,CAAA2B,OAAA,GAAUrU,MAAA,CAAO,OAAOvd,IAAd,CAAV,CAAhC;AAAA,EAAgE4xB,OAAA,CAAQQ,KAAR,EAAhE;AAAA,MACK,IAAIpyB,IAAA,KAASmwB,mBAAb;AAAA,EAAkClB,gBAAA,CAAiB,6BAAjB,EAAgDhzB,MAAhD,EAVY;AAAA,CAArD,CA3IA;AAwJA,IAAIk2B,WAAA,GAAc,UAAUvtB,KAAV,EAAiB;AAAA,CACjCkqB,IAAA,CAAKjP,IAAL,CAAUtC,MAAV,EAAkB,YAAY;AAAA,EAC5B,IAAIwT,OAAA,GAAUnsB,KAAA,CAAMue,MAApB,CAD4B;AAAA,EAE5B,IAAIjhB,KAAA,GAAQ0C,KAAA,CAAM1C,KAAlB,CAF4B;AAAA,EAG5B,IAAIowB,YAAA,GAAeC,WAAA,CAAY3tB,KAAZ,CAAnB,CAH4B;AAAA,EAI5B,IAAIT,MAAJ,CAJ4B;AAAA,EAK5B,IAAImuB,YAAJ,EAAkB;AAAA,GAChBnuB,MAAA,GAASgrB,OAAA,CAAQ,YAAY;AAAA,IAC3B,IAAIE,OAAJ,EAAa;AAAA,KACXhS,OAAA,CAAQmV,IAAR,CAAa,oBAAb,EAAmCtwB,KAAnC,EAA0C6uB,OAA1C,EADW;AAAA,KAAb;AAAA,KAEOf,aAAA,CAAcG,mBAAd,EAAmCY,OAAnC,EAA4C7uB,KAA5C,EAHoB;AAAA,IAApB,CAAT,CADgB;AAAA,GAOhB0C,KAAA,CAAMmtB,SAAN,GAAkB1C,OAAA,IAAWkD,WAAA,CAAY3tB,KAAZ,CAAX,GAAgC4rB,SAAhC,GAA4CD,OAA9D,CAPgB;AAAA,GAQhB,IAAIpsB,MAAA,CAAOwb,KAAX;AAAA,IAAkB,MAAMxb,MAAA,CAAOjC,KAAb,CARF;AAAA,GALU;AAAA,EAA9B,EADiC;AAAA,CAAnC,CAxJA;AA2KA,IAAIqwB,WAAA,GAAc,UAAU3tB,KAAV,EAAiB;AAAA,CACjC,OAAOA,KAAA,CAAMmtB,SAAN,KAAoBxB,OAApB,IAA+B,CAAC3rB,KAAA,CAAM6tB,MAA7C,CADiC;AAAA,CAAnC,CA3KA;AA+KA,IAAIT,iBAAA,GAAoB,UAAUptB,KAAV,EAAiB;AAAA,CACvCkqB,IAAA,CAAKjP,IAAL,CAAUtC,MAAV,EAAkB,YAAY;AAAA,EAC5B,IAAIwT,OAAA,GAAUnsB,KAAA,CAAMue,MAApB,CAD4B;AAAA,EAE5B,IAAIkM,OAAJ,EAAa;AAAA,GACXhS,OAAA,CAAQmV,IAAR,CAAa,kBAAb,EAAiCzB,OAAjC,EADW;AAAA,GAAb;AAAA,GAEOf,aAAA,CAAcI,iBAAd,EAAiCW,OAAjC,EAA0CnsB,KAAA,CAAM1C,KAAhD,EAJqB;AAAA,EAA9B,EADuC;AAAA,CAAzC,CA/KA;AAwLA,IAAIyqB,IAAA,GAAO,UAAU3pB,EAAV,EAAc4B,KAAd,EAAqB8tB,MAArB,EAA6B;AAAA,CACtC,OAAO,UAAUxwB,KAAV,EAAiB;AAAA,EACtBc,EAAA,CAAG4B,KAAH,EAAU1C,KAAV,EAAiBwwB,MAAjB,EADsB;AAAA,EAAxB,CADsC;AAAA,CAAxC,CAxLA;AA8LA,IAAIC,cAAA,GAAiB,UAAU/tB,KAAV,EAAiB1C,KAAjB,EAAwBwwB,MAAxB,EAAgC;AAAA,CACnD,IAAI9tB,KAAA,CAAMM,IAAV;AAAA,EAAgB,OADmC;AAAA,CAEnDN,KAAA,CAAMM,IAAN,GAAa,IAAb,CAFmD;AAAA,CAGnD,IAAIwtB,MAAJ;AAAA,EAAY9tB,KAAA,GAAQ8tB,MAAR,CAHuC;AAAA,CAInD9tB,KAAA,CAAM1C,KAAN,GAAcA,KAAd,CAJmD;AAAA,CAKnD0C,KAAA,CAAMA,KAAN,GAAciG,QAAd,CALmD;AAAA,CAMnDwmB,MAAA,CAAOzsB,KAAP,EAAc,IAAd,EANmD;AAAA,CAArD,CA9LA;AAuMA,IAAIguB,eAAA,GAAkB,UAAUhuB,KAAV,EAAiB1C,KAAjB,EAAwBwwB,MAAxB,EAAgC;AAAA,CACpD,IAAI9tB,KAAA,CAAMM,IAAV;AAAA,EAAgB,OADoC;AAAA,CAEpDN,KAAA,CAAMM,IAAN,GAAa,IAAb,CAFoD;AAAA,CAGpD,IAAIwtB,MAAJ;AAAA,EAAY9tB,KAAA,GAAQ8tB,MAAR,CAHwC;AAAA,CAIpD,IAAI;AAAA,EACF,IAAI9tB,KAAA,CAAMue,MAAN,KAAiBjhB,KAArB;AAAA,GAA4B,MAAMwe,SAAA,CAAU,kCAAV,CAAN,CAD1B;AAAA,EAEF,IAAIuQ,IAAA,GAAOG,UAAA,CAAWlvB,KAAX,CAAX,CAFE;AAAA,EAGF,IAAI+uB,IAAJ,EAAU;AAAA,GACRlC,SAAA,CAAU,YAAY;AAAA,IACpB,IAAI8D,OAAA,GAAU,EAAE3tB,IAAA,EAAM,KAAR,EAAd,CADoB;AAAA,IAEpB,IAAI;AAAA,KACF+rB,IAAA,CAAKpR,IAAL,CAAU3d,KAAV,EACEyqB,IAAA,CAAKiG,eAAL,EAAsBC,OAAtB,EAA+BjuB,KAA/B,CADF,EAEE+nB,IAAA,CAAKgG,cAAL,EAAqBE,OAArB,EAA8BjuB,KAA9B,CAFF,EADE;AAAA,KAAJ,CAKE,OAAO+a,KAAP,EAAc;AAAA,KACdgT,cAAA,CAAeE,OAAf,EAAwBlT,KAAxB,EAA+B/a,KAA/B,EADc;AAAA,KAPI;AAAA,IAAtB,EADQ;AAAA,GAAV,MAYO;AAAA,GACLA,KAAA,CAAM1C,KAAN,GAAcA,KAAd,CADK;AAAA,GAEL0C,KAAA,CAAMA,KAAN,GAAc0rB,SAAd,CAFK;AAAA,GAGLe,MAAA,CAAOzsB,KAAP,EAAc,KAAd,EAHK;AAAA,GAfL;AAAA,EAAJ,CAoBE,OAAO+a,KAAP,EAAc;AAAA,EACdgT,cAAA,CAAe,EAAEztB,IAAA,EAAM,KAAR,EAAf,EAAgCya,KAAhC,EAAuC/a,KAAvC,EADc;AAAA,EAxBoC;AAAA,CAAtD,CAvMA;AAqOA,IAAIyZ,MAAJ,EAAY;AAAA,CAEVqR,kBAAA,GAAqB,SAASzB,OAAT,CAAiB6E,QAAjB,EAA2B;AAAA,EAC9CnE,UAAA,CAAW,IAAX,EAAiBe,kBAAjB,EAAqCH,OAArC,EAD8C;AAAA,EAE9ChL,SAAA,CAAUuO,QAAV,EAF8C;AAAA,EAG9CpC,QAAA,CAAS7Q,IAAT,CAAc,IAAd,EAH8C;AAAA,EAI9C,IAAIjb,KAAA,GAAQ+c,gBAAA,CAAiB,IAAjB,CAAZ,CAJ8C;AAAA,EAK9C,IAAI;AAAA,GACFmR,QAAA,CAASnG,IAAA,CAAKiG,eAAL,EAAsBhuB,KAAtB,CAAT,EAAuC+nB,IAAA,CAAKgG,cAAL,EAAqB/tB,KAArB,CAAvC,EADE;AAAA,GAAJ,CAEE,OAAO+a,KAAP,EAAc;AAAA,GACdgT,cAAA,CAAe/tB,KAAf,EAAsB+a,KAAtB,EADc;AAAA,GAP8B;AAAA,EAAhD,CAFU;AAAA,CAaVgQ,2BAAA,GAA8BD,kBAAA,CAAmBjR,SAAjD,CAbU;AAAA,CAeViS,QAAA,GAAW,SAASzC,OAAT,CAAiB6E,QAAjB,EAA2B;AAAA,EACpCjM,gBAAA,CAAiB,IAAjB,EAAuB;AAAA,GACrB/jB,IAAA,EAAMysB,OADe;AAAA,GAErBrqB,IAAA,EAAM,KAFe;AAAA,GAGrBqsB,QAAA,EAAU,KAHW;AAAA,GAIrBkB,MAAA,EAAQ,KAJa;AAAA,GAKrBhB,SAAA,EAAW,EALU;AAAA,GAMrBM,SAAA,EAAW,KANU;AAAA,GAOrBntB,KAAA,EAAOyrB,OAPc;AAAA,GAQrBnuB,KAAA,EAAO0c,SARc;AAAA,GAAvB,EADoC;AAAA,EAAtC,CAfU;AAAA,CA2BV8R,QAAA,CAASjS,SAAT,GAAqBgQ,WAAA,CAAYkB,2BAAZ,EAAyC;AAAA,EAG5DsB,IAAA,EAAM,SAASA,IAAT,CAAc8B,WAAd,EAA2BC,UAA3B,EAAuC;AAAA,GAC3C,IAAIpuB,KAAA,GAAQ4qB,uBAAA,CAAwB,IAAxB,CAAZ,CAD2C;AAAA,GAE3C,IAAImC,QAAA,GAAW/B,oBAAA,CAAqBf,kBAAA,CAAmB,IAAnB,EAAyBa,kBAAzB,CAArB,CAAf,CAF2C;AAAA,GAG3CiC,QAAA,CAASD,EAAT,GAAc,OAAOqB,WAAP,IAAsB,UAAtB,GAAmCA,WAAnC,GAAiD,IAA/D,CAH2C;AAAA,GAI3CpB,QAAA,CAASE,IAAT,GAAgB,OAAOmB,UAAP,IAAqB,UAArB,IAAmCA,UAAnD,CAJ2C;AAAA,GAK3CrB,QAAA,CAAShI,MAAT,GAAkB0F,OAAA,GAAUhS,OAAA,CAAQsM,MAAlB,GAA2B/K,SAA7C,CAL2C;AAAA,GAM3Cha,KAAA,CAAM6tB,MAAN,GAAe,IAAf,CAN2C;AAAA,GAO3C7tB,KAAA,CAAM6sB,SAAN,CAAgBjO,IAAhB,CAAqBmO,QAArB,EAP2C;AAAA,GAQ3C,IAAI/sB,KAAA,CAAMA,KAAN,IAAeyrB,OAAnB;AAAA,IAA4BgB,MAAA,CAAOzsB,KAAP,EAAc,KAAd,EARe;AAAA,GAS3C,OAAO+sB,QAAA,CAASZ,OAAhB,CAT2C;AAAA,GAHe;AAAA,EAgB5D,SAAS,UAAUiC,UAAV,EAAsB;AAAA,GAC7B,OAAO,KAAK/B,IAAL,CAAUrS,SAAV,EAAqBoU,UAArB,CAAP,CAD6B;AAAA,GAhB6B;AAAA,EAAzC,CAArB,CA3BU;AAAA,CA+CVrC,oBAAA,GAAuB,YAAY;AAAA,EACjC,IAAII,OAAA,GAAU,IAAIL,QAAJ,EAAd,CADiC;AAAA,EAEjC,IAAI9rB,KAAA,GAAQ+c,gBAAA,CAAiBoP,OAAjB,CAAZ,CAFiC;AAAA,EAGjC,KAAKA,OAAL,GAAeA,OAAf,CAHiC;AAAA,EAIjC,KAAKp0B,OAAL,GAAegwB,IAAA,CAAKiG,eAAL,EAAsBhuB,KAAtB,CAAf,CAJiC;AAAA,EAKjC,KAAKhI,MAAL,GAAc+vB,IAAA,CAAKgG,cAAL,EAAqB/tB,KAArB,CAAd,CALiC;AAAA,EAAnC,CA/CU;AAAA,CAsDVsqB,0BAAA,CAA2BtP,CAA3B,GAA+BgQ,oBAAA,GAAuB,UAAU1hB,CAAV,EAAa;AAAA,EACjE,OAAOA,CAAA,KAAMwhB,kBAAN,IAA4BxhB,CAAA,KAAM0iB,cAAlC,GACH,IAAID,oBAAJ,CAAyBziB,CAAzB,CADG,GAEH2hB,2BAAA,CAA4B3hB,CAA5B,CAFJ,CADiE;AAAA,EAAnE,CAtDU;AAAA,CA4DV,IAAI,CAACqV,OAAD,IAAY,OAAOiL,aAAP,IAAwB,UAApC,IAAkDiB,sBAAA,KAA2B3vB,MAAA,CAAO2e,SAAxF,EAAmG;AAAA,EACjGoS,UAAA,GAAapB,sBAAA,CAAuBwB,IAApC,CADiG;AAAA,EAGjG,IAAI,CAACR,WAAL,EAAkB;AAAA,GAEhB/S,QAAA,CAAS+R,sBAAT,EAAiC,MAAjC,EAAyC,SAASwB,IAAT,CAAc8B,WAAd,EAA2BC,UAA3B,EAAuC;AAAA,IAC9E,IAAI/F,IAAA,GAAO,IAAX,CAD8E;AAAA,IAE9E,OAAO,IAAIyC,kBAAJ,CAAuB,UAAU/yB,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,KACvDi0B,UAAA,CAAWhR,IAAX,CAAgBoN,IAAhB,EAAsBtwB,OAAtB,EAA+BC,MAA/B,EADuD;AAAA,KAAlD,EAEJq0B,IAFI,CAEC8B,WAFD,EAEcC,UAFd,CAAP,CAF8E;AAAA,IAAhF,EAMG,EAAEjR,MAAA,EAAQ,IAAV,EANH,EAFgB;AAAA,GAWhBrE,QAAA,CAAS+R,sBAAT,EAAiC,OAAjC,EAA0CE,2BAAA,CAA4B,OAA5B,CAA1C,EAAgF,EAAE5N,MAAA,EAAQ,IAAV,EAAhF,EAXgB;AAAA,GAH+E;AAAA,EAkBjG,IAAI;AAAA,GACF,OAAO0N,sBAAA,CAAuBz0B,WAA9B,CADE;AAAA,GAAJ,CAEE,OAAO2kB,KAAP,EAAc;AAAA,GApBiF;AAAA,EAuBjG,IAAIsK,cAAJ,EAAoB;AAAA,GAClBA,cAAA,CAAewF,sBAAf,EAAuCE,2BAAvC,EADkB;AAAA,GAvB6E;AAAA,EA5DzF;AAAA,CArOZ;AA8TArS,CAAA,CAAE;AAAA,CAAEC,MAAA,EAAQ,IAAV;AAAA,CAAgB5Y,IAAA,EAAM,IAAtB;AAAA,CAA4Bga,MAAA,EAAQN,MAApC;AAAA,CAAF,EAAgD,EAC9C4P,OAAA,EAASyB,kBADqC,EAAhD,EA9TA;AAkUAxF,cAAA,CAAewF,kBAAf,EAAmCH,OAAnC,EAA4C,KAA5C,EAAmD,IAAnD,EAlUA;AAmUAb,UAAA,CAAWa,OAAX,EAnUA;AAqUAqB,cAAA,GAAiB3M,UAAA,CAAWsL,OAAX,CAAjB,CArUA;AAwUAjS,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQsR,OAAV;AAAA,CAAmBnR,IAAA,EAAM,IAAzB;AAAA,CAA+BO,MAAA,EAAQN,MAAvC;AAAA,CAAF,EAAmD;AAAA,CAGjDzhB,MAAA,EAAQ,SAASA,MAAT,CAAgB2d,CAAhB,EAAmB;AAAA,EACzB,IAAI2B,UAAA,GAAa0T,oBAAA,CAAqB,IAArB,CAAjB,CADyB;AAAA,EAEzB1T,UAAA,CAAWtf,MAAX,CAAkBijB,IAAlB,CAAuBjB,SAAvB,EAAkCrE,CAAlC,EAFyB;AAAA,EAGzB,OAAO2B,UAAA,CAAW6U,OAAlB,CAHyB;AAAA,EAHsB;AAAA,CAAnD,EAxUA;AAkVAzT,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQsR,OAAV;AAAA,CAAmBnR,IAAA,EAAM,IAAzB;AAAA,CAA+BO,MAAA,EAAQ4E,OAAA,IAAWlF,MAAlD;AAAA,CAAF,EAA8D;AAAA,CAG5D1hB,OAAA,EAAS,SAASA,OAAT,CAAiBs2B,CAAjB,EAAoB;AAAA,EAC3B,OAAOjE,cAAA,CAAezL,OAAA,IAAW,SAASqN,cAApB,GAAqClB,kBAArC,GAA0D,IAAzE,EAA+EuD,CAA/E,CAAP,CAD2B;AAAA,EAH+B;AAAA,CAA9D,EAlVA;AA0VA3V,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQsR,OAAV;AAAA,CAAmBnR,IAAA,EAAM,IAAzB;AAAA,CAA+BO,MAAA,EAAQuS,mBAAvC;AAAA,CAAF,EAAgE;AAAA,CAG9DC,GAAA,EAAK,SAASA,GAAT,CAAaxrB,QAAb,EAAuB;AAAA,EAC1B,IAAIuI,CAAA,GAAI,IAAR,CAD0B;AAAA,EAE1B,IAAIgO,UAAA,GAAa0T,oBAAA,CAAqB1hB,CAArB,CAAjB,CAF0B;AAAA,EAG1B,IAAIvR,OAAA,GAAUuf,UAAA,CAAWvf,OAAzB,CAH0B;AAAA,EAI1B,IAAIC,MAAA,GAASsf,UAAA,CAAWtf,MAAxB,CAJ0B;AAAA,EAK1B,IAAIuH,MAAA,GAASgrB,OAAA,CAAQ,YAAY;AAAA,GAC/B,IAAI+D,eAAA,GAAkB3O,SAAA,CAAUrW,CAAA,CAAEvR,OAAZ,CAAtB,CAD+B;AAAA,GAE/B,IAAI8G,MAAA,GAAS,EAAb,CAF+B;AAAA,GAG/B,IAAI0vB,OAAA,GAAU,CAAd,CAH+B;AAAA,GAI/B,IAAIC,SAAA,GAAY,CAAhB,CAJ+B;AAAA,GAK/B9G,OAAA,CAAQ3mB,QAAR,EAAkB,UAAUorB,OAAV,EAAmB;AAAA,IACnC,IAAIxL,KAAA,GAAQ4N,OAAA,EAAZ,CADmC;AAAA,IAEnC,IAAIE,aAAA,GAAgB,KAApB,CAFmC;AAAA,IAGnC5vB,MAAA,CAAO+f,IAAP,CAAY5E,SAAZ,EAHmC;AAAA,IAInCwU,SAAA,GAJmC;AAAA,IAKnCF,eAAA,CAAgBrT,IAAhB,CAAqB3R,CAArB,EAAwB6iB,OAAxB,EAAiCE,IAAjC,CAAsC,UAAU/uB,KAAV,EAAiB;AAAA,KACrD,IAAImxB,aAAJ;AAAA,MAAmB,OADkC;AAAA,KAErDA,aAAA,GAAgB,IAAhB,CAFqD;AAAA,KAGrD5vB,MAAA,CAAO8hB,KAAP,IAAgBrjB,KAAhB,CAHqD;AAAA,KAIrD,EAAEkxB,SAAF,IAAez2B,OAAA,CAAQ8G,MAAR,CAAf,CAJqD;AAAA,KAAvD,EAKG7G,MALH,EALmC;AAAA,IAArC,EAL+B;AAAA,GAiB/B,EAAEw2B,SAAF,IAAez2B,OAAA,CAAQ8G,MAAR,CAAf,CAjB+B;AAAA,GAApB,CAAb,CAL0B;AAAA,EAwB1B,IAAIU,MAAA,CAAOwb,KAAX;AAAA,GAAkB/iB,MAAA,CAAOuH,MAAA,CAAOjC,KAAd,EAxBQ;AAAA,EAyB1B,OAAOga,UAAA,CAAW6U,OAAlB,CAzB0B;AAAA,EAHkC;AAAA,CAgC9DuC,IAAA,EAAM,SAASA,IAAT,CAAc3tB,QAAd,EAAwB;AAAA,EAC5B,IAAIuI,CAAA,GAAI,IAAR,CAD4B;AAAA,EAE5B,IAAIgO,UAAA,GAAa0T,oBAAA,CAAqB1hB,CAArB,CAAjB,CAF4B;AAAA,EAG5B,IAAItR,MAAA,GAASsf,UAAA,CAAWtf,MAAxB,CAH4B;AAAA,EAI5B,IAAIuH,MAAA,GAASgrB,OAAA,CAAQ,YAAY;AAAA,GAC/B,IAAI+D,eAAA,GAAkB3O,SAAA,CAAUrW,CAAA,CAAEvR,OAAZ,CAAtB,CAD+B;AAAA,GAE/B2vB,OAAA,CAAQ3mB,QAAR,EAAkB,UAAUorB,OAAV,EAAmB;AAAA,IACnCmC,eAAA,CAAgBrT,IAAhB,CAAqB3R,CAArB,EAAwB6iB,OAAxB,EAAiCE,IAAjC,CAAsC/U,UAAA,CAAWvf,OAAjD,EAA0DC,MAA1D,EADmC;AAAA,IAArC,EAF+B;AAAA,GAApB,CAAb,CAJ4B;AAAA,EAU5B,IAAIuH,MAAA,CAAOwb,KAAX;AAAA,GAAkB/iB,MAAA,CAAOuH,MAAA,CAAOjC,KAAd,EAVU;AAAA,EAW5B,OAAOga,UAAA,CAAW6U,OAAlB,CAX4B;AAAA,EAhCgC;AAAA,CAAhE,E;;;;;;AC1VA,IAAIxT,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB0a,MAAA,CAAO0Q,OAAxB,C;;;;;;ACFA,IAAIvQ,QAAA,GAAWV,mBAAA,CAAQ,EAAR,CAAf;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUob,MAAV,EAAkBsL,GAAlB,EAAuBzL,OAAvB,EAAgC;AAAA,CAC/C,SAAStY,GAAT,IAAgB+jB,GAAhB;AAAA,EAAqB7L,QAAA,CAASO,MAAT,EAAiBzY,GAAjB,EAAsB+jB,GAAA,CAAI/jB,GAAJ,CAAtB,EAAgCsY,OAAhC,EAD0B;AAAA,CAE/C,OAAOG,MAAP,CAF+C;AAAA,CAAjD,C;;;;;;;ACFa;AACb,IAAIgG,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB,CADA;AAEA,IAAIoE,oBAAA,GAAuBpE,mBAAA,CAAQ,EAAR,CAA3B,CAFA;AAGA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CAHA;AAIA,IAAIkC,WAAA,GAAclC,mBAAA,CAAQ,EAAR,CAAlB,CAJA;AAMA,IAAIsS,OAAA,GAAUrI,eAAA,CAAgB,SAAhB,CAAd,CANA;AAQAvlB,MAAA,CAAOmB,OAAP,GAAiB,UAAU0wB,gBAAV,EAA4B;AAAA,CAC3C,IAAIC,WAAA,GAAcvP,UAAA,CAAWsP,gBAAX,CAAlB,CAD2C;AAAA,CAE3C,IAAIxT,cAAA,GAAiBqB,oBAAA,CAAqBxB,CAA1C,CAF2C;AAAA,CAI3C,IAAIV,WAAA,IAAesU,WAAf,IAA8B,CAACA,WAAA,CAAYlE,OAAZ,CAAnC,EAAyD;AAAA,EACvDvP,cAAA,CAAeyT,WAAf,EAA4BlE,OAA5B,EAAqC;AAAA,GACnCltB,YAAA,EAAc,IADqB;AAAA,GAEnCga,GAAA,EAAK,YAAY;AAAA,IAAE,OAAO,IAAP,CAAF;AAAA,IAFkB;AAAA,GAArC,EADuD;AAAA,EAJd;AAAA,CAA7C,C;;;;;;ACRA1a,MAAA,CAAOmB,OAAP,GAAiB,UAAUkc,EAAV,EAAcyU,WAAd,EAA2BxzB,IAA3B,EAAiC;AAAA,CAChD,IAAI,CAAE,CAAA+e,EAAA,YAAcyU,WAAd,CAAN,EAAkC;AAAA,EAChC,MAAM9S,SAAA,CAAU,eAAgB,CAAA1gB,IAAA,GAAOA,IAAA,GAAO,GAAd,GAAoB,EAApB,CAAhB,GAA0C,YAApD,CAAN,CADgC;AAAA,EADc;AAAA,CAG9C,OAAO+e,EAAP,CAH8C;AAAA,CAAlD,C;;;;;;ACAA,IAAIkI,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB;AAEA,IAAIqN,QAAA,GAAWpD,eAAA,CAAgB,UAAhB,CAAf,CAFA;AAGA,IAAIwM,YAAA,GAAe,KAAnB,CAHA;AAKA,IAAI;AAAA,CACF,IAAIC,MAAA,GAAS,CAAb,CADE;AAAA,CAEF,IAAIC,kBAAA,GAAqB;AAAA,EACvBluB,IAAA,EAAM,YAAY;AAAA,GAChB,OAAO,EAAEP,IAAA,EAAM,CAAC,CAACwuB,MAAA,EAAV,EAAP,CADgB;AAAA,GADK;AAAA,EAIvB,UAAU,YAAY;AAAA,GACpBD,YAAA,GAAe,IAAf,CADoB;AAAA,GAJC;AAAA,EAAzB,CAFE;AAAA,CAUFE,kBAAA,CAAmBtJ,QAAnB,IAA+B,YAAY;AAAA,EACzC,OAAO,IAAP,CADyC;AAAA,EAA3C,CAVE;AAAA,CAcF1Q,KAAA,CAAMia,IAAN,CAAWD,kBAAX,EAA+B,YAAY;AAAA,EAAE,MAAM,CAAN,CAAF;AAAA,EAA3C,EAdE;AAAA,CAAJ,CAeE,OAAOhU,KAAP,EAAc;AAAA,CApBhB;AAsBAje,MAAA,CAAOmB,OAAP,GAAiB,UAAUmd,IAAV,EAAgB6T,YAAhB,EAA8B;AAAA,CAC7C,IAAI,CAACA,YAAD,IAAiB,CAACJ,YAAtB;AAAA,EAAoC,OAAO,KAAP,CADS;AAAA,CAE7C,IAAIK,iBAAA,GAAoB,KAAxB,CAF6C;AAAA,CAG7C,IAAI;AAAA,EACF,IAAIzS,MAAA,GAAS,EAAb,CADE;AAAA,EAEFA,MAAA,CAAOgJ,QAAP,IAAmB,YAAY;AAAA,GAC7B,OAAO;AAAA,IACL5kB,IAAA,EAAM,YAAY;AAAA,KAChB,OAAO,EAAEP,IAAA,EAAM4uB,iBAAA,GAAoB,IAA5B,EAAP,CADgB;AAAA,KADb;AAAA,IAAP,CAD6B;AAAA,GAA/B,CAFE;AAAA,EASF9T,IAAA,CAAKqB,MAAL,EATE;AAAA,EAAJ,CAUE,OAAO1B,KAAP,EAAc;AAAA,EAb6B;AAAA,CAc7C,OAAOmU,iBAAP,CAd6C;AAAA,CAA/C,C;;;;;;ACtBA,IAAIxS,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf;AACA,IAAIuH,SAAA,GAAYvH,mBAAA,CAAQ,EAAR,CAAhB,CADA;AAEA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CAFA;AAIA,IAAIsS,OAAA,GAAUrI,eAAA,CAAgB,SAAhB,CAAd,CAJA;AAQAvlB,MAAA,CAAOmB,OAAP,GAAiB,UAAU6L,CAAV,EAAaqlB,kBAAb,EAAiC;AAAA,CAChD,IAAI7lB,CAAA,GAAIoT,QAAA,CAAS5S,CAAT,EAAY1T,WAApB,CADgD;AAAA,CAEhD,IAAIg5B,CAAJ,CAFgD;AAAA,CAGhD,OAAO9lB,CAAA,KAAM0Q,SAAN,IAAoB,CAAAoV,CAAA,GAAI1S,QAAA,CAASpT,CAAT,EAAYohB,OAAZ,CAAJ,CAAD,IAA8B1Q,SAAjD,GAA6DmV,kBAA7D,GAAkFxP,SAAA,CAAUyP,CAAV,CAAzF,CAHgD;AAAA,CAAlD,C;;;;;;ACRA,IAAIzW,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAI8C,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ,CADA;AAEA,IAAI2P,IAAA,GAAO3P,mBAAA,CAAQ,EAAR,CAAX,CAFA;AAGA,IAAIgL,IAAA,GAAOhL,mBAAA,CAAQ,EAAR,CAAX,CAHA;AAIA,IAAIjgB,aAAA,GAAgBigB,mBAAA,CAAQ,EAAR,CAApB,CAJA;AAKA,IAAIiX,MAAA,GAASjX,mBAAA,CAAQ,EAAR,CAAb,CALA;AAMA,IAAIqS,OAAA,GAAUrS,mBAAA,CAAQ,EAAR,CAAd,CANA;AAQA,IAAIkX,QAAA,GAAW3W,MAAA,CAAO2W,QAAtB,CARA;AASA,IAAItR,GAAA,GAAMrF,MAAA,CAAO4W,YAAjB,CATA;AAUA,IAAIC,KAAA,GAAQ7W,MAAA,CAAO8W,cAAnB,CAVA;AAWA,IAAIhX,OAAA,GAAUE,MAAA,CAAOF,OAArB,CAXA;AAYA,IAAIiX,cAAA,GAAiB/W,MAAA,CAAO+W,cAA5B,CAZA;AAaA,IAAIC,QAAA,GAAWhX,MAAA,CAAOgX,QAAtB,CAbA;AAcA,IAAIpB,OAAA,GAAU,CAAd,CAdA;AAeA,IAAIqB,KAAA,GAAQ,EAAZ,CAfA;AAgBA,IAAIC,kBAAA,GAAqB,oBAAzB,CAhBA;AAiBA,IAAIC,KAAJ,EAAWC,OAAX,EAAoBC,IAApB,CAjBA;AAmBA,IAAIC,GAAA,GAAM,UAAUjR,EAAV,EAAc;AAAA,CAEtB,IAAI4Q,KAAA,CAAMvT,cAAN,CAAqB2C,EAArB,CAAJ,EAA8B;AAAA,EAC5B,IAAI5gB,EAAA,GAAKwxB,KAAA,CAAM5Q,EAAN,CAAT,CAD4B;AAAA,EAE5B,OAAO4Q,KAAA,CAAM5Q,EAAN,CAAP,CAF4B;AAAA,EAG5B5gB,EAAA,GAH4B;AAAA,EAFR;AAAA,CAAxB,CAnBA;AA4BA,IAAI8xB,MAAA,GAAS,UAAUlR,EAAV,EAAc;AAAA,CACzB,OAAO,YAAY;AAAA,EACjBiR,GAAA,CAAIjR,EAAJ,EADiB;AAAA,EAAnB,CADyB;AAAA,CAA3B,CA5BA;AAkCA,IAAImR,QAAA,GAAW,UAAU3C,KAAV,EAAiB;AAAA,CAC9ByC,GAAA,CAAIzC,KAAA,CAAMpZ,IAAV,EAD8B;AAAA,CAAhC,CAlCA;AAsCA,IAAIgc,IAAA,GAAO,UAAUpR,EAAV,EAAc;AAAA,CAEvBrG,MAAA,CAAO0X,WAAP,CAAmBrR,EAAA,GAAK,EAAxB,EAA4BsQ,QAAA,CAASzzB,QAAT,GAAoB,IAApB,GAA2ByzB,QAAA,CAASgB,IAAhE,EAFuB;AAAA,CAAzB,CAtCA;AA4CA,IAAI,CAACtS,GAAD,IAAQ,CAACwR,KAAb,EAAoB;AAAA,CAClBxR,GAAA,GAAM,SAASuR,YAAT,CAAsBnxB,EAAtB,EAA0B;AAAA,EAC9B,IAAImyB,IAAA,GAAO,EAAX,CAD8B;AAAA,EAE9B,IAAIj2B,CAAA,GAAI,CAAR,CAF8B;AAAA,EAG9B,OAAOwlB,SAAA,CAAUpM,MAAV,GAAmBpZ,CAA1B;AAAA,GAA6Bi2B,IAAA,CAAK3R,IAAL,CAAUkB,SAAA,CAAUxlB,CAAA,EAAV,CAAV,EAHC;AAAA,EAI9Bs1B,KAAA,CAAM,EAAErB,OAAR,IAAmB,YAAY;AAAA,GAE5B,QAAOnwB,EAAP,IAAa,UAAb,GAA0BA,EAA1B,GAA+BgE,QAAA,CAAShE,EAAT,CAA/B,CAAD,CAA8CwqB,KAA9C,CAAoD5O,SAApD,EAA+DuW,IAA/D,EAF6B;AAAA,GAA/B,CAJ8B;AAAA,EAQ9BT,KAAA,CAAMvB,OAAN,EAR8B;AAAA,EAS9B,OAAOA,OAAP,CAT8B;AAAA,EAAhC,CADkB;AAAA,CAYlBiB,KAAA,GAAQ,SAASC,cAAT,CAAwBzQ,EAAxB,EAA4B;AAAA,EAClC,OAAO4Q,KAAA,CAAM5Q,EAAN,CAAP,CADkC;AAAA,EAApC,CAZkB;AAAA,CAgBlB,IAAIyL,OAAJ,EAAa;AAAA,EACXqF,KAAA,GAAQ,UAAU9Q,EAAV,EAAc;AAAA,GACpBvG,OAAA,CAAQ+X,QAAR,CAAiBN,MAAA,CAAOlR,EAAP,CAAjB,EADoB;AAAA,GAAtB,CADW;AAAA,EAAb,MAKO,IAAI2Q,QAAA,IAAYA,QAAA,CAASc,GAAzB,EAA8B;AAAA,EACnCX,KAAA,GAAQ,UAAU9Q,EAAV,EAAc;AAAA,GACpB2Q,QAAA,CAASc,GAAT,CAAaP,MAAA,CAAOlR,EAAP,CAAb,EADoB;AAAA,GAAtB,CADmC;AAAA,EAA9B,MAMA,IAAI0Q,cAAA,IAAkB,CAACL,MAAvB,EAA+B;AAAA,EACpCU,OAAA,GAAU,IAAIL,cAAJ,EAAV,CADoC;AAAA,EAEpCM,IAAA,GAAOD,OAAA,CAAQW,KAAf,CAFoC;AAAA,EAGpCX,OAAA,CAAQY,KAAR,CAAcC,SAAd,GAA0BT,QAA1B,CAHoC;AAAA,EAIpCL,KAAA,GAAQ/H,IAAA,CAAKiI,IAAA,CAAKK,WAAV,EAAuBL,IAAvB,EAA6B,CAA7B,CAAR,CAJoC;AAAA,EAA/B,MAOA,IACLrX,MAAA,CAAOkY,gBAAP,IACA,OAAOR,WAAP,IAAsB,UADtB,IAEA,CAAC1X,MAAA,CAAOmY,aAFR,IAGAxB,QAHA,IAGYA,QAAA,CAASzzB,QAAT,KAAsB,OAHlC,IAIA,CAACqf,KAAA,CAAMkV,IAAN,CALI,EAML;AAAA,EACAN,KAAA,GAAQM,IAAR,CADA;AAAA,EAEAzX,MAAA,CAAOkY,gBAAP,CAAwB,SAAxB,EAAmCV,QAAnC,EAA6C,KAA7C,EAFA;AAAA,EANK,MAUA,IAAIN,kBAAA,IAAsB13B,aAAA,CAAc,QAAd,CAA1B,EAAmD;AAAA,EACxD23B,KAAA,GAAQ,UAAU9Q,EAAV,EAAc;AAAA,GACpBoE,IAAA,CAAKsB,WAAL,CAAiBvsB,aAAA,CAAc,QAAd,CAAjB,EAA0C03B,kBAA1C,IAAgE,YAAY;AAAA,IAC1EzM,IAAA,CAAK2N,WAAL,CAAiB,IAAjB,EAD0E;AAAA,IAE1Ed,GAAA,CAAIjR,EAAJ,EAF0E;AAAA,IAA5E,CADoB;AAAA,GAAtB,CADwD;AAAA,EAAnD,MAQA;AAAA,EACL8Q,KAAA,GAAQ,UAAU9Q,EAAV,EAAc;AAAA,GACpBgS,UAAA,CAAWd,MAAA,CAAOlR,EAAP,CAAX,EAAuB,CAAvB,EADoB;AAAA,GAAtB,CADK;AAAA,EApDW;AAAA,CA5CpB;AAuGAliB,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CACf+f,GAAA,EAAKA,GADU;AAAA,CAEfwR,KAAA,EAAOA,KAFQ;AAAA,CAAjB,C;;;;;;ACvGA,IAAIxM,SAAA,GAAY5K,mBAAA,CAAQ,EAAR,CAAhB;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,qCAAqCwgB,IAArC,CAA0CuE,SAA1C,CAAjB,C;;;;;;ACFA,IAAIrH,OAAA,GAAUvD,mBAAA,CAAQ,EAAR,CAAd;AACA,IAAIO,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb,CADA;AAGAtb,MAAA,CAAOmB,OAAP,GAAiB0d,OAAA,CAAQhD,MAAA,CAAOF,OAAf,KAA2B,SAA5C,C;;;;;;ACHA,IAAIE,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIQ,wBAAA,GAA2BR,yBAA/B,CADA;AAEA,IAAI6Y,SAAA,GAAY7Y,2BAAhB,CAFA;AAGA,IAAIiX,MAAA,GAASjX,mBAAA,CAAQ,EAAR,CAAb,CAHA;AAIA,IAAI8Y,eAAA,GAAkB9Y,mBAAA,CAAQ,EAAR,CAAtB,CAJA;AAKA,IAAIqS,OAAA,GAAUrS,mBAAA,CAAQ,EAAR,CAAd,CALA;AAOA,IAAI+Y,gBAAA,GAAmBxY,MAAA,CAAOwY,gBAAP,IAA2BxY,MAAA,CAAOyY,sBAAzD,CAPA;AAQA,IAAI35B,QAAA,GAAWkhB,MAAA,CAAOlhB,QAAtB,CARA;AASA,IAAIghB,OAAA,GAAUE,MAAA,CAAOF,OAArB,CATA;AAUA,IAAI4Q,OAAA,GAAU1Q,MAAA,CAAO0Q,OAArB,CAVA;AAYA,IAAIgI,wBAAA,GAA2BzY,wBAAA,CAAyBD,MAAzB,EAAiC,gBAAjC,CAA/B,CAZA;AAaA,IAAI2Y,cAAA,GAAiBD,wBAAA,IAA4BA,wBAAA,CAAyB/zB,KAA1E,CAbA;AAeA,IAAIi0B,KAAJ,EAAWC,IAAX,EAAiBC,IAAjB,EAAuBhF,MAAvB,EAA+BiF,MAA/B,EAAuCC,IAAvC,EAA6CxF,OAA7C,EAAsDE,IAAtD,CAfA;AAkBA,IAAI,CAACiF,cAAL,EAAqB;AAAA,CACnBC,KAAA,GAAQ,YAAY;AAAA,EAClB,IAAI1D,MAAJ,EAAYzvB,EAAZ,CADkB;AAAA,EAElB,IAAIqsB,OAAA,IAAY,CAAAoD,MAAA,GAASpV,OAAA,CAAQsM,MAAjB,CAAhB;AAAA,GAA0C8I,MAAA,CAAOP,IAAP,GAFxB;AAAA,EAGlB,OAAOkE,IAAP,EAAa;AAAA,GACXpzB,EAAA,GAAKozB,IAAA,CAAKpzB,EAAV,CADW;AAAA,GAEXozB,IAAA,GAAOA,IAAA,CAAK3wB,IAAZ,CAFW;AAAA,GAGX,IAAI;AAAA,IACFzC,EAAA,GADE;AAAA,IAAJ,CAEE,OAAO2c,KAAP,EAAc;AAAA,IACd,IAAIyW,IAAJ;AAAA,KAAU/E,MAAA,GAAV;AAAA;AAAA,KACKgF,IAAA,GAAOzX,SAAP,CAFS;AAAA,IAGd,MAAMe,KAAN,CAHc;AAAA,IALL;AAAA,GAHK;AAAA,EAahB0W,IAAA,GAAOzX,SAAP,CAbgB;AAAA,EAclB,IAAI6T,MAAJ;AAAA,GAAYA,MAAA,CAAOR,KAAP,GAdM;AAAA,EAApB,CADmB;AAAA,CAoBnB,IAAI,CAACgC,MAAD,IAAW,CAAC5E,OAAZ,IAAuB,CAACyG,eAAxB,IAA2CC,gBAA3C,IAA+D15B,QAAnE,EAA6E;AAAA,EAC3Ei6B,MAAA,GAAS,IAAT,CAD2E;AAAA,EAE3EC,IAAA,GAAOl6B,QAAA,CAASm6B,cAAT,CAAwB,EAAxB,CAAP,CAF2E;AAAA,EAG3E,IAAIT,gBAAJ,CAAqBI,KAArB,EAA4BM,OAA5B,CAAoCF,IAApC,EAA0C,EAAEG,aAAA,EAAe,IAAjB,EAA1C,EAH2E;AAAA,EAI3ErF,MAAA,GAAS,YAAY;AAAA,GACnBkF,IAAA,CAAKvd,IAAL,GAAYsd,MAAA,GAAS,CAACA,MAAtB,CADmB;AAAA,GAArB,CAJ2E;AAAA,EAA7E,MAQO,IAAIrI,OAAA,IAAWA,OAAA,CAAQtxB,OAAvB,EAAgC;AAAA,EAErCo0B,OAAA,GAAU9C,OAAA,CAAQtxB,OAAR,CAAgBiiB,SAAhB,CAAV,CAFqC;AAAA,EAIrCmS,OAAA,CAAQ/1B,WAAR,GAAsBizB,OAAtB,CAJqC;AAAA,EAKrCgD,IAAA,GAAOF,OAAA,CAAQE,IAAf,CALqC;AAAA,EAMrCI,MAAA,GAAS,YAAY;AAAA,GACnBJ,IAAA,CAAKpR,IAAL,CAAUkR,OAAV,EAAmBoF,KAAnB,EADmB;AAAA,GAArB,CANqC;AAAA,EAAhC,MAUA,IAAI9G,OAAJ,EAAa;AAAA,EAClBgC,MAAA,GAAS,YAAY;AAAA,GACnBhU,OAAA,CAAQ+X,QAAR,CAAiBe,KAAjB,EADmB;AAAA,GAArB,CADkB;AAAA,EAAb,MAUA;AAAA,EACL9E,MAAA,GAAS,YAAY;AAAA,GAEnBwE,SAAA,CAAUhW,IAAV,CAAetC,MAAf,EAAuB4Y,KAAvB,EAFmB;AAAA,GAArB,CADK;AAAA,EAhDY;AAAA,CAlBrB;AA0EAz0B,MAAA,CAAOmB,OAAP,GAAiBqzB,cAAA,IAAkB,UAAUlzB,EAAV,EAAc;AAAA,CAC/C,IAAI8rB,IAAA,GAAO;AAAA,EAAE9rB,EAAA,EAAIA,EAAN;AAAA,EAAUyC,IAAA,EAAMmZ,SAAhB;AAAA,EAAX,CAD+C;AAAA,CAE/C,IAAIyX,IAAJ;AAAA,EAAUA,IAAA,CAAK5wB,IAAL,GAAYqpB,IAAZ,CAFqC;AAAA,CAG/C,IAAI,CAACsH,IAAL,EAAW;AAAA,EACTA,IAAA,GAAOtH,IAAP,CADS;AAAA,EAETuC,MAAA,GAFS;AAAA,EAHoC;AAAA,CAM7CgF,IAAA,GAAOvH,IAAP,CAN6C;AAAA,CAAjD,C;;;;;;AC1EA,IAAIlH,SAAA,GAAY5K,mBAAA,CAAQ,EAAR,CAAhB;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,qBAAqBwgB,IAArB,CAA0BuE,SAA1B,CAAjB,C;;;;;;ACFA,IAAItG,QAAA,GAAWtE,mBAAA,CAAQ,EAAR,CAAf;AACA,IAAI2D,QAAA,GAAW3D,mBAAA,CAAQ,EAAR,CAAf,CADA;AAEA,IAAI4S,oBAAA,GAAuB5S,mBAAA,CAAQ,GAAR,CAA3B,CAFA;AAIAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAUqL,CAAV,EAAa+kB,CAAb,EAAgB;AAAA,CAC/B3R,QAAA,CAASpT,CAAT,EAD+B;AAAA,CAE/B,IAAIyS,QAAA,CAASsS,CAAT,KAAeA,CAAA,CAAEj4B,WAAF,KAAkBkT,CAArC;AAAA,EAAwC,OAAO+kB,CAAP,CAFT;AAAA,CAG/B,IAAI0D,iBAAA,GAAoB/G,oBAAA,CAAqBhQ,CAArB,CAAuB1R,CAAvB,CAAxB,CAH+B;AAAA,CAI/B,IAAIvR,OAAA,GAAUg6B,iBAAA,CAAkBh6B,OAAhC,CAJ+B;AAAA,CAK/BA,OAAA,CAAQs2B,CAAR,EAL+B;AAAA,CAM/B,OAAO0D,iBAAA,CAAkB5F,OAAzB,CAN+B;AAAA,CAAjC,C;;;;;;;ACJa;AACb,IAAIxM,SAAA,GAAYvH,mBAAA,CAAQ,EAAR,CAAhB,CADA;AAGA,IAAI4Z,iBAAA,GAAoB,UAAU1oB,CAAV,EAAa;AAAA,CACnC,IAAIvR,OAAJ,EAAaC,MAAb,CADmC;AAAA,CAEnC,KAAKm0B,OAAL,GAAe,IAAI7iB,CAAJ,CAAM,UAAU2oB,SAAV,EAAqBC,QAArB,EAA+B;AAAA,EAClD,IAAIn6B,OAAA,KAAYiiB,SAAZ,IAAyBhiB,MAAA,KAAWgiB,SAAxC;AAAA,GAAmD,MAAM8B,SAAA,CAAU,yBAAV,CAAN,CADD;AAAA,EAElD/jB,OAAA,GAAUk6B,SAAV,CAFkD;AAAA,EAGlDj6B,MAAA,GAASk6B,QAAT,CAHkD;AAAA,EAArC,CAAf,CAFmC;AAAA,CAOnC,KAAKn6B,OAAL,GAAe4nB,SAAA,CAAU5nB,OAAV,CAAf,CAPmC;AAAA,CAQnC,KAAKC,MAAL,GAAc2nB,SAAA,CAAU3nB,MAAV,CAAd,CARmC;AAAA,CAArC,CAHA;AAgBA8E,gBAAA,GAAmB,UAAUwM,CAAV,EAAa;AAAA,CAC9B,OAAO,IAAI0oB,iBAAJ,CAAsB1oB,CAAtB,CAAP,CAD8B;AAAA,CAAhC,C;;;;;;AChBA,IAAIqP,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AAEAtb,MAAA,CAAOmB,OAAP,GAAiB,UAAU+X,CAAV,EAAaC,CAAb,EAAgB;AAAA,CAC/B,IAAIja,OAAA,GAAU2c,MAAA,CAAO3c,OAArB,CAD+B;AAAA,CAE/B,IAAIA,OAAA,IAAWA,OAAA,CAAQ+e,KAAvB,EAA8B;AAAA,EAC5B+E,SAAA,CAAUpM,MAAV,KAAqB,CAArB,GAAyB1X,OAAA,CAAQ+e,KAAR,CAAc/E,CAAd,CAAzB,GAA4Cha,OAAA,CAAQ+e,KAAR,CAAc/E,CAAd,EAAiBC,CAAjB,CAA5C,CAD4B;AAAA,EAFC;AAAA,CAAjC,C;;;;;;ACFAnZ,MAAA,CAAOmB,OAAP,GAAiB,UAAUmd,IAAV,EAAgB;AAAA,CAC/B,IAAI;AAAA,EACF,OAAO;AAAA,GAAEL,KAAA,EAAO,KAAT;AAAA,GAAgBzd,KAAA,EAAO8d,IAAA,EAAvB;AAAA,GAAP,CADE;AAAA,EAAJ,CAEE,OAAOL,KAAP,EAAc;AAAA,EACd,OAAO;AAAA,GAAEA,KAAA,EAAO,IAAT;AAAA,GAAezd,KAAA,EAAOyd,KAAtB;AAAA,GAAP,CADc;AAAA,EAHe;AAAA,CAAjC,C;;;;;;ACAAje,MAAA,CAAOmB,OAAP,GAAiB,OAAOmc,MAAP,IAAiB,QAAlC,C;;;;;;;ACAa;AACb,IAAI1B,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR,CADA;AAEA,IAAIuH,SAAA,GAAYvH,mBAAA,CAAQ,EAAR,CAAhB,CAFA;AAGA,IAAIkS,0BAAA,GAA6BlS,mBAAA,CAAQ,GAAR,CAAjC,CAHA;AAIA,IAAImS,OAAA,GAAUnS,mBAAA,CAAQ,GAAR,CAAd,CAJA;AAKA,IAAIsP,OAAA,GAAUtP,mBAAA,CAAQ,EAAR,CAAd,CALA;AASAM,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQ,SAAV;AAAA,CAAqBG,IAAA,EAAM,IAA3B;AAAA,CAAF,EAAqC;AAAA,CACnC2Y,UAAA,EAAY,SAASA,UAAT,CAAoBpxB,QAApB,EAA8B;AAAA,EACxC,IAAIuI,CAAA,GAAI,IAAR,CADwC;AAAA,EAExC,IAAIgO,UAAA,GAAagT,0BAAA,CAA2BtP,CAA3B,CAA6B1R,CAA7B,CAAjB,CAFwC;AAAA,EAGxC,IAAIvR,OAAA,GAAUuf,UAAA,CAAWvf,OAAzB,CAHwC;AAAA,EAIxC,IAAIC,MAAA,GAASsf,UAAA,CAAWtf,MAAxB,CAJwC;AAAA,EAKxC,IAAIuH,MAAA,GAASgrB,OAAA,CAAQ,YAAY;AAAA,GAC/B,IAAIH,cAAA,GAAiBzK,SAAA,CAAUrW,CAAA,CAAEvR,OAAZ,CAArB,CAD+B;AAAA,GAE/B,IAAI8G,MAAA,GAAS,EAAb,CAF+B;AAAA,GAG/B,IAAI0vB,OAAA,GAAU,CAAd,CAH+B;AAAA,GAI/B,IAAIC,SAAA,GAAY,CAAhB,CAJ+B;AAAA,GAK/B9G,OAAA,CAAQ3mB,QAAR,EAAkB,UAAUorB,OAAV,EAAmB;AAAA,IACnC,IAAIxL,KAAA,GAAQ4N,OAAA,EAAZ,CADmC;AAAA,IAEnC,IAAIE,aAAA,GAAgB,KAApB,CAFmC;AAAA,IAGnC5vB,MAAA,CAAO+f,IAAP,CAAY5E,SAAZ,EAHmC;AAAA,IAInCwU,SAAA,GAJmC;AAAA,IAKnCpE,cAAA,CAAenP,IAAf,CAAoB3R,CAApB,EAAuB6iB,OAAvB,EAAgCE,IAAhC,CAAqC,UAAU/uB,KAAV,EAAiB;AAAA,KACpD,IAAImxB,aAAJ;AAAA,MAAmB,OADiC;AAAA,KAEpDA,aAAA,GAAgB,IAAhB,CAFoD;AAAA,KAGpD5vB,MAAA,CAAO8hB,KAAP,IAAgB;AAAA,MAAEyR,MAAA,EAAQ,WAAV;AAAA,MAAuB90B,KAAA,EAAOA,KAA9B;AAAA,MAAhB,CAHoD;AAAA,KAIpD,EAAEkxB,SAAF,IAAez2B,OAAA,CAAQ8G,MAAR,CAAf,CAJoD;AAAA,KAAtD,EAKG,UAAUkc,KAAV,EAAiB;AAAA,KAClB,IAAI0T,aAAJ;AAAA,MAAmB,OADD;AAAA,KAElBA,aAAA,GAAgB,IAAhB,CAFkB;AAAA,KAGlB5vB,MAAA,CAAO8hB,KAAP,IAAgB;AAAA,MAAEyR,MAAA,EAAQ,UAAV;AAAA,MAAsB/6B,MAAA,EAAQ0jB,KAA9B;AAAA,MAAhB,CAHkB;AAAA,KAIlB,EAAEyT,SAAF,IAAez2B,OAAA,CAAQ8G,MAAR,CAAf,CAJkB;AAAA,KALpB,EALmC;AAAA,IAArC,EAL+B;AAAA,GAsB/B,EAAE2vB,SAAF,IAAez2B,OAAA,CAAQ8G,MAAR,CAAf,CAtB+B;AAAA,GAApB,CAAb,CALwC;AAAA,EA6BxC,IAAIU,MAAA,CAAOwb,KAAX;AAAA,GAAkB/iB,MAAA,CAAOuH,MAAA,CAAOjC,KAAd,EA7BsB;AAAA,EA8BxC,OAAOga,UAAA,CAAW6U,OAAlB,CA9BwC;AAAA,EADP;AAAA,CAArC,E;;;;;;;ACTa;AACb,IAAIzT,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR,CADA;AAEA,IAAIuH,SAAA,GAAYvH,mBAAA,CAAQ,EAAR,CAAhB,CAFA;AAGA,IAAIiH,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB,CAHA;AAIA,IAAIkS,0BAAA,GAA6BlS,mBAAA,CAAQ,GAAR,CAAjC,CAJA;AAKA,IAAImS,OAAA,GAAUnS,mBAAA,CAAQ,GAAR,CAAd,CALA;AAMA,IAAIsP,OAAA,GAAUtP,mBAAA,CAAQ,EAAR,CAAd,CANA;AAQA,IAAIia,iBAAA,GAAoB,yBAAxB,CARA;AAYA3Z,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQ,SAAV;AAAA,CAAqBG,IAAA,EAAM,IAA3B;AAAA,CAAF,EAAqC;AAAA,CACnC8Y,GAAA,EAAK,SAASA,GAAT,CAAavxB,QAAb,EAAuB;AAAA,EAC1B,IAAIuI,CAAA,GAAI,IAAR,CAD0B;AAAA,EAE1B,IAAIgO,UAAA,GAAagT,0BAAA,CAA2BtP,CAA3B,CAA6B1R,CAA7B,CAAjB,CAF0B;AAAA,EAG1B,IAAIvR,OAAA,GAAUuf,UAAA,CAAWvf,OAAzB,CAH0B;AAAA,EAI1B,IAAIC,MAAA,GAASsf,UAAA,CAAWtf,MAAxB,CAJ0B;AAAA,EAK1B,IAAIuH,MAAA,GAASgrB,OAAA,CAAQ,YAAY;AAAA,GAC/B,IAAIH,cAAA,GAAiBzK,SAAA,CAAUrW,CAAA,CAAEvR,OAAZ,CAArB,CAD+B;AAAA,GAE/B,IAAIyxB,MAAA,GAAS,EAAb,CAF+B;AAAA,GAG/B,IAAI+E,OAAA,GAAU,CAAd,CAH+B;AAAA,GAI/B,IAAIC,SAAA,GAAY,CAAhB,CAJ+B;AAAA,GAK/B,IAAI+D,eAAA,GAAkB,KAAtB,CAL+B;AAAA,GAM/B7K,OAAA,CAAQ3mB,QAAR,EAAkB,UAAUorB,OAAV,EAAmB;AAAA,IACnC,IAAIxL,KAAA,GAAQ4N,OAAA,EAAZ,CADmC;AAAA,IAEnC,IAAIiE,eAAA,GAAkB,KAAtB,CAFmC;AAAA,IAGnChJ,MAAA,CAAO5K,IAAP,CAAY5E,SAAZ,EAHmC;AAAA,IAInCwU,SAAA,GAJmC;AAAA,IAKnCpE,cAAA,CAAenP,IAAf,CAAoB3R,CAApB,EAAuB6iB,OAAvB,EAAgCE,IAAhC,CAAqC,UAAU/uB,KAAV,EAAiB;AAAA,KACpD,IAAIk1B,eAAA,IAAmBD,eAAvB;AAAA,MAAwC,OADY;AAAA,KAEpDA,eAAA,GAAkB,IAAlB,CAFoD;AAAA,KAGpDx6B,OAAA,CAAQuF,KAAR,EAHoD;AAAA,KAAtD,EAIG,UAAUyd,KAAV,EAAiB;AAAA,KAClB,IAAIyX,eAAA,IAAmBD,eAAvB;AAAA,MAAwC,OADtB;AAAA,KAElBC,eAAA,GAAkB,IAAlB,CAFkB;AAAA,KAGlBhJ,MAAA,CAAO7I,KAAP,IAAgB5F,KAAhB,CAHkB;AAAA,KAIlB,EAAEyT,SAAF,IAAex2B,MAAA,CAAO,IAAK,CAAAqnB,UAAA,CAAW,gBAAX,EAAL,CAAmCmK,MAAnC,EAA2C6I,iBAA3C,CAAP,CAAf,CAJkB;AAAA,KAJpB,EALmC;AAAA,IAArC,EAN+B;AAAA,GAsB/B,EAAE7D,SAAF,IAAex2B,MAAA,CAAO,IAAK,CAAAqnB,UAAA,CAAW,gBAAX,EAAL,CAAmCmK,MAAnC,EAA2C6I,iBAA3C,CAAP,CAAf,CAtB+B;AAAA,GAApB,CAAb,CAL0B;AAAA,EA6B1B,IAAI9yB,MAAA,CAAOwb,KAAX;AAAA,GAAkB/iB,MAAA,CAAOuH,MAAA,CAAOjC,KAAd,EA7BQ;AAAA,EA8B1B,OAAOga,UAAA,CAAW6U,OAAlB,CA9B0B;AAAA,EADO;AAAA,CAArC,E;;;;;;;ACZa;AACb,IAAIzT,CAAA,GAAIN,mBAAA,CAAQ,CAAR,CAAR,CADA;AAEA,IAAIuG,OAAA,GAAUvG,mBAAA,CAAQ,EAAR,CAAd,CAFA;AAGA,IAAIwR,aAAA,GAAgBxR,mBAAA,CAAQ,EAAR,CAApB,CAHA;AAIA,IAAI8C,KAAA,GAAQ9C,mBAAA,CAAQ,EAAR,CAAZ,CAJA;AAKA,IAAIiH,UAAA,GAAajH,mBAAA,CAAQ,EAAR,CAAjB,CALA;AAMA,IAAI6R,kBAAA,GAAqB7R,mBAAA,CAAQ,EAAR,CAAzB,CANA;AAOA,IAAIgS,cAAA,GAAiBhS,mBAAA,CAAQ,GAAR,CAArB,CAPA;AAQA,IAAIU,QAAA,GAAWV,mBAAA,CAAQ,EAAR,CAAf,CARA;AAWA,IAAIqa,WAAA,GAAc,CAAC,CAAC7I,aAAF,IAAmB1O,KAAA,CAAM,YAAY;AAAA,CACrD0O,aAAA,CAAc/P,SAAd,CAAwB,SAAxB,EAAmCoB,IAAnC,CAAwC;AAAA,EAAEoR,IAAA,EAAM,YAAY;AAAA,GAApB;AAAA,EAAxC,EAA+E,YAAY;AAAA,EAA3F,EADqD;AAAA,CAAlB,CAArC,CAXA;AAiBA3T,CAAA,CAAE;AAAA,CAAEW,MAAA,EAAQ,SAAV;AAAA,CAAqB0N,KAAA,EAAO,IAA5B;AAAA,CAAkC2L,IAAA,EAAM,IAAxC;AAAA,CAA8C3Y,MAAA,EAAQ0Y,WAAtD;AAAA,CAAF,EAAuE;AAAA,CACrE,WAAW,UAAUE,SAAV,EAAqB;AAAA,EAC9B,IAAIrpB,CAAA,GAAI2gB,kBAAA,CAAmB,IAAnB,EAAyB5K,UAAA,CAAW,SAAX,CAAzB,CAAR,CAD8B;AAAA,EAE9B,IAAIuT,UAAA,GAAa,OAAOD,SAAP,IAAoB,UAArC,CAF8B;AAAA,EAG9B,OAAO,KAAKtG,IAAL,CACLuG,UAAA,GAAa,UAAUvE,CAAV,EAAa;AAAA,GACxB,OAAOjE,cAAA,CAAe9gB,CAAf,EAAkBqpB,SAAA,EAAlB,EAA+BtG,IAA/B,CAAoC,YAAY;AAAA,IAAE,OAAOgC,CAAP,CAAF;AAAA,IAAhD,CAAP,CADwB;AAAA,GAA1B,GAEIsE,SAHC,EAILC,UAAA,GAAa,UAAUC,CAAV,EAAa;AAAA,GACxB,OAAOzI,cAAA,CAAe9gB,CAAf,EAAkBqpB,SAAA,EAAlB,EAA+BtG,IAA/B,CAAoC,YAAY;AAAA,IAAE,MAAMwG,CAAN,CAAF;AAAA,IAAhD,CAAP,CADwB;AAAA,GAA1B,GAEIF,SANC,CAAP,CAH8B;AAAA,EADqC;AAAA,CAAvE,EAjBA;AAiCA,IAAI,CAAChU,OAAD,IAAY,OAAOiL,aAAP,IAAwB,UAAxC,EAAoD;AAAA,CAClD,IAAI3pB,MAAA,GAASof,UAAA,CAAW,SAAX,EAAsBxF,SAAtB,CAAgC,SAAhC,CAAb,CADkD;AAAA,CAElD,IAAI+P,aAAA,CAAc/P,SAAd,CAAwB,SAAxB,MAAuC5Z,MAA3C,EAAmD;AAAA,EACjD6Y,QAAA,CAAS8Q,aAAA,CAAc/P,SAAvB,EAAkC,SAAlC,EAA6C5Z,MAA7C,EAAqD,EAAEkd,MAAA,EAAQ,IAAV,EAArD,EADiD;AAAA,EAFD;AAAA,C;;;;;;;ACjCvC;AACb,IAAI2V,MAAA,GAAS1a,+BAAb,CADA;AAEA,IAAI0E,mBAAA,GAAsB1E,mBAAA,CAAQ,EAAR,CAA1B,CAFA;AAGA,IAAI2J,cAAA,GAAiB3J,mBAAA,CAAQ,EAAR,CAArB,CAHA;AAKA,IAAI2a,eAAA,GAAkB,iBAAtB,CALA;AAMA,IAAI9Q,gBAAA,GAAmBnF,mBAAA,CAAoBkB,GAA3C,CANA;AAOA,IAAIjB,gBAAA,GAAmBD,mBAAA,CAAoBmB,SAApB,CAA8B8U,eAA9B,CAAvB,CAPA;AAWAhR,cAAA,CAAenO,MAAf,EAAuB,QAAvB,EAAiC,UAAUsO,QAAV,EAAoB;AAAA,CACnDD,gBAAA,CAAiB,IAAjB,EAAuB;AAAA,EACrB/jB,IAAA,EAAM60B,eADe;AAAA,EAErBtR,MAAA,EAAQ7N,MAAA,CAAOsO,QAAP,CAFa;AAAA,EAGrBvB,KAAA,EAAO,CAHc;AAAA,EAAvB,EADmD;AAAA,CAArD,EAQG,SAAS9f,IAAT,GAAgB;AAAA,CACjB,IAAIb,KAAA,GAAQ+c,gBAAA,CAAiB,IAAjB,CAAZ,CADiB;AAAA,CAEjB,IAAI0E,MAAA,GAASzhB,KAAA,CAAMyhB,MAAnB,CAFiB;AAAA,CAGjB,IAAId,KAAA,GAAQ3gB,KAAA,CAAM2gB,KAAlB,CAHiB;AAAA,CAIjB,IAAIqS,KAAJ,CAJiB;AAAA,CAKjB,IAAIrS,KAAA,IAASc,MAAA,CAAO/N,MAApB;AAAA,EAA4B,OAAO;AAAA,GAAEpW,KAAA,EAAO0c,SAAT;AAAA,GAAoB1Z,IAAA,EAAM,IAA1B;AAAA,GAAP,CALX;AAAA,CAMjB0yB,KAAA,GAAQF,MAAA,CAAOrR,MAAP,EAAed,KAAf,CAAR,CANiB;AAAA,CAOjB3gB,KAAA,CAAM2gB,KAAN,IAAeqS,KAAA,CAAMtf,MAArB,CAPiB;AAAA,CAQjB,OAAO;AAAA,EAAEpW,KAAA,EAAO01B,KAAT;AAAA,EAAgB1yB,IAAA,EAAM,KAAtB;AAAA,EAAP,CARiB;AAAA,CARnB,E;;;;;;ACXA,IAAIugB,SAAA,GAAYzI,mBAAA,CAAQ,EAAR,CAAhB;AACA,IAAIsD,sBAAA,GAAyBtD,mBAAA,CAAQ,EAAR,CAA7B,CADA;AAIA,IAAIkI,YAAA,GAAe,UAAU2S,iBAAV,EAA6B;AAAA,CAC9C,OAAO,UAAUzS,KAAV,EAAiBrM,GAAjB,EAAsB;AAAA,EAC3B,IAAIib,CAAA,GAAIxb,MAAA,CAAO8H,sBAAA,CAAuB8E,KAAvB,CAAP,CAAR,CAD2B;AAAA,EAE3B,IAAI0S,QAAA,GAAWrS,SAAA,CAAU1M,GAAV,CAAf,CAF2B;AAAA,EAG3B,IAAIgf,IAAA,GAAO/D,CAAA,CAAE1b,MAAb,CAH2B;AAAA,EAI3B,IAAIyC,KAAJ,EAAWzZ,MAAX,CAJ2B;AAAA,EAK3B,IAAIw2B,QAAA,GAAW,CAAX,IAAgBA,QAAA,IAAYC,IAAhC;AAAA,GAAsC,OAAOF,iBAAA,GAAoB,EAApB,GAAyBjZ,SAAhC,CALX;AAAA,EAM3B7D,KAAA,GAAQiZ,CAAA,CAAEgE,UAAF,CAAaF,QAAb,CAAR,CAN2B;AAAA,EAO3B,OAAO/c,KAAA,GAAQ,MAAR,IAAkBA,KAAA,GAAQ,MAA1B,IAAoC+c,QAAA,GAAW,CAAX,KAAiBC,IAArD,IACD,CAAAz2B,MAAA,GAAS0yB,CAAA,CAAEgE,UAAF,CAAaF,QAAA,GAAW,CAAxB,CAAT,CAAD,GAAwC,MADtC,IACgDx2B,MAAA,GAAS,MADzD,GAEDu2B,iBAAA,GAAoB7D,CAAA,CAAE0D,MAAF,CAASI,QAAT,CAApB,GAAyC/c,KAFxC,GAGD8c,iBAAA,GAAoB7D,CAAA,CAAEvT,KAAF,CAAQqX,QAAR,EAAkBA,QAAA,GAAW,CAA7B,CAApB,GAAuD,CAAA/c,KAAA,GAAQ,MAAR,IAAkB,EAAlB,CAAD,GAA0B,CAAAzZ,MAAA,GAAS,MAAT,CAA1B,GAA6C,OAHzG,CAP2B;AAAA,EAA7B,CAD8C;AAAA,CAAhD,CAJA;AAmBAI,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CAGfo1B,MAAA,EAAQ/S,YAAA,CAAa,KAAb,CAHO;AAAA,CAMfwS,MAAA,EAAQxS,YAAA,CAAa,IAAb,CANO;AAAA,CAAjB,C;;;;;;ACnBA,IAAI3H,MAAA,GAASP,mBAAA,CAAQ,EAAR,CAAb;AACA,IAAIkb,YAAA,GAAelb,mBAAA,CAAQ,GAAR,CAAnB,CADA;AAEA,IAAImb,oBAAA,GAAuBnb,mBAAA,CAAQ,EAAR,CAA3B,CAFA;AAGA,IAAIS,2BAAA,GAA8BT,mBAAA,CAAQ,EAAR,CAAlC,CAHA;AAIA,IAAIiK,eAAA,GAAkBjK,mBAAA,CAAQ,EAAR,CAAtB,CAJA;AAMA,IAAIqN,QAAA,GAAWpD,eAAA,CAAgB,UAAhB,CAAf,CANA;AAOA,IAAImE,aAAA,GAAgBnE,eAAA,CAAgB,aAAhB,CAApB,CAPA;AAQA,IAAImR,WAAA,GAAcD,oBAAA,CAAqB10B,MAAvC,CARA;AAUA,SAAS40B,eAAT,IAA4BH,YAA5B,EAA0C;AAAA,CACxC,IAAII,UAAA,GAAa/a,MAAA,CAAO8a,eAAP,CAAjB,CADwC;AAAA,CAExC,IAAIE,mBAAA,GAAsBD,UAAA,IAAcA,UAAA,CAAW7Z,SAAnD,CAFwC;AAAA,CAGxC,IAAI8Z,mBAAJ,EAAyB;AAAA,EAEvB,IAAIA,mBAAA,CAAoBlO,QAApB,MAAkC+N,WAAtC;AAAA,GAAmD,IAAI;AAAA,IACrD3a,2BAAA,CAA4B8a,mBAA5B,EAAiDlO,QAAjD,EAA2D+N,WAA3D,EADqD;AAAA,IAAJ,CAEjD,OAAOzY,KAAP,EAAc;AAAA,IACd4Y,mBAAA,CAAoBlO,QAApB,IAAgC+N,WAAhC,CADc;AAAA,IAJO;AAAA,EAOvB,IAAI,CAACG,mBAAA,CAAoBnN,aAApB,CAAL,EAAyC;AAAA,GACvC3N,2BAAA,CAA4B8a,mBAA5B,EAAiDnN,aAAjD,EAAgEiN,eAAhE,EADuC;AAAA,GAPlB;AAAA,EAUvB,IAAIH,YAAA,CAAaG,eAAb,CAAJ;AAAA,GAAmC,SAASG,WAAT,IAAwBL,oBAAxB,EAA8C;AAAA,IAE/E,IAAII,mBAAA,CAAoBC,WAApB,MAAqCL,oBAAA,CAAqBK,WAArB,CAAzC;AAAA,KAA4E,IAAI;AAAA,MAC9E/a,2BAAA,CAA4B8a,mBAA5B,EAAiDC,WAAjD,EAA8DL,oBAAA,CAAqBK,WAArB,CAA9D,EAD8E;AAAA,MAAJ,CAE1E,OAAO7Y,KAAP,EAAc;AAAA,MACd4Y,mBAAA,CAAoBC,WAApB,IAAmCL,oBAAA,CAAqBK,WAArB,CAAnC,CADc;AAAA,MAJ+D;AAAA,IAV1D;AAAA,EAHe;AAAA,C;;;;;;ACR1C92B,MAAA,CAAOmB,OAAP,GAAiB;AAAA,CACf41B,WAAA,EAAa,CADE;AAAA,CAEfC,mBAAA,EAAqB,CAFN;AAAA,CAGfC,YAAA,EAAc,CAHC;AAAA,CAIfC,cAAA,EAAgB,CAJD;AAAA,CAKfC,WAAA,EAAa,CALE;AAAA,CAMfC,aAAA,EAAe,CANA;AAAA,CAOfC,YAAA,EAAc,CAPC;AAAA,CAQfC,oBAAA,EAAsB,CARP;AAAA,CASfC,QAAA,EAAU,CATK;AAAA,CAUfC,iBAAA,EAAmB,CAVJ;AAAA,CAWfC,cAAA,EAAgB,CAXD;AAAA,CAYfC,eAAA,EAAiB,CAZF;AAAA,CAafC,iBAAA,EAAmB,CAbJ;AAAA,CAcfC,SAAA,EAAW,CAdI;AAAA,CAefC,aAAA,EAAe,CAfA;AAAA,CAgBfC,YAAA,EAAc,CAhBC;AAAA,CAiBfC,QAAA,EAAU,CAjBK;AAAA,CAkBfC,gBAAA,EAAkB,CAlBH;AAAA,CAmBfC,MAAA,EAAQ,CAnBO;AAAA,CAoBfC,WAAA,EAAa,CApBE;AAAA,CAqBfC,aAAA,EAAe,CArBA;AAAA,CAsBfC,aAAA,EAAe,CAtBA;AAAA,CAuBfC,cAAA,EAAgB,CAvBD;AAAA,CAwBfC,YAAA,EAAc,CAxBC;AAAA,CAyBfC,aAAA,EAAe,CAzBA;AAAA,CA0BfC,gBAAA,EAAkB,CA1BH;AAAA,CA2BfC,gBAAA,EAAkB,CA3BH;AAAA,CA4BfC,cAAA,EAAgB,CA5BD;AAAA,CA6BfC,gBAAA,EAAkB,CA7BH;AAAA,CA8BfC,aAAA,EAAe,CA9BA;AAAA,CA+BfC,SAAA,EAAW,CA/BI;AAAA,CAAjB,C;;;;;;ACCA,CAAC,UAAUhd,MAAV,EAAkBid,OAAlB,EAA2B;AAAA,CACxB,QAA+DA,OAAA,CAAQ33B,OAAR,CAA/D,GACA,CADA,CADwB;AAAA,CAA3B,CAIC,IAJD,EAIQ,UAAUA,OAAV,EAAmB;AAAA,CAAE,aAAF;AAAA,CAGxB,IAAI43B,cAAA,GAAiB,OAAOlT,MAAP,KAAkB,UAAlB,IAAgC,OAAOA,MAAA,CAAO3gB,QAAd,KAA2B,QAA3D,GACjB2gB,MADiB,GAEjB,UAAUmT,WAAV,EAAuB;AAAA,EAAE,OAAO,YAAYA,WAAZ,GAA0B,GAAjC,CAAF;AAAA,EAF3B,CAHwB;AAAA,CAQxB,SAASC,IAAT,GAAgB;AAAA,EACZ,OAAO/b,SAAP,CADY;AAAA,EARQ;AAAA,CAWxB,SAASgc,UAAT,GAAsB;AAAA,EAClB,IAAI,OAAO3b,IAAP,KAAgB,WAApB,EAAiC;AAAA,GAC7B,OAAOA,IAAP,CAD6B;AAAA,GAAjC,MAGK,IAAI,OAAOD,MAAP,KAAkB,WAAtB,EAAmC;AAAA,GACpC,OAAOA,MAAP,CADoC;AAAA,GAAnC,MAGA,IAAI,OAAOzB,MAAP,KAAkB,WAAtB,EAAmC;AAAA,GACpC,OAAOA,MAAP,CADoC;AAAA,GAPtB;AAAA,EAUlB,OAAOqB,SAAP,CAVkB;AAAA,EAXE;AAAA,CAuBxB,IAAIic,OAAA,GAAUD,UAAA,EAAd,CAvBwB;AAAA,CAyBxB,SAASE,YAAT,CAAsB7H,CAAtB,EAAyB;AAAA,EACrB,OAAQ,OAAOA,CAAP,KAAa,QAAb,IAAyBA,CAAA,KAAM,IAAhC,IAAyC,OAAOA,CAAP,KAAa,UAA7D,CADqB;AAAA,EAzBD;AAAA,CA4BxB,IAAI8H,8BAAA,GAAiCJ,IAArC,CA5BwB;AAAA,CA8BxB,IAAIK,eAAA,GAAkB/M,OAAtB,CA9BwB;AAAA,CA+BxB,IAAIgN,mBAAA,GAAsBhN,OAAA,CAAQxP,SAAR,CAAkBwS,IAA5C,CA/BwB;AAAA,CAgCxB,IAAIiK,sBAAA,GAAyBjN,OAAA,CAAQtxB,OAAR,CAAgBgwB,IAAhB,CAAqBqO,eAArB,CAA7B,CAhCwB;AAAA,CAiCxB,IAAIG,qBAAA,GAAwBlN,OAAA,CAAQrxB,MAAR,CAAe+vB,IAAf,CAAoBqO,eAApB,CAA5B,CAjCwB;AAAA,CAkCxB,SAASI,UAAT,CAAoBtI,QAApB,EAA8B;AAAA,EAC1B,OAAO,IAAIkI,eAAJ,CAAoBlI,QAApB,CAAP,CAD0B;AAAA,EAlCN;AAAA,CAqCxB,SAASuI,mBAAT,CAA6Bn5B,KAA7B,EAAoC;AAAA,EAChC,OAAOg5B,sBAAA,CAAuBh5B,KAAvB,CAAP,CADgC;AAAA,EArCZ;AAAA,CAwCxB,SAASo5B,mBAAT,CAA6Br/B,MAA7B,EAAqC;AAAA,EACjC,OAAOk/B,qBAAA,CAAsBl/B,MAAtB,CAAP,CADiC;AAAA,EAxCb;AAAA,CA2CxB,SAASs/B,kBAAT,CAA4BxK,OAA5B,EAAqCgC,WAArC,EAAkDC,UAAlD,EAA8D;AAAA,EAG1D,OAAOiI,mBAAA,CAAoBpb,IAApB,CAAyBkR,OAAzB,EAAkCgC,WAAlC,EAA+CC,UAA/C,CAAP,CAH0D;AAAA,EA3CtC;AAAA,CAgDxB,SAASwI,WAAT,CAAqBzK,OAArB,EAA8BgC,WAA9B,EAA2CC,UAA3C,EAAuD;AAAA,EACnDuI,kBAAA,CAAmBA,kBAAA,CAAmBxK,OAAnB,EAA4BgC,WAA5B,EAAyCC,UAAzC,CAAnB,EAAyEpU,SAAzE,EAAoFmc,8BAApF,EADmD;AAAA,EAhD/B;AAAA,CAmDxB,SAASU,eAAT,CAAyB1K,OAAzB,EAAkCgC,WAAlC,EAA+C;AAAA,EAC3CyI,WAAA,CAAYzK,OAAZ,EAAqBgC,WAArB,EAD2C;AAAA,EAnDvB;AAAA,CAsDxB,SAAS2I,aAAT,CAAuB3K,OAAvB,EAAgCiC,UAAhC,EAA4C;AAAA,EACxCwI,WAAA,CAAYzK,OAAZ,EAAqBnS,SAArB,EAAgCoU,UAAhC,EADwC;AAAA,EAtDpB;AAAA,CAyDxB,SAAS2I,oBAAT,CAA8B5K,OAA9B,EAAuC6K,kBAAvC,EAA2DC,gBAA3D,EAA6E;AAAA,EACzE,OAAON,kBAAA,CAAmBxK,OAAnB,EAA4B6K,kBAA5B,EAAgDC,gBAAhD,CAAP,CADyE;AAAA,EAzDrD;AAAA,CA4DxB,SAASC,yBAAT,CAAmC/K,OAAnC,EAA4C;AAAA,EACxCwK,kBAAA,CAAmBxK,OAAnB,EAA4BnS,SAA5B,EAAuCmc,8BAAvC,EADwC;AAAA,EA5DpB;AAAA,CA+DxB,IAAI7E,cAAA,GAAkB,YAAY;AAAA,EAC9B,IAAI6F,oBAAA,GAAuBlB,OAAA,IAAWA,OAAA,CAAQ3E,cAA9C,CAD8B;AAAA,EAE9B,IAAI,OAAO6F,oBAAP,KAAgC,UAApC,EAAgD;AAAA,GAC5C,OAAOA,oBAAP,CAD4C;AAAA,GAFlB;AAAA,EAK9B,IAAIC,eAAA,GAAkBX,mBAAA,CAAoBzc,SAApB,CAAtB,CAL8B;AAAA,EAM9B,OAAO,UAAU5b,EAAV,EAAc;AAAA,GAAE,OAAOu4B,kBAAA,CAAmBS,eAAnB,EAAoCh5B,EAApC,CAAP,CAAF;AAAA,GAArB,CAN8B;AAAA,EAAb,EAArB,CA/DwB;AAAA,CAuExB,SAASi5B,WAAT,CAAqBjuB,CAArB,EAAwBC,CAAxB,EAA2BknB,IAA3B,EAAiC;AAAA,EAC7B,IAAI,OAAOnnB,CAAP,KAAa,UAAjB,EAA6B;AAAA,GACzB,MAAM,IAAI0S,SAAJ,CAAc,4BAAd,CAAN,CADyB;AAAA,GADA;AAAA,EAI7B,OAAO1Z,QAAA,CAASyX,SAAT,CAAmB+O,KAAnB,CAAyB3N,IAAzB,CAA8B7R,CAA9B,EAAiCC,CAAjC,EAAoCknB,IAApC,CAAP,CAJ6B;AAAA,EAvET;AAAA,CA6ExB,SAAS+G,WAAT,CAAqBluB,CAArB,EAAwBC,CAAxB,EAA2BknB,IAA3B,EAAiC;AAAA,EAC7B,IAAI;AAAA,GACA,OAAOkG,mBAAA,CAAoBY,WAAA,CAAYjuB,CAAZ,EAAeC,CAAf,EAAkBknB,IAAlB,CAApB,CAAP,CADA;AAAA,GAAJ,CAGA,OAAOjzB,KAAP,EAAc;AAAA,GACV,OAAOo5B,mBAAA,CAAoBp5B,KAApB,CAAP,CADU;AAAA,GAJe;AAAA,EA7ET;AAAA,CAwFxB,IAAIi6B,oBAAA,GAAuB,KAA3B,CAxFwB;AAAA,CA+FxB,IAAIC,WAAA,GAA6B,YAAY;AAAA,EACzC,SAASA,WAAT,GAAuB;AAAA,GACnB,KAAKC,OAAL,GAAe,CAAf,CADmB;AAAA,GAEnB,KAAKC,KAAL,GAAa,CAAb,CAFmB;AAAA,GAInB,KAAKC,MAAL,GAAc;AAAA,IACVC,SAAA,EAAW,EADD;AAAA,IAEVC,KAAA,EAAO7d,SAFG;AAAA,IAAd,CAJmB;AAAA,GAQnB,KAAK8d,KAAL,GAAa,KAAKH,MAAlB,CARmB;AAAA,GAYnB,KAAKF,OAAL,GAAe,CAAf,CAZmB;AAAA,GAcnB,KAAKC,KAAL,GAAa,CAAb,CAdmB;AAAA,GADkB;AAAA,EAiBzCx8B,MAAA,CAAOigB,cAAP,CAAsBqc,WAAA,CAAY3d,SAAlC,EAA6C,QAA7C,EAAuD;AAAA,GACnDrC,GAAA,EAAK,YAAY;AAAA,IACb,OAAO,KAAKkgB,KAAZ,CADa;AAAA,IADkC;AAAA,GAInDn6B,UAAA,EAAY,KAJuC;AAAA,GAKnDC,YAAA,EAAc,IALqC;AAAA,GAAvD,EAjByC;AAAA,EA4BzCg6B,WAAA,CAAY3d,SAAZ,CAAsB+E,IAAtB,GAA6B,UAAUmZ,OAAV,EAAmB;AAAA,GAC5C,IAAIC,OAAA,GAAU,KAAKF,KAAnB,CAD4C;AAAA,GAE5C,IAAIG,OAAA,GAAUD,OAAd,CAF4C;AAAA,GAG5C,IAAIA,OAAA,CAAQJ,SAAR,CAAkBlkB,MAAlB,KAA6B6jB,oBAAA,GAAuB,CAAxD,EAA2D;AAAA,IACvDU,OAAA,GAAU;AAAA,KACNL,SAAA,EAAW,EADL;AAAA,KAENC,KAAA,EAAO7d,SAFD;AAAA,KAAV,CADuD;AAAA,IAHf;AAAA,GAW5Cge,OAAA,CAAQJ,SAAR,CAAkBhZ,IAAlB,CAAuBmZ,OAAvB,EAX4C;AAAA,GAY5C,IAAIE,OAAA,KAAYD,OAAhB,EAAyB;AAAA,IACrB,KAAKF,KAAL,GAAaG,OAAb,CADqB;AAAA,IAErBD,OAAA,CAAQH,KAAR,GAAgBI,OAAhB,CAFqB;AAAA,IAZmB;AAAA,GAgB5C,EAAE,KAAKP,KAAP,CAhB4C;AAAA,GAAhD,CA5ByC;AAAA,EAgDzCF,WAAA,CAAY3d,SAAZ,CAAsBqe,KAAtB,GAA8B,YAAY;AAAA,GACtC,IAAIC,QAAA,GAAW,KAAKR,MAApB,CADsC;AAAA,GAEtC,IAAIS,QAAA,GAAWD,QAAf,CAFsC;AAAA,GAGtC,IAAIE,SAAA,GAAY,KAAKZ,OAArB,CAHsC;AAAA,GAItC,IAAIa,SAAA,GAAYD,SAAA,GAAY,CAA5B,CAJsC;AAAA,GAKtC,IAAIE,QAAA,GAAWJ,QAAA,CAASP,SAAxB,CALsC;AAAA,GAMtC,IAAIG,OAAA,GAAUQ,QAAA,CAASF,SAAT,CAAd,CANsC;AAAA,GAOtC,IAAIC,SAAA,KAAcf,oBAAlB,EAAwC;AAAA,IACpCa,QAAA,GAAWD,QAAA,CAASN,KAApB,CADoC;AAAA,IAEpCS,SAAA,GAAY,CAAZ,CAFoC;AAAA,IAPF;AAAA,GAYtC,EAAE,KAAKZ,KAAP,CAZsC;AAAA,GAatC,KAAKD,OAAL,GAAea,SAAf,CAbsC;AAAA,GActC,IAAIH,QAAA,KAAaC,QAAjB,EAA2B;AAAA,IACvB,KAAKT,MAAL,GAAcS,QAAd,CADuB;AAAA,IAdW;AAAA,GAkBtCG,QAAA,CAASF,SAAT,IAAsBre,SAAtB,CAlBsC;AAAA,GAmBtC,OAAO+d,OAAP,CAnBsC;AAAA,GAA1C,CAhDyC;AAAA,EA6EzCP,WAAA,CAAY3d,SAAZ,CAAsB2e,OAAtB,GAAgC,UAAUC,QAAV,EAAoB;AAAA,GAChD,IAAIn+B,CAAA,GAAI,KAAKm9B,OAAb,CADgD;AAAA,GAEhD,IAAI9F,IAAA,GAAO,KAAKgG,MAAhB,CAFgD;AAAA,GAGhD,IAAIY,QAAA,GAAW5G,IAAA,CAAKiG,SAApB,CAHgD;AAAA,GAIhD,OAAOt9B,CAAA,KAAMi+B,QAAA,CAAS7kB,MAAf,IAAyBie,IAAA,CAAKkG,KAAL,KAAe7d,SAA/C,EAA0D;AAAA,IACtD,IAAI1f,CAAA,KAAMi+B,QAAA,CAAS7kB,MAAnB,EAA2B;AAAA,KACvBie,IAAA,GAAOA,IAAA,CAAKkG,KAAZ,CADuB;AAAA,KAEvBU,QAAA,GAAW5G,IAAA,CAAKiG,SAAhB,CAFuB;AAAA,KAGvBt9B,CAAA,GAAI,CAAJ,CAHuB;AAAA,KAIvB,IAAIi+B,QAAA,CAAS7kB,MAAT,KAAoB,CAAxB,EAA2B;AAAA,MACvB,MADuB;AAAA,MAJJ;AAAA,KAD2B;AAAA,IAStD+kB,QAAA,CAASF,QAAA,CAASj+B,CAAT,CAAT,EATsD;AAAA,IAUtD,EAAEA,CAAF,CAVsD;AAAA,IAJV;AAAA,GAApD,CA7EyC;AAAA,EAgGzCk9B,WAAA,CAAY3d,SAAZ,CAAsB6e,IAAtB,GAA6B,YAAY;AAAA,GACrC,IAAIC,KAAA,GAAQ,KAAKhB,MAAjB,CADqC;AAAA,GAErC,IAAIiB,MAAA,GAAS,KAAKnB,OAAlB,CAFqC;AAAA,GAGrC,OAAOkB,KAAA,CAAMf,SAAN,CAAgBgB,MAAhB,CAAP,CAHqC;AAAA,GAAzC,CAhGyC;AAAA,EAqGzC,OAAOpB,WAAP,CArGyC;AAAA,EAAZ,EAAjC,CA/FwB;AAAA,CAuMxB,SAASqB,qCAAT,CAA+CC,MAA/C,EAAuDC,MAAvD,EAA+D;AAAA,EAC3DD,MAAA,CAAOE,oBAAP,GAA8BD,MAA9B,CAD2D;AAAA,EAE3DA,MAAA,CAAOE,OAAP,GAAiBH,MAAjB,CAF2D;AAAA,EAG3D,IAAIC,MAAA,CAAOG,MAAP,KAAkB,UAAtB,EAAkC;AAAA,GAC9BC,oCAAA,CAAqCL,MAArC,EAD8B;AAAA,GAAlC,MAGK,IAAIC,MAAA,CAAOG,MAAP,KAAkB,QAAtB,EAAgC;AAAA,GACjCE,8CAAA,CAA+CN,MAA/C,EADiC;AAAA,GAAhC,MAGA;AAAA,GACDO,8CAAA,CAA+CP,MAA/C,EAAuDC,MAAA,CAAOO,YAA9D,EADC;AAAA,GATsD;AAAA,EAvMvC;AAAA,CAsNxB,SAASC,iCAAT,CAA2CT,MAA3C,EAAmDzhC,MAAnD,EAA2D;AAAA,EACvD,IAAI0hC,MAAA,GAASD,MAAA,CAAOE,oBAApB,CADuD;AAAA,EAEvD,OAAOQ,oBAAA,CAAqBT,MAArB,EAA6B1hC,MAA7B,CAAP,CAFuD;AAAA,EAtNnC;AAAA,CA0NxB,SAASoiC,kCAAT,CAA4CX,MAA5C,EAAoD;AAAA,EAChD,IAAIA,MAAA,CAAOE,oBAAP,CAA4BE,MAA5B,KAAuC,UAA3C,EAAuD;AAAA,GACnDQ,gCAAA,CAAiCZ,MAAjC,EAAyC,IAAIhd,SAAJ,CAAc,kFAAd,CAAzC,EADmD;AAAA,GAAvD,MAGK;AAAA,GACD6d,yCAAA,CAA0Cb,MAA1C,EAAkD,IAAIhd,SAAJ,CAAc,kFAAd,CAAlD,EADC;AAAA,GAJ2C;AAAA,EAOhDgd,MAAA,CAAOE,oBAAP,CAA4BC,OAA5B,GAAsCjf,SAAtC,CAPgD;AAAA,EAQhD8e,MAAA,CAAOE,oBAAP,GAA8Bhf,SAA9B,CARgD;AAAA,EA1N5B;AAAA,CAqOxB,SAAS4f,mBAAT,CAA6Bx+B,IAA7B,EAAmC;AAAA,EAC/B,OAAO,IAAI0gB,SAAJ,CAAc,YAAY1gB,IAAZ,GAAmB,mCAAjC,CAAP,CAD+B;AAAA,EArOX;AAAA,CAyOxB,SAAS+9B,oCAAT,CAA8CL,MAA9C,EAAsD;AAAA,EAClDA,MAAA,CAAOe,cAAP,GAAwBrD,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GAC1D8gC,MAAA,CAAOgB,sBAAP,GAAgC/hC,OAAhC,CAD0D;AAAA,GAE1D+gC,MAAA,CAAOiB,qBAAP,GAA+B/hC,MAA/B,CAF0D;AAAA,GAAtC,CAAxB,CADkD;AAAA,EAzO9B;AAAA,CA+OxB,SAASqhC,8CAAT,CAAwDP,MAAxD,EAAgEzhC,MAAhE,EAAwE;AAAA,EACpE8hC,oCAAA,CAAqCL,MAArC,EADoE;AAAA,EAEpEY,gCAAA,CAAiCZ,MAAjC,EAAyCzhC,MAAzC,EAFoE;AAAA,EA/OhD;AAAA,CAmPxB,SAAS+hC,8CAAT,CAAwDN,MAAxD,EAAgE;AAAA,EAC5DK,oCAAA,CAAqCL,MAArC,EAD4D;AAAA,EAE5DkB,iCAAA,CAAkClB,MAAlC,EAF4D;AAAA,EAnPxC;AAAA,CAuPxB,SAASY,gCAAT,CAA0CZ,MAA1C,EAAkDzhC,MAAlD,EAA0D;AAAA,EACtD,IAAIyhC,MAAA,CAAOiB,qBAAP,KAAiC/f,SAArC,EAAgD;AAAA,GAC5C,OAD4C;AAAA,GADM;AAAA,EAItDkd,yBAAA,CAA0B4B,MAAA,CAAOe,cAAjC,EAJsD;AAAA,EAKtDf,MAAA,CAAOiB,qBAAP,CAA6B1iC,MAA7B,EALsD;AAAA,EAMtDyhC,MAAA,CAAOgB,sBAAP,GAAgC9f,SAAhC,CANsD;AAAA,EAOtD8e,MAAA,CAAOiB,qBAAP,GAA+B/f,SAA/B,CAPsD;AAAA,EAvPlC;AAAA,CAgQxB,SAAS2f,yCAAT,CAAmDb,MAAnD,EAA2DzhC,MAA3D,EAAmE;AAAA,EAC/DgiC,8CAAA,CAA+CP,MAA/C,EAAuDzhC,MAAvD,EAD+D;AAAA,EAhQ3C;AAAA,CAmQxB,SAAS2iC,iCAAT,CAA2ClB,MAA3C,EAAmD;AAAA,EAC/C,IAAIA,MAAA,CAAOgB,sBAAP,KAAkC9f,SAAtC,EAAiD;AAAA,GAC7C,OAD6C;AAAA,GADF;AAAA,EAI/C8e,MAAA,CAAOgB,sBAAP,CAA8B9f,SAA9B,EAJ+C;AAAA,EAK/C8e,MAAA,CAAOgB,sBAAP,GAAgC9f,SAAhC,CAL+C;AAAA,EAM/C8e,MAAA,CAAOiB,qBAAP,GAA+B/f,SAA/B,CAN+C;AAAA,EAnQ3B;AAAA,CA4QxB,IAAIigB,UAAA,GAAapE,cAAA,CAAe,gBAAf,CAAjB,CA5QwB;AAAA,CA6QxB,IAAIqE,UAAA,GAAarE,cAAA,CAAe,gBAAf,CAAjB,CA7QwB;AAAA,CA8QxB,IAAIsE,WAAA,GAActE,cAAA,CAAe,iBAAf,CAAlB,CA9QwB;AAAA,CA+QxB,IAAIuE,SAAA,GAAYvE,cAAA,CAAe,eAAf,CAAhB,CA/QwB;AAAA,CAmRxB,IAAIwE,cAAA,GAAiBpnB,MAAA,CAAOqnB,QAAP,IAAmB,UAAUjM,CAAV,EAAa;AAAA,EACjD,OAAO,OAAOA,CAAP,KAAa,QAAb,IAAyBiM,QAAA,CAASjM,CAAT,CAAhC,CADiD;AAAA,EAArD,CAnRwB;AAAA,CAyRxB,IAAIkM,SAAA,GAAYvhC,IAAA,CAAKwhC,KAAL,IAAc,UAAU1kB,CAAV,EAAa;AAAA,EACvC,OAAOA,CAAA,GAAI,CAAJ,GAAQ9c,IAAA,CAAK+nB,IAAL,CAAUjL,CAAV,CAAR,GAAuB9c,IAAA,CAAKgoB,KAAL,CAAWlL,CAAX,CAA9B,CADuC;AAAA,EAA3C,CAzRwB;AAAA,CA8RxB,SAAS2kB,YAAT,CAAsBpM,CAAtB,EAAyB;AAAA,EACrB,OAAO,OAAOA,CAAP,KAAa,QAAb,IAAyB,OAAOA,CAAP,KAAa,UAA7C,CADqB;AAAA,EA9RD;AAAA,CAiSxB,SAASqM,gBAAT,CAA0Bh9B,GAA1B,EAA+B3G,OAA/B,EAAwC;AAAA,EACpC,IAAI2G,GAAA,KAAQsc,SAAR,IAAqB,CAACygB,YAAA,CAAa/8B,GAAb,CAA1B,EAA6C;AAAA,GACzC,MAAM,IAAIoe,SAAJ,CAAc/kB,OAAA,GAAU,oBAAxB,CAAN,CADyC;AAAA,GADT;AAAA,EAjShB;AAAA,CAuSxB,SAAS4jC,cAAT,CAAwBtM,CAAxB,EAA2Bt3B,OAA3B,EAAoC;AAAA,EAChC,IAAI,OAAOs3B,CAAP,KAAa,UAAjB,EAA6B;AAAA,GACzB,MAAM,IAAIvS,SAAJ,CAAc/kB,OAAA,GAAU,qBAAxB,CAAN,CADyB;AAAA,GADG;AAAA,EAvSZ;AAAA,CA6SxB,SAASglB,QAAT,CAAkBsS,CAAlB,EAAqB;AAAA,EACjB,OAAQ,OAAOA,CAAP,KAAa,QAAb,IAAyBA,CAAA,KAAM,IAAhC,IAAyC,OAAOA,CAAP,KAAa,UAA7D,CADiB;AAAA,EA7SG;AAAA,CAgTxB,SAASuM,YAAT,CAAsBvM,CAAtB,EAAyBt3B,OAAzB,EAAkC;AAAA,EAC9B,IAAI,CAACglB,QAAA,CAASsS,CAAT,CAAL,EAAkB;AAAA,GACd,MAAM,IAAIvS,SAAJ,CAAc/kB,OAAA,GAAU,oBAAxB,CAAN,CADc;AAAA,GADY;AAAA,EAhTV;AAAA,CAqTxB,SAAS8jC,sBAAT,CAAgCxM,CAAhC,EAAmC6E,QAAnC,EAA6Cn8B,OAA7C,EAAsD;AAAA,EAClD,IAAIs3B,CAAA,KAAMrU,SAAV,EAAqB;AAAA,GACjB,MAAM,IAAI8B,SAAJ,CAAc,eAAeoX,QAAf,GAA0B,mBAA1B,GAAgDn8B,OAAhD,GAA0D,IAAxE,CAAN,CADiB;AAAA,GAD6B;AAAA,EArT9B;AAAA,CA0TxB,SAAS+jC,mBAAT,CAA6BzM,CAA7B,EAAgC0M,KAAhC,EAAuChkC,OAAvC,EAAgD;AAAA,EAC5C,IAAIs3B,CAAA,KAAMrU,SAAV,EAAqB;AAAA,GACjB,MAAM,IAAI8B,SAAJ,CAAcif,KAAA,GAAQ,mBAAR,GAA8BhkC,OAA9B,GAAwC,IAAtD,CAAN,CADiB;AAAA,GADuB;AAAA,EA1TxB;AAAA,CAgUxB,SAASikC,yBAAT,CAAmC19B,KAAnC,EAA0C;AAAA,EACtC,OAAO2V,MAAA,CAAO3V,KAAP,CAAP,CADsC;AAAA,EAhUlB;AAAA,CAmUxB,SAAS29B,kBAAT,CAA4B5M,CAA5B,EAA+B;AAAA,EAC3B,OAAOA,CAAA,KAAM,CAAN,GAAU,CAAV,GAAcA,CAArB,CAD2B;AAAA,EAnUP;AAAA,CAsUxB,SAAS6M,WAAT,CAAqB7M,CAArB,EAAwB;AAAA,EACpB,OAAO4M,kBAAA,CAAmBV,SAAA,CAAUlM,CAAV,CAAnB,CAAP,CADoB;AAAA,EAtUA;AAAA,CA0UxB,SAAS8M,uCAAT,CAAiD79B,KAAjD,EAAwDvG,OAAxD,EAAiE;AAAA,EAC7D,IAAIqkC,UAAA,GAAa,CAAjB,CAD6D;AAAA,EAE7D,IAAIC,UAAA,GAAapoB,MAAA,CAAOqoB,gBAAxB,CAF6D;AAAA,EAG7D,IAAIjN,CAAA,GAAIpb,MAAA,CAAO3V,KAAP,CAAR,CAH6D;AAAA,EAI7D+wB,CAAA,GAAI4M,kBAAA,CAAmB5M,CAAnB,CAAJ,CAJ6D;AAAA,EAK7D,IAAI,CAACgM,cAAA,CAAehM,CAAf,CAAL,EAAwB;AAAA,GACpB,MAAM,IAAIvS,SAAJ,CAAc/kB,OAAA,GAAU,yBAAxB,CAAN,CADoB;AAAA,GALqC;AAAA,EAQ7Ds3B,CAAA,GAAI6M,WAAA,CAAY7M,CAAZ,CAAJ,CAR6D;AAAA,EAS7D,IAAIA,CAAA,GAAI+M,UAAJ,IAAkB/M,CAAA,GAAIgN,UAA1B,EAAsC;AAAA,GAClC,MAAM,IAAIvf,SAAJ,CAAc/kB,OAAA,GAAU,oCAAV,GAAiDqkC,UAAjD,GAA8D,MAA9D,GAAuEC,UAAvE,GAAoF,aAAlG,CAAN,CADkC;AAAA,GATuB;AAAA,EAY7D,IAAI,CAAChB,cAAA,CAAehM,CAAf,CAAD,IAAsBA,CAAA,KAAM,CAAhC,EAAmC;AAAA,GAC/B,OAAO,CAAP,CAD+B;AAAA,GAZ0B;AAAA,EAmB7D,OAAOA,CAAP,CAnB6D;AAAA,EA1UzC;AAAA,CAgWxB,SAASkN,oBAAT,CAA8BlN,CAA9B,EAAiCt3B,OAAjC,EAA0C;AAAA,EACtC,IAAI,CAACykC,gBAAA,CAAiBnN,CAAjB,CAAL,EAA0B;AAAA,GACtB,MAAM,IAAIvS,SAAJ,CAAc/kB,OAAA,GAAU,2BAAxB,CAAN,CADsB;AAAA,GADY;AAAA,EAhWlB;AAAA,CAuWxB,SAAS0kC,kCAAT,CAA4C1C,MAA5C,EAAoD;AAAA,EAChD,OAAO,IAAI2C,2BAAJ,CAAgC3C,MAAhC,CAAP,CADgD;AAAA,EAvW5B;AAAA,CA2WxB,SAAS4C,4BAAT,CAAsC5C,MAAtC,EAA8C6C,WAA9C,EAA2D;AAAA,EACvD7C,MAAA,CAAOE,OAAP,CAAe4C,aAAf,CAA6Bjd,IAA7B,CAAkCgd,WAAlC,EADuD;AAAA,EA3WnC;AAAA,CA8WxB,SAASE,gCAAT,CAA0C/C,MAA1C,EAAkDhlB,KAAlD,EAAyDzT,IAAzD,EAA+D;AAAA,EAC3D,IAAIw4B,MAAA,GAASC,MAAA,CAAOE,OAApB,CAD2D;AAAA,EAE3D,IAAI2C,WAAA,GAAc9C,MAAA,CAAO+C,aAAP,CAAqB3D,KAArB,EAAlB,CAF2D;AAAA,EAG3D,IAAI53B,IAAJ,EAAU;AAAA,GACNs7B,WAAA,CAAYG,WAAZ,GADM;AAAA,GAAV,MAGK;AAAA,GACDH,WAAA,CAAYI,WAAZ,CAAwBjoB,KAAxB,EADC;AAAA,GANsD;AAAA,EA9WvC;AAAA,CAwXxB,SAASkoB,gCAAT,CAA0ClD,MAA1C,EAAkD;AAAA,EAC9C,OAAOA,MAAA,CAAOE,OAAP,CAAe4C,aAAf,CAA6BnoB,MAApC,CAD8C;AAAA,EAxX1B;AAAA,CA2XxB,SAASwoB,8BAAT,CAAwCnD,MAAxC,EAAgD;AAAA,EAC5C,IAAID,MAAA,GAASC,MAAA,CAAOE,OAApB,CAD4C;AAAA,EAE5C,IAAIH,MAAA,KAAW9e,SAAf,EAA0B;AAAA,GACtB,OAAO,KAAP,CADsB;AAAA,GAFkB;AAAA,EAK5C,IAAI,CAACmiB,6BAAA,CAA8BrD,MAA9B,CAAL,EAA4C;AAAA,GACxC,OAAO,KAAP,CADwC;AAAA,GALA;AAAA,EAQ5C,OAAO,IAAP,CAR4C;AAAA,EA3XxB;AAAA,CA0YxB,IAAI4C,2BAAA,GAA6C,YAAY;AAAA,EACzD,SAASA,2BAAT,CAAqC3C,MAArC,EAA6C;AAAA,GACzC8B,sBAAA,CAAuB9B,MAAvB,EAA+B,CAA/B,EAAkC,6BAAlC,EADyC;AAAA,GAEzCwC,oBAAA,CAAqBxC,MAArB,EAA6B,iBAA7B,EAFyC;AAAA,GAGzC,IAAIqD,sBAAA,CAAuBrD,MAAvB,CAAJ,EAAoC;AAAA,IAChC,MAAM,IAAIjd,SAAJ,CAAc,6EAAd,CAAN,CADgC;AAAA,IAHK;AAAA,GAMzC+c,qCAAA,CAAsC,IAAtC,EAA4CE,MAA5C,EANyC;AAAA,GAOzC,KAAK8C,aAAL,GAAqB,IAAIrE,WAAJ,EAArB,CAPyC;AAAA,GADY;AAAA,EAUzDt8B,MAAA,CAAOigB,cAAP,CAAsBugB,2BAAA,CAA4B7hB,SAAlD,EAA6D,QAA7D,EAAuE;AAAA,GAKnErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC2kB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,KACtC,OAAOzF,mBAAA,CAAoB2F,gCAAA,CAAiC,QAAjC,CAApB,CAAP,CADsC;AAAA,KAD7B;AAAA,IAIb,OAAO,KAAKxC,cAAZ,CAJa;AAAA,IALkD;AAAA,GAWnEt8B,UAAA,EAAY,KAXuD;AAAA,GAYnEC,YAAA,EAAc,IAZqD;AAAA,GAAvE,EAVyD;AAAA,EA2BzDk+B,2BAAA,CAA4B7hB,SAA5B,CAAsCyiB,MAAtC,GAA+C,UAAUjlC,MAAV,EAAkB;AAAA,GAC7D,IAAIA,MAAA,KAAW,KAAK,CAApB,EAAuB;AAAA,IAAEA,MAAA,GAAS2iB,SAAT,CAAF;AAAA,IADsC;AAAA,GAE7D,IAAI,CAACmiB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAOzF,mBAAA,CAAoB2F,gCAAA,CAAiC,QAAjC,CAApB,CAAP,CADsC;AAAA,IAFmB;AAAA,GAK7D,IAAI,KAAKrD,oBAAL,KAA8Bhf,SAAlC,EAA6C;AAAA,IACzC,OAAO0c,mBAAA,CAAoBkD,mBAAA,CAAoB,QAApB,CAApB,CAAP,CADyC;AAAA,IALgB;AAAA,GAQ7D,OAAOL,iCAAA,CAAkC,IAAlC,EAAwCliC,MAAxC,CAAP,CAR6D;AAAA,GAAjE,CA3ByD;AAAA,EA0CzDqkC,2BAAA,CAA4B7hB,SAA5B,CAAsC0iB,IAAtC,GAA6C,YAAY;AAAA,GACrD,IAAI,CAACJ,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAOzF,mBAAA,CAAoB2F,gCAAA,CAAiC,MAAjC,CAApB,CAAP,CADsC;AAAA,IADW;AAAA,GAIrD,IAAI,KAAKrD,oBAAL,KAA8Bhf,SAAlC,EAA6C;AAAA,IACzC,OAAO0c,mBAAA,CAAoBkD,mBAAA,CAAoB,WAApB,CAApB,CAAP,CADyC;AAAA,IAJQ;AAAA,GAOrD,IAAI4C,cAAJ,CAPqD;AAAA,GAQrD,IAAIC,aAAJ,CARqD;AAAA,GASrD,IAAItQ,OAAA,GAAUqK,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,IAChDwkC,cAAA,GAAiBzkC,OAAjB,CADgD;AAAA,IAEhD0kC,aAAA,GAAgBzkC,MAAhB,CAFgD;AAAA,IAAtC,CAAd,CATqD;AAAA,GAarD,IAAI4jC,WAAA,GAAc;AAAA,IACdI,WAAA,EAAa,UAAUjoB,KAAV,EAAiB;AAAA,KAAE,OAAOyoB,cAAA,CAAe;AAAA,MAAEl/B,KAAA,EAAOyW,KAAT;AAAA,MAAgBzT,IAAA,EAAM,KAAtB;AAAA,MAAf,CAAP,CAAF;AAAA,KADhB;AAAA,IAEdy7B,WAAA,EAAa,YAAY;AAAA,KAAE,OAAOS,cAAA,CAAe;AAAA,MAAEl/B,KAAA,EAAO0c,SAAT;AAAA,MAAoB1Z,IAAA,EAAM,IAA1B;AAAA,MAAf,CAAP,CAAF;AAAA,KAFX;AAAA,IAGdo8B,WAAA,EAAa,UAAU7J,CAAV,EAAa;AAAA,KAAE,OAAO4J,aAAA,CAAc5J,CAAd,CAAP,CAAF;AAAA,KAHZ;AAAA,IAAlB,CAbqD;AAAA,GAkBrD8J,+BAAA,CAAgC,IAAhC,EAAsCf,WAAtC,EAlBqD;AAAA,GAmBrD,OAAOzP,OAAP,CAnBqD;AAAA,GAAzD,CA1CyD;AAAA,EAwEzDuP,2BAAA,CAA4B7hB,SAA5B,CAAsC+iB,WAAtC,GAAoD,YAAY;AAAA,GAC5D,IAAI,CAACT,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,MAAME,gCAAA,CAAiC,aAAjC,CAAN,CADsC;AAAA,IADkB;AAAA,GAI5D,IAAI,KAAKrD,oBAAL,KAA8Bhf,SAAlC,EAA6C;AAAA,IACzC,OADyC;AAAA,IAJe;AAAA,GAO5D,IAAI,KAAK6hB,aAAL,CAAmBnoB,MAAnB,GAA4B,CAAhC,EAAmC;AAAA,IAC/B,MAAM,IAAIoI,SAAJ,CAAc,qFAAd,CAAN,CAD+B;AAAA,IAPyB;AAAA,GAU5D2d,kCAAA,CAAmC,IAAnC,EAV4D;AAAA,GAAhE,CAxEyD;AAAA,EAoFzD,OAAOiC,2BAAP,CApFyD;AAAA,EAAZ,EAAjD,CA1YwB;AAAA,CAgexBxgC,MAAA,CAAOioB,gBAAP,CAAwBuY,2BAAA,CAA4B7hB,SAApD,EAA+D;AAAA,EAC3DyiB,MAAA,EAAQ,EAAE/+B,UAAA,EAAY,IAAd,EADmD;AAAA,EAE3Dg/B,IAAA,EAAM,EAAEh/B,UAAA,EAAY,IAAd,EAFqD;AAAA,EAG3Dq/B,WAAA,EAAa,EAAEr/B,UAAA,EAAY,IAAd,EAH8C;AAAA,EAI3Ds/B,MAAA,EAAQ,EAAEt/B,UAAA,EAAY,IAAd,EAJmD;AAAA,EAA/D,EAhewB;AAAA,CAsexB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBugB,2BAAA,CAA4B7hB,SAAlD,EAA6Dgc,cAAA,CAAeiH,WAA5E,EAAyF;AAAA,GACrFx/B,KAAA,EAAO,6BAD8E;AAAA,GAErFE,YAAA,EAAc,IAFuE;AAAA,GAAzF,EADgD;AAAA,EAte5B;AAAA,CA6exB,SAAS2+B,6BAAT,CAAuC9N,CAAvC,EAA0C;AAAA,EACtC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADgB;AAAA,EAItC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,eAAxC,CAAL,EAA+D;AAAA,GAC3D,OAAO,KAAP,CAD2D;AAAA,GAJzB;AAAA,EAOtC,OAAO,IAAP,CAPsC;AAAA,EA7elB;AAAA,CAsfxB,SAASsO,+BAAT,CAAyC7D,MAAzC,EAAiD8C,WAAjD,EAA8D;AAAA,EAC1D,IAAI7C,MAAA,GAASD,MAAA,CAAOE,oBAApB,CAD0D;AAAA,EAE1DD,MAAA,CAAOgE,UAAP,GAAoB,IAApB,CAF0D;AAAA,EAG1D,IAAIhE,MAAA,CAAOG,MAAP,KAAkB,QAAtB,EAAgC;AAAA,GAC5B0C,WAAA,CAAYG,WAAZ,GAD4B;AAAA,GAAhC,MAGK,IAAIhD,MAAA,CAAOG,MAAP,KAAkB,SAAtB,EAAiC;AAAA,GAClC0C,WAAA,CAAYc,WAAZ,CAAwB3D,MAAA,CAAOO,YAA/B,EADkC;AAAA,GAAjC,MAGA;AAAA,GACDP,MAAA,CAAOiE,yBAAP,CAAiC5C,SAAjC,EAA4CwB,WAA5C,EADC;AAAA,GATqD;AAAA,EAtftC;AAAA,CAogBxB,SAASS,gCAAT,CAA0CjhC,IAA1C,EAAgD;AAAA,EAC5C,OAAO,IAAI0gB,SAAJ,CAAc,2CAA2C1gB,IAA3C,GAAkD,oDAAhE,CAAP,CAD4C;AAAA,EApgBxB;AAAA,CAygBxB,IAAI6hC,EAAJ,CAzgBwB;AAAA,CA0gBxB,IAAIC,sBAAJ,CA1gBwB;AAAA,CA2gBxB,IAAI,OAAOrH,cAAA,CAAesH,aAAtB,KAAwC,QAA5C,EAAsD;AAAA,EAGlDD,sBAAA,GAA0B,CAAAD,EAAA,GAAK,EAAL,EAGtBA,EAAA,CAAGpH,cAAA,CAAesH,aAAlB,IAAmC,YAAY;AAAA,GAC3C,OAAO,IAAP,CAD2C;AAAA,GAHzB,EAMtBF,EANsB,CAA1B,CAHkD;AAAA,EAUlD/hC,MAAA,CAAOigB,cAAP,CAAsB+hB,sBAAtB,EAA8CrH,cAAA,CAAesH,aAA7D,EAA4E,EAAE5/B,UAAA,EAAY,KAAd,EAA5E,EAVkD;AAAA,EA3gB9B;AAAA,CAyhBxB,IAAI6/B,+BAAA,GAAiD,YAAY;AAAA,EAC7D,SAASA,+BAAT,CAAyCtE,MAAzC,EAAiDuE,aAAjD,EAAgE;AAAA,GAC5D,KAAKC,eAAL,GAAuBtjB,SAAvB,CAD4D;AAAA,GAE5D,KAAKujB,WAAL,GAAmB,KAAnB,CAF4D;AAAA,GAG5D,KAAKtE,OAAL,GAAeH,MAAf,CAH4D;AAAA,GAI5D,KAAK0E,cAAL,GAAsBH,aAAtB,CAJ4D;AAAA,GADH;AAAA,EAO7DD,+BAAA,CAAgCvjB,SAAhC,CAA0ChZ,IAA1C,GAAiD,YAAY;AAAA,GACzD,IAAI48B,KAAA,GAAQ,IAAZ,CADyD;AAAA,GAEzD,IAAIC,SAAA,GAAY,YAAY;AAAA,IAAE,OAAOD,KAAA,CAAME,UAAN,EAAP,CAAF;AAAA,IAA5B,CAFyD;AAAA,GAGzD,KAAKL,eAAL,GAAuB,KAAKA,eAAL,GACnBvG,oBAAA,CAAqB,KAAKuG,eAA1B,EAA2CI,SAA3C,EAAsDA,SAAtD,CADmB,GAEnBA,SAAA,EAFJ,CAHyD;AAAA,GAMzD,OAAO,KAAKJ,eAAZ,CANyD;AAAA,GAA7D,CAP6D;AAAA,EAe7DF,+BAAA,CAAgCvjB,SAAhC,CAA0C+jB,MAA1C,GAAmD,UAAUtgC,KAAV,EAAiB;AAAA,GAChE,IAAImgC,KAAA,GAAQ,IAAZ,CADgE;AAAA,GAEhE,IAAII,WAAA,GAAc,YAAY;AAAA,IAAE,OAAOJ,KAAA,CAAMK,YAAN,CAAmBxgC,KAAnB,CAAP,CAAF;AAAA,IAA9B,CAFgE;AAAA,GAGhE,OAAO,KAAKggC,eAAL,GACHvG,oBAAA,CAAqB,KAAKuG,eAA1B,EAA2CO,WAA3C,EAAwDA,WAAxD,CADG,GAEHA,WAAA,EAFJ,CAHgE;AAAA,GAApE,CAf6D;AAAA,EAsB7DT,+BAAA,CAAgCvjB,SAAhC,CAA0C8jB,UAA1C,GAAuD,YAAY;AAAA,GAC/D,IAAIF,KAAA,GAAQ,IAAZ,CAD+D;AAAA,GAE/D,IAAI,KAAKF,WAAT,EAAsB;AAAA,IAClB,OAAOlU,OAAA,CAAQtxB,OAAR,CAAgB;AAAA,KAAEuF,KAAA,EAAO0c,SAAT;AAAA,KAAoB1Z,IAAA,EAAM,IAA1B;AAAA,KAAhB,CAAP,CADkB;AAAA,IAFyC;AAAA,GAK/D,IAAIw4B,MAAA,GAAS,KAAKG,OAAlB,CAL+D;AAAA,GAM/D,IAAIH,MAAA,CAAOE,oBAAP,KAAgChf,SAApC,EAA+C;AAAA,IAC3C,OAAO0c,mBAAA,CAAoBkD,mBAAA,CAAoB,SAApB,CAApB,CAAP,CAD2C;AAAA,IANgB;AAAA,GAS/D,IAAI4C,cAAJ,CAT+D;AAAA,GAU/D,IAAIC,aAAJ,CAV+D;AAAA,GAW/D,IAAItQ,OAAA,GAAUqK,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,IAChDwkC,cAAA,GAAiBzkC,OAAjB,CADgD;AAAA,IAEhD0kC,aAAA,GAAgBzkC,MAAhB,CAFgD;AAAA,IAAtC,CAAd,CAX+D;AAAA,GAe/D,IAAI4jC,WAAA,GAAc;AAAA,IACdI,WAAA,EAAa,UAAUjoB,KAAV,EAAiB;AAAA,KAC1B0pB,KAAA,CAAMH,eAAN,GAAwBtjB,SAAxB,CAD0B;AAAA,KAI1BsX,cAAA,CAAe,YAAY;AAAA,MAAE,OAAOkL,cAAA,CAAe;AAAA,OAAEl/B,KAAA,EAAOyW,KAAT;AAAA,OAAgBzT,IAAA,EAAM,KAAtB;AAAA,OAAf,CAAP,CAAF;AAAA,MAA3B,EAJ0B;AAAA,KADhB;AAAA,IAOdy7B,WAAA,EAAa,YAAY;AAAA,KACrB0B,KAAA,CAAMH,eAAN,GAAwBtjB,SAAxB,CADqB;AAAA,KAErByjB,KAAA,CAAMF,WAAN,GAAoB,IAApB,CAFqB;AAAA,KAGrB9D,kCAAA,CAAmCX,MAAnC,EAHqB;AAAA,KAIrB0D,cAAA,CAAe;AAAA,MAAEl/B,KAAA,EAAO0c,SAAT;AAAA,MAAoB1Z,IAAA,EAAM,IAA1B;AAAA,MAAf,EAJqB;AAAA,KAPX;AAAA,IAado8B,WAAA,EAAa,UAAUrlC,MAAV,EAAkB;AAAA,KAC3BomC,KAAA,CAAMH,eAAN,GAAwBtjB,SAAxB,CAD2B;AAAA,KAE3ByjB,KAAA,CAAMF,WAAN,GAAoB,IAApB,CAF2B;AAAA,KAG3B9D,kCAAA,CAAmCX,MAAnC,EAH2B;AAAA,KAI3B2D,aAAA,CAAcplC,MAAd,EAJ2B;AAAA,KAbjB;AAAA,IAAlB,CAf+D;AAAA,GAmC/DslC,+BAAA,CAAgC7D,MAAhC,EAAwC8C,WAAxC,EAnC+D;AAAA,GAoC/D,OAAOzP,OAAP,CApC+D;AAAA,GAAnE,CAtB6D;AAAA,EA4D7DiR,+BAAA,CAAgCvjB,SAAhC,CAA0CikB,YAA1C,GAAyD,UAAUxgC,KAAV,EAAiB;AAAA,GACtE,IAAI,KAAKigC,WAAT,EAAsB;AAAA,IAClB,OAAOlU,OAAA,CAAQtxB,OAAR,CAAgB;AAAA,KAAEuF,KAAA,EAAOA,KAAT;AAAA,KAAgBgD,IAAA,EAAM,IAAtB;AAAA,KAAhB,CAAP,CADkB;AAAA,IADgD;AAAA,GAItE,KAAKi9B,WAAL,GAAmB,IAAnB,CAJsE;AAAA,GAKtE,IAAIzE,MAAA,GAAS,KAAKG,OAAlB,CALsE;AAAA,GAMtE,IAAIH,MAAA,CAAOE,oBAAP,KAAgChf,SAApC,EAA+C;AAAA,IAC3C,OAAO0c,mBAAA,CAAoBkD,mBAAA,CAAoB,kBAApB,CAApB,CAAP,CAD2C;AAAA,IANuB;AAAA,GAStE,IAAI,CAAC,KAAK4D,cAAV,EAA0B;AAAA,IACtB,IAAIj+B,MAAA,GAASg6B,iCAAA,CAAkCT,MAAlC,EAA0Cx7B,KAA1C,CAAb,CADsB;AAAA,IAEtBm8B,kCAAA,CAAmCX,MAAnC,EAFsB;AAAA,IAGtB,OAAO/B,oBAAA,CAAqBx3B,MAArB,EAA6B,YAAY;AAAA,KAAE,OAAQ;AAAA,MAAEjC,KAAA,EAAOA,KAAT;AAAA,MAAgBgD,IAAA,EAAM,IAAtB;AAAA,MAAR,CAAF;AAAA,KAAzC,CAAP,CAHsB;AAAA,IAT4C;AAAA,GActEm5B,kCAAA,CAAmCX,MAAnC,EAdsE;AAAA,GAetE,OAAOrC,mBAAA,CAAoB;AAAA,IAAEn5B,KAAA,EAAOA,KAAT;AAAA,IAAgBgD,IAAA,EAAM,IAAtB;AAAA,IAApB,CAAP,CAfsE;AAAA,GAA1E,CA5D6D;AAAA,EA6E7D,OAAO88B,+BAAP,CA7E6D;AAAA,EAAZ,EAArD,CAzhBwB;AAAA,CAwmBxB,IAAIW,oCAAA,GAAuC;AAAA,EACvCl9B,IAAA,EAAM,YAAY;AAAA,GACd,IAAI,CAACm9B,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAOtH,mBAAA,CAAoBuH,sCAAA,CAAuC,MAAvC,CAApB,CAAP,CADsC;AAAA,IAD5B;AAAA,GAId,OAAO,KAAKC,kBAAL,CAAwBr9B,IAAxB,EAAP,CAJc;AAAA,GADqB;AAAA,EAOvC+8B,MAAA,EAAQ,UAAUtgC,KAAV,EAAiB;AAAA,GACrB,IAAI,CAAC0gC,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAOtH,mBAAA,CAAoBuH,sCAAA,CAAuC,QAAvC,CAApB,CAAP,CADsC;AAAA,IADrB;AAAA,GAIrB,OAAO,KAAKC,kBAAL,CAAwBN,MAAxB,CAA+BtgC,KAA/B,CAAP,CAJqB;AAAA,GAPc;AAAA,EAA3C,CAxmBwB;AAAA,CAsnBxB,IAAI4/B,sBAAA,KAA2BljB,SAA/B,EAA0C;AAAA,EACtC9e,MAAA,CAAOmqB,cAAP,CAAsB0Y,oCAAtB,EAA4Db,sBAA5D,EADsC;AAAA,EAtnBlB;AAAA,CA0nBxB,SAASiB,kCAAT,CAA4CpF,MAA5C,EAAoDsE,aAApD,EAAmE;AAAA,EAC/D,IAAIvE,MAAA,GAAS2C,kCAAA,CAAmC1C,MAAnC,CAAb,CAD+D;AAAA,EAE/D,IAAIqF,IAAA,GAAO,IAAIhB,+BAAJ,CAAoCtE,MAApC,EAA4CuE,aAA5C,CAAX,CAF+D;AAAA,EAG/D,IAAIr7B,QAAA,GAAW9G,MAAA,CAAO5E,MAAP,CAAcynC,oCAAd,CAAf,CAH+D;AAAA,EAI/D/7B,QAAA,CAASk8B,kBAAT,GAA8BE,IAA9B,CAJ+D;AAAA,EAK/D,OAAOp8B,QAAP,CAL+D;AAAA,EA1nB3C;AAAA,CAioBxB,SAASg8B,6BAAT,CAAuC3P,CAAvC,EAA0C;AAAA,EACtC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADgB;AAAA,EAItC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,oBAAxC,CAAL,EAAoE;AAAA,GAChE,OAAO,KAAP,CADgE;AAAA,GAJ9B;AAAA,EAOtC,OAAO,IAAP,CAPsC;AAAA,EAjoBlB;AAAA,CA2oBxB,SAAS4P,sCAAT,CAAgD7iC,IAAhD,EAAsD;AAAA,EAClD,OAAO,IAAI0gB,SAAJ,CAAc,iCAAiC1gB,IAAjC,GAAwC,mDAAtD,CAAP,CADkD;AAAA,EA3oB9B;AAAA,CAipBxB,IAAIijC,WAAA,GAAcprB,MAAA,CAAOjS,KAAP,IAAgB,UAAUqtB,CAAV,EAAa;AAAA,EAE3C,OAAOA,CAAA,KAAMA,CAAb,CAF2C;AAAA,EAA/C,CAjpBwB;AAAA,CAspBxB,SAASiQ,yBAAT,CAAmCxoB,CAAnC,EAAsC;AAAA,EAClC,IAAI,CAACyoB,mBAAA,CAAoBzoB,CAApB,CAAL,EAA6B;AAAA,GACzB,OAAO,KAAP,CADyB;AAAA,GADK;AAAA,EAIlC,IAAIA,CAAA,KAAM0oB,QAAV,EAAoB;AAAA,GAChB,OAAO,KAAP,CADgB;AAAA,GAJc;AAAA,EAOlC,OAAO,IAAP,CAPkC;AAAA,EAtpBd;AAAA,CA+pBxB,SAASD,mBAAT,CAA6BzoB,CAA7B,EAAgC;AAAA,EAC5B,IAAI,OAAOA,CAAP,KAAa,QAAjB,EAA2B;AAAA,GACvB,OAAO,KAAP,CADuB;AAAA,GADC;AAAA,EAI5B,IAAIuoB,WAAA,CAAYvoB,CAAZ,CAAJ,EAAoB;AAAA,GAChB,OAAO,KAAP,CADgB;AAAA,GAJQ;AAAA,EAO5B,IAAIA,CAAA,GAAI,CAAR,EAAW;AAAA,GACP,OAAO,KAAP,CADO;AAAA,GAPiB;AAAA,EAU5B,OAAO,IAAP,CAV4B;AAAA,EA/pBR;AAAA,CA4qBxB,SAAS2oB,YAAT,CAAsBC,SAAtB,EAAiC;AAAA,EAC7B,IAAIC,IAAA,GAAOD,SAAA,CAAUE,MAAV,CAAiB1G,KAAjB,EAAX,CAD6B;AAAA,EAE7BwG,SAAA,CAAUG,eAAV,IAA6BF,IAAA,CAAKxL,IAAlC,CAF6B;AAAA,EAG7B,IAAIuL,SAAA,CAAUG,eAAV,GAA4B,CAAhC,EAAmC;AAAA,GAC/BH,SAAA,CAAUG,eAAV,GAA4B,CAA5B,CAD+B;AAAA,GAHN;AAAA,EAM7B,OAAOF,IAAA,CAAKrhC,KAAZ,CAN6B;AAAA,EA5qBT;AAAA,CAorBxB,SAASwhC,oBAAT,CAA8BJ,SAA9B,EAAyCphC,KAAzC,EAAgD61B,IAAhD,EAAsD;AAAA,EAClDA,IAAA,GAAOlgB,MAAA,CAAOkgB,IAAP,CAAP,CADkD;AAAA,EAElD,IAAI,CAACmL,yBAAA,CAA0BnL,IAA1B,CAAL,EAAsC;AAAA,GAClC,MAAM,IAAI4L,UAAJ,CAAe,sDAAf,CAAN,CADkC;AAAA,GAFY;AAAA,EAKlDL,SAAA,CAAUE,MAAV,CAAiBhgB,IAAjB,CAAsB;AAAA,GAAEthB,KAAA,EAAOA,KAAT;AAAA,GAAgB61B,IAAA,EAAMA,IAAtB;AAAA,GAAtB,EALkD;AAAA,EAMlDuL,SAAA,CAAUG,eAAV,IAA6B1L,IAA7B,CANkD;AAAA,EAprB9B;AAAA,CA4rBxB,SAAS6L,cAAT,CAAwBN,SAAxB,EAAmC;AAAA,EAC/B,IAAIC,IAAA,GAAOD,SAAA,CAAUE,MAAV,CAAiBlG,IAAjB,EAAX,CAD+B;AAAA,EAE/B,OAAOiG,IAAA,CAAKrhC,KAAZ,CAF+B;AAAA,EA5rBX;AAAA,CAgsBxB,SAAS2hC,UAAT,CAAoBP,SAApB,EAA+B;AAAA,EAC3BA,SAAA,CAAUE,MAAV,GAAmB,IAAIpH,WAAJ,EAAnB,CAD2B;AAAA,EAE3BkH,SAAA,CAAUG,eAAV,GAA4B,CAA5B,CAF2B;AAAA,EAhsBP;AAAA,CAqsBxB,SAASK,mBAAT,CAA6B3G,QAA7B,EAAuC;AAAA,EAGnC,OAAOA,QAAA,CAAS1c,KAAT,EAAP,CAHmC;AAAA,EArsBf;AAAA,CA0sBxB,SAASsjB,kBAAT,CAA4BC,IAA5B,EAAkCC,UAAlC,EAA8C1a,GAA9C,EAAmD2a,SAAnD,EAA8DtqB,CAA9D,EAAiE;AAAA,EAC7D,IAAIuqB,UAAJ,CAAeH,IAAf,EAAqBphB,GAArB,CAAyB,IAAIuhB,UAAJ,CAAe5a,GAAf,EAAoB2a,SAApB,EAA+BtqB,CAA/B,CAAzB,EAA4DqqB,UAA5D,EAD6D;AAAA,EA1sBzC;AAAA,CA8sBxB,SAASG,mBAAT,CAA6B11B,CAA7B,EAAgC;AAAA,EAC5B,OAAOA,CAAP,CAD4B;AAAA,EA9sBR;AAAA,CAktBxB,SAAS21B,gBAAT,CAA0B31B,CAA1B,EAA6B;AAAA,EACzB,OAAO,KAAP,CADyB;AAAA,EAltBL;AAAA,CA2tBxB,IAAI41B,yBAAA,GAA2C,YAAY;AAAA,EACvD,SAASA,yBAAT,GAAqC;AAAA,GACjC,MAAM,IAAI5jB,SAAJ,CAAc,qBAAd,CAAN,CADiC;AAAA,GADkB;AAAA,EAIvD5gB,MAAA,CAAOigB,cAAP,CAAsBukB,yBAAA,CAA0B7lB,SAAhD,EAA2D,MAA3D,EAAmE;AAAA,GAI/DrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACmoB,2BAAA,CAA4B,IAA5B,CAAL,EAAwC;AAAA,KACpC,MAAMC,8BAAA,CAA+B,MAA/B,CAAN,CADoC;AAAA,KAD3B;AAAA,IAIb,OAAO,KAAKC,KAAZ,CAJa;AAAA,IAJ8C;AAAA,GAU/DtiC,UAAA,EAAY,KAVmD;AAAA,GAW/DC,YAAA,EAAc,IAXiD;AAAA,GAAnE,EAJuD;AAAA,EAiBvDkiC,yBAAA,CAA0B7lB,SAA1B,CAAoCimB,OAApC,GAA8C,UAAUC,YAAV,EAAwB;AAAA,GAClE,IAAI,CAACJ,2BAAA,CAA4B,IAA5B,CAAL,EAAwC;AAAA,IACpC,MAAMC,8BAAA,CAA+B,SAA/B,CAAN,CADoC;AAAA,IAD0B;AAAA,GAIlE/E,sBAAA,CAAuBkF,YAAvB,EAAqC,CAArC,EAAwC,SAAxC,EAJkE;AAAA,GAKlEA,YAAA,GAAe5E,uCAAA,CAAwC4E,YAAxC,EAAsD,iBAAtD,CAAf,CALkE;AAAA,GAMlE,IAAI,KAAKC,uCAAL,KAAiDhmB,SAArD,EAAgE;AAAA,IAC5D,MAAM,IAAI8B,SAAJ,CAAc,wCAAd,CAAN,CAD4D;AAAA,IANE;AAAA,GASlE,IAAI2jB,gBAAA,CAAiB,KAAKI,KAAL,CAAWxoB,MAA5B,CAAJ,EATkE;AAAA,GAUlE4oB,mCAAA,CAAoC,KAAKD,uCAAzC,EAAkFD,YAAlF,EAVkE;AAAA,GAAtE,CAjBuD;AAAA,EA6BvDL,yBAAA,CAA0B7lB,SAA1B,CAAoCqmB,kBAApC,GAAyD,UAAUC,IAAV,EAAgB;AAAA,GACrE,IAAI,CAACR,2BAAA,CAA4B,IAA5B,CAAL,EAAwC;AAAA,IACpC,MAAMC,8BAAA,CAA+B,oBAA/B,CAAN,CADoC;AAAA,IAD6B;AAAA,GAIrE/E,sBAAA,CAAuBsF,IAAvB,EAA6B,CAA7B,EAAgC,oBAAhC,EAJqE;AAAA,GAKrE,IAAI,CAACC,WAAA,CAAYC,MAAZ,CAAmBF,IAAnB,CAAL,EAA+B;AAAA,IAC3B,MAAM,IAAIrkB,SAAJ,CAAc,8CAAd,CAAN,CAD2B;AAAA,IALsC;AAAA,GAQrE,IAAIqkB,IAAA,CAAKG,UAAL,KAAoB,CAAxB,EAA2B;AAAA,IACvB,MAAM,IAAIxkB,SAAJ,CAAc,qCAAd,CAAN,CADuB;AAAA,IAR0C;AAAA,GAWrE,IAAIqkB,IAAA,CAAK9oB,MAAL,CAAYipB,UAAZ,KAA2B,CAA/B,EAAkC;AAAA,IAC9B,MAAM,IAAIxkB,SAAJ,CAAc,8CAAd,CAAN,CAD8B;AAAA,IAXmC;AAAA,GAcrE,IAAI,KAAKkkB,uCAAL,KAAiDhmB,SAArD,EAAgE;AAAA,IAC5D,MAAM,IAAI8B,SAAJ,CAAc,wCAAd,CAAN,CAD4D;AAAA,IAdK;AAAA,GAiBrEykB,8CAAA,CAA+C,KAAKP,uCAApD,EAA6FG,IAA7F,EAjBqE;AAAA,GAAzE,CA7BuD;AAAA,EAgDvD,OAAOT,yBAAP,CAhDuD;AAAA,EAAZ,EAA/C,CA3tBwB;AAAA,CA6wBxBxkC,MAAA,CAAOioB,gBAAP,CAAwBuc,yBAAA,CAA0B7lB,SAAlD,EAA6D;AAAA,EACzDimB,OAAA,EAAS,EAAEviC,UAAA,EAAY,IAAd,EADgD;AAAA,EAEzD2iC,kBAAA,EAAoB,EAAE3iC,UAAA,EAAY,IAAd,EAFqC;AAAA,EAGzD4iC,IAAA,EAAM,EAAE5iC,UAAA,EAAY,IAAd,EAHmD;AAAA,EAA7D,EA7wBwB;AAAA,CAkxBxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBukB,yBAAA,CAA0B7lB,SAAhD,EAA2Dgc,cAAA,CAAeiH,WAA1E,EAAuF;AAAA,GACnFx/B,KAAA,EAAO,2BAD4E;AAAA,GAEnFE,YAAA,EAAc,IAFqE;AAAA,GAAvF,EADgD;AAAA,EAlxB5B;AAAA,CA6xBxB,IAAIgjC,4BAAA,GAA8C,YAAY;AAAA,EAC1D,SAASA,4BAAT,GAAwC;AAAA,GACpC,MAAM,IAAI1kB,SAAJ,CAAc,qBAAd,CAAN,CADoC;AAAA,GADkB;AAAA,EAI1D5gB,MAAA,CAAOigB,cAAP,CAAsBqlB,4BAAA,CAA6B3mB,SAAnD,EAA8D,aAA9D,EAA6E;AAAA,GAIzErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACipB,8BAAA,CAA+B,IAA/B,CAAL,EAA2C;AAAA,KACvC,MAAMC,uCAAA,CAAwC,aAAxC,CAAN,CADuC;AAAA,KAD9B;AAAA,IAIb,IAAI,KAAKC,YAAL,KAAsB,IAAtB,IAA8B,KAAKC,iBAAL,CAAuBltB,MAAvB,GAAgC,CAAlE,EAAqE;AAAA,KACjE,IAAImtB,eAAA,GAAkB,KAAKD,iBAAL,CAAuBlI,IAAvB,EAAtB,CADiE;AAAA,KAEjE,IAAIyH,IAAA,GAAO,IAAIZ,UAAJ,CAAesB,eAAA,CAAgBxpB,MAA/B,EAAuCwpB,eAAA,CAAgBC,UAAhB,GAA6BD,eAAA,CAAgBE,WAApF,EAAiGF,eAAA,CAAgBP,UAAhB,GAA6BO,eAAA,CAAgBE,WAA9I,CAAX,CAFiE;AAAA,KAGjE,IAAIC,WAAA,GAAc9lC,MAAA,CAAO5E,MAAP,CAAcopC,yBAAA,CAA0B7lB,SAAxC,CAAlB,CAHiE;AAAA,KAIjEonB,8BAAA,CAA+BD,WAA/B,EAA4C,IAA5C,EAAkDb,IAAlD,EAJiE;AAAA,KAKjE,KAAKQ,YAAL,GAAoBK,WAApB,CALiE;AAAA,KAJxD;AAAA,IAWb,OAAO,KAAKL,YAAZ,CAXa;AAAA,IAJwD;AAAA,GAiBzEpjC,UAAA,EAAY,KAjB6D;AAAA,GAkBzEC,YAAA,EAAc,IAlB2D;AAAA,GAA7E,EAJ0D;AAAA,EAwB1DtC,MAAA,CAAOigB,cAAP,CAAsBqlB,4BAAA,CAA6B3mB,SAAnD,EAA8D,aAA9D,EAA6E;AAAA,GAKzErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACipB,8BAAA,CAA+B,IAA/B,CAAL,EAA2C;AAAA,KACvC,MAAMC,uCAAA,CAAwC,aAAxC,CAAN,CADuC;AAAA,KAD9B;AAAA,IAIb,OAAOQ,0CAAA,CAA2C,IAA3C,CAAP,CAJa;AAAA,IALwD;AAAA,GAWzE3jC,UAAA,EAAY,KAX6D;AAAA,GAYzEC,YAAA,EAAc,IAZ2D;AAAA,GAA7E,EAxB0D;AAAA,EA0C1DgjC,4BAAA,CAA6B3mB,SAA7B,CAAuCoK,KAAvC,GAA+C,YAAY;AAAA,GACvD,IAAI,CAACwc,8BAAA,CAA+B,IAA/B,CAAL,EAA2C;AAAA,IACvC,MAAMC,uCAAA,CAAwC,OAAxC,CAAN,CADuC;AAAA,IADY;AAAA,GAIvD,IAAI,KAAKS,eAAT,EAA0B;AAAA,IACtB,MAAM,IAAIrlB,SAAJ,CAAc,4DAAd,CAAN,CADsB;AAAA,IAJ6B;AAAA,GAOvD,IAAI9b,KAAA,GAAQ,KAAKohC,6BAAL,CAAmClI,MAA/C,CAPuD;AAAA,GAQvD,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,IACtB,MAAM,IAAI8b,SAAJ,CAAc,oBAAoB9b,KAApB,GAA4B,2DAA1C,CAAN,CADsB;AAAA,IAR6B;AAAA,GAWvDqhC,iCAAA,CAAkC,IAAlC,EAXuD;AAAA,GAA3D,CA1C0D;AAAA,EAuD1Db,4BAAA,CAA6B3mB,SAA7B,CAAuCynB,OAAvC,GAAiD,UAAUvtB,KAAV,EAAiB;AAAA,GAC9D,IAAI,CAAC0sB,8BAAA,CAA+B,IAA/B,CAAL,EAA2C;AAAA,IACvC,MAAMC,uCAAA,CAAwC,SAAxC,CAAN,CADuC;AAAA,IADmB;AAAA,GAI9D7F,sBAAA,CAAuB9mB,KAAvB,EAA8B,CAA9B,EAAiC,SAAjC,EAJ8D;AAAA,GAK9D,IAAI,CAACqsB,WAAA,CAAYC,MAAZ,CAAmBtsB,KAAnB,CAAL,EAAgC;AAAA,IAC5B,MAAM,IAAI+H,SAAJ,CAAc,oCAAd,CAAN,CAD4B;AAAA,IAL8B;AAAA,GAQ9D,IAAI/H,KAAA,CAAMusB,UAAN,KAAqB,CAAzB,EAA4B;AAAA,IACxB,MAAM,IAAIxkB,SAAJ,CAAc,qCAAd,CAAN,CADwB;AAAA,IARkC;AAAA,GAW9D,IAAI/H,KAAA,CAAMsD,MAAN,CAAaipB,UAAb,KAA4B,CAAhC,EAAmC;AAAA,IAC/B,MAAM,IAAIxkB,SAAJ,CAAc,8CAAd,CAAN,CAD+B;AAAA,IAX2B;AAAA,GAc9D,IAAI,KAAKqlB,eAAT,EAA0B;AAAA,IACtB,MAAM,IAAIrlB,SAAJ,CAAc,8BAAd,CAAN,CADsB;AAAA,IAdoC;AAAA,GAiB9D,IAAI9b,KAAA,GAAQ,KAAKohC,6BAAL,CAAmClI,MAA/C,CAjB8D;AAAA,GAkB9D,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,IACtB,MAAM,IAAI8b,SAAJ,CAAc,oBAAoB9b,KAApB,GAA4B,gEAA1C,CAAN,CADsB;AAAA,IAlBoC;AAAA,GAqB9DuhC,mCAAA,CAAoC,IAApC,EAA0CxtB,KAA1C,EArB8D;AAAA,GAAlE,CAvD0D;AAAA,EAiF1DysB,4BAAA,CAA6B3mB,SAA7B,CAAuCkB,KAAvC,GAA+C,UAAU8X,CAAV,EAAa;AAAA,GACxD,IAAIA,CAAA,KAAM,KAAK,CAAf,EAAkB;AAAA,IAAEA,CAAA,GAAI7Y,SAAJ,CAAF;AAAA,IADsC;AAAA,GAExD,IAAI,CAACymB,8BAAA,CAA+B,IAA/B,CAAL,EAA2C;AAAA,IACvC,MAAMC,uCAAA,CAAwC,OAAxC,CAAN,CADuC;AAAA,IAFa;AAAA,GAKxDc,iCAAA,CAAkC,IAAlC,EAAwC3O,CAAxC,EALwD;AAAA,GAA5D,CAjF0D;AAAA,EAyF1D2N,4BAAA,CAA6B3mB,SAA7B,CAAuCsgB,WAAvC,IAAsD,UAAU9iC,MAAV,EAAkB;AAAA,GACpE,IAAI,KAAKupC,iBAAL,CAAuBltB,MAAvB,GAAgC,CAApC,EAAuC;AAAA,IACnC,IAAImtB,eAAA,GAAkB,KAAKD,iBAAL,CAAuBlI,IAAvB,EAAtB,CADmC;AAAA,IAEnCmI,eAAA,CAAgBE,WAAhB,GAA8B,CAA9B,CAFmC;AAAA,IAD6B;AAAA,GAKpE9B,UAAA,CAAW,IAAX,EALoE;AAAA,GAMpE,IAAI1/B,MAAA,GAAS,KAAKkiC,gBAAL,CAAsBpqC,MAAtB,CAAb,CANoE;AAAA,GAOpEqqC,2CAAA,CAA4C,IAA5C,EAPoE;AAAA,GAQpE,OAAOniC,MAAP,CARoE;AAAA,GAAxE,CAzF0D;AAAA,EAoG1DihC,4BAAA,CAA6B3mB,SAA7B,CAAuCugB,SAAvC,IAAoD,UAAUwB,WAAV,EAAuB;AAAA,GACvE,IAAI7C,MAAA,GAAS,KAAKqI,6BAAlB,CADuE;AAAA,GAEvE,IAAI,KAAKvC,eAAL,GAAuB,CAA3B,EAA8B;AAAA,IAC1B,IAAIr+B,KAAA,GAAQ,KAAKo+B,MAAL,CAAY1G,KAAZ,EAAZ,CAD0B;AAAA,IAE1B,KAAK2G,eAAL,IAAwBr+B,KAAA,CAAM8/B,UAA9B,CAF0B;AAAA,IAG1BqB,4CAAA,CAA6C,IAA7C,EAH0B;AAAA,IAI1B,IAAIxB,IAAA,GAAO,IAAIZ,UAAJ,CAAe/+B,KAAA,CAAM6W,MAArB,EAA6B7W,KAAA,CAAMsgC,UAAnC,EAA+CtgC,KAAA,CAAM8/B,UAArD,CAAX,CAJ0B;AAAA,IAK1B1E,WAAA,CAAYI,WAAZ,CAAwBmE,IAAxB,EAL0B;AAAA,IAM1B,OAN0B;AAAA,IAFyC;AAAA,GAUvE,IAAIyB,qBAAA,GAAwB,KAAKC,sBAAjC,CAVuE;AAAA,GAWvE,IAAID,qBAAA,KAA0B5nB,SAA9B,EAAyC;AAAA,IACrC,IAAI3C,MAAA,GAAS,KAAK,CAAlB,CADqC;AAAA,IAErC,IAAI;AAAA,KACAA,MAAA,GAAS,IAAI+oB,WAAJ,CAAgBwB,qBAAhB,CAAT,CADA;AAAA,KAAJ,CAGA,OAAOE,OAAP,EAAgB;AAAA,KACZlG,WAAA,CAAYc,WAAZ,CAAwBoF,OAAxB,EADY;AAAA,KAEZ,OAFY;AAAA,KALqB;AAAA,IASrC,IAAIC,kBAAA,GAAqB;AAAA,KACrB1qB,MAAA,EAAQA,MADa;AAAA,KAErBypB,UAAA,EAAY,CAFS;AAAA,KAGrBR,UAAA,EAAYsB,qBAHS;AAAA,KAIrBb,WAAA,EAAa,CAJQ;AAAA,KAKrBiB,WAAA,EAAa,CALQ;AAAA,KAMrBC,eAAA,EAAiB1C,UANI;AAAA,KAOrB2C,UAAA,EAAY,SAPS;AAAA,KAAzB,CATqC;AAAA,IAkBrC,KAAKtB,iBAAL,CAAuBhiB,IAAvB,CAA4BmjB,kBAA5B,EAlBqC;AAAA,IAX8B;AAAA,GA+BvEpG,4BAAA,CAA6B5C,MAA7B,EAAqC6C,WAArC,EA/BuE;AAAA,GAgCvEuG,4CAAA,CAA6C,IAA7C,EAhCuE;AAAA,GAA3E,CApG0D;AAAA,EAsI1D,OAAO3B,4BAAP,CAtI0D;AAAA,EAAZ,EAAlD,CA7xBwB;AAAA,CAq6BxBtlC,MAAA,CAAOioB,gBAAP,CAAwBqd,4BAAA,CAA6B3mB,SAArD,EAAgE;AAAA,EAC5DoK,KAAA,EAAO,EAAE1mB,UAAA,EAAY,IAAd,EADqD;AAAA,EAE5D+jC,OAAA,EAAS,EAAE/jC,UAAA,EAAY,IAAd,EAFmD;AAAA,EAG5Dwd,KAAA,EAAO,EAAExd,UAAA,EAAY,IAAd,EAHqD;AAAA,EAI5DyjC,WAAA,EAAa,EAAEzjC,UAAA,EAAY,IAAd,EAJ+C;AAAA,EAK5D6kC,WAAA,EAAa,EAAE7kC,UAAA,EAAY,IAAd,EAL+C;AAAA,EAAhE,EAr6BwB;AAAA,CA46BxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBqlB,4BAAA,CAA6B3mB,SAAnD,EAA8Dgc,cAAA,CAAeiH,WAA7E,EAA0F;AAAA,GACtFx/B,KAAA,EAAO,8BAD+E;AAAA,GAEtFE,YAAA,EAAc,IAFwE;AAAA,GAA1F,EADgD;AAAA,EA56B5B;AAAA,CAm7BxB,SAASijC,8BAAT,CAAwCpS,CAAxC,EAA2C;AAAA,EACvC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADiB;AAAA,EAIvC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,+BAAxC,CAAL,EAA+E;AAAA,GAC3E,OAAO,KAAP,CAD2E;AAAA,GAJxC;AAAA,EAOvC,OAAO,IAAP,CAPuC;AAAA,EAn7BnB;AAAA,CA47BxB,SAASsR,2BAAT,CAAqCtR,CAArC,EAAwC;AAAA,EACpC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADc;AAAA,EAIpC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,yCAAxC,CAAL,EAAyF;AAAA,GACrF,OAAO,KAAP,CADqF;AAAA,GAJrD;AAAA,EAOpC,OAAO,IAAP,CAPoC;AAAA,EA57BhB;AAAA,CAq8BxB,SAAS8T,4CAAT,CAAsD5pB,UAAtD,EAAkE;AAAA,EAC9D,IAAI8pB,UAAA,GAAaC,0CAAA,CAA2C/pB,UAA3C,CAAjB,CAD8D;AAAA,EAE9D,IAAI,CAAC8pB,UAAL,EAAiB;AAAA,GACb,OADa;AAAA,GAF6C;AAAA,EAK9D,IAAI9pB,UAAA,CAAWgqB,QAAf,EAAyB;AAAA,GACrBhqB,UAAA,CAAWiqB,UAAX,GAAwB,IAAxB,CADqB;AAAA,GAErB,OAFqB;AAAA,GALqC;AAAA,EAS9DjqB,UAAA,CAAWgqB,QAAX,GAAsB,IAAtB,CAT8D;AAAA,EAW9D,IAAIE,WAAA,GAAclqB,UAAA,CAAWmqB,cAAX,EAAlB,CAX8D;AAAA,EAY9D9L,WAAA,CAAY6L,WAAZ,EAAyB,YAAY;AAAA,GACjClqB,UAAA,CAAWgqB,QAAX,GAAsB,KAAtB,CADiC;AAAA,GAEjC,IAAIhqB,UAAA,CAAWiqB,UAAf,EAA2B;AAAA,IACvBjqB,UAAA,CAAWiqB,UAAX,GAAwB,KAAxB,CADuB;AAAA,IAEvBL,4CAAA,CAA6C5pB,UAA7C,EAFuB;AAAA,IAFM;AAAA,GAArC,EAMG,UAAUsa,CAAV,EAAa;AAAA,GACZ2O,iCAAA,CAAkCjpB,UAAlC,EAA8Csa,CAA9C,EADY;AAAA,GANhB,EAZ8D;AAAA,EAr8B1C;AAAA,CA29BxB,SAAS8P,iDAAT,CAA2DpqB,UAA3D,EAAuE;AAAA,EACnEqqB,iDAAA,CAAkDrqB,UAAlD,EADmE;AAAA,EAEnEA,UAAA,CAAWqoB,iBAAX,GAA+B,IAAIpJ,WAAJ,EAA/B,CAFmE;AAAA,EA39B/C;AAAA,CA+9BxB,SAASqL,oDAAT,CAA8D9J,MAA9D,EAAsEgJ,kBAAtE,EAA0F;AAAA,EACtF,IAAIzhC,IAAA,GAAO,KAAX,CADsF;AAAA,EAEtF,IAAIy4B,MAAA,CAAOG,MAAP,KAAkB,QAAtB,EAAgC;AAAA,GAC5B54B,IAAA,GAAO,IAAP,CAD4B;AAAA,GAFsD;AAAA,EAKtF,IAAIwiC,UAAA,GAAaC,qDAAA,CAAsDhB,kBAAtD,CAAjB,CALsF;AAAA,EAMtF,IAAIA,kBAAA,CAAmBG,UAAnB,KAAkC,SAAtC,EAAiD;AAAA,GAC7CpG,gCAAA,CAAiC/C,MAAjC,EAAyC+J,UAAzC,EAAqDxiC,IAArD,EAD6C;AAAA,GAAjD,MAGK;AAAA,GACD0iC,oCAAA,CAAqCjK,MAArC,EAA6C+J,UAA7C,EAAyDxiC,IAAzD,EADC;AAAA,GATiF;AAAA,EA/9BlE;AAAA,CA4+BxB,SAASyiC,qDAAT,CAA+DhB,kBAA/D,EAAmF;AAAA,EAC/E,IAAIhB,WAAA,GAAcgB,kBAAA,CAAmBhB,WAArC,CAD+E;AAAA,EAE/E,IAAIiB,WAAA,GAAcD,kBAAA,CAAmBC,WAArC,CAF+E;AAAA,EAG/E,OAAO,IAAID,kBAAA,CAAmBE,eAAvB,CAAuCF,kBAAA,CAAmB1qB,MAA1D,EAAkE0qB,kBAAA,CAAmBjB,UAArF,EAAiGC,WAAA,GAAciB,WAA/G,CAAP,CAH+E;AAAA,EA5+B3D;AAAA,CAi/BxB,SAASiB,+CAAT,CAAyD1qB,UAAzD,EAAqElB,MAArE,EAA6EypB,UAA7E,EAAyFR,UAAzF,EAAqG;AAAA,EACjG/nB,UAAA,CAAWqmB,MAAX,CAAkBhgB,IAAlB,CAAuB;AAAA,GAAEvH,MAAA,EAAQA,MAAV;AAAA,GAAkBypB,UAAA,EAAYA,UAA9B;AAAA,GAA0CR,UAAA,EAAYA,UAAtD;AAAA,GAAvB,EADiG;AAAA,EAEjG/nB,UAAA,CAAWsmB,eAAX,IAA8ByB,UAA9B,CAFiG;AAAA,EAj/B7E;AAAA,CAq/BxB,SAAS4C,2DAAT,CAAqE3qB,UAArE,EAAiFwpB,kBAAjF,EAAqG;AAAA,EACjG,IAAIC,WAAA,GAAcD,kBAAA,CAAmBC,WAArC,CADiG;AAAA,EAEjG,IAAImB,mBAAA,GAAsBpB,kBAAA,CAAmBhB,WAAnB,GAAiCgB,kBAAA,CAAmBhB,WAAnB,GAAiCiB,WAA5F,CAFiG;AAAA,EAGjG,IAAIoB,cAAA,GAAiBpqC,IAAA,CAAK8nB,GAAL,CAASvI,UAAA,CAAWsmB,eAApB,EAAqCkD,kBAAA,CAAmBzB,UAAnB,GAAgCyB,kBAAA,CAAmBhB,WAAxF,CAArB,CAHiG;AAAA,EAIjG,IAAIsC,cAAA,GAAiBtB,kBAAA,CAAmBhB,WAAnB,GAAiCqC,cAAtD,CAJiG;AAAA,EAKjG,IAAIE,eAAA,GAAkBD,cAAA,GAAiBA,cAAA,GAAiBrB,WAAxD,CALiG;AAAA,EAMjG,IAAIuB,yBAAA,GAA4BH,cAAhC,CANiG;AAAA,EAOjG,IAAII,KAAA,GAAQ,KAAZ,CAPiG;AAAA,EAQjG,IAAIF,eAAA,GAAkBH,mBAAtB,EAA2C;AAAA,GACvCI,yBAAA,GAA4BD,eAAA,GAAkBvB,kBAAA,CAAmBhB,WAAjE,CADuC;AAAA,GAEvCyC,KAAA,GAAQ,IAAR,CAFuC;AAAA,GARsD;AAAA,EAYjG,IAAI5T,KAAA,GAAQrX,UAAA,CAAWqmB,MAAvB,CAZiG;AAAA,EAajG,OAAO2E,yBAAA,GAA4B,CAAnC,EAAsC;AAAA,GAClC,IAAIE,WAAA,GAAc7T,KAAA,CAAM8I,IAAN,EAAlB,CADkC;AAAA,GAElC,IAAIgL,WAAA,GAAc1qC,IAAA,CAAK8nB,GAAL,CAASyiB,yBAAT,EAAoCE,WAAA,CAAYnD,UAAhD,CAAlB,CAFkC;AAAA,GAGlC,IAAIqD,SAAA,GAAY5B,kBAAA,CAAmBjB,UAAnB,GAAgCiB,kBAAA,CAAmBhB,WAAnE,CAHkC;AAAA,GAIlC5B,kBAAA,CAAmB4C,kBAAA,CAAmB1qB,MAAtC,EAA8CssB,SAA9C,EAAyDF,WAAA,CAAYpsB,MAArE,EAA6EosB,WAAA,CAAY3C,UAAzF,EAAqG4C,WAArG,EAJkC;AAAA,GAKlC,IAAID,WAAA,CAAYnD,UAAZ,KAA2BoD,WAA/B,EAA4C;AAAA,IACxC9T,KAAA,CAAMsI,KAAN,GADwC;AAAA,IAA5C,MAGK;AAAA,IACDuL,WAAA,CAAY3C,UAAZ,IAA0B4C,WAA1B,CADC;AAAA,IAEDD,WAAA,CAAYnD,UAAZ,IAA0BoD,WAA1B,CAFC;AAAA,IAR6B;AAAA,GAYlCnrB,UAAA,CAAWsmB,eAAX,IAA8B6E,WAA9B,CAZkC;AAAA,GAalCE,sDAAA,CAAuDrrB,UAAvD,EAAmEmrB,WAAnE,EAAgF3B,kBAAhF,EAbkC;AAAA,GAclCwB,yBAAA,IAA6BG,WAA7B,CAdkC;AAAA,GAb2D;AAAA,EA6BjG,OAAOF,KAAP,CA7BiG;AAAA,EAr/B7E;AAAA,CAohCxB,SAASI,sDAAT,CAAgErrB,UAAhE,EAA4E4a,IAA5E,EAAkF4O,kBAAlF,EAAsG;AAAA,EAClGa,iDAAA,CAAkDrqB,UAAlD,EADkG;AAAA,EAElGwpB,kBAAA,CAAmBhB,WAAnB,IAAkC5N,IAAlC,CAFkG;AAAA,EAphC9E;AAAA,CAwhCxB,SAASwO,4CAAT,CAAsDppB,UAAtD,EAAkE;AAAA,EAC9D,IAAIA,UAAA,CAAWsmB,eAAX,KAA+B,CAA/B,IAAoCtmB,UAAA,CAAW4oB,eAAnD,EAAoE;AAAA,GAChEO,2CAAA,CAA4CnpB,UAA5C,EADgE;AAAA,GAEhEsrB,mBAAA,CAAoBtrB,UAAA,CAAW6oB,6BAA/B,EAFgE;AAAA,GAApE,MAIK;AAAA,GACDe,4CAAA,CAA6C5pB,UAA7C,EADC;AAAA,GALyD;AAAA,EAxhC1C;AAAA,CAiiCxB,SAASqqB,iDAAT,CAA2DrqB,UAA3D,EAAuE;AAAA,EACnE,IAAIA,UAAA,CAAWooB,YAAX,KAA4B,IAAhC,EAAsC;AAAA,GAClC,OADkC;AAAA,GAD6B;AAAA,EAInEpoB,UAAA,CAAWooB,YAAX,CAAwBX,uCAAxB,GAAkEhmB,SAAlE,CAJmE;AAAA,EAKnEzB,UAAA,CAAWooB,YAAX,CAAwBd,KAAxB,GAAgC,IAAhC,CALmE;AAAA,EAMnEtnB,UAAA,CAAWooB,YAAX,GAA0B,IAA1B,CANmE;AAAA,EAjiC/C;AAAA,CAyiCxB,SAASmD,gEAAT,CAA0EvrB,UAA1E,EAAsF;AAAA,EAClF,OAAOA,UAAA,CAAWqoB,iBAAX,CAA6BltB,MAA7B,GAAsC,CAA7C,EAAgD;AAAA,GAC5C,IAAI6E,UAAA,CAAWsmB,eAAX,KAA+B,CAAnC,EAAsC;AAAA,IAClC,OADkC;AAAA,IADM;AAAA,GAI5C,IAAIkD,kBAAA,GAAqBxpB,UAAA,CAAWqoB,iBAAX,CAA6BlI,IAA7B,EAAzB,CAJ4C;AAAA,GAK5C,IAAIwK,2DAAA,CAA4D3qB,UAA5D,EAAwEwpB,kBAAxE,CAAJ,EAAiG;AAAA,IAC7FgC,gDAAA,CAAiDxrB,UAAjD,EAD6F;AAAA,IAE7FsqB,oDAAA,CAAqDtqB,UAAA,CAAW6oB,6BAAhE,EAA+FW,kBAA/F,EAF6F;AAAA,IALrD;AAAA,GADkC;AAAA,EAziC9D;AAAA,CAqjCxB,SAASiC,oCAAT,CAA8CzrB,UAA9C,EAA0D4nB,IAA1D,EAAgE8D,eAAhE,EAAiF;AAAA,EAC7E,IAAIlL,MAAA,GAASxgB,UAAA,CAAW6oB,6BAAxB,CAD6E;AAAA,EAE7E,IAAIY,WAAA,GAAc,CAAlB,CAF6E;AAAA,EAG7E,IAAI7B,IAAA,CAAK/pC,WAAL,KAAqB8tC,QAAzB,EAAmC;AAAA,GAC/BlC,WAAA,GAAc7B,IAAA,CAAK/pC,WAAL,CAAiB+tC,iBAA/B,CAD+B;AAAA,GAH0C;AAAA,EAM7E,IAAIjlC,IAAA,GAAOihC,IAAA,CAAK/pC,WAAhB,CAN6E;AAAA,EAO7E,IAAIihB,MAAA,GAASmoB,mBAAA,CAAoBW,IAAA,CAAK9oB,MAAzB,CAAb,CAP6E;AAAA,EAQ7E,IAAI0qB,kBAAA,GAAqB;AAAA,GACrB1qB,MAAA,EAAQA,MADa;AAAA,GAErBypB,UAAA,EAAYX,IAAA,CAAKW,UAFI;AAAA,GAGrBR,UAAA,EAAYH,IAAA,CAAKG,UAHI;AAAA,GAIrBS,WAAA,EAAa,CAJQ;AAAA,GAKrBiB,WAAA,EAAaA,WALQ;AAAA,GAMrBC,eAAA,EAAiB/iC,IANI;AAAA,GAOrBgjC,UAAA,EAAY,MAPS;AAAA,GAAzB,CAR6E;AAAA,EAiB7E,IAAI3pB,UAAA,CAAWqoB,iBAAX,CAA6BltB,MAA7B,GAAsC,CAA1C,EAA6C;AAAA,GACzC6E,UAAA,CAAWqoB,iBAAX,CAA6BhiB,IAA7B,CAAkCmjB,kBAAlC,EADyC;AAAA,GAKzCqC,gCAAA,CAAiCrL,MAAjC,EAAyCkL,eAAzC,EALyC;AAAA,GAMzC,OANyC;AAAA,GAjBgC;AAAA,EAyB7E,IAAIlL,MAAA,CAAOG,MAAP,KAAkB,QAAtB,EAAgC;AAAA,GAC5B,IAAImL,SAAA,GAAY,IAAInlC,IAAJ,CAAS6iC,kBAAA,CAAmB1qB,MAA5B,EAAoC0qB,kBAAA,CAAmBjB,UAAvD,EAAmE,CAAnE,CAAhB,CAD4B;AAAA,GAE5BmD,eAAA,CAAgBlI,WAAhB,CAA4BsI,SAA5B,EAF4B;AAAA,GAG5B,OAH4B;AAAA,GAzB6C;AAAA,EA8B7E,IAAI9rB,UAAA,CAAWsmB,eAAX,GAA6B,CAAjC,EAAoC;AAAA,GAChC,IAAIqE,2DAAA,CAA4D3qB,UAA5D,EAAwEwpB,kBAAxE,CAAJ,EAAiG;AAAA,IAC7F,IAAIe,UAAA,GAAaC,qDAAA,CAAsDhB,kBAAtD,CAAjB,CAD6F;AAAA,IAE7FJ,4CAAA,CAA6CppB,UAA7C,EAF6F;AAAA,IAG7F0rB,eAAA,CAAgBjI,WAAhB,CAA4B8G,UAA5B,EAH6F;AAAA,IAI7F,OAJ6F;AAAA,IADjE;AAAA,GAOhC,IAAIvqB,UAAA,CAAW4oB,eAAf,EAAgC;AAAA,IAC5B,IAAItO,CAAA,GAAI,IAAI/W,SAAJ,CAAc,yDAAd,CAAR,CAD4B;AAAA,IAE5B0lB,iCAAA,CAAkCjpB,UAAlC,EAA8Csa,CAA9C,EAF4B;AAAA,IAG5BoR,eAAA,CAAgBvH,WAAhB,CAA4B7J,CAA5B,EAH4B;AAAA,IAI5B,OAJ4B;AAAA,IAPA;AAAA,GA9ByC;AAAA,EA4C7Eta,UAAA,CAAWqoB,iBAAX,CAA6BhiB,IAA7B,CAAkCmjB,kBAAlC,EA5C6E;AAAA,EA6C7EqC,gCAAA,CAAiCrL,MAAjC,EAAyCkL,eAAzC,EA7C6E;AAAA,EA8C7E9B,4CAAA,CAA6C5pB,UAA7C,EA9C6E;AAAA,EArjCzD;AAAA,CAqmCxB,SAAS+rB,gDAAT,CAA0D/rB,UAA1D,EAAsEsoB,eAAtE,EAAuF;AAAA,EACnFA,eAAA,CAAgBxpB,MAAhB,GAAyBmoB,mBAAA,CAAoBqB,eAAA,CAAgBxpB,MAApC,CAAzB,CADmF;AAAA,EAEnF,IAAI0hB,MAAA,GAASxgB,UAAA,CAAW6oB,6BAAxB,CAFmF;AAAA,EAGnF,IAAImD,2BAAA,CAA4BxL,MAA5B,CAAJ,EAAyC;AAAA,GACrC,OAAOyL,oCAAA,CAAqCzL,MAArC,IAA+C,CAAtD,EAAyD;AAAA,IACrD,IAAIgJ,kBAAA,GAAqBgC,gDAAA,CAAiDxrB,UAAjD,CAAzB,CADqD;AAAA,IAErDsqB,oDAAA,CAAqD9J,MAArD,EAA6DgJ,kBAA7D,EAFqD;AAAA,IADpB;AAAA,GAH0C;AAAA,EArmC/D;AAAA,CA+mCxB,SAAS0C,kDAAT,CAA4DlsB,UAA5D,EAAwEwnB,YAAxE,EAAsFgC,kBAAtF,EAA0G;AAAA,EACtG,IAAIA,kBAAA,CAAmBhB,WAAnB,GAAiChB,YAAjC,GAAgDgC,kBAAA,CAAmBzB,UAAvE,EAAmF;AAAA,GAC/E,MAAM,IAAIvB,UAAJ,CAAe,2BAAf,CAAN,CAD+E;AAAA,GADmB;AAAA,EAItG6E,sDAAA,CAAuDrrB,UAAvD,EAAmEwnB,YAAnE,EAAiFgC,kBAAjF,EAJsG;AAAA,EAKtG,IAAIA,kBAAA,CAAmBhB,WAAnB,GAAiCgB,kBAAA,CAAmBC,WAAxD,EAAqE;AAAA,GAEjE,OAFiE;AAAA,GALiC;AAAA,EAStG+B,gDAAA,CAAiDxrB,UAAjD,EATsG;AAAA,EAUtG,IAAImsB,aAAA,GAAgB3C,kBAAA,CAAmBhB,WAAnB,GAAiCgB,kBAAA,CAAmBC,WAAxE,CAVsG;AAAA,EAWtG,IAAI0C,aAAA,GAAgB,CAApB,EAAuB;AAAA,GACnB,IAAIjqC,GAAA,GAAMsnC,kBAAA,CAAmBjB,UAAnB,GAAgCiB,kBAAA,CAAmBhB,WAA7D,CADmB;AAAA,GAEnB,IAAI4D,SAAA,GAAY5C,kBAAA,CAAmB1qB,MAAnB,CAA0BwE,KAA1B,CAAgCphB,GAAA,GAAMiqC,aAAtC,EAAqDjqC,GAArD,CAAhB,CAFmB;AAAA,GAGnBwoC,+CAAA,CAAgD1qB,UAAhD,EAA4DosB,SAA5D,EAAuE,CAAvE,EAA0EA,SAAA,CAAUrE,UAApF,EAHmB;AAAA,GAX+E;AAAA,EAgBtGyB,kBAAA,CAAmB1qB,MAAnB,GAA4BmoB,mBAAA,CAAoBuC,kBAAA,CAAmB1qB,MAAvC,CAA5B,CAhBsG;AAAA,EAiBtG0qB,kBAAA,CAAmBhB,WAAnB,IAAkC2D,aAAlC,CAjBsG;AAAA,EAkBtG7B,oDAAA,CAAqDtqB,UAAA,CAAW6oB,6BAAhE,EAA+FW,kBAA/F,EAlBsG;AAAA,EAmBtG+B,gEAAA,CAAiEvrB,UAAjE,EAnBsG;AAAA,EA/mClF;AAAA,CAooCxB,SAASqsB,2CAAT,CAAqDrsB,UAArD,EAAiEwnB,YAAjE,EAA+E;AAAA,EAC3E,IAAIc,eAAA,GAAkBtoB,UAAA,CAAWqoB,iBAAX,CAA6BlI,IAA7B,EAAtB,CAD2E;AAAA,EAE3E,IAAI14B,KAAA,GAAQuY,UAAA,CAAW6oB,6BAAX,CAAyClI,MAArD,CAF2E;AAAA,EAG3E,IAAIl5B,KAAA,KAAU,QAAd,EAAwB;AAAA,GACpB,IAAI+/B,YAAA,KAAiB,CAArB,EAAwB;AAAA,IACpB,MAAM,IAAIjkB,SAAJ,CAAc,kEAAd,CAAN,CADoB;AAAA,IADJ;AAAA,GAIpBwoB,gDAAA,CAAiD/rB,UAAjD,EAA6DsoB,eAA7D,EAJoB;AAAA,GAAxB,MAMK;AAAA,GACD4D,kDAAA,CAAmDlsB,UAAnD,EAA+DwnB,YAA/D,EAA6Ec,eAA7E,EADC;AAAA,GATsE;AAAA,EAY3EsB,4CAAA,CAA6C5pB,UAA7C,EAZ2E;AAAA,EApoCvD;AAAA,CAkpCxB,SAASwrB,gDAAT,CAA0DxrB,UAA1D,EAAsE;AAAA,EAClE,IAAIqB,UAAA,GAAarB,UAAA,CAAWqoB,iBAAX,CAA6B1I,KAA7B,EAAjB,CADkE;AAAA,EAElE0K,iDAAA,CAAkDrqB,UAAlD,EAFkE;AAAA,EAGlE,OAAOqB,UAAP,CAHkE;AAAA,EAlpC9C;AAAA,CAupCxB,SAAS0oB,0CAAT,CAAoD/pB,UAApD,EAAgE;AAAA,EAC5D,IAAIwgB,MAAA,GAASxgB,UAAA,CAAW6oB,6BAAxB,CAD4D;AAAA,EAE5D,IAAIrI,MAAA,CAAOG,MAAP,KAAkB,UAAtB,EAAkC;AAAA,GAC9B,OAAO,KAAP,CAD8B;AAAA,GAF0B;AAAA,EAK5D,IAAI3gB,UAAA,CAAW4oB,eAAf,EAAgC;AAAA,GAC5B,OAAO,KAAP,CAD4B;AAAA,GAL4B;AAAA,EAQ5D,IAAI,CAAC5oB,UAAA,CAAWssB,QAAhB,EAA0B;AAAA,GACtB,OAAO,KAAP,CADsB;AAAA,GARkC;AAAA,EAW5D,IAAI3I,8BAAA,CAA+BnD,MAA/B,KAA0CkD,gCAAA,CAAiClD,MAAjC,IAA2C,CAAzF,EAA4F;AAAA,GACxF,OAAO,IAAP,CADwF;AAAA,GAXhC;AAAA,EAc5D,IAAIwL,2BAAA,CAA4BxL,MAA5B,KAAuCyL,oCAAA,CAAqCzL,MAArC,IAA+C,CAA1F,EAA6F;AAAA,GACzF,OAAO,IAAP,CADyF;AAAA,GAdjC;AAAA,EAiB5D,IAAIqJ,WAAA,GAAclB,0CAAA,CAA2C3oB,UAA3C,CAAlB,CAjB4D;AAAA,EAkB5D,IAAI6pB,WAAA,GAAc,CAAlB,EAAqB;AAAA,GACjB,OAAO,IAAP,CADiB;AAAA,GAlBuC;AAAA,EAqB5D,OAAO,KAAP,CArB4D;AAAA,EAvpCxC;AAAA,CA8qCxB,SAASV,2CAAT,CAAqDnpB,UAArD,EAAiE;AAAA,EAC7DA,UAAA,CAAWmqB,cAAX,GAA4B1oB,SAA5B,CAD6D;AAAA,EAE7DzB,UAAA,CAAWkpB,gBAAX,GAA8BznB,SAA9B,CAF6D;AAAA,EA9qCzC;AAAA,CAmrCxB,SAASqnB,iCAAT,CAA2C9oB,UAA3C,EAAuD;AAAA,EACnD,IAAIwgB,MAAA,GAASxgB,UAAA,CAAW6oB,6BAAxB,CADmD;AAAA,EAEnD,IAAI7oB,UAAA,CAAW4oB,eAAX,IAA8BpI,MAAA,CAAOG,MAAP,KAAkB,UAApD,EAAgE;AAAA,GAC5D,OAD4D;AAAA,GAFb;AAAA,EAKnD,IAAI3gB,UAAA,CAAWsmB,eAAX,GAA6B,CAAjC,EAAoC;AAAA,GAChCtmB,UAAA,CAAW4oB,eAAX,GAA6B,IAA7B,CADgC;AAAA,GAEhC,OAFgC;AAAA,GALe;AAAA,EASnD,IAAI5oB,UAAA,CAAWqoB,iBAAX,CAA6BltB,MAA7B,GAAsC,CAA1C,EAA6C;AAAA,GACzC,IAAIoxB,oBAAA,GAAuBvsB,UAAA,CAAWqoB,iBAAX,CAA6BlI,IAA7B,EAA3B,CADyC;AAAA,GAEzC,IAAIoM,oBAAA,CAAqB/D,WAArB,GAAmC,CAAvC,EAA0C;AAAA,IACtC,IAAIlO,CAAA,GAAI,IAAI/W,SAAJ,CAAc,yDAAd,CAAR,CADsC;AAAA,IAEtC0lB,iCAAA,CAAkCjpB,UAAlC,EAA8Csa,CAA9C,EAFsC;AAAA,IAGtC,MAAMA,CAAN,CAHsC;AAAA,IAFD;AAAA,GATM;AAAA,EAiBnD6O,2CAAA,CAA4CnpB,UAA5C,EAjBmD;AAAA,EAkBnDsrB,mBAAA,CAAoB9K,MAApB,EAlBmD;AAAA,EAnrC/B;AAAA,CAusCxB,SAASwI,mCAAT,CAA6ChpB,UAA7C,EAAyDxE,KAAzD,EAAgE;AAAA,EAC5D,IAAIglB,MAAA,GAASxgB,UAAA,CAAW6oB,6BAAxB,CAD4D;AAAA,EAE5D,IAAI7oB,UAAA,CAAW4oB,eAAX,IAA8BpI,MAAA,CAAOG,MAAP,KAAkB,UAApD,EAAgE;AAAA,GAC5D,OAD4D;AAAA,GAFJ;AAAA,EAK5D,IAAI7hB,MAAA,GAAStD,KAAA,CAAMsD,MAAnB,CAL4D;AAAA,EAM5D,IAAIypB,UAAA,GAAa/sB,KAAA,CAAM+sB,UAAvB,CAN4D;AAAA,EAO5D,IAAIR,UAAA,GAAavsB,KAAA,CAAMusB,UAAvB,CAP4D;AAAA,EAQ5D,IAAIyE,iBAAA,GAAoBvF,mBAAA,CAAoBnoB,MAApB,CAAxB,CAR4D;AAAA,EAS5D,IAAI6kB,8BAAA,CAA+BnD,MAA/B,CAAJ,EAA4C;AAAA,GACxC,IAAIkD,gCAAA,CAAiClD,MAAjC,MAA6C,CAAjD,EAAoD;AAAA,IAChDkK,+CAAA,CAAgD1qB,UAAhD,EAA4DwsB,iBAA5D,EAA+EjE,UAA/E,EAA2FR,UAA3F,EADgD;AAAA,IAApD,MAGK;AAAA,IACD,IAAI0E,eAAA,GAAkB,IAAIzF,UAAJ,CAAewF,iBAAf,EAAkCjE,UAAlC,EAA8CR,UAA9C,CAAtB,CADC;AAAA,IAEDxE,gCAAA,CAAiC/C,MAAjC,EAAyCiM,eAAzC,EAA0D,KAA1D,EAFC;AAAA,IAJmC;AAAA,GAA5C,MASK,IAAIT,2BAAA,CAA4BxL,MAA5B,CAAJ,EAAyC;AAAA,GAE1CkK,+CAAA,CAAgD1qB,UAAhD,EAA4DwsB,iBAA5D,EAA+EjE,UAA/E,EAA2FR,UAA3F,EAF0C;AAAA,GAG1CwD,gEAAA,CAAiEvrB,UAAjE,EAH0C;AAAA,GAAzC,MAKA;AAAA,GACD0qB,+CAAA,CAAgD1qB,UAAhD,EAA4DwsB,iBAA5D,EAA+EjE,UAA/E,EAA2FR,UAA3F,EADC;AAAA,GAvBuD;AAAA,EA0B5D6B,4CAAA,CAA6C5pB,UAA7C,EA1B4D;AAAA,EAvsCxC;AAAA,CAmuCxB,SAASipB,iCAAT,CAA2CjpB,UAA3C,EAAuDsa,CAAvD,EAA0D;AAAA,EACtD,IAAIkG,MAAA,GAASxgB,UAAA,CAAW6oB,6BAAxB,CADsD;AAAA,EAEtD,IAAIrI,MAAA,CAAOG,MAAP,KAAkB,UAAtB,EAAkC;AAAA,GAC9B,OAD8B;AAAA,GAFoB;AAAA,EAKtDyJ,iDAAA,CAAkDpqB,UAAlD,EALsD;AAAA,EAMtD0mB,UAAA,CAAW1mB,UAAX,EANsD;AAAA,EAOtDmpB,2CAAA,CAA4CnpB,UAA5C,EAPsD;AAAA,EAQtD0sB,mBAAA,CAAoBlM,MAApB,EAA4BlG,CAA5B,EARsD;AAAA,EAnuClC;AAAA,CA6uCxB,SAASqO,0CAAT,CAAoD3oB,UAApD,EAAgE;AAAA,EAC5D,IAAIvY,KAAA,GAAQuY,UAAA,CAAW6oB,6BAAX,CAAyClI,MAArD,CAD4D;AAAA,EAE5D,IAAIl5B,KAAA,KAAU,SAAd,EAAyB;AAAA,GACrB,OAAO,IAAP,CADqB;AAAA,GAFmC;AAAA,EAK5D,IAAIA,KAAA,KAAU,QAAd,EAAwB;AAAA,GACpB,OAAO,CAAP,CADoB;AAAA,GALoC;AAAA,EAQ5D,OAAOuY,UAAA,CAAW2sB,YAAX,GAA0B3sB,UAAA,CAAWsmB,eAA5C,CAR4D;AAAA,EA7uCxC;AAAA,CAuvCxB,SAASoB,mCAAT,CAA6C1nB,UAA7C,EAAyDwnB,YAAzD,EAAuE;AAAA,EACnEA,YAAA,GAAe9sB,MAAA,CAAO8sB,YAAP,CAAf,CADmE;AAAA,EAEnE,IAAI,CAACzB,yBAAA,CAA0ByB,YAA1B,CAAL,EAA8C;AAAA,GAC1C,MAAM,IAAIhB,UAAJ,CAAe,+BAAf,CAAN,CAD0C;AAAA,GAFqB;AAAA,EAKnE6F,2CAAA,CAA4CrsB,UAA5C,EAAwDwnB,YAAxD,EALmE;AAAA,EAvvC/C;AAAA,CA8vCxB,SAASQ,8CAAT,CAAwDhoB,UAAxD,EAAoE4nB,IAApE,EAA0E;AAAA,EACtE,IAAIU,eAAA,GAAkBtoB,UAAA,CAAWqoB,iBAAX,CAA6BlI,IAA7B,EAAtB,CADsE;AAAA,EAEtE,IAAImI,eAAA,CAAgBC,UAAhB,GAA6BD,eAAA,CAAgBE,WAA7C,KAA6DZ,IAAA,CAAKW,UAAtE,EAAkF;AAAA,GAC9E,MAAM,IAAI/B,UAAJ,CAAe,yDAAf,CAAN,CAD8E;AAAA,GAFZ;AAAA,EAKtE,IAAI8B,eAAA,CAAgBP,UAAhB,KAA+BH,IAAA,CAAKG,UAAxC,EAAoD;AAAA,GAChD,MAAM,IAAIvB,UAAJ,CAAe,4DAAf,CAAN,CADgD;AAAA,GALkB;AAAA,EAQtE8B,eAAA,CAAgBxpB,MAAhB,GAAyB8oB,IAAA,CAAK9oB,MAA9B,CARsE;AAAA,EAStEutB,2CAAA,CAA4CrsB,UAA5C,EAAwD4nB,IAAA,CAAKG,UAA7D,EATsE;AAAA,EA9vClD;AAAA,CAywCxB,SAAS6E,iCAAT,CAA2CpM,MAA3C,EAAmDxgB,UAAnD,EAA+D6sB,cAA/D,EAA+EC,aAA/E,EAA8FC,eAA9F,EAA+GC,aAA/G,EAA8H3D,qBAA9H,EAAqJ;AAAA,EACjJrpB,UAAA,CAAW6oB,6BAAX,GAA2CrI,MAA3C,CADiJ;AAAA,EAEjJxgB,UAAA,CAAWiqB,UAAX,GAAwB,KAAxB,CAFiJ;AAAA,EAGjJjqB,UAAA,CAAWgqB,QAAX,GAAsB,KAAtB,CAHiJ;AAAA,EAIjJhqB,UAAA,CAAWooB,YAAX,GAA0B,IAA1B,CAJiJ;AAAA,EAMjJpoB,UAAA,CAAWqmB,MAAX,GAAoBrmB,UAAA,CAAWsmB,eAAX,GAA6B7kB,SAAjD,CANiJ;AAAA,EAOjJilB,UAAA,CAAW1mB,UAAX,EAPiJ;AAAA,EAQjJA,UAAA,CAAW4oB,eAAX,GAA6B,KAA7B,CARiJ;AAAA,EASjJ5oB,UAAA,CAAWssB,QAAX,GAAsB,KAAtB,CATiJ;AAAA,EAUjJtsB,UAAA,CAAW2sB,YAAX,GAA0BK,aAA1B,CAViJ;AAAA,EAWjJhtB,UAAA,CAAWmqB,cAAX,GAA4B2C,aAA5B,CAXiJ;AAAA,EAYjJ9sB,UAAA,CAAWkpB,gBAAX,GAA8B6D,eAA9B,CAZiJ;AAAA,EAajJ/sB,UAAA,CAAWspB,sBAAX,GAAoCD,qBAApC,CAbiJ;AAAA,EAcjJrpB,UAAA,CAAWqoB,iBAAX,GAA+B,IAAIpJ,WAAJ,EAA/B,CAdiJ;AAAA,EAejJuB,MAAA,CAAOiE,yBAAP,GAAmCzkB,UAAnC,CAfiJ;AAAA,EAgBjJ,IAAIitB,WAAA,GAAcJ,cAAA,EAAlB,CAhBiJ;AAAA,EAiBjJxO,WAAA,CAAYH,mBAAA,CAAoB+O,WAApB,CAAZ,EAA8C,YAAY;AAAA,GACtDjtB,UAAA,CAAWssB,QAAX,GAAsB,IAAtB,CADsD;AAAA,GAEtD1C,4CAAA,CAA6C5pB,UAA7C,EAFsD;AAAA,GAA1D,EAGG,UAAU5C,CAAV,EAAa;AAAA,GACZ6rB,iCAAA,CAAkCjpB,UAAlC,EAA8C5C,CAA9C,EADY;AAAA,GAHhB,EAjBiJ;AAAA,EAzwC7H;AAAA,CAiyCxB,SAAS8vB,qDAAT,CAA+D1M,MAA/D,EAAuE2M,oBAAvE,EAA6FH,aAA7F,EAA4G;AAAA,EACxG,IAAIhtB,UAAA,GAAard,MAAA,CAAO5E,MAAP,CAAckqC,4BAAA,CAA6B3mB,SAA3C,CAAjB,CADwG;AAAA,EAExG,IAAIurB,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAOprB,SAAP,CAAF;AAAA,GAAjC,CAFwG;AAAA,EAGxG,IAAIqrB,aAAA,GAAgB,YAAY;AAAA,GAAE,OAAO5O,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAhC,CAHwG;AAAA,EAIxG,IAAIsrB,eAAA,GAAkB,YAAY;AAAA,GAAE,OAAO7O,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAlC,CAJwG;AAAA,EAKxG,IAAI0rB,oBAAA,CAAqBnqC,KAArB,KAA+Bye,SAAnC,EAA8C;AAAA,GAC1CorB,cAAA,GAAiB,YAAY;AAAA,IAAE,OAAOM,oBAAA,CAAqBnqC,KAArB,CAA2Bgd,UAA3B,CAAP,CAAF;AAAA,IAA7B,CAD0C;AAAA,GAL0D;AAAA,EAQxG,IAAImtB,oBAAA,CAAqBC,IAArB,KAA8B3rB,SAAlC,EAA6C;AAAA,GACzCqrB,aAAA,GAAgB,YAAY;AAAA,IAAE,OAAOK,oBAAA,CAAqBC,IAArB,CAA0BptB,UAA1B,CAAP,CAAF;AAAA,IAA5B,CADyC;AAAA,GAR2D;AAAA,EAWxG,IAAImtB,oBAAA,CAAqBpJ,MAArB,KAAgCtiB,SAApC,EAA+C;AAAA,GAC3CsrB,eAAA,GAAkB,UAAUjuC,MAAV,EAAkB;AAAA,IAAE,OAAOquC,oBAAA,CAAqBpJ,MAArB,CAA4BjlC,MAA5B,CAAP,CAAF;AAAA,IAApC,CAD2C;AAAA,GAXyD;AAAA,EAcxG,IAAIuqC,qBAAA,GAAwB8D,oBAAA,CAAqB9D,qBAAjD,CAdwG;AAAA,EAexG,IAAIA,qBAAA,KAA0B,CAA9B,EAAiC;AAAA,GAC7B,MAAM,IAAI9lB,SAAJ,CAAc,8CAAd,CAAN,CAD6B;AAAA,GAfuE;AAAA,EAkBxGqpB,iCAAA,CAAkCpM,MAAlC,EAA0CxgB,UAA1C,EAAsD6sB,cAAtD,EAAsEC,aAAtE,EAAqFC,eAArF,EAAsGC,aAAtG,EAAqH3D,qBAArH,EAlBwG;AAAA,EAjyCpF;AAAA,CAqzCxB,SAASX,8BAAT,CAAwCppC,OAAxC,EAAiD0gB,UAAjD,EAA6D4nB,IAA7D,EAAmE;AAAA,EAC/DtoC,OAAA,CAAQmoC,uCAAR,GAAkDznB,UAAlD,CAD+D;AAAA,EAE/D1gB,OAAA,CAAQgoC,KAAR,GAAgBM,IAAhB,CAF+D;AAAA,EArzC3C;AAAA,CA0zCxB,SAASP,8BAAT,CAAwCxkC,IAAxC,EAA8C;AAAA,EAC1C,OAAO,IAAI0gB,SAAJ,CAAc,yCAAyC1gB,IAAzC,GAAgD,kDAA9D,CAAP,CAD0C;AAAA,EA1zCtB;AAAA,CA8zCxB,SAASslC,uCAAT,CAAiDtlC,IAAjD,EAAuD;AAAA,EACnD,OAAO,IAAI0gB,SAAJ,CAAc,4CAA4C1gB,IAA5C,GAAmD,qDAAjE,CAAP,CADmD;AAAA,EA9zC/B;AAAA,CAm0CxB,SAASwqC,+BAAT,CAAyC7M,MAAzC,EAAiD;AAAA,EAC7C,OAAO,IAAI8M,wBAAJ,CAA6B9M,MAA7B,CAAP,CAD6C;AAAA,EAn0CzB;AAAA,CAu0CxB,SAASqL,gCAAT,CAA0CrL,MAA1C,EAAkDkL,eAAlD,EAAmE;AAAA,EAC/DlL,MAAA,CAAOE,OAAP,CAAe6M,iBAAf,CAAiClnB,IAAjC,CAAsCqlB,eAAtC,EAD+D;AAAA,EAv0C3C;AAAA,CA00CxB,SAASjB,oCAAT,CAA8CjK,MAA9C,EAAsDhlB,KAAtD,EAA6DzT,IAA7D,EAAmE;AAAA,EAC/D,IAAIw4B,MAAA,GAASC,MAAA,CAAOE,OAApB,CAD+D;AAAA,EAE/D,IAAIgL,eAAA,GAAkBnL,MAAA,CAAOgN,iBAAP,CAAyB5N,KAAzB,EAAtB,CAF+D;AAAA,EAG/D,IAAI53B,IAAJ,EAAU;AAAA,GACN2jC,eAAA,CAAgBlI,WAAhB,CAA4BhoB,KAA5B,EADM;AAAA,GAAV,MAGK;AAAA,GACDkwB,eAAA,CAAgBjI,WAAhB,CAA4BjoB,KAA5B,EADC;AAAA,GAN0D;AAAA,EA10C3C;AAAA,CAo1CxB,SAASywB,oCAAT,CAA8CzL,MAA9C,EAAsD;AAAA,EAClD,OAAOA,MAAA,CAAOE,OAAP,CAAe6M,iBAAf,CAAiCpyB,MAAxC,CADkD;AAAA,EAp1C9B;AAAA,CAu1CxB,SAAS6wB,2BAAT,CAAqCxL,MAArC,EAA6C;AAAA,EACzC,IAAID,MAAA,GAASC,MAAA,CAAOE,OAApB,CADyC;AAAA,EAEzC,IAAIH,MAAA,KAAW9e,SAAf,EAA0B;AAAA,GACtB,OAAO,KAAP,CADsB;AAAA,GAFe;AAAA,EAKzC,IAAI,CAAC+rB,0BAAA,CAA2BjN,MAA3B,CAAL,EAAyC;AAAA,GACrC,OAAO,KAAP,CADqC;AAAA,GALA;AAAA,EAQzC,OAAO,IAAP,CARyC;AAAA,EAv1CrB;AAAA,CAs2CxB,IAAI+M,wBAAA,GAA0C,YAAY;AAAA,EACtD,SAASA,wBAAT,CAAkC9M,MAAlC,EAA0C;AAAA,GACtC8B,sBAAA,CAAuB9B,MAAvB,EAA+B,CAA/B,EAAkC,0BAAlC,EADsC;AAAA,GAEtCwC,oBAAA,CAAqBxC,MAArB,EAA6B,iBAA7B,EAFsC;AAAA,GAGtC,IAAIqD,sBAAA,CAAuBrD,MAAvB,CAAJ,EAAoC;AAAA,IAChC,MAAM,IAAIjd,SAAJ,CAAc,6EAAd,CAAN,CADgC;AAAA,IAHE;AAAA,GAMtC,IAAI,CAAC2kB,8BAAA,CAA+B1H,MAAA,CAAOiE,yBAAtC,CAAL,EAAuE;AAAA,IACnE,MAAM,IAAIlhB,SAAJ,CAAc,0FAChB,QADE,CAAN,CADmE;AAAA,IANjC;AAAA,GAUtC+c,qCAAA,CAAsC,IAAtC,EAA4CE,MAA5C,EAVsC;AAAA,GAWtC,KAAK+M,iBAAL,GAAyB,IAAItO,WAAJ,EAAzB,CAXsC;AAAA,GADY;AAAA,EActDt8B,MAAA,CAAOigB,cAAP,CAAsB0qB,wBAAA,CAAyBhsB,SAA/C,EAA0D,QAA1D,EAAoE;AAAA,GAKhErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACuuB,0BAAA,CAA2B,IAA3B,CAAL,EAAuC;AAAA,KACnC,OAAOrP,mBAAA,CAAoBsP,6BAAA,CAA8B,QAA9B,CAApB,CAAP,CADmC;AAAA,KAD1B;AAAA,IAIb,OAAO,KAAKnM,cAAZ,CAJa;AAAA,IAL+C;AAAA,GAWhEt8B,UAAA,EAAY,KAXoD;AAAA,GAYhEC,YAAA,EAAc,IAZkD;AAAA,GAApE,EAdsD;AAAA,EA+BtDqoC,wBAAA,CAAyBhsB,SAAzB,CAAmCyiB,MAAnC,GAA4C,UAAUjlC,MAAV,EAAkB;AAAA,GAC1D,IAAIA,MAAA,KAAW,KAAK,CAApB,EAAuB;AAAA,IAAEA,MAAA,GAAS2iB,SAAT,CAAF;AAAA,IADmC;AAAA,GAE1D,IAAI,CAAC+rB,0BAAA,CAA2B,IAA3B,CAAL,EAAuC;AAAA,IACnC,OAAOrP,mBAAA,CAAoBsP,6BAAA,CAA8B,QAA9B,CAApB,CAAP,CADmC;AAAA,IAFmB;AAAA,GAK1D,IAAI,KAAKhN,oBAAL,KAA8Bhf,SAAlC,EAA6C;AAAA,IACzC,OAAO0c,mBAAA,CAAoBkD,mBAAA,CAAoB,QAApB,CAApB,CAAP,CADyC;AAAA,IALa;AAAA,GAQ1D,OAAOL,iCAAA,CAAkC,IAAlC,EAAwCliC,MAAxC,CAAP,CAR0D;AAAA,GAA9D,CA/BsD;AAAA,EA8CtDwuC,wBAAA,CAAyBhsB,SAAzB,CAAmC0iB,IAAnC,GAA0C,UAAU4D,IAAV,EAAgB;AAAA,GACtD,IAAI,CAAC4F,0BAAA,CAA2B,IAA3B,CAAL,EAAuC;AAAA,IACnC,OAAOrP,mBAAA,CAAoBsP,6BAAA,CAA8B,MAA9B,CAApB,CAAP,CADmC;AAAA,IADe;AAAA,GAItD,IAAI,CAAC5F,WAAA,CAAYC,MAAZ,CAAmBF,IAAnB,CAAL,EAA+B;AAAA,IAC3B,OAAOzJ,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,mCAAd,CAApB,CAAP,CAD2B;AAAA,IAJuB;AAAA,GAOtD,IAAIqkB,IAAA,CAAKG,UAAL,KAAoB,CAAxB,EAA2B;AAAA,IACvB,OAAO5J,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,oCAAd,CAApB,CAAP,CADuB;AAAA,IAP2B;AAAA,GAUtD,IAAIqkB,IAAA,CAAK9oB,MAAL,CAAYipB,UAAZ,KAA2B,CAA/B,EAAkC;AAAA,IAC9B,OAAO5J,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,6CAAd,CAApB,CAAP,CAD8B;AAAA,IAVoB;AAAA,GAatD,IAAI,KAAKkd,oBAAL,KAA8Bhf,SAAlC,EAA6C;AAAA,IACzC,OAAO0c,mBAAA,CAAoBkD,mBAAA,CAAoB,WAApB,CAApB,CAAP,CADyC;AAAA,IAbS;AAAA,GAgBtD,IAAI4C,cAAJ,CAhBsD;AAAA,GAiBtD,IAAIC,aAAJ,CAjBsD;AAAA,GAkBtD,IAAItQ,OAAA,GAAUqK,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,IAChDwkC,cAAA,GAAiBzkC,OAAjB,CADgD;AAAA,IAEhD0kC,aAAA,GAAgBzkC,MAAhB,CAFgD;AAAA,IAAtC,CAAd,CAlBsD;AAAA,GAsBtD,IAAIisC,eAAA,GAAkB;AAAA,IAClBjI,WAAA,EAAa,UAAUjoB,KAAV,EAAiB;AAAA,KAAE,OAAOyoB,cAAA,CAAe;AAAA,MAAEl/B,KAAA,EAAOyW,KAAT;AAAA,MAAgBzT,IAAA,EAAM,KAAtB;AAAA,MAAf,CAAP,CAAF;AAAA,KADZ;AAAA,IAElBy7B,WAAA,EAAa,UAAUhoB,KAAV,EAAiB;AAAA,KAAE,OAAOyoB,cAAA,CAAe;AAAA,MAAEl/B,KAAA,EAAOyW,KAAT;AAAA,MAAgBzT,IAAA,EAAM,IAAtB;AAAA,MAAf,CAAP,CAAF;AAAA,KAFZ;AAAA,IAGlBo8B,WAAA,EAAa,UAAU7J,CAAV,EAAa;AAAA,KAAE,OAAO4J,aAAA,CAAc5J,CAAd,CAAP,CAAF;AAAA,KAHR;AAAA,IAAtB,CAtBsD;AAAA,GA2BtDoT,4BAAA,CAA6B,IAA7B,EAAmC9F,IAAnC,EAAyC8D,eAAzC,EA3BsD;AAAA,GA4BtD,OAAO9X,OAAP,CA5BsD;AAAA,GAA1D,CA9CsD;AAAA,EAqFtD0Z,wBAAA,CAAyBhsB,SAAzB,CAAmC+iB,WAAnC,GAAiD,YAAY;AAAA,GACzD,IAAI,CAACmJ,0BAAA,CAA2B,IAA3B,CAAL,EAAuC;AAAA,IACnC,MAAMC,6BAAA,CAA8B,aAA9B,CAAN,CADmC;AAAA,IADkB;AAAA,GAIzD,IAAI,KAAKhN,oBAAL,KAA8Bhf,SAAlC,EAA6C;AAAA,IACzC,OADyC;AAAA,IAJY;AAAA,GAOzD,IAAI,KAAK8rB,iBAAL,CAAuBpyB,MAAvB,GAAgC,CAApC,EAAuC;AAAA,IACnC,MAAM,IAAIoI,SAAJ,CAAc,qFAAd,CAAN,CADmC;AAAA,IAPkB;AAAA,GAUzD2d,kCAAA,CAAmC,IAAnC,EAVyD;AAAA,GAA7D,CArFsD;AAAA,EAiGtD,OAAOoM,wBAAP,CAjGsD;AAAA,EAAZ,EAA9C,CAt2CwB;AAAA,CAy8CxB3qC,MAAA,CAAOioB,gBAAP,CAAwB0iB,wBAAA,CAAyBhsB,SAAjD,EAA4D;AAAA,EACxDyiB,MAAA,EAAQ,EAAE/+B,UAAA,EAAY,IAAd,EADgD;AAAA,EAExDg/B,IAAA,EAAM,EAAEh/B,UAAA,EAAY,IAAd,EAFkD;AAAA,EAGxDq/B,WAAA,EAAa,EAAEr/B,UAAA,EAAY,IAAd,EAH2C;AAAA,EAIxDs/B,MAAA,EAAQ,EAAEt/B,UAAA,EAAY,IAAd,EAJgD;AAAA,EAA5D,EAz8CwB;AAAA,CA+8CxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsB0qB,wBAAA,CAAyBhsB,SAA/C,EAA0Dgc,cAAA,CAAeiH,WAAzE,EAAsF;AAAA,GAClFx/B,KAAA,EAAO,0BAD2E;AAAA,GAElFE,YAAA,EAAc,IAFoE;AAAA,GAAtF,EADgD;AAAA,EA/8C5B;AAAA,CAs9CxB,SAASuoC,0BAAT,CAAoC1X,CAApC,EAAuC;AAAA,EACnC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADa;AAAA,EAInC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,mBAAxC,CAAL,EAAmE;AAAA,GAC/D,OAAO,KAAP,CAD+D;AAAA,GAJhC;AAAA,EAOnC,OAAO,IAAP,CAPmC;AAAA,EAt9Cf;AAAA,CA+9CxB,SAAS4X,4BAAT,CAAsCnN,MAAtC,EAA8CqH,IAA9C,EAAoD8D,eAApD,EAAqE;AAAA,EACjE,IAAIlL,MAAA,GAASD,MAAA,CAAOE,oBAApB,CADiE;AAAA,EAEjED,MAAA,CAAOgE,UAAP,GAAoB,IAApB,CAFiE;AAAA,EAGjE,IAAIhE,MAAA,CAAOG,MAAP,KAAkB,SAAtB,EAAiC;AAAA,GAC7B+K,eAAA,CAAgBvH,WAAhB,CAA4B3D,MAAA,CAAOO,YAAnC,EAD6B;AAAA,GAAjC,MAGK;AAAA,GACD0K,oCAAA,CAAqCjL,MAAA,CAAOiE,yBAA5C,EAAuEmD,IAAvE,EAA6E8D,eAA7E,EADC;AAAA,GAN4D;AAAA,EA/9C7C;AAAA,CA0+CxB,SAAS+B,6BAAT,CAAuC5qC,IAAvC,EAA6C;AAAA,EACzC,OAAO,IAAI0gB,SAAJ,CAAc,wCAAwC1gB,IAAxC,GAA+C,iDAA7D,CAAP,CADyC;AAAA,EA1+CrB;AAAA,CA8+CxB,SAAS8qC,oBAAT,CAA8BC,QAA9B,EAAwCC,UAAxC,EAAoD;AAAA,EAChD,IAAIb,aAAA,GAAgBY,QAAA,CAASZ,aAA7B,CADgD;AAAA,EAEhD,IAAIA,aAAA,KAAkBvrB,SAAtB,EAAiC;AAAA,GAC7B,OAAOosB,UAAP,CAD6B;AAAA,GAFe;AAAA,EAKhD,IAAI/H,WAAA,CAAYkH,aAAZ,KAA8BA,aAAA,GAAgB,CAAlD,EAAqD;AAAA,GACjD,MAAM,IAAIxG,UAAJ,CAAe,uBAAf,CAAN,CADiD;AAAA,GALL;AAAA,EAQhD,OAAOwG,aAAP,CARgD;AAAA,EA9+C5B;AAAA,CAw/CxB,SAASc,oBAAT,CAA8BF,QAA9B,EAAwC;AAAA,EACpC,IAAIhT,IAAA,GAAOgT,QAAA,CAAShT,IAApB,CADoC;AAAA,EAEpC,IAAI,CAACA,IAAL,EAAW;AAAA,GACP,OAAO,YAAY;AAAA,IAAE,OAAO,CAAP,CAAF;AAAA,IAAnB,CADO;AAAA,GAFyB;AAAA,EAKpC,OAAOA,IAAP,CALoC;AAAA,EAx/ChB;AAAA,CAggDxB,SAASmT,sBAAT,CAAgCC,IAAhC,EAAsCxvC,OAAtC,EAA+C;AAAA,EAC3C2jC,gBAAA,CAAiB6L,IAAjB,EAAuBxvC,OAAvB,EAD2C;AAAA,EAE3C,IAAIwuC,aAAA,GAAgBgB,IAAA,KAAS,IAAT,IAAiBA,IAAA,KAAS,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAA,CAAKhB,aAArE,CAF2C;AAAA,EAG3C,IAAIpS,IAAA,GAAOoT,IAAA,KAAS,IAAT,IAAiBA,IAAA,KAAS,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAA,CAAKpT,IAA5D,CAH2C;AAAA,EAI3C,OAAO;AAAA,GACHoS,aAAA,EAAeA,aAAA,KAAkBvrB,SAAlB,GAA8BA,SAA9B,GAA0CghB,yBAAA,CAA0BuK,aAA1B,CADtD;AAAA,GAEHpS,IAAA,EAAMA,IAAA,KAASnZ,SAAT,GAAqBA,SAArB,GAAiCwsB,0BAAA,CAA2BrT,IAA3B,EAAiCp8B,OAAA,GAAU,yBAA3C,CAFpC;AAAA,GAAP,CAJ2C;AAAA,EAhgDvB;AAAA,CAygDxB,SAASyvC,0BAAT,CAAoCpoC,EAApC,EAAwCrH,OAAxC,EAAiD;AAAA,EAC7C4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD6C;AAAA,EAE7C,OAAO,UAAUgd,KAAV,EAAiB;AAAA,GAAE,OAAOinB,yBAAA,CAA0B58B,EAAA,CAAG2V,KAAH,CAA1B,CAAP,CAAF;AAAA,GAAxB,CAF6C;AAAA,EAzgDzB;AAAA,CA8gDxB,SAAS0yB,qBAAT,CAA+BC,QAA/B,EAAyC3vC,OAAzC,EAAkD;AAAA,EAC9C2jC,gBAAA,CAAiBgM,QAAjB,EAA2B3vC,OAA3B,EAD8C;AAAA,EAE9C,IAAI4vC,KAAA,GAAQD,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASC,KAAzE,CAF8C;AAAA,EAG9C,IAAI1iB,KAAA,GAAQyiB,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASziB,KAAzE,CAH8C;AAAA,EAI9C,IAAI1oB,KAAA,GAAQmrC,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASnrC,KAAzE,CAJ8C;AAAA,EAK9C,IAAI2C,IAAA,GAAOwoC,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASxoC,IAAxE,CAL8C;AAAA,EAM9C,IAAI8lB,KAAA,GAAQ0iB,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAAS1iB,KAAzE,CAN8C;AAAA,EAO9C,OAAO;AAAA,GACH2iB,KAAA,EAAOA,KAAA,KAAU3sB,SAAV,GACHA,SADG,GAEH4sB,kCAAA,CAAmCD,KAAnC,EAA0CD,QAA1C,EAAoD3vC,OAAA,GAAU,0BAA9D,CAHD;AAAA,GAIHktB,KAAA,EAAOA,KAAA,KAAUjK,SAAV,GACHA,SADG,GAEH6sB,kCAAA,CAAmC5iB,KAAnC,EAA0CyiB,QAA1C,EAAoD3vC,OAAA,GAAU,0BAA9D,CAND;AAAA,GAOHwE,KAAA,EAAOA,KAAA,KAAUye,SAAV,GACHA,SADG,GAEH8sB,kCAAA,CAAmCvrC,KAAnC,EAA0CmrC,QAA1C,EAAoD3vC,OAAA,GAAU,0BAA9D,CATD;AAAA,GAUHitB,KAAA,EAAOA,KAAA,KAAUhK,SAAV,GACHA,SADG,GAEH+sB,kCAAA,CAAmC/iB,KAAnC,EAA0C0iB,QAA1C,EAAoD3vC,OAAA,GAAU,0BAA9D,CAZD;AAAA,GAaHmH,IAAA,EAAMA,IAbH;AAAA,GAAP,CAP8C;AAAA,EA9gD1B;AAAA,CAqiDxB,SAAS0oC,kCAAT,CAA4CxoC,EAA5C,EAAgDsoC,QAAhD,EAA0D3vC,OAA1D,EAAmE;AAAA,EAC/D4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD+D;AAAA,EAE/D,OAAO,UAAUM,MAAV,EAAkB;AAAA,GAAE,OAAOigC,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACrvC,MAAD,CAA1B,CAAP,CAAF;AAAA,GAAzB,CAF+D;AAAA,EAriD3C;AAAA,CAyiDxB,SAASwvC,kCAAT,CAA4CzoC,EAA5C,EAAgDsoC,QAAhD,EAA0D3vC,OAA1D,EAAmE;AAAA,EAC/D4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD+D;AAAA,EAE/D,OAAO,YAAY;AAAA,GAAE,OAAOugC,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,EAA1B,CAAP,CAAF;AAAA,GAAnB,CAF+D;AAAA,EAziD3C;AAAA,CA6iDxB,SAASI,kCAAT,CAA4C1oC,EAA5C,EAAgDsoC,QAAhD,EAA0D3vC,OAA1D,EAAmE;AAAA,EAC/D4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD+D;AAAA,EAE/D,OAAO,UAAUwhB,UAAV,EAAsB;AAAA,GAAE,OAAO8e,WAAA,CAAYj5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACnuB,UAAD,CAA1B,CAAP,CAAF;AAAA,GAA7B,CAF+D;AAAA,EA7iD3C;AAAA,CAijDxB,SAASwuB,kCAAT,CAA4C3oC,EAA5C,EAAgDsoC,QAAhD,EAA0D3vC,OAA1D,EAAmE;AAAA,EAC/D4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD+D;AAAA,EAE/D,OAAO,UAAUgd,KAAV,EAAiBwE,UAAjB,EAA6B;AAAA,GAAE,OAAO+e,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B;AAAA,IAAC3yB,KAAD;AAAA,IAAQwE,UAAR;AAAA,IAA1B,CAAP,CAAF;AAAA,GAApC,CAF+D;AAAA,EAjjD3C;AAAA,CAsjDxB,SAASyuB,oBAAT,CAA8B3Y,CAA9B,EAAiCt3B,OAAjC,EAA0C;AAAA,EACtC,IAAI,CAACkwC,gBAAA,CAAiB5Y,CAAjB,CAAL,EAA0B;AAAA,GACtB,MAAM,IAAIvS,SAAJ,CAAc/kB,OAAA,GAAU,2BAAxB,CAAN,CADsB;AAAA,GADY;AAAA,EAtjDlB;AAAA,CAikDxB,IAAImwC,cAAA,GAAgC,YAAY;AAAA,EAC5C,SAASA,cAAT,CAAwBC,iBAAxB,EAA2CC,WAA3C,EAAwD;AAAA,GACpD,IAAID,iBAAA,KAAsB,KAAK,CAA/B,EAAkC;AAAA,IAAEA,iBAAA,GAAoB,EAApB,CAAF;AAAA,IADkB;AAAA,GAEpD,IAAIC,WAAA,KAAgB,KAAK,CAAzB,EAA4B;AAAA,IAAEA,WAAA,GAAc,EAAd,CAAF;AAAA,IAFwB;AAAA,GAGpD,IAAID,iBAAA,KAAsBntB,SAA1B,EAAqC;AAAA,IACjCmtB,iBAAA,GAAoB,IAApB,CADiC;AAAA,IAArC,MAGK;AAAA,IACDvM,YAAA,CAAauM,iBAAb,EAAgC,iBAAhC,EADC;AAAA,IAN+C;AAAA,GASpD,IAAIhB,QAAA,GAAWG,sBAAA,CAAuBc,WAAvB,EAAoC,kBAApC,CAAf,CAToD;AAAA,GAUpD,IAAIC,cAAA,GAAiBZ,qBAAA,CAAsBU,iBAAtB,EAAyC,iBAAzC,CAArB,CAVoD;AAAA,GAWpDG,wBAAA,CAAyB,IAAzB,EAXoD;AAAA,GAYpD,IAAIppC,IAAA,GAAOmpC,cAAA,CAAenpC,IAA1B,CAZoD;AAAA,GAapD,IAAIA,IAAA,KAAS8b,SAAb,EAAwB;AAAA,IACpB,MAAM,IAAI+kB,UAAJ,CAAe,2BAAf,CAAN,CADoB;AAAA,IAb4B;AAAA,GAgBpD,IAAIwI,aAAA,GAAgBlB,oBAAA,CAAqBF,QAArB,CAApB,CAhBoD;AAAA,GAiBpD,IAAIZ,aAAA,GAAgBW,oBAAA,CAAqBC,QAArB,EAA+B,CAA/B,CAApB,CAjBoD;AAAA,GAkBpDqB,sDAAA,CAAuD,IAAvD,EAA6DH,cAA7D,EAA6E9B,aAA7E,EAA4FgC,aAA5F,EAlBoD;AAAA,GADZ;AAAA,EAqB5CrsC,MAAA,CAAOigB,cAAP,CAAsB+rB,cAAA,CAAertB,SAArC,EAAgD,QAAhD,EAA0D;AAAA,GAItDrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACyvB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,KACzB,MAAMQ,2BAAA,CAA4B,QAA5B,CAAN,CADyB;AAAA,KADhB;AAAA,IAIb,OAAOC,sBAAA,CAAuB,IAAvB,CAAP,CAJa;AAAA,IAJqC;AAAA,GAUtDnqC,UAAA,EAAY,KAV0C;AAAA,GAWtDC,YAAA,EAAc,IAXwC;AAAA,GAA1D,EArB4C;AAAA,EA2C5C0pC,cAAA,CAAertB,SAAf,CAAyB8sB,KAAzB,GAAiC,UAAUtvC,MAAV,EAAkB;AAAA,GAC/C,IAAIA,MAAA,KAAW,KAAK,CAApB,EAAuB;AAAA,IAAEA,MAAA,GAAS2iB,SAAT,CAAF;AAAA,IADwB;AAAA,GAE/C,IAAI,CAACitB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,OAAOvQ,mBAAA,CAAoB+Q,2BAAA,CAA4B,OAA5B,CAApB,CAAP,CADyB;AAAA,IAFkB;AAAA,GAK/C,IAAIC,sBAAA,CAAuB,IAAvB,CAAJ,EAAkC;AAAA,IAC9B,OAAOhR,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,iDAAd,CAApB,CAAP,CAD8B;AAAA,IALa;AAAA,GAQ/C,OAAO6rB,mBAAA,CAAoB,IAApB,EAA0BtwC,MAA1B,CAAP,CAR+C;AAAA,GAAnD,CA3C4C;AAAA,EA6D5C6vC,cAAA,CAAertB,SAAf,CAAyBoK,KAAzB,GAAiC,YAAY;AAAA,GACzC,IAAI,CAACgjB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,OAAOvQ,mBAAA,CAAoB+Q,2BAAA,CAA4B,OAA5B,CAApB,CAAP,CADyB;AAAA,IADY;AAAA,GAIzC,IAAIC,sBAAA,CAAuB,IAAvB,CAAJ,EAAkC;AAAA,IAC9B,OAAOhR,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,iDAAd,CAApB,CAAP,CAD8B;AAAA,IAJO;AAAA,GAOzC,IAAI8rB,mCAAA,CAAoC,IAApC,CAAJ,EAA+C;AAAA,IAC3C,OAAOlR,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,wCAAd,CAApB,CAAP,CAD2C;AAAA,IAPN;AAAA,GAUzC,OAAO+rB,mBAAA,CAAoB,IAApB,CAAP,CAVyC;AAAA,GAA7C,CA7D4C;AAAA,EAiF5CX,cAAA,CAAertB,SAAf,CAAyBiuB,SAAzB,GAAqC,YAAY;AAAA,GAC7C,IAAI,CAACb,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,MAAMQ,2BAAA,CAA4B,WAA5B,CAAN,CADyB;AAAA,IADgB;AAAA,GAI7C,OAAOM,kCAAA,CAAmC,IAAnC,CAAP,CAJ6C;AAAA,GAAjD,CAjF4C;AAAA,EAuF5C,OAAOb,cAAP,CAvF4C;AAAA,EAAZ,EAApC,CAjkDwB;AAAA,CA0pDxBhsC,MAAA,CAAOioB,gBAAP,CAAwB+jB,cAAA,CAAertB,SAAvC,EAAkD;AAAA,EAC9C8sB,KAAA,EAAO,EAAEppC,UAAA,EAAY,IAAd,EADuC;AAAA,EAE9C0mB,KAAA,EAAO,EAAE1mB,UAAA,EAAY,IAAd,EAFuC;AAAA,EAG9CuqC,SAAA,EAAW,EAAEvqC,UAAA,EAAY,IAAd,EAHmC;AAAA,EAI9CyqC,MAAA,EAAQ,EAAEzqC,UAAA,EAAY,IAAd,EAJsC;AAAA,EAAlD,EA1pDwB;AAAA,CAgqDxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsB+rB,cAAA,CAAertB,SAArC,EAAgDgc,cAAA,CAAeiH,WAA/D,EAA4E;AAAA,GACxEx/B,KAAA,EAAO,gBADiE;AAAA,GAExEE,YAAA,EAAc,IAF0D;AAAA,GAA5E,EADgD;AAAA,EAhqD5B;AAAA,CAuqDxB,SAASuqC,kCAAT,CAA4ChP,MAA5C,EAAoD;AAAA,EAChD,OAAO,IAAIkP,2BAAJ,CAAgClP,MAAhC,CAAP,CADgD;AAAA,EAvqD5B;AAAA,CA2qDxB,SAASmP,oBAAT,CAA8B9C,cAA9B,EAA8C+C,cAA9C,EAA8DC,cAA9D,EAA8EC,cAA9E,EAA8F9C,aAA9F,EAA6GgC,aAA7G,EAA4H;AAAA,EACxH,IAAIhC,aAAA,KAAkB,KAAK,CAA3B,EAA8B;AAAA,GAAEA,aAAA,GAAgB,CAAhB,CAAF;AAAA,GAD0F;AAAA,EAExH,IAAIgC,aAAA,KAAkB,KAAK,CAA3B,EAA8B;AAAA,GAAEA,aAAA,GAAgB,YAAY;AAAA,IAAE,OAAO,CAAP,CAAF;AAAA,IAA5B,CAAF;AAAA,GAF0F;AAAA,EAGxH,IAAIxO,MAAA,GAAS79B,MAAA,CAAO5E,MAAP,CAAc4wC,cAAA,CAAertB,SAA7B,CAAb,CAHwH;AAAA,EAIxHytB,wBAAA,CAAyBvO,MAAzB,EAJwH;AAAA,EAKxH,IAAIxgB,UAAA,GAAard,MAAA,CAAO5E,MAAP,CAAcgyC,+BAAA,CAAgCzuB,SAA9C,CAAjB,CALwH;AAAA,EAMxH0uB,oCAAA,CAAqCxP,MAArC,EAA6CxgB,UAA7C,EAAyD6sB,cAAzD,EAAyE+C,cAAzE,EAAyFC,cAAzF,EAAyGC,cAAzG,EAAyH9C,aAAzH,EAAwIgC,aAAxI,EANwH;AAAA,EAOxH,OAAOxO,MAAP,CAPwH;AAAA,EA3qDpG;AAAA,CAorDxB,SAASuO,wBAAT,CAAkCvO,MAAlC,EAA0C;AAAA,EACtCA,MAAA,CAAOG,MAAP,GAAgB,UAAhB,CADsC;AAAA,EAItCH,MAAA,CAAOO,YAAP,GAAsBtf,SAAtB,CAJsC;AAAA,EAKtC+e,MAAA,CAAOyP,OAAP,GAAiBxuB,SAAjB,CALsC;AAAA,EAQtC+e,MAAA,CAAO0P,yBAAP,GAAmCzuB,SAAnC,CARsC;AAAA,EAWtC+e,MAAA,CAAO2P,cAAP,GAAwB,IAAIlR,WAAJ,EAAxB,CAXsC;AAAA,EActCuB,MAAA,CAAO4P,qBAAP,GAA+B3uB,SAA/B,CAdsC;AAAA,EAiBtC+e,MAAA,CAAO6P,aAAP,GAAuB5uB,SAAvB,CAjBsC;AAAA,EAoBtC+e,MAAA,CAAO8P,qBAAP,GAA+B7uB,SAA/B,CApBsC;AAAA,EAsBtC+e,MAAA,CAAO+P,oBAAP,GAA8B9uB,SAA9B,CAtBsC;AAAA,EAwBtC+e,MAAA,CAAOgQ,aAAP,GAAuB,KAAvB,CAxBsC;AAAA,EAprDlB;AAAA,CA8sDxB,SAAS9B,gBAAT,CAA0B5Y,CAA1B,EAA6B;AAAA,EACzB,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADG;AAAA,EAIzB,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,2BAAxC,CAAL,EAA2E;AAAA,GACvE,OAAO,KAAP,CADuE;AAAA,GAJlD;AAAA,EAOzB,OAAO,IAAP,CAPyB;AAAA,EA9sDL;AAAA,CAutDxB,SAASqZ,sBAAT,CAAgC3O,MAAhC,EAAwC;AAAA,EACpC,IAAIA,MAAA,CAAOyP,OAAP,KAAmBxuB,SAAvB,EAAkC;AAAA,GAC9B,OAAO,KAAP,CAD8B;AAAA,GADE;AAAA,EAIpC,OAAO,IAAP,CAJoC;AAAA,EAvtDhB;AAAA,CA6tDxB,SAAS2tB,mBAAT,CAA6B5O,MAA7B,EAAqC1hC,MAArC,EAA6C;AAAA,EACzC,IAAI2I,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CADyC;AAAA,EAEzC,IAAIl5B,KAAA,KAAU,QAAV,IAAsBA,KAAA,KAAU,SAApC,EAA+C;AAAA,GAC3C,OAAOy2B,mBAAA,CAAoBzc,SAApB,CAAP,CAD2C;AAAA,GAFN;AAAA,EAKzC,IAAI+e,MAAA,CAAO+P,oBAAP,KAAgC9uB,SAApC,EAA+C;AAAA,GAC3C,OAAO+e,MAAA,CAAO+P,oBAAP,CAA4BE,QAAnC,CAD2C;AAAA,GALN;AAAA,EAQzC,IAAIC,kBAAA,GAAqB,KAAzB,CARyC;AAAA,EASzC,IAAIjpC,KAAA,KAAU,UAAd,EAA0B;AAAA,GACtBipC,kBAAA,GAAqB,IAArB,CADsB;AAAA,GAGtB5xC,MAAA,GAAS2iB,SAAT,CAHsB;AAAA,GATe;AAAA,EAczC,IAAImS,OAAA,GAAUqK,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GAChD+gC,MAAA,CAAO+P,oBAAP,GAA8B;AAAA,IAC1BE,QAAA,EAAUhvB,SADgB;AAAA,IAE1BkvB,QAAA,EAAUnxC,OAFgB;AAAA,IAG1BoxC,OAAA,EAASnxC,MAHiB;AAAA,IAI1BoxC,OAAA,EAAS/xC,MAJiB;AAAA,IAK1BgyC,mBAAA,EAAqBJ,kBALK;AAAA,IAA9B,CADgD;AAAA,GAAtC,CAAd,CAdyC;AAAA,EAuBzClQ,MAAA,CAAO+P,oBAAP,CAA4BE,QAA5B,GAAuC7c,OAAvC,CAvByC;AAAA,EAwBzC,IAAI,CAAC8c,kBAAL,EAAyB;AAAA,GACrBK,2BAAA,CAA4BvQ,MAA5B,EAAoC1hC,MAApC,EADqB;AAAA,GAxBgB;AAAA,EA2BzC,OAAO80B,OAAP,CA3ByC;AAAA,EA7tDrB;AAAA,CA0vDxB,SAAS0b,mBAAT,CAA6B9O,MAA7B,EAAqC;AAAA,EACjC,IAAI/4B,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CADiC;AAAA,EAEjC,IAAIl5B,KAAA,KAAU,QAAV,IAAsBA,KAAA,KAAU,SAApC,EAA+C;AAAA,GAC3C,OAAO02B,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,oBAAoB9b,KAApB,GAA4B,2DAA1C,CAApB,CAAP,CAD2C;AAAA,GAFd;AAAA,EAKjC,IAAImsB,OAAA,GAAUqK,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GAChD,IAAIuxC,YAAA,GAAe;AAAA,IACfL,QAAA,EAAUnxC,OADK;AAAA,IAEfoxC,OAAA,EAASnxC,MAFM;AAAA,IAAnB,CADgD;AAAA,GAKhD+gC,MAAA,CAAO6P,aAAP,GAAuBW,YAAvB,CALgD;AAAA,GAAtC,CAAd,CALiC;AAAA,EAYjC,IAAIC,MAAA,GAASzQ,MAAA,CAAOyP,OAApB,CAZiC;AAAA,EAajC,IAAIgB,MAAA,KAAWxvB,SAAX,IAAwB+e,MAAA,CAAOgQ,aAA/B,IAAgD/oC,KAAA,KAAU,UAA9D,EAA0E;AAAA,GACtEypC,gCAAA,CAAiCD,MAAjC,EADsE;AAAA,GAbzC;AAAA,EAgBjCE,oCAAA,CAAqC3Q,MAAA,CAAO0P,yBAA5C,EAhBiC;AAAA,EAiBjC,OAAOtc,OAAP,CAjBiC;AAAA,EA1vDb;AAAA,CA8wDxB,SAASwd,6BAAT,CAAuC5Q,MAAvC,EAA+C;AAAA,EAC3C,IAAI5M,OAAA,GAAUqK,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GAChD,IAAI4xC,YAAA,GAAe;AAAA,IACfV,QAAA,EAAUnxC,OADK;AAAA,IAEfoxC,OAAA,EAASnxC,MAFM;AAAA,IAAnB,CADgD;AAAA,GAKhD+gC,MAAA,CAAO2P,cAAP,CAAsB9pB,IAAtB,CAA2BgrB,YAA3B,EALgD;AAAA,GAAtC,CAAd,CAD2C;AAAA,EAQ3C,OAAOzd,OAAP,CAR2C;AAAA,EA9wDvB;AAAA,CAwxDxB,SAAS0d,+BAAT,CAAyC9Q,MAAzC,EAAiDhe,KAAjD,EAAwD;AAAA,EACpD,IAAI/a,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CADoD;AAAA,EAEpD,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,GACtBspC,2BAAA,CAA4BvQ,MAA5B,EAAoChe,KAApC,EADsB;AAAA,GAEtB,OAFsB;AAAA,GAF0B;AAAA,EAMpD+uB,4BAAA,CAA6B/Q,MAA7B,EANoD;AAAA,EAxxDhC;AAAA,CAgyDxB,SAASuQ,2BAAT,CAAqCvQ,MAArC,EAA6C1hC,MAA7C,EAAqD;AAAA,EACjD,IAAIkhB,UAAA,GAAawgB,MAAA,CAAO0P,yBAAxB,CADiD;AAAA,EAEjD1P,MAAA,CAAOG,MAAP,GAAgB,UAAhB,CAFiD;AAAA,EAGjDH,MAAA,CAAOO,YAAP,GAAsBjiC,MAAtB,CAHiD;AAAA,EAIjD,IAAImyC,MAAA,GAASzQ,MAAA,CAAOyP,OAApB,CAJiD;AAAA,EAKjD,IAAIgB,MAAA,KAAWxvB,SAAf,EAA0B;AAAA,GACtB+vB,qDAAA,CAAsDP,MAAtD,EAA8DnyC,MAA9D,EADsB;AAAA,GALuB;AAAA,EAQjD,IAAI,CAAC2yC,wCAAA,CAAyCjR,MAAzC,CAAD,IAAqDxgB,UAAA,CAAWssB,QAApE,EAA8E;AAAA,GAC1EiF,4BAAA,CAA6B/Q,MAA7B,EAD0E;AAAA,GAR7B;AAAA,EAhyD7B;AAAA,CA4yDxB,SAAS+Q,4BAAT,CAAsC/Q,MAAtC,EAA8C;AAAA,EAC1CA,MAAA,CAAOG,MAAP,GAAgB,SAAhB,CAD0C;AAAA,EAE1CH,MAAA,CAAO0P,yBAAP,CAAiCvO,UAAjC,IAF0C;AAAA,EAG1C,IAAI+P,WAAA,GAAclR,MAAA,CAAOO,YAAzB,CAH0C;AAAA,EAI1CP,MAAA,CAAO2P,cAAP,CAAsBlQ,OAAtB,CAA8B,UAAUoR,YAAV,EAAwB;AAAA,GAClDA,YAAA,CAAaT,OAAb,CAAqBc,WAArB,EADkD;AAAA,GAAtD,EAJ0C;AAAA,EAO1ClR,MAAA,CAAO2P,cAAP,GAAwB,IAAIlR,WAAJ,EAAxB,CAP0C;AAAA,EAQ1C,IAAIuB,MAAA,CAAO+P,oBAAP,KAAgC9uB,SAApC,EAA+C;AAAA,GAC3CkwB,iDAAA,CAAkDnR,MAAlD,EAD2C;AAAA,GAE3C,OAF2C;AAAA,GARL;AAAA,EAY1C,IAAIoR,YAAA,GAAepR,MAAA,CAAO+P,oBAA1B,CAZ0C;AAAA,EAa1C/P,MAAA,CAAO+P,oBAAP,GAA8B9uB,SAA9B,CAb0C;AAAA,EAc1C,IAAImwB,YAAA,CAAad,mBAAjB,EAAsC;AAAA,GAClCc,YAAA,CAAahB,OAAb,CAAqBc,WAArB,EADkC;AAAA,GAElCC,iDAAA,CAAkDnR,MAAlD,EAFkC;AAAA,GAGlC,OAHkC;AAAA,GAdI;AAAA,EAmB1C,IAAI5M,OAAA,GAAU4M,MAAA,CAAO0P,yBAAP,CAAiCxO,UAAjC,EAA6CkQ,YAAA,CAAaf,OAA1D,CAAd,CAnB0C;AAAA,EAoB1CxS,WAAA,CAAYzK,OAAZ,EAAqB,YAAY;AAAA,GAC7Bge,YAAA,CAAajB,QAAb,GAD6B;AAAA,GAE7BgB,iDAAA,CAAkDnR,MAAlD,EAF6B;AAAA,GAAjC,EAGG,UAAU1hC,MAAV,EAAkB;AAAA,GACjB8yC,YAAA,CAAahB,OAAb,CAAqB9xC,MAArB,EADiB;AAAA,GAEjB6yC,iDAAA,CAAkDnR,MAAlD,EAFiB;AAAA,GAHrB,EApB0C;AAAA,EA5yDtB;AAAA,CAw0DxB,SAASqR,iCAAT,CAA2CrR,MAA3C,EAAmD;AAAA,EAC/CA,MAAA,CAAO4P,qBAAP,CAA6BO,QAA7B,CAAsClvB,SAAtC,EAD+C;AAAA,EAE/C+e,MAAA,CAAO4P,qBAAP,GAA+B3uB,SAA/B,CAF+C;AAAA,EAx0D3B;AAAA,CA40DxB,SAASqwB,0CAAT,CAAoDtR,MAApD,EAA4Dhe,KAA5D,EAAmE;AAAA,EAC/Dge,MAAA,CAAO4P,qBAAP,CAA6BQ,OAA7B,CAAqCpuB,KAArC,EAD+D;AAAA,EAE/Dge,MAAA,CAAO4P,qBAAP,GAA+B3uB,SAA/B,CAF+D;AAAA,EAG/D6vB,+BAAA,CAAgC9Q,MAAhC,EAAwChe,KAAxC,EAH+D;AAAA,EA50D3C;AAAA,CAi1DxB,SAASuvB,iCAAT,CAA2CvR,MAA3C,EAAmD;AAAA,EAC/CA,MAAA,CAAO8P,qBAAP,CAA6BK,QAA7B,CAAsClvB,SAAtC,EAD+C;AAAA,EAE/C+e,MAAA,CAAO8P,qBAAP,GAA+B7uB,SAA/B,CAF+C;AAAA,EAG/C,IAAIha,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CAH+C;AAAA,EAI/C,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,GAEtB+4B,MAAA,CAAOO,YAAP,GAAsBtf,SAAtB,CAFsB;AAAA,GAGtB,IAAI+e,MAAA,CAAO+P,oBAAP,KAAgC9uB,SAApC,EAA+C;AAAA,IAC3C+e,MAAA,CAAO+P,oBAAP,CAA4BI,QAA5B,GAD2C;AAAA,IAE3CnQ,MAAA,CAAO+P,oBAAP,GAA8B9uB,SAA9B,CAF2C;AAAA,IAHzB;AAAA,GAJqB;AAAA,EAY/C+e,MAAA,CAAOG,MAAP,GAAgB,QAAhB,CAZ+C;AAAA,EAa/C,IAAIsQ,MAAA,GAASzQ,MAAA,CAAOyP,OAApB,CAb+C;AAAA,EAc/C,IAAIgB,MAAA,KAAWxvB,SAAf,EAA0B;AAAA,GACtBuwB,iCAAA,CAAkCf,MAAlC,EADsB;AAAA,GAdqB;AAAA,EAj1D3B;AAAA,CAm2DxB,SAASgB,0CAAT,CAAoDzR,MAApD,EAA4Dhe,KAA5D,EAAmE;AAAA,EAC/Dge,MAAA,CAAO8P,qBAAP,CAA6BM,OAA7B,CAAqCpuB,KAArC,EAD+D;AAAA,EAE/Dge,MAAA,CAAO8P,qBAAP,GAA+B7uB,SAA/B,CAF+D;AAAA,EAI/D,IAAI+e,MAAA,CAAO+P,oBAAP,KAAgC9uB,SAApC,EAA+C;AAAA,GAC3C+e,MAAA,CAAO+P,oBAAP,CAA4BK,OAA5B,CAAoCpuB,KAApC,EAD2C;AAAA,GAE3Cge,MAAA,CAAO+P,oBAAP,GAA8B9uB,SAA9B,CAF2C;AAAA,GAJgB;AAAA,EAQ/D6vB,+BAAA,CAAgC9Q,MAAhC,EAAwChe,KAAxC,EAR+D;AAAA,EAn2D3C;AAAA,CA82DxB,SAAS6sB,mCAAT,CAA6C7O,MAA7C,EAAqD;AAAA,EACjD,IAAIA,MAAA,CAAO6P,aAAP,KAAyB5uB,SAAzB,IAAsC+e,MAAA,CAAO8P,qBAAP,KAAiC7uB,SAA3E,EAAsF;AAAA,GAClF,OAAO,KAAP,CADkF;AAAA,GADrC;AAAA,EAIjD,OAAO,IAAP,CAJiD;AAAA,EA92D7B;AAAA,CAo3DxB,SAASgwB,wCAAT,CAAkDjR,MAAlD,EAA0D;AAAA,EACtD,IAAIA,MAAA,CAAO4P,qBAAP,KAAiC3uB,SAAjC,IAA8C+e,MAAA,CAAO8P,qBAAP,KAAiC7uB,SAAnF,EAA8F;AAAA,GAC1F,OAAO,KAAP,CAD0F;AAAA,GADxC;AAAA,EAItD,OAAO,IAAP,CAJsD;AAAA,EAp3DlC;AAAA,CA03DxB,SAASywB,sCAAT,CAAgD1R,MAAhD,EAAwD;AAAA,EACpDA,MAAA,CAAO8P,qBAAP,GAA+B9P,MAAA,CAAO6P,aAAtC,CADoD;AAAA,EAEpD7P,MAAA,CAAO6P,aAAP,GAAuB5uB,SAAvB,CAFoD;AAAA,EA13DhC;AAAA,CA83DxB,SAAS0wB,2CAAT,CAAqD3R,MAArD,EAA6D;AAAA,EACzDA,MAAA,CAAO4P,qBAAP,GAA+B5P,MAAA,CAAO2P,cAAP,CAAsBxQ,KAAtB,EAA/B,CADyD;AAAA,EA93DrC;AAAA,CAi4DxB,SAASgS,iDAAT,CAA2DnR,MAA3D,EAAmE;AAAA,EAC/D,IAAIA,MAAA,CAAO6P,aAAP,KAAyB5uB,SAA7B,EAAwC;AAAA,GACpC+e,MAAA,CAAO6P,aAAP,CAAqBO,OAArB,CAA6BpQ,MAAA,CAAOO,YAApC,EADoC;AAAA,GAEpCP,MAAA,CAAO6P,aAAP,GAAuB5uB,SAAvB,CAFoC;AAAA,GADuB;AAAA,EAK/D,IAAIwvB,MAAA,GAASzQ,MAAA,CAAOyP,OAApB,CAL+D;AAAA,EAM/D,IAAIgB,MAAA,KAAWxvB,SAAf,EAA0B;AAAA,GACtB2wB,gCAAA,CAAiCnB,MAAjC,EAAyCzQ,MAAA,CAAOO,YAAhD,EADsB;AAAA,GANqC;AAAA,EAj4D3C;AAAA,CA24DxB,SAASsR,gCAAT,CAA0C7R,MAA1C,EAAkD8R,YAAlD,EAAgE;AAAA,EAC5D,IAAIrB,MAAA,GAASzQ,MAAA,CAAOyP,OAApB,CAD4D;AAAA,EAE5D,IAAIgB,MAAA,KAAWxvB,SAAX,IAAwB6wB,YAAA,KAAiB9R,MAAA,CAAOgQ,aAApD,EAAmE;AAAA,GAC/D,IAAI8B,YAAJ,EAAkB;AAAA,IACdC,8BAAA,CAA+BtB,MAA/B,EADc;AAAA,IAAlB,MAGK;AAAA,IACDC,gCAAA,CAAiCD,MAAjC,EADC;AAAA,IAJ0D;AAAA,GAFP;AAAA,EAU5DzQ,MAAA,CAAOgQ,aAAP,GAAuB8B,YAAvB,CAV4D;AAAA,EA34DxC;AAAA,CA45DxB,IAAI5C,2BAAA,GAA6C,YAAY;AAAA,EACzD,SAASA,2BAAT,CAAqClP,MAArC,EAA6C;AAAA,GACzC8B,sBAAA,CAAuB9B,MAAvB,EAA+B,CAA/B,EAAkC,6BAAlC,EADyC;AAAA,GAEzCiO,oBAAA,CAAqBjO,MAArB,EAA6B,iBAA7B,EAFyC;AAAA,GAGzC,IAAI2O,sBAAA,CAAuB3O,MAAvB,CAAJ,EAAoC;AAAA,IAChC,MAAM,IAAIjd,SAAJ,CAAc,6EAAd,CAAN,CADgC;AAAA,IAHK;AAAA,GAMzC,KAAKivB,oBAAL,GAA4BhS,MAA5B,CANyC;AAAA,GAOzCA,MAAA,CAAOyP,OAAP,GAAiB,IAAjB,CAPyC;AAAA,GAQzC,IAAIxoC,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CARyC;AAAA,GASzC,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,IACtB,IAAI,CAAC4nC,mCAAA,CAAoC7O,MAApC,CAAD,IAAgDA,MAAA,CAAOgQ,aAA3D,EAA0E;AAAA,KACtEiC,mCAAA,CAAoC,IAApC,EADsE;AAAA,KAA1E,MAGK;AAAA,KACDC,6CAAA,CAA8C,IAA9C,EADC;AAAA,KAJiB;AAAA,IAOtBC,oCAAA,CAAqC,IAArC,EAPsB;AAAA,IAA1B,MASK,IAAIlrC,KAAA,KAAU,UAAd,EAA0B;AAAA,IAC3BmrC,6CAAA,CAA8C,IAA9C,EAAoDpS,MAAA,CAAOO,YAA3D,EAD2B;AAAA,IAE3B4R,oCAAA,CAAqC,IAArC,EAF2B;AAAA,IAA1B,MAIA,IAAIlrC,KAAA,KAAU,QAAd,EAAwB;AAAA,IACzBirC,6CAAA,CAA8C,IAA9C,EADyB;AAAA,IAEzBG,8CAAA,CAA+C,IAA/C,EAFyB;AAAA,IAAxB,MAIA;AAAA,IACD,IAAInB,WAAA,GAAclR,MAAA,CAAOO,YAAzB,CADC;AAAA,IAED6R,6CAAA,CAA8C,IAA9C,EAAoDlB,WAApD,EAFC;AAAA,IAGDoB,8CAAA,CAA+C,IAA/C,EAAqDpB,WAArD,EAHC;AAAA,IA1BoC;AAAA,GADY;AAAA,EAiCzD/uC,MAAA,CAAOigB,cAAP,CAAsB8sB,2BAAA,CAA4BpuB,SAAlD,EAA6D,QAA7D,EAAuE;AAAA,GAKnErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC8zB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,KACtC,OAAO5U,mBAAA,CAAoB6U,gCAAA,CAAiC,QAAjC,CAApB,CAAP,CADsC;AAAA,KAD7B;AAAA,IAIb,OAAO,KAAK1R,cAAZ,CAJa;AAAA,IALkD;AAAA,GAWnEt8B,UAAA,EAAY,KAXuD;AAAA,GAYnEC,YAAA,EAAc,IAZqD;AAAA,GAAvE,EAjCyD;AAAA,EA+CzDtC,MAAA,CAAOigB,cAAP,CAAsB8sB,2BAAA,CAA4BpuB,SAAlD,EAA6D,aAA7D,EAA4E;AAAA,GASxErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC8zB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,KACtC,MAAMC,gCAAA,CAAiC,aAAjC,CAAN,CADsC;AAAA,KAD7B;AAAA,IAIb,IAAI,KAAKR,oBAAL,KAA8B/wB,SAAlC,EAA6C;AAAA,KACzC,MAAMwxB,0BAAA,CAA2B,aAA3B,CAAN,CADyC;AAAA,KAJhC;AAAA,IAOb,OAAOC,yCAAA,CAA0C,IAA1C,CAAP,CAPa;AAAA,IATuD;AAAA,GAkBxEluC,UAAA,EAAY,KAlB4D;AAAA,GAmBxEC,YAAA,EAAc,IAnB0D;AAAA,GAA5E,EA/CyD;AAAA,EAoEzDtC,MAAA,CAAOigB,cAAP,CAAsB8sB,2BAAA,CAA4BpuB,SAAlD,EAA6D,OAA7D,EAAsE;AAAA,GASlErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC8zB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,KACtC,OAAO5U,mBAAA,CAAoB6U,gCAAA,CAAiC,OAAjC,CAApB,CAAP,CADsC;AAAA,KAD7B;AAAA,IAIb,OAAO,KAAKG,aAAZ,CAJa;AAAA,IATiD;AAAA,GAelEnuC,UAAA,EAAY,KAfsD;AAAA,GAgBlEC,YAAA,EAAc,IAhBoD;AAAA,GAAtE,EApEyD;AAAA,EAyFzDyqC,2BAAA,CAA4BpuB,SAA5B,CAAsC8sB,KAAtC,GAA8C,UAAUtvC,MAAV,EAAkB;AAAA,GAC5D,IAAIA,MAAA,KAAW,KAAK,CAApB,EAAuB;AAAA,IAAEA,MAAA,GAAS2iB,SAAT,CAAF;AAAA,IADqC;AAAA,GAE5D,IAAI,CAACsxB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAO5U,mBAAA,CAAoB6U,gCAAA,CAAiC,OAAjC,CAApB,CAAP,CADsC;AAAA,IAFkB;AAAA,GAK5D,IAAI,KAAKR,oBAAL,KAA8B/wB,SAAlC,EAA6C;AAAA,IACzC,OAAO0c,mBAAA,CAAoB8U,0BAAA,CAA2B,OAA3B,CAApB,CAAP,CADyC;AAAA,IALe;AAAA,GAQ5D,OAAOG,gCAAA,CAAiC,IAAjC,EAAuCt0C,MAAvC,CAAP,CAR4D;AAAA,GAAhE,CAzFyD;AAAA,EAsGzD4wC,2BAAA,CAA4BpuB,SAA5B,CAAsCoK,KAAtC,GAA8C,YAAY;AAAA,GACtD,IAAI,CAACqnB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAO5U,mBAAA,CAAoB6U,gCAAA,CAAiC,OAAjC,CAApB,CAAP,CADsC;AAAA,IADY;AAAA,GAItD,IAAIxS,MAAA,GAAS,KAAKgS,oBAAlB,CAJsD;AAAA,GAKtD,IAAIhS,MAAA,KAAW/e,SAAf,EAA0B;AAAA,IACtB,OAAO0c,mBAAA,CAAoB8U,0BAAA,CAA2B,OAA3B,CAApB,CAAP,CADsB;AAAA,IAL4B;AAAA,GAQtD,IAAI5D,mCAAA,CAAoC7O,MAApC,CAAJ,EAAiD;AAAA,IAC7C,OAAOrC,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,wCAAd,CAApB,CAAP,CAD6C;AAAA,IARK;AAAA,GAWtD,OAAO8vB,gCAAA,CAAiC,IAAjC,CAAP,CAXsD;AAAA,GAA1D,CAtGyD;AAAA,EA6HzD3D,2BAAA,CAA4BpuB,SAA5B,CAAsC+iB,WAAtC,GAAoD,YAAY;AAAA,GAC5D,IAAI,CAAC0O,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,MAAMC,gCAAA,CAAiC,aAAjC,CAAN,CADsC;AAAA,IADkB;AAAA,GAI5D,IAAIxS,MAAA,GAAS,KAAKgS,oBAAlB,CAJ4D;AAAA,GAK5D,IAAIhS,MAAA,KAAW/e,SAAf,EAA0B;AAAA,IACtB,OADsB;AAAA,IALkC;AAAA,GAQ5D6xB,kCAAA,CAAmC,IAAnC,EAR4D;AAAA,GAAhE,CA7HyD;AAAA,EAuIzD5D,2BAAA,CAA4BpuB,SAA5B,CAAsCmK,KAAtC,GAA8C,UAAUjQ,KAAV,EAAiB;AAAA,GAC3D,IAAIA,KAAA,KAAU,KAAK,CAAnB,EAAsB;AAAA,IAAEA,KAAA,GAAQiG,SAAR,CAAF;AAAA,IADqC;AAAA,GAE3D,IAAI,CAACsxB,6BAAA,CAA8B,IAA9B,CAAL,EAA0C;AAAA,IACtC,OAAO5U,mBAAA,CAAoB6U,gCAAA,CAAiC,OAAjC,CAApB,CAAP,CADsC;AAAA,IAFiB;AAAA,GAK3D,IAAI,KAAKR,oBAAL,KAA8B/wB,SAAlC,EAA6C;AAAA,IACzC,OAAO0c,mBAAA,CAAoB8U,0BAAA,CAA2B,UAA3B,CAApB,CAAP,CADyC;AAAA,IALc;AAAA,GAQ3D,OAAOM,gCAAA,CAAiC,IAAjC,EAAuC/3B,KAAvC,CAAP,CAR2D;AAAA,GAA/D,CAvIyD;AAAA,EAiJzD,OAAOk0B,2BAAP,CAjJyD;AAAA,EAAZ,EAAjD,CA55DwB;AAAA,CA+iExB/sC,MAAA,CAAOioB,gBAAP,CAAwB8kB,2BAAA,CAA4BpuB,SAApD,EAA+D;AAAA,EAC3D8sB,KAAA,EAAO,EAAEppC,UAAA,EAAY,IAAd,EADoD;AAAA,EAE3D0mB,KAAA,EAAO,EAAE1mB,UAAA,EAAY,IAAd,EAFoD;AAAA,EAG3Dq/B,WAAA,EAAa,EAAEr/B,UAAA,EAAY,IAAd,EAH8C;AAAA,EAI3DymB,KAAA,EAAO,EAAEzmB,UAAA,EAAY,IAAd,EAJoD;AAAA,EAK3Ds/B,MAAA,EAAQ,EAAEt/B,UAAA,EAAY,IAAd,EALmD;AAAA,EAM3D6kC,WAAA,EAAa,EAAE7kC,UAAA,EAAY,IAAd,EAN8C;AAAA,EAO3DimC,KAAA,EAAO,EAAEjmC,UAAA,EAAY,IAAd,EAPoD;AAAA,EAA/D,EA/iEwB;AAAA,CAwjExB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsB8sB,2BAAA,CAA4BpuB,SAAlD,EAA6Dgc,cAAA,CAAeiH,WAA5E,EAAyF;AAAA,GACrFx/B,KAAA,EAAO,6BAD8E;AAAA,GAErFE,YAAA,EAAc,IAFuE;AAAA,GAAzF,EADgD;AAAA,EAxjE5B;AAAA,CA+jExB,SAAS8tC,6BAAT,CAAuCjd,CAAvC,EAA0C;AAAA,EACtC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADgB;AAAA,EAItC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,sBAAxC,CAAL,EAAsE;AAAA,GAClE,OAAO,KAAP,CADkE;AAAA,GAJhC;AAAA,EAOtC,OAAO,IAAP,CAPsC;AAAA,EA/jElB;AAAA,CAykExB,SAASsd,gCAAT,CAA0CnC,MAA1C,EAAkDnyC,MAAlD,EAA0D;AAAA,EACtD,IAAI0hC,MAAA,GAASyQ,MAAA,CAAOuB,oBAApB,CADsD;AAAA,EAEtD,OAAOpD,mBAAA,CAAoB5O,MAApB,EAA4B1hC,MAA5B,CAAP,CAFsD;AAAA,EAzkElC;AAAA,CA6kExB,SAASu0C,gCAAT,CAA0CpC,MAA1C,EAAkD;AAAA,EAC9C,IAAIzQ,MAAA,GAASyQ,MAAA,CAAOuB,oBAApB,CAD8C;AAAA,EAE9C,OAAOlD,mBAAA,CAAoB9O,MAApB,CAAP,CAF8C;AAAA,EA7kE1B;AAAA,CAilExB,SAASgT,oDAAT,CAA8DvC,MAA9D,EAAsE;AAAA,EAClE,IAAIzQ,MAAA,GAASyQ,MAAA,CAAOuB,oBAApB,CADkE;AAAA,EAElE,IAAI/qC,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CAFkE;AAAA,EAGlE,IAAI0O,mCAAA,CAAoC7O,MAApC,KAA+C/4B,KAAA,KAAU,QAA7D,EAAuE;AAAA,GACnE,OAAOy2B,mBAAA,CAAoBzc,SAApB,CAAP,CADmE;AAAA,GAHL;AAAA,EAMlE,IAAIha,KAAA,KAAU,SAAd,EAAyB;AAAA,GACrB,OAAO02B,mBAAA,CAAoBqC,MAAA,CAAOO,YAA3B,CAAP,CADqB;AAAA,GANyC;AAAA,EASlE,OAAOsS,gCAAA,CAAiCpC,MAAjC,CAAP,CATkE;AAAA,EAjlE9C;AAAA,CA4lExB,SAASwC,sDAAT,CAAgExC,MAAhE,EAAwEzuB,KAAxE,EAA+E;AAAA,EAC3E,IAAIyuB,MAAA,CAAOyC,mBAAP,KAA+B,SAAnC,EAA8C;AAAA,GAC1CtB,gCAAA,CAAiCnB,MAAjC,EAAyCzuB,KAAzC,EAD0C;AAAA,GAA9C,MAGK;AAAA,GACDmxB,yCAAA,CAA0C1C,MAA1C,EAAkDzuB,KAAlD,EADC;AAAA,GAJsE;AAAA,EA5lEvD;AAAA,CAomExB,SAASgvB,qDAAT,CAA+DP,MAA/D,EAAuEzuB,KAAvE,EAA8E;AAAA,EAC1E,IAAIyuB,MAAA,CAAO2C,kBAAP,KAA8B,SAAlC,EAA6C;AAAA,GACzCC,+BAAA,CAAgC5C,MAAhC,EAAwCzuB,KAAxC,EADyC;AAAA,GAA7C,MAGK;AAAA,GACDsxB,wCAAA,CAAyC7C,MAAzC,EAAiDzuB,KAAjD,EADC;AAAA,GAJqE;AAAA,EApmEtD;AAAA,CA4mExB,SAAS0wB,yCAAT,CAAmDjC,MAAnD,EAA2D;AAAA,EACvD,IAAIzQ,MAAA,GAASyQ,MAAA,CAAOuB,oBAApB,CADuD;AAAA,EAEvD,IAAI/qC,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CAFuD;AAAA,EAGvD,IAAIl5B,KAAA,KAAU,SAAV,IAAuBA,KAAA,KAAU,UAArC,EAAiD;AAAA,GAC7C,OAAO,IAAP,CAD6C;AAAA,GAHM;AAAA,EAMvD,IAAIA,KAAA,KAAU,QAAd,EAAwB;AAAA,GACpB,OAAO,CAAP,CADoB;AAAA,GAN+B;AAAA,EASvD,OAAOssC,6CAAA,CAA8CvT,MAAA,CAAO0P,yBAArD,CAAP,CATuD;AAAA,EA5mEnC;AAAA,CAunExB,SAASoD,kCAAT,CAA4CrC,MAA5C,EAAoD;AAAA,EAChD,IAAIzQ,MAAA,GAASyQ,MAAA,CAAOuB,oBAApB,CADgD;AAAA,EAEhD,IAAIwB,aAAA,GAAgB,IAAIzwB,SAAJ,CAAc,kFAAd,CAApB,CAFgD;AAAA,EAGhDiuB,qDAAA,CAAsDP,MAAtD,EAA8D+C,aAA9D,EAHgD;AAAA,EAMhDP,sDAAA,CAAuDxC,MAAvD,EAA+D+C,aAA/D,EANgD;AAAA,EAOhDxT,MAAA,CAAOyP,OAAP,GAAiBxuB,SAAjB,CAPgD;AAAA,EAQhDwvB,MAAA,CAAOuB,oBAAP,GAA8B/wB,SAA9B,CARgD;AAAA,EAvnE5B;AAAA,CAioExB,SAAS8xB,gCAAT,CAA0CtC,MAA1C,EAAkDz1B,KAAlD,EAAyD;AAAA,EACrD,IAAIglB,MAAA,GAASyQ,MAAA,CAAOuB,oBAApB,CADqD;AAAA,EAErD,IAAIxyB,UAAA,GAAawgB,MAAA,CAAO0P,yBAAxB,CAFqD;AAAA,EAGrD,IAAI+D,SAAA,GAAYC,2CAAA,CAA4Cl0B,UAA5C,EAAwDxE,KAAxD,CAAhB,CAHqD;AAAA,EAIrD,IAAIglB,MAAA,KAAWyQ,MAAA,CAAOuB,oBAAtB,EAA4C;AAAA,GACxC,OAAOrU,mBAAA,CAAoB8U,0BAAA,CAA2B,UAA3B,CAApB,CAAP,CADwC;AAAA,GAJS;AAAA,EAOrD,IAAIxrC,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CAPqD;AAAA,EAQrD,IAAIl5B,KAAA,KAAU,SAAd,EAAyB;AAAA,GACrB,OAAO02B,mBAAA,CAAoBqC,MAAA,CAAOO,YAA3B,CAAP,CADqB;AAAA,GAR4B;AAAA,EAWrD,IAAIsO,mCAAA,CAAoC7O,MAApC,KAA+C/4B,KAAA,KAAU,QAA7D,EAAuE;AAAA,GACnE,OAAO02B,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,0DAAd,CAApB,CAAP,CADmE;AAAA,GAXlB;AAAA,EAcrD,IAAI9b,KAAA,KAAU,UAAd,EAA0B;AAAA,GACtB,OAAO02B,mBAAA,CAAoBqC,MAAA,CAAOO,YAA3B,CAAP,CADsB;AAAA,GAd2B;AAAA,EAiBrD,IAAInN,OAAA,GAAUwd,6BAAA,CAA8B5Q,MAA9B,CAAd,CAjBqD;AAAA,EAkBrD2T,oCAAA,CAAqCn0B,UAArC,EAAiDxE,KAAjD,EAAwDy4B,SAAxD,EAlBqD;AAAA,EAmBrD,OAAOrgB,OAAP,CAnBqD;AAAA,EAjoEjC;AAAA,CAspExB,IAAIwgB,aAAA,GAAgB,EAApB,CAtpEwB;AAAA,CA4pExB,IAAIrE,+BAAA,GAAiD,YAAY;AAAA,EAC7D,SAASA,+BAAT,GAA2C;AAAA,GACvC,MAAM,IAAIxsB,SAAJ,CAAc,qBAAd,CAAN,CADuC;AAAA,GADkB;AAAA,EAW7DwsB,+BAAA,CAAgCzuB,SAAhC,CAA0CkB,KAA1C,GAAkD,UAAU8X,CAAV,EAAa;AAAA,GAC3D,IAAIA,CAAA,KAAM,KAAK,CAAf,EAAkB;AAAA,IAAEA,CAAA,GAAI7Y,SAAJ,CAAF;AAAA,IADyC;AAAA,GAE3D,IAAI,CAAC4yB,iCAAA,CAAkC,IAAlC,CAAL,EAA8C;AAAA,IAC1C,MAAM,IAAI9wB,SAAJ,CAAc,uGAAd,CAAN,CAD0C;AAAA,IAFa;AAAA,GAK3D,IAAI9b,KAAA,GAAQ,KAAK6sC,yBAAL,CAA+B3T,MAA3C,CAL2D;AAAA,GAM3D,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,IAGtB,OAHsB;AAAA,IANiC;AAAA,GAW3D8sC,oCAAA,CAAqC,IAArC,EAA2Cja,CAA3C,EAX2D;AAAA,GAA/D,CAX6D;AAAA,EAyB7DyV,+BAAA,CAAgCzuB,SAAhC,CAA0CogB,UAA1C,IAAwD,UAAU5iC,MAAV,EAAkB;AAAA,GACtE,IAAIkI,MAAA,GAAS,KAAKwtC,eAAL,CAAqB11C,MAArB,CAAb,CADsE;AAAA,GAEtE21C,8CAAA,CAA+C,IAA/C,EAFsE;AAAA,GAGtE,OAAOztC,MAAP,CAHsE;AAAA,GAA1E,CAzB6D;AAAA,EA+B7D+oC,+BAAA,CAAgCzuB,SAAhC,CAA0CqgB,UAA1C,IAAwD,YAAY;AAAA,GAChE+E,UAAA,CAAW,IAAX,EADgE;AAAA,GAApE,CA/B6D;AAAA,EAkC7D,OAAOqJ,+BAAP,CAlC6D;AAAA,EAAZ,EAArD,CA5pEwB;AAAA,CAgsExBptC,MAAA,CAAOioB,gBAAP,CAAwBmlB,+BAAA,CAAgCzuB,SAAxD,EAAmE,EAC/DkB,KAAA,EAAO,EAAExd,UAAA,EAAY,IAAd,EADwD,EAAnE,EAhsEwB;AAAA,CAmsExB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBmtB,+BAAA,CAAgCzuB,SAAtD,EAAiEgc,cAAA,CAAeiH,WAAhF,EAA6F;AAAA,GACzFx/B,KAAA,EAAO,iCADkF;AAAA,GAEzFE,YAAA,EAAc,IAF2E;AAAA,GAA7F,EADgD;AAAA,EAnsE5B;AAAA,CA0sExB,SAASovC,iCAAT,CAA2Cve,CAA3C,EAA8C;AAAA,EAC1C,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADoB;AAAA,EAI1C,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,2BAAxC,CAAL,EAA2E;AAAA,GACvE,OAAO,KAAP,CADuE;AAAA,GAJjC;AAAA,EAO1C,OAAO,IAAP,CAP0C;AAAA,EA1sEtB;AAAA,CAmtExB,SAASka,oCAAT,CAA8CxP,MAA9C,EAAsDxgB,UAAtD,EAAkE6sB,cAAlE,EAAkF+C,cAAlF,EAAkGC,cAAlG,EAAkHC,cAAlH,EAAkI9C,aAAlI,EAAiJgC,aAAjJ,EAAgK;AAAA,EAC5JhvB,UAAA,CAAWs0B,yBAAX,GAAuC9T,MAAvC,CAD4J;AAAA,EAE5JA,MAAA,CAAO0P,yBAAP,GAAmClwB,UAAnC,CAF4J;AAAA,EAI5JA,UAAA,CAAWqmB,MAAX,GAAoB5kB,SAApB,CAJ4J;AAAA,EAK5JzB,UAAA,CAAWsmB,eAAX,GAA6B7kB,SAA7B,CAL4J;AAAA,EAM5JilB,UAAA,CAAW1mB,UAAX,EAN4J;AAAA,EAO5JA,UAAA,CAAWssB,QAAX,GAAsB,KAAtB,CAP4J;AAAA,EAQ5JtsB,UAAA,CAAW00B,sBAAX,GAAoC1F,aAApC,CAR4J;AAAA,EAS5JhvB,UAAA,CAAW2sB,YAAX,GAA0BK,aAA1B,CAT4J;AAAA,EAU5JhtB,UAAA,CAAW20B,eAAX,GAA6B/E,cAA7B,CAV4J;AAAA,EAW5J5vB,UAAA,CAAW40B,eAAX,GAA6B/E,cAA7B,CAX4J;AAAA,EAY5J7vB,UAAA,CAAWw0B,eAAX,GAA6B1E,cAA7B,CAZ4J;AAAA,EAa5J,IAAIwC,YAAA,GAAeuC,8CAAA,CAA+C70B,UAA/C,CAAnB,CAb4J;AAAA,EAc5JqyB,gCAAA,CAAiC7R,MAAjC,EAAyC8R,YAAzC,EAd4J;AAAA,EAe5J,IAAIrF,WAAA,GAAcJ,cAAA,EAAlB,CAf4J;AAAA,EAgB5J,IAAIiI,YAAA,GAAe5W,mBAAA,CAAoB+O,WAApB,CAAnB,CAhB4J;AAAA,EAiB5J5O,WAAA,CAAYyW,YAAZ,EAA0B,YAAY;AAAA,GAClC90B,UAAA,CAAWssB,QAAX,GAAsB,IAAtB,CADkC;AAAA,GAElCyI,mDAAA,CAAoD/0B,UAApD,EAFkC;AAAA,GAAtC,EAGG,UAAU5C,CAAV,EAAa;AAAA,GACZ4C,UAAA,CAAWssB,QAAX,GAAsB,IAAtB,CADY;AAAA,GAEZgF,+BAAA,CAAgC9Q,MAAhC,EAAwCpjB,CAAxC,EAFY;AAAA,GAHhB,EAjB4J;AAAA,EAntExI;AAAA,CA4uExB,SAAS6xB,sDAAT,CAAgEzO,MAAhE,EAAwEsO,cAAxE,EAAwF9B,aAAxF,EAAuGgC,aAAvG,EAAsH;AAAA,EAClH,IAAIhvB,UAAA,GAAard,MAAA,CAAO5E,MAAP,CAAcgyC,+BAAA,CAAgCzuB,SAA9C,CAAjB,CADkH;AAAA,EAElH,IAAIurB,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAOprB,SAAP,CAAF;AAAA,GAAjC,CAFkH;AAAA,EAGlH,IAAImuB,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAO1R,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAjC,CAHkH;AAAA,EAIlH,IAAIouB,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAO3R,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAjC,CAJkH;AAAA,EAKlH,IAAIquB,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAO5R,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAjC,CALkH;AAAA,EAMlH,IAAIqtB,cAAA,CAAe9rC,KAAf,KAAyBye,SAA7B,EAAwC;AAAA,GACpCorB,cAAA,GAAiB,YAAY;AAAA,IAAE,OAAOiC,cAAA,CAAe9rC,KAAf,CAAqBgd,UAArB,CAAP,CAAF;AAAA,IAA7B,CADoC;AAAA,GAN0E;AAAA,EASlH,IAAI8uB,cAAA,CAAerjB,KAAf,KAAyBhK,SAA7B,EAAwC;AAAA,GACpCmuB,cAAA,GAAiB,UAAUp0B,KAAV,EAAiB;AAAA,IAAE,OAAOszB,cAAA,CAAerjB,KAAf,CAAqBjQ,KAArB,EAA4BwE,UAA5B,CAAP,CAAF;AAAA,IAAlC,CADoC;AAAA,GAT0E;AAAA,EAYlH,IAAI8uB,cAAA,CAAepjB,KAAf,KAAyBjK,SAA7B,EAAwC;AAAA,GACpCouB,cAAA,GAAiB,YAAY;AAAA,IAAE,OAAOf,cAAA,CAAepjB,KAAf,EAAP,CAAF;AAAA,IAA7B,CADoC;AAAA,GAZ0E;AAAA,EAelH,IAAIojB,cAAA,CAAeV,KAAf,KAAyB3sB,SAA7B,EAAwC;AAAA,GACpCquB,cAAA,GAAiB,UAAUhxC,MAAV,EAAkB;AAAA,IAAE,OAAOgwC,cAAA,CAAeV,KAAf,CAAqBtvC,MAArB,CAAP,CAAF;AAAA,IAAnC,CADoC;AAAA,GAf0E;AAAA,EAkBlHkxC,oCAAA,CAAqCxP,MAArC,EAA6CxgB,UAA7C,EAAyD6sB,cAAzD,EAAyE+C,cAAzE,EAAyFC,cAAzF,EAAyGC,cAAzG,EAAyH9C,aAAzH,EAAwIgC,aAAxI,EAlBkH;AAAA,EA5uE9F;AAAA,CAiwExB,SAASyF,8CAAT,CAAwDz0B,UAAxD,EAAoE;AAAA,EAChEA,UAAA,CAAW20B,eAAX,GAA6BlzB,SAA7B,CADgE;AAAA,EAEhEzB,UAAA,CAAW40B,eAAX,GAA6BnzB,SAA7B,CAFgE;AAAA,EAGhEzB,UAAA,CAAWw0B,eAAX,GAA6B/yB,SAA7B,CAHgE;AAAA,EAIhEzB,UAAA,CAAW00B,sBAAX,GAAoCjzB,SAApC,CAJgE;AAAA,EAjwE5C;AAAA,CAuwExB,SAAS0vB,oCAAT,CAA8CnxB,UAA9C,EAA0D;AAAA,EACtDumB,oBAAA,CAAqBvmB,UAArB,EAAiCo0B,aAAjC,EAAgD,CAAhD,EADsD;AAAA,EAEtDW,mDAAA,CAAoD/0B,UAApD,EAFsD;AAAA,EAvwElC;AAAA,CA2wExB,SAASk0B,2CAAT,CAAqDl0B,UAArD,EAAiExE,KAAjE,EAAwE;AAAA,EACpE,IAAI;AAAA,GACA,OAAOwE,UAAA,CAAW00B,sBAAX,CAAkCl5B,KAAlC,CAAP,CADA;AAAA,GAAJ,CAGA,OAAOw5B,UAAP,EAAmB;AAAA,GACfC,4CAAA,CAA6Cj1B,UAA7C,EAAyDg1B,UAAzD,EADe;AAAA,GAEf,OAAO,CAAP,CAFe;AAAA,GAJiD;AAAA,EA3wEhD;AAAA,CAoxExB,SAASjB,6CAAT,CAAuD/zB,UAAvD,EAAmE;AAAA,EAC/D,OAAOA,UAAA,CAAW2sB,YAAX,GAA0B3sB,UAAA,CAAWsmB,eAA5C,CAD+D;AAAA,EApxE3C;AAAA,CAuxExB,SAAS6N,oCAAT,CAA8Cn0B,UAA9C,EAA0DxE,KAA1D,EAAiEy4B,SAAjE,EAA4E;AAAA,EACxE,IAAI;AAAA,GACA1N,oBAAA,CAAqBvmB,UAArB,EAAiCxE,KAAjC,EAAwCy4B,SAAxC,EADA;AAAA,GAAJ,CAGA,OAAOiB,QAAP,EAAiB;AAAA,GACbD,4CAAA,CAA6Cj1B,UAA7C,EAAyDk1B,QAAzD,EADa;AAAA,GAEb,OAFa;AAAA,GAJuD;AAAA,EAQxE,IAAI1U,MAAA,GAASxgB,UAAA,CAAWs0B,yBAAxB,CARwE;AAAA,EASxE,IAAI,CAACjF,mCAAA,CAAoC7O,MAApC,CAAD,IAAgDA,MAAA,CAAOG,MAAP,KAAkB,UAAtE,EAAkF;AAAA,GAC9E,IAAI2R,YAAA,GAAeuC,8CAAA,CAA+C70B,UAA/C,CAAnB,CAD8E;AAAA,GAE9EqyB,gCAAA,CAAiC7R,MAAjC,EAAyC8R,YAAzC,EAF8E;AAAA,GATV;AAAA,EAaxEyC,mDAAA,CAAoD/0B,UAApD,EAbwE;AAAA,EAvxEpD;AAAA,CAuyExB,SAAS+0B,mDAAT,CAA6D/0B,UAA7D,EAAyE;AAAA,EACrE,IAAIwgB,MAAA,GAASxgB,UAAA,CAAWs0B,yBAAxB,CADqE;AAAA,EAErE,IAAI,CAACt0B,UAAA,CAAWssB,QAAhB,EAA0B;AAAA,GACtB,OADsB;AAAA,GAF2C;AAAA,EAKrE,IAAI9L,MAAA,CAAO4P,qBAAP,KAAiC3uB,SAArC,EAAgD;AAAA,GAC5C,OAD4C;AAAA,GALqB;AAAA,EAQrE,IAAIha,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CARqE;AAAA,EASrE,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,GACtB8pC,4BAAA,CAA6B/Q,MAA7B,EADsB;AAAA,GAEtB,OAFsB;AAAA,GAT2C;AAAA,EAarE,IAAIxgB,UAAA,CAAWqmB,MAAX,CAAkBlrB,MAAlB,KAA6B,CAAjC,EAAoC;AAAA,GAChC,OADgC;AAAA,GAbiC;AAAA,EAgBrE,IAAIpW,KAAA,GAAQ0hC,cAAA,CAAezmB,UAAf,CAAZ,CAhBqE;AAAA,EAiBrE,IAAIjb,KAAA,KAAUqvC,aAAd,EAA6B;AAAA,GACzBe,2CAAA,CAA4Cn1B,UAA5C,EADyB;AAAA,GAA7B,MAGK;AAAA,GACDo1B,2CAAA,CAA4Cp1B,UAA5C,EAAwDjb,KAAxD,EADC;AAAA,GApBgE;AAAA,EAvyEjD;AAAA,CA+zExB,SAASkwC,4CAAT,CAAsDj1B,UAAtD,EAAkEwC,KAAlE,EAAyE;AAAA,EACrE,IAAIxC,UAAA,CAAWs0B,yBAAX,CAAqC3T,MAArC,KAAgD,UAApD,EAAgE;AAAA,GAC5D4T,oCAAA,CAAqCv0B,UAArC,EAAiDwC,KAAjD,EAD4D;AAAA,GADK;AAAA,EA/zEjD;AAAA,CAo0ExB,SAAS2yB,2CAAT,CAAqDn1B,UAArD,EAAiE;AAAA,EAC7D,IAAIwgB,MAAA,GAASxgB,UAAA,CAAWs0B,yBAAxB,CAD6D;AAAA,EAE7DpC,sCAAA,CAAuC1R,MAAvC,EAF6D;AAAA,EAG7D0F,YAAA,CAAalmB,UAAb,EAH6D;AAAA,EAI7D,IAAIq1B,gBAAA,GAAmBr1B,UAAA,CAAW40B,eAAX,EAAvB,CAJ6D;AAAA,EAK7DH,8CAAA,CAA+Cz0B,UAA/C,EAL6D;AAAA,EAM7Dqe,WAAA,CAAYgX,gBAAZ,EAA8B,YAAY;AAAA,GACtCtD,iCAAA,CAAkCvR,MAAlC,EADsC;AAAA,GAA1C,EAEG,UAAU1hC,MAAV,EAAkB;AAAA,GACjBmzC,0CAAA,CAA2CzR,MAA3C,EAAmD1hC,MAAnD,EADiB;AAAA,GAFrB,EAN6D;AAAA,EAp0EzC;AAAA,CAg1ExB,SAASs2C,2CAAT,CAAqDp1B,UAArD,EAAiExE,KAAjE,EAAwE;AAAA,EACpE,IAAIglB,MAAA,GAASxgB,UAAA,CAAWs0B,yBAAxB,CADoE;AAAA,EAEpEnC,2CAAA,CAA4C3R,MAA5C,EAFoE;AAAA,EAGpE,IAAI8U,gBAAA,GAAmBt1B,UAAA,CAAW20B,eAAX,CAA2Bn5B,KAA3B,CAAvB,CAHoE;AAAA,EAIpE6iB,WAAA,CAAYiX,gBAAZ,EAA8B,YAAY;AAAA,GACtCzD,iCAAA,CAAkCrR,MAAlC,EADsC;AAAA,GAEtC,IAAI/4B,KAAA,GAAQ+4B,MAAA,CAAOG,MAAnB,CAFsC;AAAA,GAGtCuF,YAAA,CAAalmB,UAAb,EAHsC;AAAA,GAItC,IAAI,CAACqvB,mCAAA,CAAoC7O,MAApC,CAAD,IAAgD/4B,KAAA,KAAU,UAA9D,EAA0E;AAAA,IACtE,IAAI6qC,YAAA,GAAeuC,8CAAA,CAA+C70B,UAA/C,CAAnB,CADsE;AAAA,IAEtEqyB,gCAAA,CAAiC7R,MAAjC,EAAyC8R,YAAzC,EAFsE;AAAA,IAJpC;AAAA,GAQtCyC,mDAAA,CAAoD/0B,UAApD,EARsC;AAAA,GAA1C,EASG,UAAUlhB,MAAV,EAAkB;AAAA,GACjB,IAAI0hC,MAAA,CAAOG,MAAP,KAAkB,UAAtB,EAAkC;AAAA,IAC9B8T,8CAAA,CAA+Cz0B,UAA/C,EAD8B;AAAA,IADjB;AAAA,GAIjB8xB,0CAAA,CAA2CtR,MAA3C,EAAmD1hC,MAAnD,EAJiB;AAAA,GATrB,EAJoE;AAAA,EAh1EhD;AAAA,CAo2ExB,SAAS+1C,8CAAT,CAAwD70B,UAAxD,EAAoE;AAAA,EAChE,IAAI6pB,WAAA,GAAckK,6CAAA,CAA8C/zB,UAA9C,CAAlB,CADgE;AAAA,EAEhE,OAAO6pB,WAAA,IAAe,CAAtB,CAFgE;AAAA,EAp2E5C;AAAA,CAy2ExB,SAAS0K,oCAAT,CAA8Cv0B,UAA9C,EAA0DwC,KAA1D,EAAiE;AAAA,EAC7D,IAAIge,MAAA,GAASxgB,UAAA,CAAWs0B,yBAAxB,CAD6D;AAAA,EAE7DG,8CAAA,CAA+Cz0B,UAA/C,EAF6D;AAAA,EAG7D+wB,2BAAA,CAA4BvQ,MAA5B,EAAoChe,KAApC,EAH6D;AAAA,EAz2EzC;AAAA,CA+2ExB,SAAS0sB,2BAAT,CAAqCrsC,IAArC,EAA2C;AAAA,EACvC,OAAO,IAAI0gB,SAAJ,CAAc,8BAA8B1gB,IAA9B,GAAqC,uCAAnD,CAAP,CADuC;AAAA,EA/2EnB;AAAA,CAm3ExB,SAASmwC,gCAAT,CAA0CnwC,IAA1C,EAAgD;AAAA,EAC5C,OAAO,IAAI0gB,SAAJ,CAAc,2CAA2C1gB,IAA3C,GAAkD,oDAAhE,CAAP,CAD4C;AAAA,EAn3ExB;AAAA,CAs3ExB,SAASowC,0BAAT,CAAoCpwC,IAApC,EAA0C;AAAA,EACtC,OAAO,IAAI0gB,SAAJ,CAAc,YAAY1gB,IAAZ,GAAmB,mCAAjC,CAAP,CADsC;AAAA,EAt3ElB;AAAA,CAy3ExB,SAAS8vC,oCAAT,CAA8C1B,MAA9C,EAAsD;AAAA,EAClDA,MAAA,CAAO3P,cAAP,GAAwBrD,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GAC1DwxC,MAAA,CAAO1P,sBAAP,GAAgC/hC,OAAhC,CAD0D;AAAA,GAE1DyxC,MAAA,CAAOzP,qBAAP,GAA+B/hC,MAA/B,CAF0D;AAAA,GAG1DwxC,MAAA,CAAOyC,mBAAP,GAA6B,SAA7B,CAH0D;AAAA,GAAtC,CAAxB,CADkD;AAAA,EAz3E9B;AAAA,CAg4ExB,SAASZ,8CAAT,CAAwD7B,MAAxD,EAAgEnyC,MAAhE,EAAwE;AAAA,EACpE6zC,oCAAA,CAAqC1B,MAArC,EADoE;AAAA,EAEpEmB,gCAAA,CAAiCnB,MAAjC,EAAyCnyC,MAAzC,EAFoE;AAAA,EAh4EhD;AAAA,CAo4ExB,SAAS+zC,8CAAT,CAAwD5B,MAAxD,EAAgE;AAAA,EAC5D0B,oCAAA,CAAqC1B,MAArC,EAD4D;AAAA,EAE5De,iCAAA,CAAkCf,MAAlC,EAF4D;AAAA,EAp4ExC;AAAA,CAw4ExB,SAASmB,gCAAT,CAA0CnB,MAA1C,EAAkDnyC,MAAlD,EAA0D;AAAA,EACtD,IAAImyC,MAAA,CAAOzP,qBAAP,KAAiC/f,SAArC,EAAgD;AAAA,GAC5C,OAD4C;AAAA,GADM;AAAA,EAItDkd,yBAAA,CAA0BsS,MAAA,CAAO3P,cAAjC,EAJsD;AAAA,EAKtD2P,MAAA,CAAOzP,qBAAP,CAA6B1iC,MAA7B,EALsD;AAAA,EAMtDmyC,MAAA,CAAO1P,sBAAP,GAAgC9f,SAAhC,CANsD;AAAA,EAOtDwvB,MAAA,CAAOzP,qBAAP,GAA+B/f,SAA/B,CAPsD;AAAA,EAQtDwvB,MAAA,CAAOyC,mBAAP,GAA6B,UAA7B,CARsD;AAAA,EAx4ElC;AAAA,CAk5ExB,SAASC,yCAAT,CAAmD1C,MAAnD,EAA2DnyC,MAA3D,EAAmE;AAAA,EAC/Dg0C,8CAAA,CAA+C7B,MAA/C,EAAuDnyC,MAAvD,EAD+D;AAAA,EAl5E3C;AAAA,CAq5ExB,SAASkzC,iCAAT,CAA2Cf,MAA3C,EAAmD;AAAA,EAC/C,IAAIA,MAAA,CAAO1P,sBAAP,KAAkC9f,SAAtC,EAAiD;AAAA,GAC7C,OAD6C;AAAA,GADF;AAAA,EAI/CwvB,MAAA,CAAO1P,sBAAP,CAA8B9f,SAA9B,EAJ+C;AAAA,EAK/CwvB,MAAA,CAAO1P,sBAAP,GAAgC9f,SAAhC,CAL+C;AAAA,EAM/CwvB,MAAA,CAAOzP,qBAAP,GAA+B/f,SAA/B,CAN+C;AAAA,EAO/CwvB,MAAA,CAAOyC,mBAAP,GAA6B,UAA7B,CAP+C;AAAA,EAr5E3B;AAAA,CA85ExB,SAASjB,mCAAT,CAA6CxB,MAA7C,EAAqD;AAAA,EACjDA,MAAA,CAAOkC,aAAP,GAAuBlV,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GACzDwxC,MAAA,CAAOsE,qBAAP,GAA+B/1C,OAA/B,CADyD;AAAA,GAEzDyxC,MAAA,CAAOuE,oBAAP,GAA8B/1C,MAA9B,CAFyD;AAAA,GAAtC,CAAvB,CADiD;AAAA,EAKjDwxC,MAAA,CAAO2C,kBAAP,GAA4B,SAA5B,CALiD;AAAA,EA95E7B;AAAA,CAq6ExB,SAAShB,6CAAT,CAAuD3B,MAAvD,EAA+DnyC,MAA/D,EAAuE;AAAA,EACnE2zC,mCAAA,CAAoCxB,MAApC,EADmE;AAAA,EAEnE4C,+BAAA,CAAgC5C,MAAhC,EAAwCnyC,MAAxC,EAFmE;AAAA,EAr6E/C;AAAA,CAy6ExB,SAAS4zC,6CAAT,CAAuDzB,MAAvD,EAA+D;AAAA,EAC3DwB,mCAAA,CAAoCxB,MAApC,EAD2D;AAAA,EAE3DC,gCAAA,CAAiCD,MAAjC,EAF2D;AAAA,EAz6EvC;AAAA,CA66ExB,SAAS4C,+BAAT,CAAyC5C,MAAzC,EAAiDnyC,MAAjD,EAAyD;AAAA,EACrD,IAAImyC,MAAA,CAAOuE,oBAAP,KAAgC/zB,SAApC,EAA+C;AAAA,GAC3C,OAD2C;AAAA,GADM;AAAA,EAIrDkd,yBAAA,CAA0BsS,MAAA,CAAOkC,aAAjC,EAJqD;AAAA,EAKrDlC,MAAA,CAAOuE,oBAAP,CAA4B12C,MAA5B,EALqD;AAAA,EAMrDmyC,MAAA,CAAOsE,qBAAP,GAA+B9zB,SAA/B,CANqD;AAAA,EAOrDwvB,MAAA,CAAOuE,oBAAP,GAA8B/zB,SAA9B,CAPqD;AAAA,EAQrDwvB,MAAA,CAAO2C,kBAAP,GAA4B,UAA5B,CARqD;AAAA,EA76EjC;AAAA,CAu7ExB,SAASrB,8BAAT,CAAwCtB,MAAxC,EAAgD;AAAA,EAC5CwB,mCAAA,CAAoCxB,MAApC,EAD4C;AAAA,EAv7ExB;AAAA,CA07ExB,SAAS6C,wCAAT,CAAkD7C,MAAlD,EAA0DnyC,MAA1D,EAAkE;AAAA,EAC9D8zC,6CAAA,CAA8C3B,MAA9C,EAAsDnyC,MAAtD,EAD8D;AAAA,EA17E1C;AAAA,CA67ExB,SAASoyC,gCAAT,CAA0CD,MAA1C,EAAkD;AAAA,EAC9C,IAAIA,MAAA,CAAOsE,qBAAP,KAAiC9zB,SAArC,EAAgD;AAAA,GAC5C,OAD4C;AAAA,GADF;AAAA,EAI9CwvB,MAAA,CAAOsE,qBAAP,CAA6B9zB,SAA7B,EAJ8C;AAAA,EAK9CwvB,MAAA,CAAOsE,qBAAP,GAA+B9zB,SAA/B,CAL8C;AAAA,EAM9CwvB,MAAA,CAAOuE,oBAAP,GAA8B/zB,SAA9B,CAN8C;AAAA,EAO9CwvB,MAAA,CAAO2C,kBAAP,GAA4B,WAA5B,CAP8C;AAAA,EA77E1B;AAAA,CAu8ExB,SAAS6B,aAAT,CAAuB1wC,KAAvB,EAA8B;AAAA,EAC1B,IAAI,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAA,KAAU,IAA3C,EAAiD;AAAA,GAC7C,OAAO,KAAP,CAD6C;AAAA,GADvB;AAAA,EAI1B,IAAI;AAAA,GACA,OAAO,OAAOA,KAAA,CAAM2wC,OAAb,KAAyB,SAAhC,CADA;AAAA,GAAJ,CAGA,OAAOhR,EAAP,EAAW;AAAA,GAEP,OAAO,KAAP,CAFO;AAAA,GAPe;AAAA,EAv8EN;AAAA,CAq9ExB,IAAIiR,kBAAA,GAAqB,OAAOC,YAAP,KAAwB,WAAxB,GAAsCA,YAAtC,GAAqDn0B,SAA9E,CAr9EwB;AAAA,CAw9ExB,SAASo0B,yBAAT,CAAmClvC,IAAnC,EAAyC;AAAA,EACrC,IAAI,CAAE,QAAOA,IAAP,KAAgB,UAAhB,IAA8B,OAAOA,IAAP,KAAgB,QAA9C,CAAN,EAA+D;AAAA,GAC3D,OAAO,KAAP,CAD2D;AAAA,GAD1B;AAAA,EAIrC,IAAI;AAAA,GACA,IAAIA,IAAJ,GADA;AAAA,GAEA,OAAO,IAAP,CAFA;AAAA,GAAJ,CAIA,OAAO+9B,EAAP,EAAW;AAAA,GACP,OAAO,KAAP,CADO;AAAA,GAR0B;AAAA,EAx9EjB;AAAA,CAo+ExB,SAASoR,0BAAT,GAAsC;AAAA,EAElC,IAAInvC,IAAA,GAAO,SAASivC,YAAT,CAAsB1kB,OAAtB,EAA+BruB,IAA/B,EAAqC;AAAA,GAC5C,KAAKquB,OAAL,GAAeA,OAAA,IAAW,EAA1B,CAD4C;AAAA,GAE5C,KAAKruB,IAAL,GAAYA,IAAA,IAAQ,OAApB,CAF4C;AAAA,GAG5C,IAAIsuB,KAAA,CAAM4kB,iBAAV,EAA6B;AAAA,IACzB5kB,KAAA,CAAM4kB,iBAAN,CAAwB,IAAxB,EAA8B,KAAKl4C,WAAnC,EADyB;AAAA,IAHe;AAAA,GAAhD,CAFkC;AAAA,EASlC8I,IAAA,CAAK2a,SAAL,GAAiB3e,MAAA,CAAO5E,MAAP,CAAcozB,KAAA,CAAM7P,SAApB,CAAjB,CATkC;AAAA,EAUlC3e,MAAA,CAAOigB,cAAP,CAAsBjc,IAAA,CAAK2a,SAA3B,EAAsC,aAAtC,EAAqD;AAAA,GAAEvc,KAAA,EAAO4B,IAAT;AAAA,GAAezB,QAAA,EAAU,IAAzB;AAAA,GAA+BD,YAAA,EAAc,IAA7C;AAAA,GAArD,EAVkC;AAAA,EAWlC,OAAO0B,IAAP,CAXkC;AAAA,EAp+Ed;AAAA,CAk/ExB,IAAIqvC,cAAA,GAAiBH,yBAAA,CAA0BF,kBAA1B,IAAgDA,kBAAhD,GAAqEG,0BAAA,EAA1F,CAl/EwB;AAAA,CAo/ExB,SAASG,oBAAT,CAA8Br1B,MAA9B,EAAsCimB,IAAtC,EAA4CqP,YAA5C,EAA0DC,YAA1D,EAAwErR,aAAxE,EAAuFsR,MAAvF,EAA+F;AAAA,EAC3F,IAAI7V,MAAA,GAAS2C,kCAAA,CAAmCtiB,MAAnC,CAAb,CAD2F;AAAA,EAE3F,IAAIqwB,MAAA,GAASzB,kCAAA,CAAmC3I,IAAnC,CAAb,CAF2F;AAAA,EAG3FjmB,MAAA,CAAO4jB,UAAP,GAAoB,IAApB,CAH2F;AAAA,EAI3F,IAAI6R,YAAA,GAAe,KAAnB,CAJ2F;AAAA,EAM3F,IAAIC,YAAA,GAAepY,mBAAA,CAAoBzc,SAApB,CAAnB,CAN2F;AAAA,EAO3F,OAAOwc,UAAA,CAAW,UAAUz+B,OAAV,EAAmBC,MAAnB,EAA2B;AAAA,GACzC,IAAIqwC,cAAJ,CADyC;AAAA,GAEzC,IAAIsG,MAAA,KAAW30B,SAAf,EAA0B;AAAA,IACtBquB,cAAA,GAAiB,YAAY;AAAA,KACzB,IAAIttB,KAAA,GAAQ,IAAIwzB,cAAJ,CAAmB,SAAnB,EAA8B,YAA9B,CAAZ,CADyB;AAAA,KAEzB,IAAIO,OAAA,GAAU,EAAd,CAFyB;AAAA,KAGzB,IAAI,CAACJ,YAAL,EAAmB;AAAA,MACfI,OAAA,CAAQlwB,IAAR,CAAa,YAAY;AAAA,OACrB,IAAIwgB,IAAA,CAAKlG,MAAL,KAAgB,UAApB,EAAgC;AAAA,QAC5B,OAAOyO,mBAAA,CAAoBvI,IAApB,EAA0BrkB,KAA1B,CAAP,CAD4B;AAAA,QADX;AAAA,OAIrB,OAAO0b,mBAAA,CAAoBzc,SAApB,CAAP,CAJqB;AAAA,OAAzB,EADe;AAAA,MAHM;AAAA,KAWzB,IAAI,CAACqjB,aAAL,EAAoB;AAAA,MAChByR,OAAA,CAAQlwB,IAAR,CAAa,YAAY;AAAA,OACrB,IAAIzF,MAAA,CAAO+f,MAAP,KAAkB,UAAtB,EAAkC;AAAA,QAC9B,OAAOM,oBAAA,CAAqBrgB,MAArB,EAA6B4B,KAA7B,CAAP,CAD8B;AAAA,QADb;AAAA,OAIrB,OAAO0b,mBAAA,CAAoBzc,SAApB,CAAP,CAJqB;AAAA,OAAzB,EADgB;AAAA,MAXK;AAAA,KAmBzB+0B,kBAAA,CAAmB,YAAY;AAAA,MAAE,OAAO1lB,OAAA,CAAQkD,GAAR,CAAYuiB,OAAA,CAAQE,GAAR,CAAY,UAAUC,MAAV,EAAkB;AAAA,OAAE,OAAOA,MAAA,EAAP,CAAF;AAAA,OAA9B,CAAZ,CAAP,CAAF;AAAA,MAA/B,EAA6G,IAA7G,EAAmHl0B,KAAnH,EAnByB;AAAA,KAA7B,CADsB;AAAA,IAsBtB,IAAI4zB,MAAA,CAAOV,OAAX,EAAoB;AAAA,KAChB5F,cAAA,GADgB;AAAA,KAEhB,OAFgB;AAAA,KAtBE;AAAA,IA0BtBsG,MAAA,CAAO9d,gBAAP,CAAwB,OAAxB,EAAiCwX,cAAjC,EA1BsB;AAAA,IAFe;AAAA,GAiCzC,SAAS6G,QAAT,GAAoB;AAAA,IAChB,OAAO1Y,UAAA,CAAW,UAAU2Y,WAAV,EAAuBC,UAAvB,EAAmC;AAAA,KACjD,SAASvuC,IAAT,CAAcP,IAAd,EAAoB;AAAA,MAChB,IAAIA,IAAJ,EAAU;AAAA,OACN6uC,WAAA,GADM;AAAA,OAAV,MAGK;AAAA,OAGDxY,kBAAA,CAAmB0Y,QAAA,EAAnB,EAA+BxuC,IAA/B,EAAqCuuC,UAArC,EAHC;AAAA,OAJW;AAAA,MAD6B;AAAA,KAWjDvuC,IAAA,CAAK,KAAL,EAXiD;AAAA,KAA9C,CAAP,CADgB;AAAA,IAjCqB;AAAA,GAgDzC,SAASwuC,QAAT,GAAoB;AAAA,IAChB,IAAIT,YAAJ,EAAkB;AAAA,KACd,OAAOnY,mBAAA,CAAoB,IAApB,CAAP,CADc;AAAA,KADF;AAAA,IAIhB,OAAOE,kBAAA,CAAmB6S,MAAA,CAAOkC,aAA1B,EAAyC,YAAY;AAAA,KACxD,OAAOlV,UAAA,CAAW,UAAU8Y,WAAV,EAAuBC,UAAvB,EAAmC;AAAA,MACjD5S,+BAAA,CAAgC7D,MAAhC,EAAwC;AAAA,OACpCkD,WAAA,EAAa,UAAUjoB,KAAV,EAAiB;AAAA,QAC1B86B,YAAA,GAAelY,kBAAA,CAAmBmV,gCAAA,CAAiCtC,MAAjC,EAAyCz1B,KAAzC,CAAnB,EAAoEiG,SAApE,EAA+E+b,IAA/E,CAAf,CAD0B;AAAA,QAE1BuZ,WAAA,CAAY,KAAZ,EAF0B;AAAA,QADM;AAAA,OAKpCvT,WAAA,EAAa,YAAY;AAAA,QAAE,OAAOuT,WAAA,CAAY,IAAZ,CAAP,CAAF;AAAA,QALW;AAAA,OAMpC5S,WAAA,EAAa6S,UANuB;AAAA,OAAxC,EADiD;AAAA,MAA9C,CAAP,CADwD;AAAA,KAArD,CAAP,CAJgB;AAAA,IAhDqB;AAAA,GAkEzCC,kBAAA,CAAmBr2B,MAAnB,EAA2B2f,MAAA,CAAOe,cAAlC,EAAkD,UAAUoQ,WAAV,EAAuB;AAAA,IACrE,IAAI,CAACyE,YAAL,EAAmB;AAAA,KACfK,kBAAA,CAAmB,YAAY;AAAA,MAAE,OAAOpH,mBAAA,CAAoBvI,IAApB,EAA0B6K,WAA1B,CAAP,CAAF;AAAA,MAA/B,EAAmF,IAAnF,EAAyFA,WAAzF,EADe;AAAA,KAAnB,MAGK;AAAA,KACDwF,QAAA,CAAS,IAAT,EAAexF,WAAf,EADC;AAAA,KAJgE;AAAA,IAAzE,EAlEyC;AAAA,GA2EzCuF,kBAAA,CAAmBpQ,IAAnB,EAAyBoK,MAAA,CAAO3P,cAAhC,EAAgD,UAAUoQ,WAAV,EAAuB;AAAA,IACnE,IAAI,CAAC5M,aAAL,EAAoB;AAAA,KAChB0R,kBAAA,CAAmB,YAAY;AAAA,MAAE,OAAOvV,oBAAA,CAAqBrgB,MAArB,EAA6B8wB,WAA7B,CAAP,CAAF;AAAA,MAA/B,EAAsF,IAAtF,EAA4FA,WAA5F,EADgB;AAAA,KAApB,MAGK;AAAA,KACDwF,QAAA,CAAS,IAAT,EAAexF,WAAf,EADC;AAAA,KAJ8D;AAAA,IAAvE,EA3EyC;AAAA,GAoFzCyF,iBAAA,CAAkBv2B,MAAlB,EAA0B2f,MAAA,CAAOe,cAAjC,EAAiD,YAAY;AAAA,IACzD,IAAI,CAAC4U,YAAL,EAAmB;AAAA,KACfM,kBAAA,CAAmB,YAAY;AAAA,MAAE,OAAOhD,oDAAA,CAAqDvC,MAArD,CAAP,CAAF;AAAA,MAA/B,EADe;AAAA,KAAnB,MAGK;AAAA,KACDiG,QAAA,GADC;AAAA,KAJoD;AAAA,IAA7D,EApFyC;AAAA,GA6FzC,IAAI7H,mCAAA,CAAoCxI,IAApC,KAA6CA,IAAA,CAAKlG,MAAL,KAAgB,QAAjE,EAA2E;AAAA,IACvE,IAAIyW,YAAA,GAAe,IAAI7zB,SAAJ,CAAc,6EAAd,CAAnB,CADuE;AAAA,IAEvE,IAAI,CAACuhB,aAAL,EAAoB;AAAA,KAChB0R,kBAAA,CAAmB,YAAY;AAAA,MAAE,OAAOvV,oBAAA,CAAqBrgB,MAArB,EAA6Bw2B,YAA7B,CAAP,CAAF;AAAA,MAA/B,EAAuF,IAAvF,EAA6FA,YAA7F,EADgB;AAAA,KAApB,MAGK;AAAA,KACDF,QAAA,CAAS,IAAT,EAAeE,YAAf,EADC;AAAA,KALkE;AAAA,IA7FlC;AAAA,GAsGzCzY,yBAAA,CAA0BgY,QAAA,EAA1B,EAtGyC;AAAA,GAuGzC,SAASU,qBAAT,GAAiC;AAAA,IAG7B,IAAIC,eAAA,GAAkBhB,YAAtB,CAH6B;AAAA,IAI7B,OAAOlY,kBAAA,CAAmBkY,YAAnB,EAAiC,YAAY;AAAA,KAAE,OAAOgB,eAAA,KAAoBhB,YAApB,GAAmCe,qBAAA,EAAnC,GAA6D51B,SAApE,CAAF;AAAA,KAA7C,CAAP,CAJ6B;AAAA,IAvGQ;AAAA,GA6GzC,SAASw1B,kBAAT,CAA4BzW,MAA5B,EAAoC5M,OAApC,EAA6C8iB,MAA7C,EAAqD;AAAA,IACjD,IAAIlW,MAAA,CAAOG,MAAP,KAAkB,SAAtB,EAAiC;AAAA,KAC7B+V,MAAA,CAAOlW,MAAA,CAAOO,YAAd,EAD6B;AAAA,KAAjC,MAGK;AAAA,KACDxC,aAAA,CAAc3K,OAAd,EAAuB8iB,MAAvB,EADC;AAAA,KAJ4C;AAAA,IA7GZ;AAAA,GAqHzC,SAASS,iBAAT,CAA2B3W,MAA3B,EAAmC5M,OAAnC,EAA4C8iB,MAA5C,EAAoD;AAAA,IAChD,IAAIlW,MAAA,CAAOG,MAAP,KAAkB,QAAtB,EAAgC;AAAA,KAC5B+V,MAAA,GAD4B;AAAA,KAAhC,MAGK;AAAA,KACDpY,eAAA,CAAgB1K,OAAhB,EAAyB8iB,MAAzB,EADC;AAAA,KAJ2C;AAAA,IArHX;AAAA,GA6HzC,SAASF,kBAAT,CAA4BE,MAA5B,EAAoCa,eAApC,EAAqDC,aAArD,EAAoE;AAAA,IAChE,IAAInB,YAAJ,EAAkB;AAAA,KACd,OADc;AAAA,KAD8C;AAAA,IAIhEA,YAAA,GAAe,IAAf,CAJgE;AAAA,IAKhE,IAAIxP,IAAA,CAAKlG,MAAL,KAAgB,UAAhB,IAA8B,CAAC0O,mCAAA,CAAoCxI,IAApC,CAAnC,EAA8E;AAAA,KAC1EvI,eAAA,CAAgB+Y,qBAAA,EAAhB,EAAyCI,SAAzC,EAD0E;AAAA,KAA9E,MAGK;AAAA,KACDA,SAAA,GADC;AAAA,KAR2D;AAAA,IAWhE,SAASA,SAAT,GAAqB;AAAA,KACjBpZ,WAAA,CAAYqY,MAAA,EAAZ,EAAsB,YAAY;AAAA,MAAE,OAAOgB,QAAA,CAASH,eAAT,EAA0BC,aAA1B,CAAP,CAAF;AAAA,MAAlC,EAAwF,UAAUG,QAAV,EAAoB;AAAA,MAAE,OAAOD,QAAA,CAAS,IAAT,EAAeC,QAAf,CAAP,CAAF;AAAA,MAA5G,EADiB;AAAA,KAX2C;AAAA,IA7H3B;AAAA,GA4IzC,SAAST,QAAT,CAAkBU,OAAlB,EAA2Bp1B,KAA3B,EAAkC;AAAA,IAC9B,IAAI6zB,YAAJ,EAAkB;AAAA,KACd,OADc;AAAA,KADY;AAAA,IAI9BA,YAAA,GAAe,IAAf,CAJ8B;AAAA,IAK9B,IAAIxP,IAAA,CAAKlG,MAAL,KAAgB,UAAhB,IAA8B,CAAC0O,mCAAA,CAAoCxI,IAApC,CAAnC,EAA8E;AAAA,KAC1EvI,eAAA,CAAgB+Y,qBAAA,EAAhB,EAAyC,YAAY;AAAA,MAAE,OAAOK,QAAA,CAASE,OAAT,EAAkBp1B,KAAlB,CAAP,CAAF;AAAA,MAArD,EAD0E;AAAA,KAA9E,MAGK;AAAA,KACDk1B,QAAA,CAASE,OAAT,EAAkBp1B,KAAlB,EADC;AAAA,KARyB;AAAA,IA5IO;AAAA,GAwJzC,SAASk1B,QAAT,CAAkBE,OAAlB,EAA2Bp1B,KAA3B,EAAkC;AAAA,IAC9B8wB,kCAAA,CAAmCrC,MAAnC,EAD8B;AAAA,IAE9B/P,kCAAA,CAAmCX,MAAnC,EAF8B;AAAA,IAG9B,IAAI6V,MAAA,KAAW30B,SAAf,EAA0B;AAAA,KACtB20B,MAAA,CAAOyB,mBAAP,CAA2B,OAA3B,EAAoC/H,cAApC,EADsB;AAAA,KAHI;AAAA,IAM9B,IAAI8H,OAAJ,EAAa;AAAA,KACTn4C,MAAA,CAAO+iB,KAAP,EADS;AAAA,KAAb,MAGK;AAAA,KACDhjB,OAAA,CAAQiiB,SAAR,EADC;AAAA,KATyB;AAAA,IAxJO;AAAA,GAAtC,CAAP,CAP2F;AAAA,EAp/EvE;AAAA,CAwqFxB,IAAIq2B,+BAAA,GAAiD,YAAY;AAAA,EAC7D,SAASA,+BAAT,GAA2C;AAAA,GACvC,MAAM,IAAIv0B,SAAJ,CAAc,qBAAd,CAAN,CADuC;AAAA,GADkB;AAAA,EAI7D5gB,MAAA,CAAOigB,cAAP,CAAsBk1B,+BAAA,CAAgCx2B,SAAtD,EAAiE,aAAjE,EAAgF;AAAA,GAK5ErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC84B,iCAAA,CAAkC,IAAlC,CAAL,EAA8C;AAAA,KAC1C,MAAMC,sCAAA,CAAuC,aAAvC,CAAN,CAD0C;AAAA,KADjC;AAAA,IAIb,OAAOC,6CAAA,CAA8C,IAA9C,CAAP,CAJa;AAAA,IAL2D;AAAA,GAW5EjzC,UAAA,EAAY,KAXgE;AAAA,GAY5EC,YAAA,EAAc,IAZ8D;AAAA,GAAhF,EAJ6D;AAAA,EAsB7D6yC,+BAAA,CAAgCx2B,SAAhC,CAA0CoK,KAA1C,GAAkD,YAAY;AAAA,GAC1D,IAAI,CAACqsB,iCAAA,CAAkC,IAAlC,CAAL,EAA8C;AAAA,IAC1C,MAAMC,sCAAA,CAAuC,OAAvC,CAAN,CAD0C;AAAA,IADY;AAAA,GAI1D,IAAI,CAACE,gDAAA,CAAiD,IAAjD,CAAL,EAA6D;AAAA,IACzD,MAAM,IAAI30B,SAAJ,CAAc,iDAAd,CAAN,CADyD;AAAA,IAJH;AAAA,GAO1D40B,oCAAA,CAAqC,IAArC,EAP0D;AAAA,GAA9D,CAtB6D;AAAA,EA+B7DL,+BAAA,CAAgCx2B,SAAhC,CAA0CynB,OAA1C,GAAoD,UAAUvtB,KAAV,EAAiB;AAAA,GACjE,IAAIA,KAAA,KAAU,KAAK,CAAnB,EAAsB;AAAA,IAAEA,KAAA,GAAQiG,SAAR,CAAF;AAAA,IAD2C;AAAA,GAEjE,IAAI,CAACs2B,iCAAA,CAAkC,IAAlC,CAAL,EAA8C;AAAA,IAC1C,MAAMC,sCAAA,CAAuC,SAAvC,CAAN,CAD0C;AAAA,IAFmB;AAAA,GAKjE,IAAI,CAACE,gDAAA,CAAiD,IAAjD,CAAL,EAA6D;AAAA,IACzD,MAAM,IAAI30B,SAAJ,CAAc,mDAAd,CAAN,CADyD;AAAA,IALI;AAAA,GAQjE,OAAO60B,sCAAA,CAAuC,IAAvC,EAA6C58B,KAA7C,CAAP,CARiE;AAAA,GAArE,CA/B6D;AAAA,EA4C7Ds8B,+BAAA,CAAgCx2B,SAAhC,CAA0CkB,KAA1C,GAAkD,UAAU8X,CAAV,EAAa;AAAA,GAC3D,IAAIA,CAAA,KAAM,KAAK,CAAf,EAAkB;AAAA,IAAEA,CAAA,GAAI7Y,SAAJ,CAAF;AAAA,IADyC;AAAA,GAE3D,IAAI,CAACs2B,iCAAA,CAAkC,IAAlC,CAAL,EAA8C;AAAA,IAC1C,MAAMC,sCAAA,CAAuC,OAAvC,CAAN,CAD0C;AAAA,IAFa;AAAA,GAK3DK,oCAAA,CAAqC,IAArC,EAA2C/d,CAA3C,EAL2D;AAAA,GAA/D,CA5C6D;AAAA,EAoD7Dwd,+BAAA,CAAgCx2B,SAAhC,CAA0CsgB,WAA1C,IAAyD,UAAU9iC,MAAV,EAAkB;AAAA,GACvE4nC,UAAA,CAAW,IAAX,EADuE;AAAA,GAEvE,IAAI1/B,MAAA,GAAS,KAAKkiC,gBAAL,CAAsBpqC,MAAtB,CAAb,CAFuE;AAAA,GAGvEw5C,8CAAA,CAA+C,IAA/C,EAHuE;AAAA,GAIvE,OAAOtxC,MAAP,CAJuE;AAAA,GAA3E,CApD6D;AAAA,EA2D7D8wC,+BAAA,CAAgCx2B,SAAhC,CAA0CugB,SAA1C,IAAuD,UAAUwB,WAAV,EAAuB;AAAA,GAC1E,IAAI7C,MAAA,GAAS,KAAK+X,yBAAlB,CAD0E;AAAA,GAE1E,IAAI,KAAKlS,MAAL,CAAYlrB,MAAZ,GAAqB,CAAzB,EAA4B;AAAA,IACxB,IAAIK,KAAA,GAAQ0qB,YAAA,CAAa,IAAb,CAAZ,CADwB;AAAA,IAExB,IAAI,KAAK0C,eAAL,IAAwB,KAAKvC,MAAL,CAAYlrB,MAAZ,KAAuB,CAAnD,EAAsD;AAAA,KAClDm9B,8CAAA,CAA+C,IAA/C,EADkD;AAAA,KAElDhN,mBAAA,CAAoB9K,MAApB,EAFkD;AAAA,KAAtD,MAIK;AAAA,KACDgY,+CAAA,CAAgD,IAAhD,EADC;AAAA,KANmB;AAAA,IASxBnV,WAAA,CAAYI,WAAZ,CAAwBjoB,KAAxB,EATwB;AAAA,IAA5B,MAWK;AAAA,IACD4nB,4BAAA,CAA6B5C,MAA7B,EAAqC6C,WAArC,EADC;AAAA,IAEDmV,+CAAA,CAAgD,IAAhD,EAFC;AAAA,IAbqE;AAAA,GAA9E,CA3D6D;AAAA,EA6E7D,OAAOV,+BAAP,CA7E6D;AAAA,EAAZ,EAArD,CAxqFwB;AAAA,CAuvFxBn1C,MAAA,CAAOioB,gBAAP,CAAwBktB,+BAAA,CAAgCx2B,SAAxD,EAAmE;AAAA,EAC/DoK,KAAA,EAAO,EAAE1mB,UAAA,EAAY,IAAd,EADwD;AAAA,EAE/D+jC,OAAA,EAAS,EAAE/jC,UAAA,EAAY,IAAd,EAFsD;AAAA,EAG/Dwd,KAAA,EAAO,EAAExd,UAAA,EAAY,IAAd,EAHwD;AAAA,EAI/D6kC,WAAA,EAAa,EAAE7kC,UAAA,EAAY,IAAd,EAJkD;AAAA,EAAnE,EAvvFwB;AAAA,CA6vFxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBk1B,+BAAA,CAAgCx2B,SAAtD,EAAiEgc,cAAA,CAAeiH,WAAhF,EAA6F;AAAA,GACzFx/B,KAAA,EAAO,iCADkF;AAAA,GAEzFE,YAAA,EAAc,IAF2E;AAAA,GAA7F,EADgD;AAAA,EA7vF5B;AAAA,CAowFxB,SAAS8yC,iCAAT,CAA2CjiB,CAA3C,EAA8C;AAAA,EAC1C,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADoB;AAAA,EAI1C,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,2BAAxC,CAAL,EAA2E;AAAA,GACvE,OAAO,KAAP,CADuE;AAAA,GAJjC;AAAA,EAO1C,OAAO,IAAP,CAP0C;AAAA,EApwFtB;AAAA,CA6wFxB,SAAS0iB,+CAAT,CAAyDx4B,UAAzD,EAAqE;AAAA,EACjE,IAAI8pB,UAAA,GAAa2O,6CAAA,CAA8Cz4B,UAA9C,CAAjB,CADiE;AAAA,EAEjE,IAAI,CAAC8pB,UAAL,EAAiB;AAAA,GACb,OADa;AAAA,GAFgD;AAAA,EAKjE,IAAI9pB,UAAA,CAAWgqB,QAAf,EAAyB;AAAA,GACrBhqB,UAAA,CAAWiqB,UAAX,GAAwB,IAAxB,CADqB;AAAA,GAErB,OAFqB;AAAA,GALwC;AAAA,EASjEjqB,UAAA,CAAWgqB,QAAX,GAAsB,IAAtB,CATiE;AAAA,EAUjE,IAAIE,WAAA,GAAclqB,UAAA,CAAWmqB,cAAX,EAAlB,CAViE;AAAA,EAWjE9L,WAAA,CAAY6L,WAAZ,EAAyB,YAAY;AAAA,GACjClqB,UAAA,CAAWgqB,QAAX,GAAsB,KAAtB,CADiC;AAAA,GAEjC,IAAIhqB,UAAA,CAAWiqB,UAAf,EAA2B;AAAA,IACvBjqB,UAAA,CAAWiqB,UAAX,GAAwB,KAAxB,CADuB;AAAA,IAEvBuO,+CAAA,CAAgDx4B,UAAhD,EAFuB;AAAA,IAFM;AAAA,GAArC,EAMG,UAAUsa,CAAV,EAAa;AAAA,GACZ+d,oCAAA,CAAqCr4B,UAArC,EAAiDsa,CAAjD,EADY;AAAA,GANhB,EAXiE;AAAA,EA7wF7C;AAAA,CAkyFxB,SAASme,6CAAT,CAAuDz4B,UAAvD,EAAmE;AAAA,EAC/D,IAAIwgB,MAAA,GAASxgB,UAAA,CAAWu4B,yBAAxB,CAD+D;AAAA,EAE/D,IAAI,CAACL,gDAAA,CAAiDl4B,UAAjD,CAAL,EAAmE;AAAA,GAC/D,OAAO,KAAP,CAD+D;AAAA,GAFJ;AAAA,EAK/D,IAAI,CAACA,UAAA,CAAWssB,QAAhB,EAA0B;AAAA,GACtB,OAAO,KAAP,CADsB;AAAA,GALqC;AAAA,EAQ/D,IAAIzI,sBAAA,CAAuBrD,MAAvB,KAAkCkD,gCAAA,CAAiClD,MAAjC,IAA2C,CAAjF,EAAoF;AAAA,GAChF,OAAO,IAAP,CADgF;AAAA,GARrB;AAAA,EAW/D,IAAIqJ,WAAA,GAAcoO,6CAAA,CAA8Cj4B,UAA9C,CAAlB,CAX+D;AAAA,EAY/D,IAAI6pB,WAAA,GAAc,CAAlB,EAAqB;AAAA,GACjB,OAAO,IAAP,CADiB;AAAA,GAZ0C;AAAA,EAe/D,OAAO,KAAP,CAf+D;AAAA,EAlyF3C;AAAA,CAmzFxB,SAASyO,8CAAT,CAAwDt4B,UAAxD,EAAoE;AAAA,EAChEA,UAAA,CAAWmqB,cAAX,GAA4B1oB,SAA5B,CADgE;AAAA,EAEhEzB,UAAA,CAAWkpB,gBAAX,GAA8BznB,SAA9B,CAFgE;AAAA,EAGhEzB,UAAA,CAAW00B,sBAAX,GAAoCjzB,SAApC,CAHgE;AAAA,EAnzF5C;AAAA,CAyzFxB,SAAS02B,oCAAT,CAA8Cn4B,UAA9C,EAA0D;AAAA,EACtD,IAAI,CAACk4B,gDAAA,CAAiDl4B,UAAjD,CAAL,EAAmE;AAAA,GAC/D,OAD+D;AAAA,GADb;AAAA,EAItD,IAAIwgB,MAAA,GAASxgB,UAAA,CAAWu4B,yBAAxB,CAJsD;AAAA,EAKtDv4B,UAAA,CAAW4oB,eAAX,GAA6B,IAA7B,CALsD;AAAA,EAMtD,IAAI5oB,UAAA,CAAWqmB,MAAX,CAAkBlrB,MAAlB,KAA6B,CAAjC,EAAoC;AAAA,GAChCm9B,8CAAA,CAA+Ct4B,UAA/C,EADgC;AAAA,GAEhCsrB,mBAAA,CAAoB9K,MAApB,EAFgC;AAAA,GANkB;AAAA,EAzzFlC;AAAA,CAo0FxB,SAAS4X,sCAAT,CAAgDp4B,UAAhD,EAA4DxE,KAA5D,EAAmE;AAAA,EAC/D,IAAI,CAAC08B,gDAAA,CAAiDl4B,UAAjD,CAAL,EAAmE;AAAA,GAC/D,OAD+D;AAAA,GADJ;AAAA,EAI/D,IAAIwgB,MAAA,GAASxgB,UAAA,CAAWu4B,yBAAxB,CAJ+D;AAAA,EAK/D,IAAI1U,sBAAA,CAAuBrD,MAAvB,KAAkCkD,gCAAA,CAAiClD,MAAjC,IAA2C,CAAjF,EAAoF;AAAA,GAChF+C,gCAAA,CAAiC/C,MAAjC,EAAyChlB,KAAzC,EAAgD,KAAhD,EADgF;AAAA,GAApF,MAGK;AAAA,GACD,IAAIy4B,SAAA,GAAY,KAAK,CAArB,CADC;AAAA,GAED,IAAI;AAAA,IACAA,SAAA,GAAYj0B,UAAA,CAAW00B,sBAAX,CAAkCl5B,KAAlC,CAAZ,CADA;AAAA,IAAJ,CAGA,OAAOw5B,UAAP,EAAmB;AAAA,IACfqD,oCAAA,CAAqCr4B,UAArC,EAAiDg1B,UAAjD,EADe;AAAA,IAEf,MAAMA,UAAN,CAFe;AAAA,IALlB;AAAA,GASD,IAAI;AAAA,IACAzO,oBAAA,CAAqBvmB,UAArB,EAAiCxE,KAAjC,EAAwCy4B,SAAxC,EADA;AAAA,IAAJ,CAGA,OAAOiB,QAAP,EAAiB;AAAA,IACbmD,oCAAA,CAAqCr4B,UAArC,EAAiDk1B,QAAjD,EADa;AAAA,IAEb,MAAMA,QAAN,CAFa;AAAA,IAZhB;AAAA,GAR0D;AAAA,EAyB/DsD,+CAAA,CAAgDx4B,UAAhD,EAzB+D;AAAA,EAp0F3C;AAAA,CA+1FxB,SAASq4B,oCAAT,CAA8Cr4B,UAA9C,EAA0Dsa,CAA1D,EAA6D;AAAA,EACzD,IAAIkG,MAAA,GAASxgB,UAAA,CAAWu4B,yBAAxB,CADyD;AAAA,EAEzD,IAAI/X,MAAA,CAAOG,MAAP,KAAkB,UAAtB,EAAkC;AAAA,GAC9B,OAD8B;AAAA,GAFuB;AAAA,EAKzD+F,UAAA,CAAW1mB,UAAX,EALyD;AAAA,EAMzDs4B,8CAAA,CAA+Ct4B,UAA/C,EANyD;AAAA,EAOzD0sB,mBAAA,CAAoBlM,MAApB,EAA4BlG,CAA5B,EAPyD;AAAA,EA/1FrC;AAAA,CAw2FxB,SAAS2d,6CAAT,CAAuDj4B,UAAvD,EAAmE;AAAA,EAC/D,IAAIvY,KAAA,GAAQuY,UAAA,CAAWu4B,yBAAX,CAAqC5X,MAAjD,CAD+D;AAAA,EAE/D,IAAIl5B,KAAA,KAAU,SAAd,EAAyB;AAAA,GACrB,OAAO,IAAP,CADqB;AAAA,GAFsC;AAAA,EAK/D,IAAIA,KAAA,KAAU,QAAd,EAAwB;AAAA,GACpB,OAAO,CAAP,CADoB;AAAA,GALuC;AAAA,EAQ/D,OAAOuY,UAAA,CAAW2sB,YAAX,GAA0B3sB,UAAA,CAAWsmB,eAA5C,CAR+D;AAAA,EAx2F3C;AAAA,CAm3FxB,SAASoS,8CAAT,CAAwD14B,UAAxD,EAAoE;AAAA,EAChE,IAAIy4B,6CAAA,CAA8Cz4B,UAA9C,CAAJ,EAA+D;AAAA,GAC3D,OAAO,KAAP,CAD2D;AAAA,GADC;AAAA,EAIhE,OAAO,IAAP,CAJgE;AAAA,EAn3F5C;AAAA,CAy3FxB,SAASk4B,gDAAT,CAA0Dl4B,UAA1D,EAAsE;AAAA,EAClE,IAAIvY,KAAA,GAAQuY,UAAA,CAAWu4B,yBAAX,CAAqC5X,MAAjD,CADkE;AAAA,EAElE,IAAI,CAAC3gB,UAAA,CAAW4oB,eAAZ,IAA+BnhC,KAAA,KAAU,UAA7C,EAAyD;AAAA,GACrD,OAAO,IAAP,CADqD;AAAA,GAFS;AAAA,EAKlE,OAAO,KAAP,CALkE;AAAA,EAz3F9C;AAAA,CAg4FxB,SAASkxC,oCAAT,CAA8CnY,MAA9C,EAAsDxgB,UAAtD,EAAkE6sB,cAAlE,EAAkFC,aAAlF,EAAiGC,eAAjG,EAAkHC,aAAlH,EAAiIgC,aAAjI,EAAgJ;AAAA,EAC5IhvB,UAAA,CAAWu4B,yBAAX,GAAuC/X,MAAvC,CAD4I;AAAA,EAE5IxgB,UAAA,CAAWqmB,MAAX,GAAoB5kB,SAApB,CAF4I;AAAA,EAG5IzB,UAAA,CAAWsmB,eAAX,GAA6B7kB,SAA7B,CAH4I;AAAA,EAI5IilB,UAAA,CAAW1mB,UAAX,EAJ4I;AAAA,EAK5IA,UAAA,CAAWssB,QAAX,GAAsB,KAAtB,CAL4I;AAAA,EAM5ItsB,UAAA,CAAW4oB,eAAX,GAA6B,KAA7B,CAN4I;AAAA,EAO5I5oB,UAAA,CAAWiqB,UAAX,GAAwB,KAAxB,CAP4I;AAAA,EAQ5IjqB,UAAA,CAAWgqB,QAAX,GAAsB,KAAtB,CAR4I;AAAA,EAS5IhqB,UAAA,CAAW00B,sBAAX,GAAoC1F,aAApC,CAT4I;AAAA,EAU5IhvB,UAAA,CAAW2sB,YAAX,GAA0BK,aAA1B,CAV4I;AAAA,EAW5IhtB,UAAA,CAAWmqB,cAAX,GAA4B2C,aAA5B,CAX4I;AAAA,EAY5I9sB,UAAA,CAAWkpB,gBAAX,GAA8B6D,eAA9B,CAZ4I;AAAA,EAa5IvM,MAAA,CAAOiE,yBAAP,GAAmCzkB,UAAnC,CAb4I;AAAA,EAc5I,IAAIitB,WAAA,GAAcJ,cAAA,EAAlB,CAd4I;AAAA,EAe5IxO,WAAA,CAAYH,mBAAA,CAAoB+O,WAApB,CAAZ,EAA8C,YAAY;AAAA,GACtDjtB,UAAA,CAAWssB,QAAX,GAAsB,IAAtB,CADsD;AAAA,GAEtDkM,+CAAA,CAAgDx4B,UAAhD,EAFsD;AAAA,GAA1D,EAGG,UAAU5C,CAAV,EAAa;AAAA,GACZi7B,oCAAA,CAAqCr4B,UAArC,EAAiD5C,CAAjD,EADY;AAAA,GAHhB,EAf4I;AAAA,EAh4FxH;AAAA,CAs5FxB,SAASw7B,wDAAT,CAAkEpY,MAAlE,EAA0EqY,gBAA1E,EAA4F7L,aAA5F,EAA2GgC,aAA3G,EAA0H;AAAA,EACtH,IAAIhvB,UAAA,GAAard,MAAA,CAAO5E,MAAP,CAAc+5C,+BAAA,CAAgCx2B,SAA9C,CAAjB,CADsH;AAAA,EAEtH,IAAIurB,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAOprB,SAAP,CAAF;AAAA,GAAjC,CAFsH;AAAA,EAGtH,IAAIqrB,aAAA,GAAgB,YAAY;AAAA,GAAE,OAAO5O,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAhC,CAHsH;AAAA,EAItH,IAAIsrB,eAAA,GAAkB,YAAY;AAAA,GAAE,OAAO7O,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAlC,CAJsH;AAAA,EAKtH,IAAIo3B,gBAAA,CAAiB71C,KAAjB,KAA2Bye,SAA/B,EAA0C;AAAA,GACtCorB,cAAA,GAAiB,YAAY;AAAA,IAAE,OAAOgM,gBAAA,CAAiB71C,KAAjB,CAAuBgd,UAAvB,CAAP,CAAF;AAAA,IAA7B,CADsC;AAAA,GAL4E;AAAA,EAQtH,IAAI64B,gBAAA,CAAiBzL,IAAjB,KAA0B3rB,SAA9B,EAAyC;AAAA,GACrCqrB,aAAA,GAAgB,YAAY;AAAA,IAAE,OAAO+L,gBAAA,CAAiBzL,IAAjB,CAAsBptB,UAAtB,CAAP,CAAF;AAAA,IAA5B,CADqC;AAAA,GAR6E;AAAA,EAWtH,IAAI64B,gBAAA,CAAiB9U,MAAjB,KAA4BtiB,SAAhC,EAA2C;AAAA,GACvCsrB,eAAA,GAAkB,UAAUjuC,MAAV,EAAkB;AAAA,IAAE,OAAO+5C,gBAAA,CAAiB9U,MAAjB,CAAwBjlC,MAAxB,CAAP,CAAF;AAAA,IAApC,CADuC;AAAA,GAX2E;AAAA,EActH65C,oCAAA,CAAqCnY,MAArC,EAA6CxgB,UAA7C,EAAyD6sB,cAAzD,EAAyEC,aAAzE,EAAwFC,eAAxF,EAAyGC,aAAzG,EAAwHgC,aAAxH,EAdsH;AAAA,EAt5FlG;AAAA,CAu6FxB,SAASgJ,sCAAT,CAAgDn1C,IAAhD,EAAsD;AAAA,EAClD,OAAO,IAAI0gB,SAAJ,CAAc,+CAA+C1gB,IAA/C,GAAsD,wDAApE,CAAP,CADkD;AAAA,EAv6F9B;AAAA,CA26FxB,SAASi2C,iBAAT,CAA2BtY,MAA3B,EAAmCuY,eAAnC,EAAoD;AAAA,EAChD,IAAIxY,MAAA,GAAS2C,kCAAA,CAAmC1C,MAAnC,CAAb,CADgD;AAAA,EAEhD,IAAIwY,OAAA,GAAU,KAAd,CAFgD;AAAA,EAGhD,IAAIC,SAAA,GAAY,KAAhB,CAHgD;AAAA,EAIhD,IAAIC,SAAA,GAAY,KAAhB,CAJgD;AAAA,EAKhD,IAAIC,OAAJ,CALgD;AAAA,EAMhD,IAAIC,OAAJ,CANgD;AAAA,EAOhD,IAAIC,OAAJ,CAPgD;AAAA,EAQhD,IAAIC,OAAJ,CARgD;AAAA,EAShD,IAAIC,oBAAJ,CATgD;AAAA,EAUhD,IAAIC,aAAA,GAAgBvb,UAAA,CAAW,UAAUz+B,OAAV,EAAmB;AAAA,GAC9C+5C,oBAAA,GAAuB/5C,OAAvB,CAD8C;AAAA,GAA9B,CAApB,CAVgD;AAAA,EAahD,SAASstC,aAAT,GAAyB;AAAA,GACrB,IAAIkM,OAAJ,EAAa;AAAA,IACT,OAAO9a,mBAAA,CAAoBzc,SAApB,CAAP,CADS;AAAA,IADQ;AAAA,GAIrBu3B,OAAA,GAAU,IAAV,CAJqB;AAAA,GAKrB,IAAI3V,WAAA,GAAc;AAAA,IACdI,WAAA,EAAa,UAAU1+B,KAAV,EAAiB;AAAA,KAI1Bg0B,cAAA,CAAe,YAAY;AAAA,MACvBigB,OAAA,GAAU,KAAV,CADuB;AAAA,MAEvB,IAAIS,MAAA,GAAS10C,KAAb,CAFuB;AAAA,MAGvB,IAAI20C,MAAA,GAAS30C,KAAb,CAHuB;AAAA,MASvB,IAAI,CAACk0C,SAAL,EAAgB;AAAA,OACZb,sCAAA,CAAuCiB,OAAA,CAAQ5U,yBAA/C,EAA0EgV,MAA1E,EADY;AAAA,OATO;AAAA,MAYvB,IAAI,CAACP,SAAL,EAAgB;AAAA,OACZd,sCAAA,CAAuCkB,OAAA,CAAQ7U,yBAA/C,EAA0EiV,MAA1E,EADY;AAAA,OAZO;AAAA,MAA3B,EAJ0B;AAAA,KADhB;AAAA,IAsBdlW,WAAA,EAAa,YAAY;AAAA,KACrBwV,OAAA,GAAU,KAAV,CADqB;AAAA,KAErB,IAAI,CAACC,SAAL,EAAgB;AAAA,MACZd,oCAAA,CAAqCkB,OAAA,CAAQ5U,yBAA7C,EADY;AAAA,MAFK;AAAA,KAKrB,IAAI,CAACyU,SAAL,EAAgB;AAAA,MACZf,oCAAA,CAAqCmB,OAAA,CAAQ7U,yBAA7C,EADY;AAAA,MALK;AAAA,KAQrB,IAAI,CAACwU,SAAD,IAAc,CAACC,SAAnB,EAA8B;AAAA,MAC1BK,oBAAA,CAAqB93B,SAArB,EAD0B;AAAA,MART;AAAA,KAtBX;AAAA,IAkCd0iB,WAAA,EAAa,YAAY;AAAA,KACrB6U,OAAA,GAAU,KAAV,CADqB;AAAA,KAlCX;AAAA,IAAlB,CALqB;AAAA,GA2CrB5U,+BAAA,CAAgC7D,MAAhC,EAAwC8C,WAAxC,EA3CqB;AAAA,GA4CrB,OAAOnF,mBAAA,CAAoBzc,SAApB,CAAP,CA5CqB;AAAA,GAbuB;AAAA,EA2DhD,SAASk4B,gBAAT,CAA0B76C,MAA1B,EAAkC;AAAA,GAC9Bm6C,SAAA,GAAY,IAAZ,CAD8B;AAAA,GAE9BE,OAAA,GAAUr6C,MAAV,CAF8B;AAAA,GAG9B,IAAIo6C,SAAJ,EAAe;AAAA,IACX,IAAIU,eAAA,GAAkBjT,mBAAA,CAAoB;AAAA,KAACwS,OAAD;AAAA,KAAUC,OAAV;AAAA,KAApB,CAAtB,CADW;AAAA,IAEX,IAAIS,YAAA,GAAe5Y,oBAAA,CAAqBT,MAArB,EAA6BoZ,eAA7B,CAAnB,CAFW;AAAA,IAGXL,oBAAA,CAAqBM,YAArB,EAHW;AAAA,IAHe;AAAA,GAQ9B,OAAOL,aAAP,CAR8B;AAAA,GA3Dc;AAAA,EAqEhD,SAASM,gBAAT,CAA0Bh7C,MAA1B,EAAkC;AAAA,GAC9Bo6C,SAAA,GAAY,IAAZ,CAD8B;AAAA,GAE9BE,OAAA,GAAUt6C,MAAV,CAF8B;AAAA,GAG9B,IAAIm6C,SAAJ,EAAe;AAAA,IACX,IAAIW,eAAA,GAAkBjT,mBAAA,CAAoB;AAAA,KAACwS,OAAD;AAAA,KAAUC,OAAV;AAAA,KAApB,CAAtB,CADW;AAAA,IAEX,IAAIS,YAAA,GAAe5Y,oBAAA,CAAqBT,MAArB,EAA6BoZ,eAA7B,CAAnB,CAFW;AAAA,IAGXL,oBAAA,CAAqBM,YAArB,EAHW;AAAA,IAHe;AAAA,GAQ9B,OAAOL,aAAP,CAR8B;AAAA,GArEc;AAAA,EA+EhD,SAAS3M,cAAT,GAA0B;AAAA,GA/EsB;AAAA,EAkFhDwM,OAAA,GAAUU,oBAAA,CAAqBlN,cAArB,EAAqCC,aAArC,EAAoD6M,gBAApD,CAAV,CAlFgD;AAAA,EAmFhDL,OAAA,GAAUS,oBAAA,CAAqBlN,cAArB,EAAqCC,aAArC,EAAoDgN,gBAApD,CAAV,CAnFgD;AAAA,EAoFhDvb,aAAA,CAAcgC,MAAA,CAAOe,cAArB,EAAqC,UAAUlkB,CAAV,EAAa;AAAA,GAC9Ci7B,oCAAA,CAAqCgB,OAAA,CAAQ5U,yBAA7C,EAAwErnB,CAAxE,EAD8C;AAAA,GAE9Ci7B,oCAAA,CAAqCiB,OAAA,CAAQ7U,yBAA7C,EAAwErnB,CAAxE,EAF8C;AAAA,GAG9C,IAAI,CAAC67B,SAAD,IAAc,CAACC,SAAnB,EAA8B;AAAA,IAC1BK,oBAAA,CAAqB93B,SAArB,EAD0B;AAAA,IAHgB;AAAA,GAAlD,EApFgD;AAAA,EA2FhD,OAAO;AAAA,GAAC43B,OAAD;AAAA,GAAUC,OAAV;AAAA,GAAP,CA3FgD;AAAA,EA36F5B;AAAA,CAygGxB,SAASU,oCAAT,CAA8Cp5B,MAA9C,EAAsDpiB,OAAtD,EAA+D;AAAA,EAC3D2jC,gBAAA,CAAiBvhB,MAAjB,EAAyBpiB,OAAzB,EAD2D;AAAA,EAE3D,IAAI2vC,QAAA,GAAWvtB,MAAf,CAF2D;AAAA,EAG3D,IAAIyoB,qBAAA,GAAwB8E,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAAS9E,qBAAzF,CAH2D;AAAA,EAI3D,IAAItF,MAAA,GAASoK,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASpK,MAA1E,CAJ2D;AAAA,EAK3D,IAAIqJ,IAAA,GAAOe,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASf,IAAxE,CAL2D;AAAA,EAM3D,IAAIpqC,KAAA,GAAQmrC,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASnrC,KAAzE,CAN2D;AAAA,EAO3D,IAAI2C,IAAA,GAAOwoC,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASxoC,IAAxE,CAP2D;AAAA,EAQ3D,OAAO;AAAA,GACH0jC,qBAAA,EAAuBA,qBAAA,KAA0B5nB,SAA1B,GACnBA,SADmB,GAEnBmhB,uCAAA,CAAwCyG,qBAAxC,EAA+D7qC,OAAA,GAAU,0CAAzE,CAHD;AAAA,GAIHulC,MAAA,EAAQA,MAAA,KAAWtiB,SAAX,GACJA,SADI,GAEJw4B,qCAAA,CAAsClW,MAAtC,EAA8CoK,QAA9C,EAAwD3vC,OAAA,GAAU,2BAAlE,CAND;AAAA,GAOH4uC,IAAA,EAAMA,IAAA,KAAS3rB,SAAT,GACFA,SADE,GAEFy4B,mCAAA,CAAoC9M,IAApC,EAA0Ce,QAA1C,EAAoD3vC,OAAA,GAAU,yBAA9D,CATD;AAAA,GAUHwE,KAAA,EAAOA,KAAA,KAAUye,SAAV,GACHA,SADG,GAEH04B,oCAAA,CAAqCn3C,KAArC,EAA4CmrC,QAA5C,EAAsD3vC,OAAA,GAAU,0BAAhE,CAZD;AAAA,GAaHmH,IAAA,EAAMA,IAAA,KAAS8b,SAAT,GAAqBA,SAArB,GAAiC24B,yBAAA,CAA0Bz0C,IAA1B,EAAgCnH,OAAA,GAAU,yBAA1C,CAbpC;AAAA,GAAP,CAR2D;AAAA,EAzgGvC;AAAA,CAiiGxB,SAASy7C,qCAAT,CAA+Cp0C,EAA/C,EAAmDsoC,QAAnD,EAA6D3vC,OAA7D,EAAsE;AAAA,EAClE4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EADkE;AAAA,EAElE,OAAO,UAAUM,MAAV,EAAkB;AAAA,GAAE,OAAOigC,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACrvC,MAAD,CAA1B,CAAP,CAAF;AAAA,GAAzB,CAFkE;AAAA,EAjiG9C;AAAA,CAqiGxB,SAASo7C,mCAAT,CAA6Cr0C,EAA7C,EAAiDsoC,QAAjD,EAA2D3vC,OAA3D,EAAoE;AAAA,EAChE4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EADgE;AAAA,EAEhE,OAAO,UAAUwhB,UAAV,EAAsB;AAAA,GAAE,OAAO+e,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACnuB,UAAD,CAA1B,CAAP,CAAF;AAAA,GAA7B,CAFgE;AAAA,EAriG5C;AAAA,CAyiGxB,SAASm6B,oCAAT,CAA8Ct0C,EAA9C,EAAkDsoC,QAAlD,EAA4D3vC,OAA5D,EAAqE;AAAA,EACjE4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EADiE;AAAA,EAEjE,OAAO,UAAUwhB,UAAV,EAAsB;AAAA,GAAE,OAAO8e,WAAA,CAAYj5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACnuB,UAAD,CAA1B,CAAP,CAAF;AAAA,GAA7B,CAFiE;AAAA,EAziG7C;AAAA,CA6iGxB,SAASo6B,yBAAT,CAAmCz0C,IAAnC,EAAyCnH,OAAzC,EAAkD;AAAA,EAC9CmH,IAAA,GAAO,KAAKA,IAAZ,CAD8C;AAAA,EAE9C,IAAIA,IAAA,KAAS,OAAb,EAAsB;AAAA,GAClB,MAAM,IAAI4d,SAAJ,CAAc/kB,OAAA,GAAU,IAAV,GAAiBmH,IAAjB,GAAwB,2DAAtC,CAAN,CADkB;AAAA,GAFwB;AAAA,EAK9C,OAAOA,IAAP,CAL8C;AAAA,EA7iG1B;AAAA,CAqjGxB,SAAS00C,oBAAT,CAA8B15B,OAA9B,EAAuCniB,OAAvC,EAAgD;AAAA,EAC5C2jC,gBAAA,CAAiBxhB,OAAjB,EAA0BniB,OAA1B,EAD4C;AAAA,EAE5C,IAAI+nB,IAAA,GAAO5F,OAAA,KAAY,IAAZ,IAAoBA,OAAA,KAAY,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAA,CAAQ4F,IAArE,CAF4C;AAAA,EAG5C,OAAO,EACHA,IAAA,EAAMA,IAAA,KAAS9E,SAAT,GAAqBA,SAArB,GAAiC64B,+BAAA,CAAgC/zB,IAAhC,EAAsC/nB,OAAA,GAAU,yBAAhD,CADpC,EAAP,CAH4C;AAAA,EArjGxB;AAAA,CA4jGxB,SAAS87C,+BAAT,CAAyC/zB,IAAzC,EAA+C/nB,OAA/C,EAAwD;AAAA,EACpD+nB,IAAA,GAAO,KAAKA,IAAZ,CADoD;AAAA,EAEpD,IAAIA,IAAA,KAAS,MAAb,EAAqB;AAAA,GACjB,MAAM,IAAIhD,SAAJ,CAAc/kB,OAAA,GAAU,IAAV,GAAiB+nB,IAAjB,GAAwB,iEAAtC,CAAN,CADiB;AAAA,GAF+B;AAAA,EAKpD,OAAOA,IAAP,CALoD;AAAA,EA5jGhC;AAAA,CAokGxB,SAASg0B,sBAAT,CAAgC55B,OAAhC,EAAyCniB,OAAzC,EAAkD;AAAA,EAC9C2jC,gBAAA,CAAiBxhB,OAAjB,EAA0BniB,OAA1B,EAD8C;AAAA,EAE9C,IAAIsmC,aAAA,GAAgBnkB,OAAA,KAAY,IAAZ,IAAoBA,OAAA,KAAY,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAA,CAAQmkB,aAA9E,CAF8C;AAAA,EAG9C,OAAO,EAAEA,aAAA,EAAe0V,OAAA,CAAQ1V,aAAR,CAAjB,EAAP,CAH8C;AAAA,EApkG1B;AAAA,CA0kGxB,SAAS2V,kBAAT,CAA4B95B,OAA5B,EAAqCniB,OAArC,EAA8C;AAAA,EAC1C2jC,gBAAA,CAAiBxhB,OAAjB,EAA0BniB,OAA1B,EAD0C;AAAA,EAE1C,IAAI23C,YAAA,GAAex1B,OAAA,KAAY,IAAZ,IAAoBA,OAAA,KAAY,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAA,CAAQw1B,YAA7E,CAF0C;AAAA,EAG1C,IAAIrR,aAAA,GAAgBnkB,OAAA,KAAY,IAAZ,IAAoBA,OAAA,KAAY,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAA,CAAQmkB,aAA9E,CAH0C;AAAA,EAI1C,IAAIoR,YAAA,GAAev1B,OAAA,KAAY,IAAZ,IAAoBA,OAAA,KAAY,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAA,CAAQu1B,YAA7E,CAJ0C;AAAA,EAK1C,IAAIE,MAAA,GAASz1B,OAAA,KAAY,IAAZ,IAAoBA,OAAA,KAAY,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAA,CAAQy1B,MAAvE,CAL0C;AAAA,EAM1C,IAAIA,MAAA,KAAW30B,SAAf,EAA0B;AAAA,GACtBi5B,iBAAA,CAAkBtE,MAAlB,EAA0B53C,OAAA,GAAU,2BAApC,EADsB;AAAA,GANgB;AAAA,EAS1C,OAAO;AAAA,GACH23C,YAAA,EAAcqE,OAAA,CAAQrE,YAAR,CADX;AAAA,GAEHrR,aAAA,EAAe0V,OAAA,CAAQ1V,aAAR,CAFZ;AAAA,GAGHoR,YAAA,EAAcsE,OAAA,CAAQtE,YAAR,CAHX;AAAA,GAIHE,MAAA,EAAQA,MAJL;AAAA,GAAP,CAT0C;AAAA,EA1kGtB;AAAA,CA0lGxB,SAASsE,iBAAT,CAA2BtE,MAA3B,EAAmC53C,OAAnC,EAA4C;AAAA,EACxC,IAAI,CAACi3C,aAAA,CAAcW,MAAd,CAAL,EAA4B;AAAA,GACxB,MAAM,IAAI7yB,SAAJ,CAAc/kB,OAAA,GAAU,yBAAxB,CAAN,CADwB;AAAA,GADY;AAAA,EA1lGpB;AAAA,CAgmGxB,SAASm8C,2BAAT,CAAqCvU,IAArC,EAA2C5nC,OAA3C,EAAoD;AAAA,EAChD2jC,gBAAA,CAAiBiE,IAAjB,EAAuB5nC,OAAvB,EADgD;AAAA,EAEhD,IAAIo8C,QAAA,GAAWxU,IAAA,KAAS,IAAT,IAAiBA,IAAA,KAAS,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAA,CAAKwU,QAAhE,CAFgD;AAAA,EAGhDrY,mBAAA,CAAoBqY,QAApB,EAA8B,UAA9B,EAA0C,sBAA1C,EAHgD;AAAA,EAIhD5X,oBAAA,CAAqB4X,QAArB,EAA+Bp8C,OAAA,GAAU,6BAAzC,EAJgD;AAAA,EAKhD,IAAI0G,QAAA,GAAWkhC,IAAA,KAAS,IAAT,IAAiBA,IAAA,KAAS,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAA,CAAKlhC,QAAhE,CALgD;AAAA,EAMhDq9B,mBAAA,CAAoBr9B,QAApB,EAA8B,UAA9B,EAA0C,sBAA1C,EANgD;AAAA,EAOhDupC,oBAAA,CAAqBvpC,QAArB,EAA+B1G,OAAA,GAAU,6BAAzC,EAPgD;AAAA,EAQhD,OAAO;AAAA,GAAEo8C,QAAA,EAAUA,QAAZ;AAAA,GAAsB11C,QAAA,EAAUA,QAAhC;AAAA,GAAP,CARgD;AAAA,EAhmG5B;AAAA,CAgnGxB,IAAI21C,cAAA,GAAgC,YAAY;AAAA,EAC5C,SAASA,cAAT,CAAwBC,mBAAxB,EAA6CjM,WAA7C,EAA0D;AAAA,GACtD,IAAIiM,mBAAA,KAAwB,KAAK,CAAjC,EAAoC;AAAA,IAAEA,mBAAA,GAAsB,EAAtB,CAAF;AAAA,IADkB;AAAA,GAEtD,IAAIjM,WAAA,KAAgB,KAAK,CAAzB,EAA4B;AAAA,IAAEA,WAAA,GAAc,EAAd,CAAF;AAAA,IAF0B;AAAA,GAGtD,IAAIiM,mBAAA,KAAwBr5B,SAA5B,EAAuC;AAAA,IACnCq5B,mBAAA,GAAsB,IAAtB,CADmC;AAAA,IAAvC,MAGK;AAAA,IACDzY,YAAA,CAAayY,mBAAb,EAAkC,iBAAlC,EADC;AAAA,IANiD;AAAA,GAStD,IAAIlN,QAAA,GAAWG,sBAAA,CAAuBc,WAAvB,EAAoC,kBAApC,CAAf,CATsD;AAAA,GAUtD,IAAIgK,gBAAA,GAAmBmB,oCAAA,CAAqCc,mBAArC,EAA0D,iBAA1D,CAAvB,CAVsD;AAAA,GAWtDC,wBAAA,CAAyB,IAAzB,EAXsD;AAAA,GAYtD,IAAIlC,gBAAA,CAAiBlzC,IAAjB,KAA0B,OAA9B,EAAuC;AAAA,IACnC,IAAIioC,QAAA,CAAShT,IAAT,KAAkBnZ,SAAtB,EAAiC;AAAA,KAC7B,MAAM,IAAI+kB,UAAJ,CAAe,4DAAf,CAAN,CAD6B;AAAA,KADE;AAAA,IAInC,IAAIwG,aAAA,GAAgBW,oBAAA,CAAqBC,QAArB,EAA+B,CAA/B,CAApB,CAJmC;AAAA,IAKnCV,qDAAA,CAAsD,IAAtD,EAA4D2L,gBAA5D,EAA8E7L,aAA9E,EALmC;AAAA,IAAvC,MAOK;AAAA,IACD,IAAIgC,aAAA,GAAgBlB,oBAAA,CAAqBF,QAArB,CAApB,CADC;AAAA,IAED,IAAIZ,aAAA,GAAgBW,oBAAA,CAAqBC,QAArB,EAA+B,CAA/B,CAApB,CAFC;AAAA,IAGDgL,wDAAA,CAAyD,IAAzD,EAA+DC,gBAA/D,EAAiF7L,aAAjF,EAAgGgC,aAAhG,EAHC;AAAA,IAnBiD;AAAA,GADd;AAAA,EA0B5CrsC,MAAA,CAAOigB,cAAP,CAAsBi4B,cAAA,CAAev5B,SAArC,EAAgD,QAAhD,EAA0D;AAAA,GAItDrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACgkB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,KACzB,MAAM+X,2BAAA,CAA4B,QAA5B,CAAN,CADyB;AAAA,KADhB;AAAA,IAIb,OAAOnX,sBAAA,CAAuB,IAAvB,CAAP,CAJa;AAAA,IAJqC;AAAA,GAUtD7+B,UAAA,EAAY,KAV0C;AAAA,GAWtDC,YAAA,EAAc,IAXwC;AAAA,GAA1D,EA1B4C;AAAA,EA6C5C41C,cAAA,CAAev5B,SAAf,CAAyByiB,MAAzB,GAAkC,UAAUjlC,MAAV,EAAkB;AAAA,GAChD,IAAIA,MAAA,KAAW,KAAK,CAApB,EAAuB;AAAA,IAAEA,MAAA,GAAS2iB,SAAT,CAAF;AAAA,IADyB;AAAA,GAEhD,IAAI,CAACwhB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,OAAO9E,mBAAA,CAAoB6c,2BAAA,CAA4B,QAA5B,CAApB,CAAP,CADyB;AAAA,IAFmB;AAAA,GAKhD,IAAInX,sBAAA,CAAuB,IAAvB,CAAJ,EAAkC;AAAA,IAC9B,OAAO1F,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,kDAAd,CAApB,CAAP,CAD8B;AAAA,IALc;AAAA,GAQhD,OAAO0d,oBAAA,CAAqB,IAArB,EAA2BniC,MAA3B,CAAP,CARgD;AAAA,GAApD,CA7C4C;AAAA,EAuD5C+7C,cAAA,CAAev5B,SAAf,CAAyB25B,SAAzB,GAAqC,UAAUC,UAAV,EAAsB;AAAA,GACvD,IAAIA,UAAA,KAAe,KAAK,CAAxB,EAA2B;AAAA,IAAEA,UAAA,GAAaz5B,SAAb,CAAF;AAAA,IAD4B;AAAA,GAEvD,IAAI,CAACwhB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,MAAM+X,2BAAA,CAA4B,WAA5B,CAAN,CADyB;AAAA,IAF0B;AAAA,GAKvD,IAAIr6B,OAAA,GAAU05B,oBAAA,CAAqBa,UAArB,EAAiC,iBAAjC,CAAd,CALuD;AAAA,GAMvD,IAAIv6B,OAAA,CAAQ4F,IAAR,KAAiB9E,SAArB,EAAgC;AAAA,IAC5B,OAAOyhB,kCAAA,CAAmC,IAAnC,CAAP,CAD4B;AAAA,IANuB;AAAA,GASvD,OAAOmK,+BAAA,CAAgC,IAAhC,CAAP,CATuD;AAAA,GAA3D,CAvD4C;AAAA,EAkE5CwN,cAAA,CAAev5B,SAAf,CAAyB65B,WAAzB,GAAuC,UAAUC,YAAV,EAAwBF,UAAxB,EAAoC;AAAA,GACvE,IAAIA,UAAA,KAAe,KAAK,CAAxB,EAA2B;AAAA,IAAEA,UAAA,GAAa,EAAb,CAAF;AAAA,IAD4C;AAAA,GAEvE,IAAI,CAACjY,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,MAAM+X,2BAAA,CAA4B,aAA5B,CAAN,CADyB;AAAA,IAF0C;AAAA,GAKvE1Y,sBAAA,CAAuB8Y,YAAvB,EAAqC,CAArC,EAAwC,aAAxC,EALuE;AAAA,GAMvE,IAAIpnC,SAAA,GAAY2mC,2BAAA,CAA4BS,YAA5B,EAA0C,iBAA1C,CAAhB,CANuE;AAAA,GAOvE,IAAIz6B,OAAA,GAAU85B,kBAAA,CAAmBS,UAAnB,EAA+B,kBAA/B,CAAd,CAPuE;AAAA,GAQvE,IAAIrX,sBAAA,CAAuB,IAAvB,CAAJ,EAAkC;AAAA,IAC9B,MAAM,IAAItgB,SAAJ,CAAc,gFAAd,CAAN,CAD8B;AAAA,IARqC;AAAA,GAWvE,IAAI4rB,sBAAA,CAAuBn7B,SAAA,CAAU9O,QAAjC,CAAJ,EAAgD;AAAA,IAC5C,MAAM,IAAIqe,SAAJ,CAAc,gFAAd,CAAN,CAD4C;AAAA,IAXuB;AAAA,GAcvE,IAAIqQ,OAAA,GAAUqiB,oBAAA,CAAqB,IAArB,EAA2BjiC,SAAA,CAAU9O,QAArC,EAA+Cyb,OAAA,CAAQu1B,YAAvD,EAAqEv1B,OAAA,CAAQw1B,YAA7E,EAA2Fx1B,OAAA,CAAQmkB,aAAnG,EAAkHnkB,OAAA,CAAQy1B,MAA1H,CAAd,CAduE;AAAA,GAevEzX,yBAAA,CAA0B/K,OAA1B,EAfuE;AAAA,GAgBvE,OAAO5f,SAAA,CAAU4mC,QAAjB,CAhBuE;AAAA,GAA3E,CAlE4C;AAAA,EAoF5CC,cAAA,CAAev5B,SAAf,CAAyB+5B,MAAzB,GAAkC,UAAUC,WAAV,EAAuBJ,UAAvB,EAAmC;AAAA,GACjE,IAAIA,UAAA,KAAe,KAAK,CAAxB,EAA2B;AAAA,IAAEA,UAAA,GAAa,EAAb,CAAF;AAAA,IADsC;AAAA,GAEjE,IAAI,CAACjY,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,OAAO9E,mBAAA,CAAoB6c,2BAAA,CAA4B,QAA5B,CAApB,CAAP,CADyB;AAAA,IAFoC;AAAA,GAKjE,IAAIM,WAAA,KAAgB75B,SAApB,EAA+B;AAAA,IAC3B,OAAO0c,mBAAA,CAAoB,sCAApB,CAAP,CAD2B;AAAA,IALkC;AAAA,GAQjE,IAAI,CAACuQ,gBAAA,CAAiB4M,WAAjB,CAAL,EAAoC;AAAA,IAChC,OAAOnd,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,2EAAd,CAApB,CAAP,CADgC;AAAA,IAR6B;AAAA,GAWjE,IAAI5C,OAAJ,CAXiE;AAAA,GAYjE,IAAI;AAAA,IACAA,OAAA,GAAU85B,kBAAA,CAAmBS,UAAnB,EAA+B,kBAA/B,CAAV,CADA;AAAA,IAAJ,CAGA,OAAO5gB,CAAP,EAAU;AAAA,IACN,OAAO6D,mBAAA,CAAoB7D,CAApB,CAAP,CADM;AAAA,IAfuD;AAAA,GAkBjE,IAAIuJ,sBAAA,CAAuB,IAAvB,CAAJ,EAAkC;AAAA,IAC9B,OAAO1F,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,2EAAd,CAApB,CAAP,CAD8B;AAAA,IAlB+B;AAAA,GAqBjE,IAAI4rB,sBAAA,CAAuBmM,WAAvB,CAAJ,EAAyC;AAAA,IACrC,OAAOnd,mBAAA,CAAoB,IAAI5a,SAAJ,CAAc,2EAAd,CAApB,CAAP,CADqC;AAAA,IArBwB;AAAA,GAwBjE,OAAO0yB,oBAAA,CAAqB,IAArB,EAA2BqF,WAA3B,EAAwC36B,OAAA,CAAQu1B,YAAhD,EAA8Dv1B,OAAA,CAAQw1B,YAAtE,EAAoFx1B,OAAA,CAAQmkB,aAA5F,EAA2GnkB,OAAA,CAAQy1B,MAAnH,CAAP,CAxBiE;AAAA,GAArE,CApF4C;AAAA,EAyH5CyE,cAAA,CAAev5B,SAAf,CAAyBi6B,GAAzB,GAA+B,YAAY;AAAA,GACvC,IAAI,CAACtY,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,MAAM+X,2BAAA,CAA4B,KAA5B,CAAN,CADyB;AAAA,IADU;AAAA,GAIvC,IAAIQ,QAAA,GAAW1C,iBAAA,CAAkB,IAAlB,CAAf,CAJuC;AAAA,GAKvC,OAAOnS,mBAAA,CAAoB6U,QAApB,CAAP,CALuC;AAAA,GAA3C,CAzH4C;AAAA,EAgI5CX,cAAA,CAAev5B,SAAf,CAAyBhb,MAAzB,GAAkC,UAAU40C,UAAV,EAAsB;AAAA,GACpD,IAAIA,UAAA,KAAe,KAAK,CAAxB,EAA2B;AAAA,IAAEA,UAAA,GAAaz5B,SAAb,CAAF;AAAA,IADyB;AAAA,GAEpD,IAAI,CAACwhB,gBAAA,CAAiB,IAAjB,CAAL,EAA6B;AAAA,IACzB,MAAM+X,2BAAA,CAA4B,QAA5B,CAAN,CADyB;AAAA,IAFuB;AAAA,GAKpD,IAAIr6B,OAAA,GAAU45B,sBAAA,CAAuBW,UAAvB,EAAmC,iBAAnC,CAAd,CALoD;AAAA,GAMpD,OAAOtV,kCAAA,CAAmC,IAAnC,EAAyCjlB,OAAA,CAAQmkB,aAAjD,CAAP,CANoD;AAAA,GAAxD,CAhI4C;AAAA,EAwI5C,OAAO+V,cAAP,CAxI4C;AAAA,EAAZ,EAApC,CAhnGwB;AAAA,CA0vGxBl4C,MAAA,CAAOioB,gBAAP,CAAwBiwB,cAAA,CAAev5B,SAAvC,EAAkD;AAAA,EAC9CyiB,MAAA,EAAQ,EAAE/+B,UAAA,EAAY,IAAd,EADsC;AAAA,EAE9Ci2C,SAAA,EAAW,EAAEj2C,UAAA,EAAY,IAAd,EAFmC;AAAA,EAG9Cm2C,WAAA,EAAa,EAAEn2C,UAAA,EAAY,IAAd,EAHiC;AAAA,EAI9Cq2C,MAAA,EAAQ,EAAEr2C,UAAA,EAAY,IAAd,EAJsC;AAAA,EAK9Cu2C,GAAA,EAAK,EAAEv2C,UAAA,EAAY,IAAd,EALyC;AAAA,EAM9CsB,MAAA,EAAQ,EAAEtB,UAAA,EAAY,IAAd,EANsC;AAAA,EAO9CyqC,MAAA,EAAQ,EAAEzqC,UAAA,EAAY,IAAd,EAPsC;AAAA,EAAlD,EA1vGwB;AAAA,CAmwGxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBi4B,cAAA,CAAev5B,SAArC,EAAgDgc,cAAA,CAAeiH,WAA/D,EAA4E;AAAA,GACxEx/B,KAAA,EAAO,gBADiE;AAAA,GAExEE,YAAA,EAAc,IAF0D;AAAA,GAA5E,EADgD;AAAA,EAnwG5B;AAAA,CAywGxB,IAAI,OAAOq4B,cAAA,CAAesH,aAAtB,KAAwC,QAA5C,EAAsD;AAAA,EAClDjiC,MAAA,CAAOigB,cAAP,CAAsBi4B,cAAA,CAAev5B,SAArC,EAAgDgc,cAAA,CAAesH,aAA/D,EAA8E;AAAA,GAC1E7/B,KAAA,EAAO81C,cAAA,CAAev5B,SAAf,CAAyBhb,MAD0C;AAAA,GAE1EpB,QAAA,EAAU,IAFgE;AAAA,GAG1ED,YAAA,EAAc,IAH4D;AAAA,GAA9E,EADkD;AAAA,EAzwG9B;AAAA,CAkxGxB,SAAS80C,oBAAT,CAA8BlN,cAA9B,EAA8CC,aAA9C,EAA6DC,eAA7D,EAA8EC,aAA9E,EAA6FgC,aAA7F,EAA4G;AAAA,EACxG,IAAIhC,aAAA,KAAkB,KAAK,CAA3B,EAA8B;AAAA,GAAEA,aAAA,GAAgB,CAAhB,CAAF;AAAA,GAD0E;AAAA,EAExG,IAAIgC,aAAA,KAAkB,KAAK,CAA3B,EAA8B;AAAA,GAAEA,aAAA,GAAgB,YAAY;AAAA,IAAE,OAAO,CAAP,CAAF;AAAA,IAA5B,CAAF;AAAA,GAF0E;AAAA,EAGxG,IAAIxO,MAAA,GAAS79B,MAAA,CAAO5E,MAAP,CAAc88C,cAAA,CAAev5B,SAA7B,CAAb,CAHwG;AAAA,EAIxGy5B,wBAAA,CAAyBva,MAAzB,EAJwG;AAAA,EAKxG,IAAIxgB,UAAA,GAAard,MAAA,CAAO5E,MAAP,CAAc+5C,+BAAA,CAAgCx2B,SAA9C,CAAjB,CALwG;AAAA,EAMxGq3B,oCAAA,CAAqCnY,MAArC,EAA6CxgB,UAA7C,EAAyD6sB,cAAzD,EAAyEC,aAAzE,EAAwFC,eAAxF,EAAyGC,aAAzG,EAAwHgC,aAAxH,EANwG;AAAA,EAOxG,OAAOxO,MAAP,CAPwG;AAAA,EAlxGpF;AAAA,CA2xGxB,SAASua,wBAAT,CAAkCva,MAAlC,EAA0C;AAAA,EACtCA,MAAA,CAAOG,MAAP,GAAgB,UAAhB,CADsC;AAAA,EAEtCH,MAAA,CAAOE,OAAP,GAAiBjf,SAAjB,CAFsC;AAAA,EAGtC+e,MAAA,CAAOO,YAAP,GAAsBtf,SAAtB,CAHsC;AAAA,EAItC+e,MAAA,CAAOgE,UAAP,GAAoB,KAApB,CAJsC;AAAA,EA3xGlB;AAAA,CAiyGxB,SAASvB,gBAAT,CAA0BnN,CAA1B,EAA6B;AAAA,EACzB,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADG;AAAA,EAIzB,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,2BAAxC,CAAL,EAA2E;AAAA,GACvE,OAAO,KAAP,CADuE;AAAA,GAJlD;AAAA,EAOzB,OAAO,IAAP,CAPyB;AAAA,EAjyGL;AAAA,CA0yGxB,SAAS+N,sBAAT,CAAgCrD,MAAhC,EAAwC;AAAA,EACpC,IAAIA,MAAA,CAAOE,OAAP,KAAmBjf,SAAvB,EAAkC;AAAA,GAC9B,OAAO,KAAP,CAD8B;AAAA,GADE;AAAA,EAIpC,OAAO,IAAP,CAJoC;AAAA,EA1yGhB;AAAA,CAizGxB,SAASwf,oBAAT,CAA8BT,MAA9B,EAAsC1hC,MAAtC,EAA8C;AAAA,EAC1C0hC,MAAA,CAAOgE,UAAP,GAAoB,IAApB,CAD0C;AAAA,EAE1C,IAAIhE,MAAA,CAAOG,MAAP,KAAkB,QAAtB,EAAgC;AAAA,GAC5B,OAAOzC,mBAAA,CAAoBzc,SAApB,CAAP,CAD4B;AAAA,GAFU;AAAA,EAK1C,IAAI+e,MAAA,CAAOG,MAAP,KAAkB,SAAtB,EAAiC;AAAA,GAC7B,OAAOxC,mBAAA,CAAoBqC,MAAA,CAAOO,YAA3B,CAAP,CAD6B;AAAA,GALS;AAAA,EAQ1CuK,mBAAA,CAAoB9K,MAApB,EAR0C;AAAA,EAS1C,IAAIib,mBAAA,GAAsBjb,MAAA,CAAOiE,yBAAP,CAAiC7C,WAAjC,EAA8C9iC,MAA9C,CAA1B,CAT0C;AAAA,EAU1C,OAAO0/B,oBAAA,CAAqBid,mBAArB,EAA0Cje,IAA1C,CAAP,CAV0C;AAAA,EAjzGtB;AAAA,CA6zGxB,SAAS8N,mBAAT,CAA6B9K,MAA7B,EAAqC;AAAA,EACjCA,MAAA,CAAOG,MAAP,GAAgB,QAAhB,CADiC;AAAA,EAEjC,IAAIJ,MAAA,GAASC,MAAA,CAAOE,OAApB,CAFiC;AAAA,EAGjC,IAAIH,MAAA,KAAW9e,SAAf,EAA0B;AAAA,GACtB,OADsB;AAAA,GAHO;AAAA,EAMjCggB,iCAAA,CAAkClB,MAAlC,EANiC;AAAA,EAOjC,IAAIqD,6BAAA,CAA8BrD,MAA9B,CAAJ,EAA2C;AAAA,GACvCA,MAAA,CAAO+C,aAAP,CAAqBrD,OAArB,CAA6B,UAAUoD,WAAV,EAAuB;AAAA,IAChDA,WAAA,CAAYG,WAAZ,GADgD;AAAA,IAApD,EADuC;AAAA,GAIvCjD,MAAA,CAAO+C,aAAP,GAAuB,IAAIrE,WAAJ,EAAvB,CAJuC;AAAA,GAPV;AAAA,EA7zGb;AAAA,CA20GxB,SAASyN,mBAAT,CAA6BlM,MAA7B,EAAqClG,CAArC,EAAwC;AAAA,EACpCkG,MAAA,CAAOG,MAAP,GAAgB,SAAhB,CADoC;AAAA,EAEpCH,MAAA,CAAOO,YAAP,GAAsBzG,CAAtB,CAFoC;AAAA,EAGpC,IAAIiG,MAAA,GAASC,MAAA,CAAOE,OAApB,CAHoC;AAAA,EAIpC,IAAIH,MAAA,KAAW9e,SAAf,EAA0B;AAAA,GACtB,OADsB;AAAA,GAJU;AAAA,EAOpC0f,gCAAA,CAAiCZ,MAAjC,EAAyCjG,CAAzC,EAPoC;AAAA,EAQpC,IAAIsJ,6BAAA,CAA8BrD,MAA9B,CAAJ,EAA2C;AAAA,GACvCA,MAAA,CAAO+C,aAAP,CAAqBrD,OAArB,CAA6B,UAAUoD,WAAV,EAAuB;AAAA,IAChDA,WAAA,CAAYc,WAAZ,CAAwB7J,CAAxB,EADgD;AAAA,IAApD,EADuC;AAAA,GAIvCiG,MAAA,CAAO+C,aAAP,GAAuB,IAAIrE,WAAJ,EAAvB,CAJuC;AAAA,GAA3C,MAMK;AAAA,GACDsB,MAAA,CAAOgN,iBAAP,CAAyBtN,OAAzB,CAAiC,UAAUyL,eAAV,EAA2B;AAAA,IACxDA,eAAA,CAAgBvH,WAAhB,CAA4B7J,CAA5B,EADwD;AAAA,IAA5D,EADC;AAAA,GAIDiG,MAAA,CAAOgN,iBAAP,GAA2B,IAAItO,WAAJ,EAA3B,CAJC;AAAA,GAd+B;AAAA,EA30GhB;AAAA,CAi2GxB,SAAS+b,2BAAT,CAAqCn4C,IAArC,EAA2C;AAAA,EACvC,OAAO,IAAI0gB,SAAJ,CAAc,8BAA8B1gB,IAA9B,GAAqC,uCAAnD,CAAP,CADuC;AAAA,EAj2GnB;AAAA,CAq2GxB,SAAS64C,0BAAT,CAAoC1N,IAApC,EAA0CxvC,OAA1C,EAAmD;AAAA,EAC/C2jC,gBAAA,CAAiB6L,IAAjB,EAAuBxvC,OAAvB,EAD+C;AAAA,EAE/C,IAAIwuC,aAAA,GAAgBgB,IAAA,KAAS,IAAT,IAAiBA,IAAA,KAAS,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAA,CAAKhB,aAArE,CAF+C;AAAA,EAG/CzK,mBAAA,CAAoByK,aAApB,EAAmC,eAAnC,EAAoD,qBAApD,EAH+C;AAAA,EAI/C,OAAO,EACHA,aAAA,EAAevK,yBAAA,CAA0BuK,aAA1B,CADZ,EAAP,CAJ+C;AAAA,EAr2G3B;AAAA,CA82GxB,IAAI2O,sBAAA,GAAyB,SAAS/gB,IAAT,CAAcpf,KAAd,EAAqB;AAAA,EAC9C,OAAOA,KAAA,CAAMusB,UAAb,CAD8C;AAAA,EAAlD,CA92GwB;AAAA,CAs3GxB,IAAI6T,yBAAA,GAA2C,YAAY;AAAA,EACvD,SAASA,yBAAT,CAAmCj7B,OAAnC,EAA4C;AAAA,GACxC2hB,sBAAA,CAAuB3hB,OAAvB,EAAgC,CAAhC,EAAmC,2BAAnC,EADwC;AAAA,GAExCA,OAAA,GAAU+6B,0BAAA,CAA2B/6B,OAA3B,EAAoC,iBAApC,CAAV,CAFwC;AAAA,GAGxC,KAAKk7B,uCAAL,GAA+Cl7B,OAAA,CAAQqsB,aAAvD,CAHwC;AAAA,GADW;AAAA,EAMvDrqC,MAAA,CAAOigB,cAAP,CAAsBg5B,yBAAA,CAA0Bt6B,SAAhD,EAA2D,eAA3D,EAA4E;AAAA,GAIxErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC68B,2BAAA,CAA4B,IAA5B,CAAL,EAAwC;AAAA,KACpC,MAAMC,6BAAA,CAA8B,eAA9B,CAAN,CADoC;AAAA,KAD3B;AAAA,IAIb,OAAO,KAAKF,uCAAZ,CAJa;AAAA,IAJuD;AAAA,GAUxE72C,UAAA,EAAY,KAV4D;AAAA,GAWxEC,YAAA,EAAc,IAX0D;AAAA,GAA5E,EANuD;AAAA,EAmBvDtC,MAAA,CAAOigB,cAAP,CAAsBg5B,yBAAA,CAA0Bt6B,SAAhD,EAA2D,MAA3D,EAAmE;AAAA,GAI/DrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAAC68B,2BAAA,CAA4B,IAA5B,CAAL,EAAwC;AAAA,KACpC,MAAMC,6BAAA,CAA8B,MAA9B,CAAN,CADoC;AAAA,KAD3B;AAAA,IAIb,OAAOJ,sBAAP,CAJa;AAAA,IAJ8C;AAAA,GAU/D32C,UAAA,EAAY,KAVmD;AAAA,GAW/DC,YAAA,EAAc,IAXiD;AAAA,GAAnE,EAnBuD;AAAA,EAgCvD,OAAO22C,yBAAP,CAhCuD;AAAA,EAAZ,EAA/C,CAt3GwB;AAAA,CAw5GxBj5C,MAAA,CAAOioB,gBAAP,CAAwBgxB,yBAAA,CAA0Bt6B,SAAlD,EAA6D;AAAA,EACzD0rB,aAAA,EAAe,EAAEhoC,UAAA,EAAY,IAAd,EAD0C;AAAA,EAEzD41B,IAAA,EAAM,EAAE51B,UAAA,EAAY,IAAd,EAFmD;AAAA,EAA7D,EAx5GwB;AAAA,CA45GxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBg5B,yBAAA,CAA0Bt6B,SAAhD,EAA2Dgc,cAAA,CAAeiH,WAA1E,EAAuF;AAAA,GACnFx/B,KAAA,EAAO,2BAD4E;AAAA,GAEnFE,YAAA,EAAc,IAFqE;AAAA,GAAvF,EADgD;AAAA,EA55G5B;AAAA,CAm6GxB,SAAS82C,6BAAT,CAAuCl5C,IAAvC,EAA6C;AAAA,EACzC,OAAO,IAAI0gB,SAAJ,CAAc,yCAAyC1gB,IAAzC,GAAgD,kDAA9D,CAAP,CADyC;AAAA,EAn6GrB;AAAA,CAs6GxB,SAASi5C,2BAAT,CAAqChmB,CAArC,EAAwC;AAAA,EACpC,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADc;AAAA,EAIpC,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,yCAAxC,CAAL,EAAyF;AAAA,GACrF,OAAO,KAAP,CADqF;AAAA,GAJrD;AAAA,EAOpC,OAAO,IAAP,CAPoC;AAAA,EAt6GhB;AAAA,CAg7GxB,IAAIkmB,iBAAA,GAAoB,SAASphB,IAAT,GAAgB;AAAA,EACpC,OAAO,CAAP,CADoC;AAAA,EAAxC,CAh7GwB;AAAA,CAw7GxB,IAAIqhB,oBAAA,GAAsC,YAAY;AAAA,EAClD,SAASA,oBAAT,CAA8Bt7B,OAA9B,EAAuC;AAAA,GACnC2hB,sBAAA,CAAuB3hB,OAAvB,EAAgC,CAAhC,EAAmC,sBAAnC,EADmC;AAAA,GAEnCA,OAAA,GAAU+6B,0BAAA,CAA2B/6B,OAA3B,EAAoC,iBAApC,CAAV,CAFmC;AAAA,GAGnC,KAAKu7B,kCAAL,GAA0Cv7B,OAAA,CAAQqsB,aAAlD,CAHmC;AAAA,GADW;AAAA,EAMlDrqC,MAAA,CAAOigB,cAAP,CAAsBq5B,oBAAA,CAAqB36B,SAA3C,EAAsD,eAAtD,EAAuE;AAAA,GAInErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACk9B,sBAAA,CAAuB,IAAvB,CAAL,EAAmC;AAAA,KAC/B,MAAMC,wBAAA,CAAyB,eAAzB,CAAN,CAD+B;AAAA,KADtB;AAAA,IAIb,OAAO,KAAKF,kCAAZ,CAJa;AAAA,IAJkD;AAAA,GAUnEl3C,UAAA,EAAY,KAVuD;AAAA,GAWnEC,YAAA,EAAc,IAXqD;AAAA,GAAvE,EANkD;AAAA,EAmBlDtC,MAAA,CAAOigB,cAAP,CAAsBq5B,oBAAA,CAAqB36B,SAA3C,EAAsD,MAAtD,EAA8D;AAAA,GAK1DrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACk9B,sBAAA,CAAuB,IAAvB,CAAL,EAAmC;AAAA,KAC/B,MAAMC,wBAAA,CAAyB,MAAzB,CAAN,CAD+B;AAAA,KADtB;AAAA,IAIb,OAAOJ,iBAAP,CAJa;AAAA,IALyC;AAAA,GAW1Dh3C,UAAA,EAAY,KAX8C;AAAA,GAY1DC,YAAA,EAAc,IAZ4C;AAAA,GAA9D,EAnBkD;AAAA,EAiClD,OAAOg3C,oBAAP,CAjCkD;AAAA,EAAZ,EAA1C,CAx7GwB;AAAA,CA29GxBt5C,MAAA,CAAOioB,gBAAP,CAAwBqxB,oBAAA,CAAqB36B,SAA7C,EAAwD;AAAA,EACpD0rB,aAAA,EAAe,EAAEhoC,UAAA,EAAY,IAAd,EADqC;AAAA,EAEpD41B,IAAA,EAAM,EAAE51B,UAAA,EAAY,IAAd,EAF8C;AAAA,EAAxD,EA39GwB;AAAA,CA+9GxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsBq5B,oBAAA,CAAqB36B,SAA3C,EAAsDgc,cAAA,CAAeiH,WAArE,EAAkF;AAAA,GAC9Ex/B,KAAA,EAAO,sBADuE;AAAA,GAE9EE,YAAA,EAAc,IAFgE;AAAA,GAAlF,EADgD;AAAA,EA/9G5B;AAAA,CAs+GxB,SAASm3C,wBAAT,CAAkCv5C,IAAlC,EAAwC;AAAA,EACpC,OAAO,IAAI0gB,SAAJ,CAAc,oCAAoC1gB,IAApC,GAA2C,6CAAzD,CAAP,CADoC;AAAA,EAt+GhB;AAAA,CAy+GxB,SAASs5C,sBAAT,CAAgCrmB,CAAhC,EAAmC;AAAA,EAC/B,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADS;AAAA,EAI/B,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,oCAAxC,CAAL,EAAoF;AAAA,GAChF,OAAO,KAAP,CADgF;AAAA,GAJrD;AAAA,EAO/B,OAAO,IAAP,CAP+B;AAAA,EAz+GX;AAAA,CAm/GxB,SAASumB,kBAAT,CAA4BlO,QAA5B,EAAsC3vC,OAAtC,EAA+C;AAAA,EAC3C2jC,gBAAA,CAAiBgM,QAAjB,EAA2B3vC,OAA3B,EAD2C;AAAA,EAE3C,IAAIw6B,KAAA,GAAQmV,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASnV,KAAzE,CAF2C;AAAA,EAG3C,IAAIsjB,YAAA,GAAenO,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASmO,YAAhF,CAH2C;AAAA,EAI3C,IAAIt5C,KAAA,GAAQmrC,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASnrC,KAAzE,CAJ2C;AAAA,EAK3C,IAAIgR,SAAA,GAAYm6B,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASn6B,SAA7E,CAL2C;AAAA,EAM3C,IAAIuoC,YAAA,GAAepO,QAAA,KAAa,IAAb,IAAqBA,QAAA,KAAa,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAA,CAASoO,YAAhF,CAN2C;AAAA,EAO3C,OAAO;AAAA,GACHvjB,KAAA,EAAOA,KAAA,KAAUvX,SAAV,GACHA,SADG,GAEH+6B,+BAAA,CAAgCxjB,KAAhC,EAAuCmV,QAAvC,EAAiD3vC,OAAA,GAAU,0BAA3D,CAHD;AAAA,GAIH89C,YAAA,EAAcA,YAJX;AAAA,GAKHt5C,KAAA,EAAOA,KAAA,KAAUye,SAAV,GACHA,SADG,GAEHg7B,+BAAA,CAAgCz5C,KAAhC,EAAuCmrC,QAAvC,EAAiD3vC,OAAA,GAAU,0BAA3D,CAPD;AAAA,GAQHwV,SAAA,EAAWA,SAAA,KAAcyN,SAAd,GACPA,SADO,GAEPi7B,mCAAA,CAAoC1oC,SAApC,EAA+Cm6B,QAA/C,EAAyD3vC,OAAA,GAAU,8BAAnE,CAVD;AAAA,GAWH+9C,YAAA,EAAcA,YAXX;AAAA,GAAP,CAP2C;AAAA,EAn/GvB;AAAA,CAwgHxB,SAASC,+BAAT,CAAyC32C,EAAzC,EAA6CsoC,QAA7C,EAAuD3vC,OAAvD,EAAgE;AAAA,EAC5D4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD4D;AAAA,EAE5D,OAAO,UAAUwhB,UAAV,EAAsB;AAAA,GAAE,OAAO+e,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACnuB,UAAD,CAA1B,CAAP,CAAF;AAAA,GAA7B,CAF4D;AAAA,EAxgHxC;AAAA,CA4gHxB,SAASy8B,+BAAT,CAAyC52C,EAAzC,EAA6CsoC,QAA7C,EAAuD3vC,OAAvD,EAAgE;AAAA,EAC5D4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EAD4D;AAAA,EAE5D,OAAO,UAAUwhB,UAAV,EAAsB;AAAA,GAAE,OAAO8e,WAAA,CAAYj5B,EAAZ,EAAgBsoC,QAAhB,EAA0B,CAACnuB,UAAD,CAA1B,CAAP,CAAF;AAAA,GAA7B,CAF4D;AAAA,EA5gHxC;AAAA,CAghHxB,SAAS08B,mCAAT,CAA6C72C,EAA7C,EAAiDsoC,QAAjD,EAA2D3vC,OAA3D,EAAoE;AAAA,EAChE4jC,cAAA,CAAev8B,EAAf,EAAmBrH,OAAnB,EADgE;AAAA,EAEhE,OAAO,UAAUgd,KAAV,EAAiBwE,UAAjB,EAA6B;AAAA,GAAE,OAAO+e,WAAA,CAAYl5B,EAAZ,EAAgBsoC,QAAhB,EAA0B;AAAA,IAAC3yB,KAAD;AAAA,IAAQwE,UAAR;AAAA,IAA1B,CAAP,CAAF;AAAA,GAApC,CAFgE;AAAA,EAhhH5C;AAAA,CA8hHxB,IAAI28B,eAAA,GAAiC,YAAY;AAAA,EAC7C,SAASA,eAAT,CAAyBC,cAAzB,EAAyCC,mBAAzC,EAA8DC,mBAA9D,EAAmF;AAAA,GAC/E,IAAIF,cAAA,KAAmB,KAAK,CAA5B,EAA+B;AAAA,IAAEA,cAAA,GAAiB,EAAjB,CAAF;AAAA,IADgD;AAAA,GAE/E,IAAIC,mBAAA,KAAwB,KAAK,CAAjC,EAAoC;AAAA,IAAEA,mBAAA,GAAsB,EAAtB,CAAF;AAAA,IAF2C;AAAA,GAG/E,IAAIC,mBAAA,KAAwB,KAAK,CAAjC,EAAoC;AAAA,IAAEA,mBAAA,GAAsB,EAAtB,CAAF;AAAA,IAH2C;AAAA,GAI/E,IAAIF,cAAA,KAAmBn7B,SAAvB,EAAkC;AAAA,IAC9Bm7B,cAAA,GAAiB,IAAjB,CAD8B;AAAA,IAJ6C;AAAA,GAO/E,IAAIG,gBAAA,GAAmBhP,sBAAA,CAAuB8O,mBAAvB,EAA4C,kBAA5C,CAAvB,CAP+E;AAAA,GAQ/E,IAAIG,gBAAA,GAAmBjP,sBAAA,CAAuB+O,mBAAvB,EAA4C,iBAA5C,CAAvB,CAR+E;AAAA,GAS/E,IAAIG,WAAA,GAAcZ,kBAAA,CAAmBO,cAAnB,EAAmC,iBAAnC,CAAlB,CAT+E;AAAA,GAU/E,IAAIK,WAAA,CAAYX,YAAZ,KAA6B76B,SAAjC,EAA4C;AAAA,IACxC,MAAM,IAAI+kB,UAAJ,CAAe,gCAAf,CAAN,CADwC;AAAA,IAVmC;AAAA,GAa/E,IAAIyW,WAAA,CAAYV,YAAZ,KAA6B96B,SAAjC,EAA4C;AAAA,IACxC,MAAM,IAAI+kB,UAAJ,CAAe,gCAAf,CAAN,CADwC;AAAA,IAbmC;AAAA,GAgB/E,IAAI0W,qBAAA,GAAwBvP,oBAAA,CAAqBqP,gBAArB,EAAuC,CAAvC,CAA5B,CAhB+E;AAAA,GAiB/E,IAAIG,qBAAA,GAAwBrP,oBAAA,CAAqBkP,gBAArB,CAA5B,CAjB+E;AAAA,GAkB/E,IAAII,qBAAA,GAAwBzP,oBAAA,CAAqBoP,gBAArB,EAAuC,CAAvC,CAA5B,CAlB+E;AAAA,GAmB/E,IAAIM,qBAAA,GAAwBvP,oBAAA,CAAqBiP,gBAArB,CAA5B,CAnB+E;AAAA,GAoB/E,IAAIO,oBAAJ,CApB+E;AAAA,GAqB/E,IAAIxI,YAAA,GAAe7W,UAAA,CAAW,UAAUz+B,OAAV,EAAmB;AAAA,IAC7C89C,oBAAA,GAAuB99C,OAAvB,CAD6C;AAAA,IAA9B,CAAnB,CArB+E;AAAA,GAwB/E+9C,yBAAA,CAA0B,IAA1B,EAAgCzI,YAAhC,EAA8CsI,qBAA9C,EAAqEC,qBAArE,EAA4FH,qBAA5F,EAAmHC,qBAAnH,EAxB+E;AAAA,GAyB/EK,oDAAA,CAAqD,IAArD,EAA2DP,WAA3D,EAzB+E;AAAA,GA0B/E,IAAIA,WAAA,CAAYj6C,KAAZ,KAAsBye,SAA1B,EAAqC;AAAA,IACjC67B,oBAAA,CAAqBL,WAAA,CAAYj6C,KAAZ,CAAkB,KAAKy6C,0BAAvB,CAArB,EADiC;AAAA,IAArC,MAGK;AAAA,IACDH,oBAAA,CAAqB77B,SAArB,EADC;AAAA,IA7B0E;AAAA,GADtC;AAAA,EAkC7C9e,MAAA,CAAOigB,cAAP,CAAsB+5B,eAAA,CAAgBr7B,SAAtC,EAAiD,UAAjD,EAA6D;AAAA,GAIzDrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACy+B,iBAAA,CAAkB,IAAlB,CAAL,EAA8B;AAAA,KAC1B,MAAMC,yBAAA,CAA0B,UAA1B,CAAN,CAD0B;AAAA,KADjB;AAAA,IAIb,OAAO,KAAKC,SAAZ,CAJa;AAAA,IAJwC;AAAA,GAUzD54C,UAAA,EAAY,KAV6C;AAAA,GAWzDC,YAAA,EAAc,IAX2C;AAAA,GAA7D,EAlC6C;AAAA,EA+C7CtC,MAAA,CAAOigB,cAAP,CAAsB+5B,eAAA,CAAgBr7B,SAAtC,EAAiD,UAAjD,EAA6D;AAAA,GAIzDrC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACy+B,iBAAA,CAAkB,IAAlB,CAAL,EAA8B;AAAA,KAC1B,MAAMC,yBAAA,CAA0B,UAA1B,CAAN,CAD0B;AAAA,KADjB;AAAA,IAIb,OAAO,KAAKE,SAAZ,CAJa;AAAA,IAJwC;AAAA,GAUzD74C,UAAA,EAAY,KAV6C;AAAA,GAWzDC,YAAA,EAAc,IAX2C;AAAA,GAA7D,EA/C6C;AAAA,EA4D7C,OAAO03C,eAAP,CA5D6C;AAAA,EAAZ,EAArC,CA9hHwB;AAAA,CA4lHxBh6C,MAAA,CAAOioB,gBAAP,CAAwB+xB,eAAA,CAAgBr7B,SAAxC,EAAmD;AAAA,EAC/Cs5B,QAAA,EAAU,EAAE51C,UAAA,EAAY,IAAd,EADqC;AAAA,EAE/CE,QAAA,EAAU,EAAEF,UAAA,EAAY,IAAd,EAFqC;AAAA,EAAnD,EA5lHwB;AAAA,CAgmHxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsB+5B,eAAA,CAAgBr7B,SAAtC,EAAiDgc,cAAA,CAAeiH,WAAhE,EAA6E;AAAA,GACzEx/B,KAAA,EAAO,iBADkE;AAAA,GAEzEE,YAAA,EAAc,IAF2D;AAAA,GAA7E,EADgD;AAAA,EAhmH5B;AAAA,CAsmHxB,SAASs4C,yBAAT,CAAmC/c,MAAnC,EAA2CsU,YAA3C,EAAyDsI,qBAAzD,EAAgFC,qBAAhF,EAAuGH,qBAAvG,EAA8HC,qBAA9H,EAAqJ;AAAA,EACjJ,SAAStQ,cAAT,GAA0B;AAAA,GACtB,OAAOiI,YAAP,CADsB;AAAA,GADuH;AAAA,EAIjJ,SAASlF,cAAT,CAAwBp0B,KAAxB,EAA+B;AAAA,GAC3B,OAAOsiC,wCAAA,CAAyCtd,MAAzC,EAAiDhlB,KAAjD,CAAP,CAD2B;AAAA,GAJkH;AAAA,EAOjJ,SAASs0B,cAAT,CAAwBhxC,MAAxB,EAAgC;AAAA,GAC5B,OAAOi/C,wCAAA,CAAyCvd,MAAzC,EAAiD1hC,MAAjD,CAAP,CAD4B;AAAA,GAPiH;AAAA,EAUjJ,SAAS+wC,cAAT,GAA0B;AAAA,GACtB,OAAOmO,wCAAA,CAAyCxd,MAAzC,CAAP,CADsB;AAAA,GAVuH;AAAA,EAajJA,MAAA,CAAOqd,SAAP,GAAmBlO,oBAAA,CAAqB9C,cAArB,EAAqC+C,cAArC,EAAqDC,cAArD,EAAqEC,cAArE,EAAqFsN,qBAArF,EAA4GC,qBAA5G,CAAnB,CAbiJ;AAAA,EAcjJ,SAASvQ,aAAT,GAAyB;AAAA,GACrB,OAAOmR,yCAAA,CAA0Czd,MAA1C,CAAP,CADqB;AAAA,GAdwH;AAAA,EAiBjJ,SAASuM,eAAT,CAAyBjuC,MAAzB,EAAiC;AAAA,GAC7Bo/C,2CAAA,CAA4C1d,MAA5C,EAAoD1hC,MAApD,EAD6B;AAAA,GAE7B,OAAOo/B,mBAAA,CAAoBzc,SAApB,CAAP,CAF6B;AAAA,GAjBgH;AAAA,EAqBjJ+e,MAAA,CAAOod,SAAP,GAAmB7D,oBAAA,CAAqBlN,cAArB,EAAqCC,aAArC,EAAoDC,eAApD,EAAqEmQ,qBAArE,EAA4FC,qBAA5F,CAAnB,CArBiJ;AAAA,EAuBjJ3c,MAAA,CAAOgQ,aAAP,GAAuB/uB,SAAvB,CAvBiJ;AAAA,EAwBjJ+e,MAAA,CAAO2d,0BAAP,GAAoC18B,SAApC,CAxBiJ;AAAA,EAyBjJ+e,MAAA,CAAO4d,kCAAP,GAA4C38B,SAA5C,CAzBiJ;AAAA,EA0BjJ48B,8BAAA,CAA+B7d,MAA/B,EAAuC,IAAvC,EA1BiJ;AAAA,EA2BjJA,MAAA,CAAOid,0BAAP,GAAoCh8B,SAApC,CA3BiJ;AAAA,EAtmH7H;AAAA,CAmoHxB,SAASi8B,iBAAT,CAA2B5nB,CAA3B,EAA8B;AAAA,EAC1B,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADI;AAAA,EAI1B,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,4BAAxC,CAAL,EAA4E;AAAA,GACxE,OAAO,KAAP,CADwE;AAAA,GAJlD;AAAA,EAO1B,OAAO,IAAP,CAP0B;AAAA,EAnoHN;AAAA,CA6oHxB,SAASwoB,oBAAT,CAA8B9d,MAA9B,EAAsClG,CAAtC,EAAyC;AAAA,EACrC+d,oCAAA,CAAqC7X,MAAA,CAAOod,SAAP,CAAiBnZ,yBAAtD,EAAiFnK,CAAjF,EADqC;AAAA,EAErC4jB,2CAAA,CAA4C1d,MAA5C,EAAoDlG,CAApD,EAFqC;AAAA,EA7oHjB;AAAA,CAipHxB,SAAS4jB,2CAAT,CAAqD1d,MAArD,EAA6DlG,CAA7D,EAAgE;AAAA,EAC5DikB,+CAAA,CAAgD/d,MAAA,CAAOid,0BAAvD,EAD4D;AAAA,EAE5DxI,4CAAA,CAA6CzU,MAAA,CAAOqd,SAAP,CAAiB3N,yBAA9D,EAAyF5V,CAAzF,EAF4D;AAAA,EAG5D,IAAIkG,MAAA,CAAOgQ,aAAX,EAA0B;AAAA,GAItB6N,8BAAA,CAA+B7d,MAA/B,EAAuC,KAAvC,EAJsB;AAAA,GAHkC;AAAA,EAjpHxC;AAAA,CA2pHxB,SAAS6d,8BAAT,CAAwC7d,MAAxC,EAAgD8R,YAAhD,EAA8D;AAAA,EAE1D,IAAI9R,MAAA,CAAO2d,0BAAP,KAAsC18B,SAA1C,EAAqD;AAAA,GACjD+e,MAAA,CAAO4d,kCAAP,GADiD;AAAA,GAFK;AAAA,EAK1D5d,MAAA,CAAO2d,0BAAP,GAAoClgB,UAAA,CAAW,UAAUz+B,OAAV,EAAmB;AAAA,GAC9DghC,MAAA,CAAO4d,kCAAP,GAA4C5+C,OAA5C,CAD8D;AAAA,GAA9B,CAApC,CAL0D;AAAA,EAQ1DghC,MAAA,CAAOgQ,aAAP,GAAuB8B,YAAvB,CAR0D;AAAA,EA3pHtC;AAAA,CA2qHxB,IAAIkM,gCAAA,GAAkD,YAAY;AAAA,EAC9D,SAASA,gCAAT,GAA4C;AAAA,GACxC,MAAM,IAAIj7B,SAAJ,CAAc,qBAAd,CAAN,CADwC;AAAA,GADkB;AAAA,EAI9D5gB,MAAA,CAAOigB,cAAP,CAAsB47B,gCAAA,CAAiCl9B,SAAvD,EAAkE,aAAlE,EAAiF;AAAA,GAI7ErC,GAAA,EAAK,YAAY;AAAA,IACb,IAAI,CAACw/B,kCAAA,CAAmC,IAAnC,CAAL,EAA+C;AAAA,KAC3C,MAAMC,oCAAA,CAAqC,aAArC,CAAN,CAD2C;AAAA,KADlC;AAAA,IAIb,IAAIC,kBAAA,GAAqB,KAAKC,0BAAL,CAAgChB,SAAhC,CAA0CnZ,yBAAnE,CAJa;AAAA,IAKb,OAAOwT,6CAAA,CAA8C0G,kBAA9C,CAAP,CALa;AAAA,IAJ4D;AAAA,GAW7E35C,UAAA,EAAY,KAXiE;AAAA,GAY7EC,YAAA,EAAc,IAZ+D;AAAA,GAAjF,EAJ8D;AAAA,EAkB9Du5C,gCAAA,CAAiCl9B,SAAjC,CAA2CynB,OAA3C,GAAqD,UAAUvtB,KAAV,EAAiB;AAAA,GAClE,IAAIA,KAAA,KAAU,KAAK,CAAnB,EAAsB;AAAA,IAAEA,KAAA,GAAQiG,SAAR,CAAF;AAAA,IAD4C;AAAA,GAElE,IAAI,CAACg9B,kCAAA,CAAmC,IAAnC,CAAL,EAA+C;AAAA,IAC3C,MAAMC,oCAAA,CAAqC,SAArC,CAAN,CAD2C;AAAA,IAFmB;AAAA,GAKlEG,uCAAA,CAAwC,IAAxC,EAA8CrjC,KAA9C,EALkE;AAAA,GAAtE,CAlB8D;AAAA,EA6B9DgjC,gCAAA,CAAiCl9B,SAAjC,CAA2CkB,KAA3C,GAAmD,UAAU1jB,MAAV,EAAkB;AAAA,GACjE,IAAIA,MAAA,KAAW,KAAK,CAApB,EAAuB;AAAA,IAAEA,MAAA,GAAS2iB,SAAT,CAAF;AAAA,IAD0C;AAAA,GAEjE,IAAI,CAACg9B,kCAAA,CAAmC,IAAnC,CAAL,EAA+C;AAAA,IAC3C,MAAMC,oCAAA,CAAqC,OAArC,CAAN,CAD2C;AAAA,IAFkB;AAAA,GAKjEI,qCAAA,CAAsC,IAAtC,EAA4ChgD,MAA5C,EALiE;AAAA,GAArE,CA7B8D;AAAA,EAwC9D0/C,gCAAA,CAAiCl9B,SAAjC,CAA2Cy9B,SAA3C,GAAuD,YAAY;AAAA,GAC/D,IAAI,CAACN,kCAAA,CAAmC,IAAnC,CAAL,EAA+C;AAAA,IAC3C,MAAMC,oCAAA,CAAqC,WAArC,CAAN,CAD2C;AAAA,IADgB;AAAA,GAI/DM,yCAAA,CAA0C,IAA1C,EAJ+D;AAAA,GAAnE,CAxC8D;AAAA,EA8C9D,OAAOR,gCAAP,CA9C8D;AAAA,EAAZ,EAAtD,CA3qHwB;AAAA,CA2tHxB77C,MAAA,CAAOioB,gBAAP,CAAwB4zB,gCAAA,CAAiCl9B,SAAzD,EAAoE;AAAA,EAChEynB,OAAA,EAAS,EAAE/jC,UAAA,EAAY,IAAd,EADuD;AAAA,EAEhEwd,KAAA,EAAO,EAAExd,UAAA,EAAY,IAAd,EAFyD;AAAA,EAGhE+5C,SAAA,EAAW,EAAE/5C,UAAA,EAAY,IAAd,EAHqD;AAAA,EAIhE6kC,WAAA,EAAa,EAAE7kC,UAAA,EAAY,IAAd,EAJmD;AAAA,EAApE,EA3tHwB;AAAA,CAiuHxB,IAAI,OAAOs4B,cAAA,CAAeiH,WAAtB,KAAsC,QAA1C,EAAoD;AAAA,EAChD5hC,MAAA,CAAOigB,cAAP,CAAsB47B,gCAAA,CAAiCl9B,SAAvD,EAAkEgc,cAAA,CAAeiH,WAAjF,EAA8F;AAAA,GAC1Fx/B,KAAA,EAAO,kCADmF;AAAA,GAE1FE,YAAA,EAAc,IAF4E;AAAA,GAA9F,EADgD;AAAA,EAjuH5B;AAAA,CAwuHxB,SAASw5C,kCAAT,CAA4C3oB,CAA5C,EAA+C;AAAA,EAC3C,IAAI,CAAC6H,YAAA,CAAa7H,CAAb,CAAL,EAAsB;AAAA,GAClB,OAAO,KAAP,CADkB;AAAA,GADqB;AAAA,EAI3C,IAAI,CAACnzB,MAAA,CAAO2e,SAAP,CAAiBwC,cAAjB,CAAgCpB,IAAhC,CAAqCoT,CAArC,EAAwC,4BAAxC,CAAL,EAA4E;AAAA,GACxE,OAAO,KAAP,CADwE;AAAA,GAJjC;AAAA,EAO3C,OAAO,IAAP,CAP2C;AAAA,EAxuHvB;AAAA,CAivHxB,SAASmpB,qCAAT,CAA+Cze,MAA/C,EAAuDxgB,UAAvD,EAAmEk/B,kBAAnE,EAAuFC,cAAvF,EAAuG;AAAA,EACnGn/B,UAAA,CAAW4+B,0BAAX,GAAwCpe,MAAxC,CADmG;AAAA,EAEnGA,MAAA,CAAOid,0BAAP,GAAoCz9B,UAApC,CAFmG;AAAA,EAGnGA,UAAA,CAAWo/B,mBAAX,GAAiCF,kBAAjC,CAHmG;AAAA,EAInGl/B,UAAA,CAAWq/B,eAAX,GAA6BF,cAA7B,CAJmG;AAAA,EAjvH/E;AAAA,CAuvHxB,SAAS3B,oDAAT,CAA8Dhd,MAA9D,EAAsEyc,WAAtE,EAAmF;AAAA,EAC/E,IAAIj9B,UAAA,GAAard,MAAA,CAAO5E,MAAP,CAAcygD,gCAAA,CAAiCl9B,SAA/C,CAAjB,CAD+E;AAAA,EAE/E,IAAI49B,kBAAA,GAAqB,UAAU1jC,KAAV,EAAiB;AAAA,GACtC,IAAI;AAAA,IACAqjC,uCAAA,CAAwC7+B,UAAxC,EAAoDxE,KAApD,EADA;AAAA,IAEA,OAAO0iB,mBAAA,CAAoBzc,SAApB,CAAP,CAFA;AAAA,IAAJ,CAIA,OAAO69B,gBAAP,EAAyB;AAAA,IACrB,OAAOnhB,mBAAA,CAAoBmhB,gBAApB,CAAP,CADqB;AAAA,IALa;AAAA,GAA1C,CAF+E;AAAA,EAW/E,IAAIH,cAAA,GAAiB,YAAY;AAAA,GAAE,OAAOjhB,mBAAA,CAAoBzc,SAApB,CAAP,CAAF;AAAA,GAAjC,CAX+E;AAAA,EAY/E,IAAIw7B,WAAA,CAAYjpC,SAAZ,KAA0ByN,SAA9B,EAAyC;AAAA,GACrCy9B,kBAAA,GAAqB,UAAU1jC,KAAV,EAAiB;AAAA,IAAE,OAAOyhC,WAAA,CAAYjpC,SAAZ,CAAsBwH,KAAtB,EAA6BwE,UAA7B,CAAP,CAAF;AAAA,IAAtC,CADqC;AAAA,GAZsC;AAAA,EAe/E,IAAIi9B,WAAA,CAAYjkB,KAAZ,KAAsBvX,SAA1B,EAAqC;AAAA,GACjC09B,cAAA,GAAiB,YAAY;AAAA,IAAE,OAAOlC,WAAA,CAAYjkB,KAAZ,CAAkBhZ,UAAlB,CAAP,CAAF;AAAA,IAA7B,CADiC;AAAA,GAf0C;AAAA,EAkB/Ei/B,qCAAA,CAAsCze,MAAtC,EAA8CxgB,UAA9C,EAA0Dk/B,kBAA1D,EAA8EC,cAA9E,EAlB+E;AAAA,EAvvH3D;AAAA,CA2wHxB,SAASZ,+CAAT,CAAyDv+B,UAAzD,EAAqE;AAAA,EACjEA,UAAA,CAAWo/B,mBAAX,GAAiC39B,SAAjC,CADiE;AAAA,EAEjEzB,UAAA,CAAWq/B,eAAX,GAA6B59B,SAA7B,CAFiE;AAAA,EA3wH7C;AAAA,CA+wHxB,SAASo9B,uCAAT,CAAiD7+B,UAAjD,EAA6DxE,KAA7D,EAAoE;AAAA,EAChE,IAAIglB,MAAA,GAASxgB,UAAA,CAAW4+B,0BAAxB,CADgE;AAAA,EAEhE,IAAID,kBAAA,GAAqBne,MAAA,CAAOod,SAAP,CAAiBnZ,yBAA1C,CAFgE;AAAA,EAGhE,IAAI,CAACyT,gDAAA,CAAiDyG,kBAAjD,CAAL,EAA2E;AAAA,GACvE,MAAM,IAAIp7B,SAAJ,CAAc,sDAAd,CAAN,CADuE;AAAA,GAHX;AAAA,EAQhE,IAAI;AAAA,GACA60B,sCAAA,CAAuCuG,kBAAvC,EAA2DnjC,KAA3D,EADA;AAAA,GAAJ,CAGA,OAAO8e,CAAP,EAAU;AAAA,GAEN4jB,2CAAA,CAA4C1d,MAA5C,EAAoDlG,CAApD,EAFM;AAAA,GAGN,MAAMkG,MAAA,CAAOod,SAAP,CAAiB7c,YAAvB,CAHM;AAAA,GAXsD;AAAA,EAgBhE,IAAIuR,YAAA,GAAeoG,8CAAA,CAA+CiG,kBAA/C,CAAnB,CAhBgE;AAAA,EAiBhE,IAAIrM,YAAA,KAAiB9R,MAAA,CAAOgQ,aAA5B,EAA2C;AAAA,GACvC6N,8BAAA,CAA+B7d,MAA/B,EAAuC,IAAvC,EADuC;AAAA,GAjBqB;AAAA,EA/wH5C;AAAA,CAoyHxB,SAASse,qCAAT,CAA+C9+B,UAA/C,EAA2Dsa,CAA3D,EAA8D;AAAA,EAC1DgkB,oBAAA,CAAqBt+B,UAAA,CAAW4+B,0BAAhC,EAA4DtkB,CAA5D,EAD0D;AAAA,EApyHtC;AAAA,CAuyHxB,SAASilB,gDAAT,CAA0Dv/B,UAA1D,EAAsExE,KAAtE,EAA6E;AAAA,EACzE,IAAIgkC,gBAAA,GAAmBx/B,UAAA,CAAWo/B,mBAAX,CAA+B5jC,KAA/B,CAAvB,CADyE;AAAA,EAEzE,OAAOgjB,oBAAA,CAAqBghB,gBAArB,EAAuC/9B,SAAvC,EAAkD,UAAUrE,CAAV,EAAa;AAAA,GAClEkhC,oBAAA,CAAqBt+B,UAAA,CAAW4+B,0BAAhC,EAA4DxhC,CAA5D,EADkE;AAAA,GAElE,MAAMA,CAAN,CAFkE;AAAA,GAA/D,CAAP,CAFyE;AAAA,EAvyHrD;AAAA,CA8yHxB,SAAS4hC,yCAAT,CAAmDh/B,UAAnD,EAA+D;AAAA,EAC3D,IAAIwgB,MAAA,GAASxgB,UAAA,CAAW4+B,0BAAxB,CAD2D;AAAA,EAE3D,IAAID,kBAAA,GAAqBne,MAAA,CAAOod,SAAP,CAAiBnZ,yBAA1C,CAF2D;AAAA,EAG3D0T,oCAAA,CAAqCwG,kBAArC,EAH2D;AAAA,EAI3D,IAAIn8B,KAAA,GAAQ,IAAIe,SAAJ,CAAc,4BAAd,CAAZ,CAJ2D;AAAA,EAK3D26B,2CAAA,CAA4C1d,MAA5C,EAAoDhe,KAApD,EAL2D;AAAA,EA9yHvC;AAAA,CAszHxB,SAASs7B,wCAAT,CAAkDtd,MAAlD,EAA0DhlB,KAA1D,EAAiE;AAAA,EAC7D,IAAIwE,UAAA,GAAawgB,MAAA,CAAOid,0BAAxB,CAD6D;AAAA,EAE7D,IAAIjd,MAAA,CAAOgQ,aAAX,EAA0B;AAAA,GACtB,IAAIiP,yBAAA,GAA4Bjf,MAAA,CAAO2d,0BAAvC,CADsB;AAAA,GAEtB,OAAO3f,oBAAA,CAAqBihB,yBAArB,EAAgD,YAAY;AAAA,IAC/D,IAAIv6C,QAAA,GAAWs7B,MAAA,CAAOqd,SAAtB,CAD+D;AAAA,IAE/D,IAAIp2C,KAAA,GAAQvC,QAAA,CAASy7B,MAArB,CAF+D;AAAA,IAG/D,IAAIl5B,KAAA,KAAU,UAAd,EAA0B;AAAA,KACtB,MAAMvC,QAAA,CAAS67B,YAAf,CADsB;AAAA,KAHqC;AAAA,IAM/D,OAAOwe,gDAAA,CAAiDv/B,UAAjD,EAA6DxE,KAA7D,CAAP,CAN+D;AAAA,IAA5D,CAAP,CAFsB;AAAA,GAFmC;AAAA,EAa7D,OAAO+jC,gDAAA,CAAiDv/B,UAAjD,EAA6DxE,KAA7D,CAAP,CAb6D;AAAA,EAtzHzC;AAAA,CAq0HxB,SAASuiC,wCAAT,CAAkDvd,MAAlD,EAA0D1hC,MAA1D,EAAkE;AAAA,EAG9Dw/C,oBAAA,CAAqB9d,MAArB,EAA6B1hC,MAA7B,EAH8D;AAAA,EAI9D,OAAOo/B,mBAAA,CAAoBzc,SAApB,CAAP,CAJ8D;AAAA,EAr0H1C;AAAA,CA20HxB,SAASu8B,wCAAT,CAAkDxd,MAAlD,EAA0D;AAAA,EAEtD,IAAIoa,QAAA,GAAWpa,MAAA,CAAOod,SAAtB,CAFsD;AAAA,EAGtD,IAAI59B,UAAA,GAAawgB,MAAA,CAAOid,0BAAxB,CAHsD;AAAA,EAItD,IAAIiC,YAAA,GAAe1/B,UAAA,CAAWq/B,eAAX,EAAnB,CAJsD;AAAA,EAKtDd,+CAAA,CAAgDv+B,UAAhD,EALsD;AAAA,EAOtD,OAAOwe,oBAAA,CAAqBkhB,YAArB,EAAmC,YAAY;AAAA,GAClD,IAAI9E,QAAA,CAASja,MAAT,KAAoB,SAAxB,EAAmC;AAAA,IAC/B,MAAMia,QAAA,CAAS7Z,YAAf,CAD+B;AAAA,IADe;AAAA,GAIlDoX,oCAAA,CAAqCyC,QAAA,CAASnW,yBAA9C,EAJkD;AAAA,GAA/C,EAKJ,UAAUrnB,CAAV,EAAa;AAAA,GACZkhC,oBAAA,CAAqB9d,MAArB,EAA6BpjB,CAA7B,EADY;AAAA,GAEZ,MAAMw9B,QAAA,CAAS7Z,YAAf,CAFY;AAAA,GALT,CAAP,CAPsD;AAAA,EA30HlC;AAAA,CA61HxB,SAASkd,yCAAT,CAAmDzd,MAAnD,EAA2D;AAAA,EAEvD6d,8BAAA,CAA+B7d,MAA/B,EAAuC,KAAvC,EAFuD;AAAA,EAIvD,OAAOA,MAAA,CAAO2d,0BAAd,CAJuD;AAAA,EA71HnC;AAAA,CAo2HxB,SAASO,oCAAT,CAA8C77C,IAA9C,EAAoD;AAAA,EAChD,OAAO,IAAI0gB,SAAJ,CAAc,gDAAgD1gB,IAAhD,GAAuD,yDAArE,CAAP,CADgD;AAAA,EAp2H5B;AAAA,CAw2HxB,SAAS86C,yBAAT,CAAmC96C,IAAnC,EAAyC;AAAA,EACrC,OAAO,IAAI0gB,SAAJ,CAAc,+BAA+B1gB,IAA/B,GAAsC,wCAApD,CAAP,CADqC;AAAA,EAx2HjB;AAAA,CA42HxB6C,OAAA,CAAQk2C,yBAAR,GAAoCA,yBAApC,CA52HwB;AAAA,CA62HxBl2C,OAAA,CAAQu2C,oBAAR,GAA+BA,oBAA/B,CA72HwB;AAAA,CA82HxBv2C,OAAA,CAAQuiC,4BAAR,GAAuCA,4BAAvC,CA92HwB;AAAA,CA+2HxBviC,OAAA,CAAQm1C,cAAR,GAAyBA,cAAzB,CA/2HwB;AAAA,CAg3HxBn1C,OAAA,CAAQ4nC,wBAAR,GAAmCA,wBAAnC,CAh3HwB;AAAA,CAi3HxB5nC,OAAA,CAAQyhC,yBAAR,GAAoCA,yBAApC,CAj3HwB;AAAA,CAk3HxBzhC,OAAA,CAAQoyC,+BAAR,GAA0CA,+BAA1C,CAl3HwB;AAAA,CAm3HxBpyC,OAAA,CAAQy9B,2BAAR,GAAsCA,2BAAtC,CAn3HwB;AAAA,CAo3HxBz9B,OAAA,CAAQi3C,eAAR,GAA0BA,eAA1B,CAp3HwB;AAAA,CAq3HxBj3C,OAAA,CAAQ84C,gCAAR,GAA2CA,gCAA3C,CAr3HwB;AAAA,CAs3HxB94C,OAAA,CAAQipC,cAAR,GAAyBA,cAAzB,CAt3HwB;AAAA,CAu3HxBjpC,OAAA,CAAQqqC,+BAAR,GAA0CA,+BAA1C,CAv3HwB;AAAA,CAw3HxBrqC,OAAA,CAAQgqC,2BAAR,GAAsCA,2BAAtC,CAx3HwB;AAAA,CA03HxB/sC,MAAA,CAAOigB,cAAP,CAAsBld,OAAtB,EAA+B,YAA/B,EAA6C,EAAEX,KAAA,EAAO,IAAT,EAA7C,EA13HwB;AAAA,CAJ3B,CAAD,E;;;;;;;;;;;;;;;;;;ACgBA;;AAmBA;;AAUA;;AACA;;AAjDA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,IAAM46C,2BA5DN,KA4DA;AACA,IAAMC,8BA7DN,GA6DA;AAEA,IAAMC,uBACJ,oDAhEF,+BA+DA;;AAIA,IAAMC,2BACJ,wDApEF,mCAmEA;;AAkBA,IArFA,sBAqFA;;AAWA,6DAA6D;AAC3DC,2BAD2D,uBAC3DA;AAjGF;;AAsMA,0BAA0B;AACxB,MAAMpuB,OAAO,IADW,sBACX,EAAb;AAEA,MAHwB,MAGxB;;AACA,MAAI,2BAA2BvF,eAA/B,KAAmD;AACjDxL,aAAS;AAAEjiB,WADsC;AACxC,KAATiiB;AADF,SAEO,IAAIo/B,yBAAJ,GAAIA,CAAJ,EAAwB;AAC7Bp/B,aAAS;AAAE/E,YADkB;AACpB,KAAT+E;AADK,SAEA,IAAIwL,eAAJ,uBAA0C;AAC/CxL,aAAS;AAAEq/B,aADoC;AACtC,KAATr/B;AADK,SAEA;AACL,QAAI,iBAAJ,UAA6B;AAC3B,YAAM,UACJ,uCAFyB,2DACrB,CAAN;AAFG;;AAOL,QAAI,CAACwL,IAAD,OAAY,CAACA,IAAb,QAAyB,CAACA,IAA9B,OAAyC;AACvC,YAAM,UADiC,6DACjC,CAAN;AARG;;AAYLxL,aAZK,GAYLA;AAtBsB;;AAwBxB,MAAMs/B,SAASv9C,cAxBS,IAwBTA,CAAf;AACA,MAAIw9C,iBAAJ;AAAA,MACEC,SA1BsB,IAyBxB;;AAGA,0BAA0B;AACxB,QAAMr7C,QAAQ6b,OADU,GACVA,CAAd;;AAEA;AACE;AACE,YAAI,kBAAJ,aAAmC;AACjC,cAAI;AAEFs/B,0BAAc,eAAer+B,OAAf,UAFZ,IAEFq+B;AAFE;AAAJ,YAIE,WAAW;AACX79C,iEADW,EACXA;AAN+B;AAAnC,eAQO,IAAI,6BAA6B0C,iBAAjC,KAAuD;AAC5Dm7C,wBAAcn7C,MAD8C,QAC9CA,EAAdm7C;AAD4D;AAThE;;AAaE,cAAM,UACJ,2BAfN,8DAcU,CAAN;;AAIF;AACEC,yBADF,KACEA;AAnBJ;;AAqBE;AACEC,iBADF,KACEA;AAtBJ;;AAwBE;AAEE,YACE,qBAGA,kBAHA,eAIAr7C,iBALF,QAME;AACAm7C,wBAAc,eADd,KACc,CAAdA;AAPF,eAQO,IAAIn7C,iBAAJ,YAAiC;AAAA;AAAjC,eAEA,IAAI,iBAAJ,UAA+B;AACpCm7C,wBAAc7gD,yBADsB,KACtBA,CAAd6gD;AADK,eAEA,IACL,+BACAn7C,UADA,QAEA,CAAC0D,MAAM1D,MAHF,MAGJ0D,CAHI,EAIL;AACAy3C,wBAAc,eADd,KACc,CAAdA;AALK,eAMA,IAAIF,yBAAJ,KAAIA,CAAJ,EAA0B;AAC/BE,wBAAc,eADiB,KACjB,CAAdA;AADK,eAEA;AACL,gBAAM,UACJ,kDAFG,gEACC,CAAN;AAvBJ;;AAxBF;AAAA;;AAsDAA,kBAzDwB,KAyDxBA;AArFsB;;AAwFxBA,0BAAwBA,yBAxFA,wBAwFxBA;AACAA,6BACEA,4BA1FsB,wBAyFxBA;AAEAA,wBAAsBA,wBA3FE,IA2FxBA;AACAA,+BAA6BA,+BA5FL,IA4FxBA;AACAA,kBAAgBA,kBA7FQ,IA6FxBA;AACAA,qBAAmBA,qBA9FK,IA8FxBA;;AAEA,MACE,OAAOA,OAAP,2BACA99C,iCAAa89C,OAFf,UAEE99C,CAFF,EAGE;AAIA89C,wBAJA,IAIAA;AAvGsB;;AAyGxB,MAAI,CAACxlC,iBAAiBwlC,OAAtB,YAAKxlC,CAAL,EAA4C;AAC1CwlC,0BAAsB,CADoB,CAC1CA;AA1GsB;;AA4GxB,MAAI,OAAOA,OAAP,oBAAJ,WAAiD;AAC/CA,6BAD+C,IAC/CA;AA7GsB;;AA+GxB,MAAI,OAAOA,OAAP,oBAAJ,WAAiD;AAC/CA,6BAAyBG,6DADsB,KAC/CH;AAhHsB;;AAkHxB,MAAI,OAAOA,OAAP,kBAAJ,aAAiD;AAC/CA,2BAAuB5hD,WADwB,QAC/C4hD;AAnHsB;;AAsHxB,MAAI,OAAOA,OAAP,iBAAJ,WAA8C;AAC5CA,0BAD4C,KAC5CA;AAvHsB;;AAyHxB,MAAI,OAAOA,OAAP,kBAAJ,WAA+C;AAC7CA,2BAD6C,KAC7CA;AA1HsB;;AA4HxB,MAAI,OAAOA,OAAP,qBAAJ,WAAkD;AAChDA,8BADgD,KAChDA;AA7HsB;;AAiIxBI,+BAAkBJ,OAjIM,SAiIxBI;;AAEA,MAAI,CAAJ,QAAa;AACX,QAAMC,eAAe;AACnB9lC,iBAAWylC,OADQ;AAEnBzoB,YAAM+oB,oCAFa;AAAA,KAArB;AAMAJ,aAASG,oBACLE,mBADKF,YACLE,CADKF,GAEL,cATO,YASP,CAFJH;AAGAzuB,mBAVW,MAUXA;AA7IsB;;AA+IxB,MAAM+uB,QAAQ/uB,KA/IU,KA+IxB;AACAyuB,sBACQ,YAAY;AAChB,QAAIzuB,KAAJ,WAAoB;AAClB,YAAM,UADY,iBACZ,CAAN;AAFc;;AAKhB,QAAMgvB,kBAAkBC,+CALR,KAKQA,CAAxB;;AAMA,QAAMC,uBAAuB,YAAY,mBAAmB;AAC1D,UAD0D,aAC1D;;AACA,0BAAoB;AAClBC,wBAAgB,6CACd;AACE3lC,kBAAQ+kC,OADV;AAEEa,uBAAab,OAFf;AAGEc,2BAAiBd,OAHnB;AAIEe,sCAA4Bf,OAJ9B;AAKEgB,wBAAchB,OALhB;AAMEiB,yBAAejB,OANjB;AAAA,SADc,EADE,cACF,CAAhBY;AADF,aAYO,IAAI,CAACZ,OAAL,MAAkB;AACvBY,wBAAgB,uBAAuB;AACrCniD,eAAKuhD,OADgC;AAErC/kC,kBAAQ+kC,OAF6B;AAGrCkB,uBAAalB,OAHwB;AAIrCmB,2BAAiBnB,OAJoB;AAKrCoB,0BAAgBpB,OALqB;AAMrCgB,wBAAchB,OANuB;AAOrCiB,yBAAejB,OAPsB;AAAA,SAAvB,CAAhBY;AAfwD;;AAyB1DthD,cAzB0D,aAyB1DA;AApCc,KAWa,CAA7B;AA4BA,WAAO,YAAY,uCAAZ,OACL,gBAAqC;AAAA;AAAA,UAA3B,QAA2B;AAAA,UAArC,aAAqC;;AACnC,UAAImyB,KAAJ,WAAoB;AAClB,cAAM,UADY,iBACZ,CAAN;AAFiC;;AAKnC,UAAM4vB,iBAAiB,qDAGrBnB,OARiC,IAKZ,CAAvB;AAKAmB,4CAAsCnB,OAVH,oBAUnCmB;AACA,UAAMC,YAAY,yDAXiB,MAWjB,CAAlB;AAMA7vB,wBAjBmC,SAiBnCA;AACA4vB,mCAlBmC,IAkBnCA;AA1DY,KAuCT,CAAP;AAxCJnB,cA+DSzuB,iBA/Me,MAgJxByuB;AAiEA,SAjNwB,IAiNxB;AAvZF;;AAqaA,sEAAsE;AACpE,MAAIA,OAAJ,WAAsB;AACpB,WAAOtvB,eAAe,UADF,sBACE,CAAfA,CAAP;AAFkE;;AAKpE,6BAA2B;AACzBlQ,oBAAgB6gC,sBADS,MACzB7gC;AACAA,yBAAqB6gC,sBAFI,WAEzB7gC;AACAA,6BAAyB6gC,sBAHA,eAGzB7gC;AACAA,wCACE6gC,sBALuB,0BAIzB7gC;AATkE;;AAYpE,SAAO,uDAC6B;AAChC8/B,SADgC,EAChCA,KADgC;AAEhCgB,gBAFgC;AAOhC9gC,YAAQ;AACN/E,YAAM+E,OADA;AAENjiB,WAAKiiB,OAFC;AAGN+gC,gBAAU/gC,OAHJ;AAINghC,wBAAkBhhC,OAJZ;AAKN0gC,sBAAgB1gC,OALV;AAMNzF,cAAQyF,OANF;AAAA,KAPwB;AAehCihC,kBAAcjhC,OAfkB;AAgBhCkhC,qBAAiBlhC,OAhBe;AAiBhCmhC,0BAAsB3B,OAjBU;AAkBhC4B,gBAAYphC,OAlBoB;AAmBhCqhC,kBAAcrhC,OAnBkB;AAoBhCtE,qBAAiBsE,OApBe;AAqBhCshC,yBAAqBthC,OArBW;AAsBhCuhC,eAAWvhC,OAtBqB;AAAA,GAD7B,OAyBC,oBAAoB;AACxB,QAAIw/B,OAAJ,WAAsB;AACpB,YAAM,UADc,sBACd,CAAN;AAFsB;;AAIxB,WAJwB,QAIxB;AAzCgE,GAY7D,CAAP;AAjbF;;AAgfA,IAAMgC,yBAA0B,yCAAyC;AACvE,MAAIC,iBADmE,CACvE;;AADuE,MASvE,sBATuE;AAUrExkD,sCAAc;AAAA;;AACZ,yBADY,oCACZ;AACA,wBAFY,IAEZ;AACA,qBAHY,IAGZ;AAMA,mBAAa,MAAMwkD,cATP,EASZ;AAMA,uBAfY,KAeZ;AAQA,wBAvBY,IAuBZ;AASA,wBAhCY,IAgCZ;AAOA,kCAvCY,IAuCZ;AAxCyB;;AAT0C;AAAA;AAAA,WAwDrE,eAAc;AACZ,eAAO,iBADK,OACZ;AAhDyB;AAT0C;AAAA;AAAA,aAgErEjkD,mBAAU;AAAA;;AACR,yBADQ,IACR;AAEA,YAAMkkD,qBAAqB,CAAC,KAAD,aACvBxxB,QADuB,OACvBA,EADuB,GAEvB,gBALI,OAKJ,EAFJ;AAGA,eAAO,wBAAwB,YAAM;AACnC,6BADmC,IACnC;;AACA,cAAI,MAAJ,SAAkB;AAChB,0BADgB,OAChB;;AACA,4BAFgB,IAEhB;AAJiC;AAN7B,SAMD,CAAP;AA7DyB;AAT0C;;AAAA;AAAA;;AA+EvE,SA/EuE,sBA+EvE;AA/jBF,CAgfgC,EAAhC;;IAqFA,qB;AAOEjzB,sDAKE;AAAA,QAFAmjD,eAEA,uEALFnjD,KAKE;AAAA,QADAojD,0BACA,uEALFpjD,IAKE;;AAAA;;AACA,kBADA,MACA;AACA,uBAFA,WAEA;AACA,2BAHA,eAGA;AACA,sCAJA,0BAIA;AAEA,2BANA,EAMA;AACA,8BAPA,EAOA;AACA,qCARA,EAQA;AACA,qCATA,EASA;AACA,4BAVA,oCAUA;AAtBwB;;;;WAyB1B0kD,oCAA2B;AACzB,gCADyB,QACzB;AA1BwB;;;WA6B1BC,uCAA8B;AAC5B,mCAD4B,QAC5B;AA9BwB;;;WAiC1BC,8CAAqC;AACnC,0CADmC,QACnC;AAlCwB;;;WAqC1BC,8CAAqC;AACnC,0CADmC,QACnC;AAtCwB;;;WAyC1BC,mCAA0B;AAAA,iDACD,KAAvB,eADwB;AAAA;;AAAA;AACxB,4DAA6C;AAAA,cAA7C,QAA6C;AAC3C/qB,0BAD2C,KAC3CA;AAFsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAzCA;;;WA+C1BgrB,uCAA8B;AAAA;;AAC5B,yCAAmC,YAAM;AAAA,oDAChB,OAAvB,kBADuC;AAAA;;AAAA;AACvC,iEAAgD;AAAA,gBAAhD,QAAgD;AAC9ChrB,6BAD8C,KAC9CA;AAFqC;AAAA;AAAA;AAAA;AAAA;AAAA;AADb,OAC5B;AAhDwB;;;WAuD1BirB,sCAA6B;AAAA;;AAC3B,yCAAmC,YAAM;AAAA,oDAChB,OAAvB,yBADuC;AAAA;;AAAA;AACvC,iEAAuD;AAAA,gBAAvD,QAAuD;AACrDjrB,qBADqD,KACrDA;AAFqC;AAAA;AAAA;AAAA;AAAA;AAAA;AADd,OAC3B;AAxDwB;;;WA+D1BkrB,iCAAwB;AAAA;;AACtB,yCAAmC,YAAM;AAAA,oDAChB,OAAvB,yBADuC;AAAA;;AAAA;AACvC,iEAAuD;AAAA,gBAAvD,QAAuD;AACrDlrB,oBADqD;AADhB;AAAA;AAAA;AAAA;AAAA;AAAA;AADnB,OACtB;AAhEwB;;;WAuE1BmrB,0BAAiB;AACf,4BADe,OACf;AAxEwB;;;WA2E1BC,sCAA6B;AAC3BllD,6BAD2B,wDAC3BA;AA5EwB;;;WA+E1BswC,iBAAQ,CA/EkB;;;;;;;;IAqF5B,gB;AACEvwC,gDAAgC;AAAA;;AAC9B,oBAD8B,OAC9B;AACA,sBAF8B,SAE9B;AAHmB;;;;SASrB,eAAwB;AACtB,aAAO,gBADe,iBACtB;AAVmB;;;SAgBrB,eAAe;AACb,aAAO,cADM,QACb;AAjBmB;;;SAuBrB,eAAkB;AAChB,aAAO,cADS,WAChB;AAxBmB;;;SA8BrB,eAAgB;AACd,aAAO,cADO,SACd;AA/BmB;;;WAuCrBolD,6BAAoB;AAClB,aAAO,wBADW,UACX,CAAP;AAxCmB;;;WAsDrBC,2BAAkB;AAChB,aAAO,6BADS,GACT,CAAP;AAvDmB;;;WAgErBC,2BAAkB;AAChB,aAAO,gBADS,eACT,EAAP;AAjEmB;;;WA0ErBC,4BAAmB;AACjB,aAAO,+BADU,EACV,CAAP;AA3EmB;;;WAmFrBC,yBAAgB;AACd,aAAO,gBADO,aACP,EAAP;AApFmB;;;WA2FrBC,yBAAgB;AACd,aAAO,gBADO,aACP,EAAP;AA5FmB;;;WAmGrBC,uBAAc;AACZ,aAAO,gBADK,WACL,EAAP;AApGmB;;;WA4GrBC,gCAAuB;AACrB,aAAO,gBADc,oBACd,EAAP;AA7GmB;;;WAqHrBC,yBAAgB;AACd,aAAO,gBADO,aACP,EAAP;AAtHmB;;;WA6HrBC,0BAAiB;AACf,aAAO,gBADQ,cACR,EAAP;AA9HmB;;;WAsIrBC,yBAAgB;AACd,aAAO,gBADO,aACP,EAAP;AAvImB;;;WAiJrBC,wBAAe;AACb,aAAO,gBADM,eACN,EAAP;AAlJmB;;;WAwKrBC,sBAAa;AACX,aAAO,gBADI,UACJ,EAAP;AAzKmB;;;WAiLrBC,oCAA2B;AACzB,aAAO,gBADkB,wBAClB,EAAP;AAlLmB;;;WA0LrBC,0BAAiB;AACf,aAAO,gBADQ,cACR,EAAP;AA3LmB;;;WAqMrBC,uBAAc;AACZ,aAAO,gBADK,WACL,EAAP;AAtMmB;;;WAsNrBC,uBAAc;AACZ,aAAO,gBADK,WACL,EAAP;AAvNmB;;;WA8NrBC,mBAAU;AACR,aAAO,gBADC,OACD,EAAP;AA/NmB;;;WAuOrBC,2BAAkB;AAChB,aAAO,uCADS,OAChB;AAxOmB;;;WA0PrBC,oBAAW;AACT,aAAO,gBADE,QACF,EAAP;AA3PmB;;;WA0QrBC,mBAAiC;AAAA,UAAzBC,eAAyB,uEAAjCD,KAAiC;AAC/B,aAAO,6BAA6BC,mBAAmB,KADxB,SACxB,CAAP;AA3QmB;;;WAiRrBlmD,mBAAU;AACR,aAAO,iBADC,OACD,EAAP;AAlRmB;;;SA0RrB,eAAoB;AAClB,aAAO,gBADW,aAClB;AA3RmB;;;SAiSrB,eAAkB;AAChB,aAAO,gBADS,WAChB;AAlSmB;;;WAySrBmmD,wBAAe;AACb,UAEEh9B,mBAFF,GAGE;AACAi9B,uCADA,6CACAA;AALW;;AAOb,UAEE,0CAFF,GAGE;AACAA,uCACE,6DAFF,wCACAA;AAXW;;AAgBb,aAAO,gBAhBM,YAgBN,EAAP;AAzTmB;;;WAiUrBC,2BAAkB;AAChB,aAAO,gBADS,eACT,EAAP;AAlUmB;;;WAyUrBC,wBAAe;AACb,aAAO,gBADM,YACN,EAAP;AA1UmB;;;WAkVrBC,kCAAyB;AACvB,aAAO,gBADgB,sBAChB,EAAP;AAnVmB;;;;;;;;IAuevB,Y;AACE9mD,uEAA2E;AAAA,QAAhB+mD,MAAgB,uEAA3E/mD,KAA2E;;AAAA;;AACzE,sBADyE,SACzE;AACA,qBAFyE,QAEzE;AACA,0BAHyE,aAGzE;AACA,sBAJyE,SAIzE;AACA,kBAAc+mD,SAAS,IAATA,wBAAS,EAATA,GAL2D,IAKzE;AACA,mBANyE,MAMzE;AACA,sBAAkBpD,UAPuD,UAOzE;AACA,gBAAY,IAR6D,UAQ7D,EAAZ;AAEA,8BAVyE,KAUzE;AACA,0BAXyE,KAWzE;AACA,yBAAqB,IAZoD,GAYpD,EAArB;AACA,qBAbyE,KAazE;AAde;;;;SAoBjB,eAAiB;AACf,aAAO,kBADQ,CACf;AArBe;;;SA2BjB,eAAa;AACX,aAAO,eADI,MACX;AA5Be;;;SAmCjB,eAAU;AACR,aAAO,eADC,GACR;AApCe;;;SA0CjB,eAAe;AACb,aAAO,eADM,QACb;AA3Ce;;;SAkDjB,eAAW;AACT,aAAO,eADE,IACT;AAnDe;;;WA2DjBqD,uBAMQ;AAAA,sFANRA,EAMQ;AAAA,UANI,KAMJ,SANI,KAMJ;AAAA,iCAJN1kD,QAIM;AAAA,UAJNA,QAIM,+BAJK,KAFD,MAMJ;AAAA,gCAHNN,OAGM;AAAA,UAHNA,OAGM,8BANI,CAMJ;AAAA,gCAFNC,OAEM;AAAA,UAFNA,OAEM,8BANI,CAMJ;AAAA,iCADNC,QACM;AAAA,UADNA,QACM,+BANI,KAMJ;;AACN,aAAO,gCAAiB;AACtBE,iBAAS,KADa;AAEtBW,aAFsB,EAEtBA,KAFsB;AAGtBT,gBAHsB,EAGtBA,QAHsB;AAItBN,eAJsB,EAItBA,OAJsB;AAKtBC,eALsB,EAKtBA,OALsB;AAMtBC,gBANsB,EAMtBA;AANsB,OAAjB,CAAP;AAlEe;;;WAiFjB+kD,0BAAuC;AAAA,sFAAvCA,EAAuC;AAAA,+BAAtBC,MAAsB;AAAA,UAAtBA,MAAsB,6BAAxB,IAAwB;;AACrC,UAAI,CAAC,KAAD,uBAA6B,4BAAjC,QAAqE;AACnE,mCAA2B,+BACzB,KADyB,YADwC,MACxC,CAA3B;AAIA,kCALmE,MAKnE;AANmC;;AAQrC,aAAO,KAR8B,mBAQrC;AAzFe;;;WAgGjBnB,wBAAe;AACb,aAAQ,sBAAR,KAAQ,sBAAR,GAAmC,iCACjC,KAFW,UACsB,CAAnC;AAjGe;;;WA4GjBoB,kBAAS;AACP,aAAQ,gBAAR,KAAQ,gBAAR,GAA6B,2BAA2B,KADjD,UACsB,CAA7B;AA7Ge;;;WAuHjBC,uBAWG;AAAA;AAAA;AAAA;;AAAA,UAXI,aAWJ,SAXI,aAWJ;AAAA,UAXI,QAWJ,SAXI,QAWJ;AAAA,+BARDF,MAQC;AAAA,UARDA,MAQC,6BAXI,SAWJ;AAAA,wCAPDG,sBAOC;AAAA,UAPDA,sBAOC,sCAXI,KAWJ;AAAA,kCANDlxC,SAMC;AAAA,UANDA,SAMC,gCAXI,IAWJ;AAAA,mCALDmxC,UAKC;AAAA,UALDA,UAKC,iCAXI,IAWJ;AAAA,sCAJDC,aAIC;AAAA,UAJDA,aAIC,oCAXI,IAWJ;AAAA,mCAHDC,UAGC;AAAA,UAHDA,UAGC,iCAXI,IAWJ;AAAA,wCAFDC,wBAEC;AAAA,UAFDA,wBAEC,sCAXI,KAWJ;AAAA,wCADDC,4BACC;AAAA,UADDA,4BACC,sCAXHN,IAWG;;AACD,UAEE19B,+GAFF,WAGE;AACAi9B,uCACE,6DAFF,4DACAA;AAIAc,gEAA6B,CAAC,CAAC/9B,aAL/B,iBAKA+9B;AATD;;AAWD,UAAI,KAAJ,QAAiB;AACf,yBADe,SACf;AAZD;;AAeD,UAAME,kBAAkBT,+BAfvB,SAeD;AAGA,4BAlBC,KAkBD;;AAEA,UAAI,CAAJ,8BAAmC;AACjCQ,uCAA+B,gBADE,wBACF,EAA/BA;AArBD;;AAwBD,UAAIE,cAAc,uBAxBjB,eAwBiB,CAAlB;;AACA,UAAI,CAAJ,aAAkB;AAChBA,sBAAc9iD,cADE,IACFA,CAAd8iD;;AACA,gDAFgB,WAEhB;AA3BD;;AA+BD,UAAIA,YAAJ,2BAA2C;AACzCC,qBAAaD,YAD4B,yBACzCC;AACAD,gDAFyC,IAEzCA;AAjCD;;AAoCD,UAAME,wBACJP,iBACA,yBAAyB;AAAE/mD,uBAAe,KAtC3C;AAsC0B,OAAzB,CAFF;AAGA,UAAMunD,oBAAoBN,2BACtB,kCADsBA,eAvCzB,IAuCD;;AAMA,UAAI,CAACG,YAAL,wBAAyC;AACvCA,6CADuC,oCACvCA;AACAA,mCAA2B;AACzBI,mBADyB;AAEzBC,qBAFyB;AAGzBC,qBAHyB;AAAA,SAA3BN;;AAMA,YAAI,KAAJ,QAAiB;AACf,2BADe,cACf;AATqC;;AAWvC,+BAAuB;AACrBO,qBAAW,KADU;AAErBjB,kBAFqB;AAGrBG,kCAAwBA,2BAHH;AAIrBU,2BAJqB,EAIrBA;AAJqB,SAAvB;AAxDD;;AAgED,UAAMx8C,WAAWoZ,SAAXpZ,QAAWoZ,QAAS;AACxBijC,0CADwB,kBACxBA;;AAIA,YAAI,6BAA2BD,oBAA/B,SAA4D;AAC1D,kCAD0D,IAC1D;AANsB;;AAQxB,eARwB,WAQxB;;AAEA,mBAAW;AACTS,+CADS,KACTA;;AAEA,oCAAwB;AACtBR,uBADsB,EACtBA,WADsB;AAEtB3mD,oBAFsB;AAAA,WAAxB;AAHF,eAOO;AACLmnD,wCADK,OACLA;AAlBsB;;AAoBxB,YAAI,OAAJ,QAAiB;AACf,gCADe,WACf;;AACA,gCAFe,SAEf;AAtBsB;AAhEzB,OAgED;;AA0BA,UAAMA,qBAAqB,uBAAuB;AAChD/lB,kBADgD;AAGhDggB,gBAAQ;AACNgG,uBADM,EACNA,aADM;AAENC,kBAFM,EAENA,QAFM;AAGNnyC,mBAHM,EAGNA,SAHM;AAINmxC,oBAJM,EAINA,UAJM;AAKNE,oBALM,EAKNA;AALM,SAHwC;AAUhDe,cAAM,KAV0C;AAWhDC,oBAAY,KAXoC;AAYhDC,sBAAcb,YAZkC;AAahDO,mBAAW,KAbqC;AAchDZ,uBAdgD;AAehDmB,kCAA0Bf,oBAfsB;AAgBhDZ,gBAAQ,KAhBwC;AAAA,OAAvB,CAA3B;AAmBC,+EAA4B,IAA7B,GAA6B,EAA5B,GAAD,GAAC,CA7GA,kBA6GA;AACD,UAAM4B,aAAaP,mBA9GlB,IA8GD;AAEAn1B,kBAAY,CACV20B,mCADU,sCAAZ30B,OAIQ,iBAA2C;AAAA;AAAA,YAA1C,YAA0C;AAAA,YAA3C,qBAA2C;;AAC/C,YAAI,OAAJ,gBAAyB;AACvB1nB,kBADuB;AAAA;AADsB;;AAK/C,YAAI,OAAJ,QAAiB;AACf,6BADe,WACf;AAN6C;;AAQ/C68C,8CAAsC;AACpCQ,sBADoC,EACpCA,YADoC;AAEpCC,+BAFoC,EAEpCA;AAFoC,SAAtCT;AAIAA,2BAZ+C,mBAY/CA;AAhBJn1B,kBAhHC,QAgHDA;AAoBA,aApIC,UAoID;AAtQe;;;WA6QjB61B,2BAAkB;AAChB,qCAA+B;AAC7B,YAAIlB,yBAAJ,WAAwC;AACtCA,mDAAyCA,YADH,YACtCA;AAEAA,4CAHsC,UAGtCA;AAJ2B;AADf;;AAShB,UAAMD,kBATU,QAShB;;AACA,UAAIC,cAAc,uBAVF,eAUE,CAAlB;;AACA,UAAI,CAAJ,aAAkB;AAChBA,sBAAc9iD,cADE,IACFA,CAAd8iD;;AACA,gDAFgB,WAEhB;AAbc;;AAehB,UAfgB,UAehB;;AAEA,UAAI,CAACA,YAAL,sBAAuC;AAAA;;AACrCmB,qBAAajkD,cADwB,IACxBA,CAAbikD;AACAA,yCAFqC,mBAErCA;AACAnB,2CAHqC,oCAGrCA;AACC,mFAA4B,IAA7B,GAA6B,EAA5B,GAAD,GAAC,CAJoC,UAIpC;AACDA,mCAA2B;AACzBI,mBADyB;AAEzBC,qBAFyB;AAGzBC,qBAHyB;AAAA,SAA3BN;;AAMA,YAAI,KAAJ,QAAiB;AACf,2BADe,cACf;AAZmC;;AAcrC,+BAAuB;AACrBO,qBAAW,KADU;AAErBjB,kBAFqB;AAAA,SAAvB;AA/Bc;;AAoChB,aAAOU,iCApCS,OAoChB;AAjTe;;;WAwTjBoB,6BAIQ;AAAA,sFAJRA,EAIQ;AAAA,wCAHNC,mBAGM;AAAA,UAHNA,mBAGM,sCAJU,KAIV;AAAA,wCAFNC,uBAEM;AAAA,UAFNA,uBAEM,sCAJU,KAIV;AAAA,wCADNC,oBACM;AAAA,UADNA,oBACM,sCAJU,KAIV;;AACN,UAAMC,0BADA,GACN;AAEA,aAAO,gEAEL;AACEjB,mBAAW,KADb;AAEEc,6BAAqBA,wBAFvB;AAGEI,0BAAkBH,4BAHpB;AAIEC,8BAAsBA,yBAJxB;AAAA,OAFK,EAQL;AACEha,uBADF;AAEEpS,YAFF,gBAEEA,WAFF,EAEoB;AAChB,iBAAOusB,kBADS,MAChB;AAHJ;AAAA,OARK,CAAP;AA/Te;;;WAqVjBC,0BAA4B;AAAA,UAAblH,MAAa,uEAA5BkH,EAA4B;AAC1B,UAAMC,iBAAiB,uBADG,MACH,CAAvB;AAEA,aAAO,YAAY,2BAA2B;AAC5C,wBAAgB;AACd9mB,6BAAmB,iBAA2B;AAAA;;AAAA,gBAAjB,KAAiB,SAAjB,KAAiB;AAAA,gBAA3B,IAA2B,SAA3B,IAA2B;;AAC5C,sBAAU;AACR/gC,sBADQ,WACRA;AADQ;AADkC;;AAK5CmD,0BAAcwkD,YAAdxkD,QAAkCoC,MALU,MAK5CpC;;AACAwkD,uGAA0BpiD,MANkB,KAM5CoiD;;AACAG,gBAP4C;AAA9C/mB,aADc,MACdA;AAF0C;;AAa5C,YAAMA,SAAS8mB,eAb6B,SAa7BA,EAAf;AACA,YAAMF,cAAc;AAClBI,iBADkB;AAElBC,kBAAQ7kD,cAFU,IAEVA;AAFU,SAApB;AAIA2kD,YAlB4C;AAHpB,OAGnB,CAAP;AAxVe;;;WAmXjBG,yBAAgB;AACd,aAAQ,uBAAR,KAAQ,uBAAR,GAAoC,8BAClC,KAFY,UACsB,CAApC;AApXe;;;WA6XjBC,oBAAW;AACT,uBADS,IACT;AACA,gCAA0B,KAA1B,cAFS,IAET;AAEA,UAAMC,SAJG,EAIT;;AAJS,kDAK2B,KAApC,aALS;AAAA;;AAAA;AAKT,+DAAwD;AAAA;AAAA,cAA7C,MAA6C;AAAA,cAAxD,WAAwD;;AACtD,kCAAwB;AACtBlC,uBADsB,EACtBA,WADsB;AAEtB3mD,oBAAQ,UAFc,qBAEd,CAFc;AAGtB8oD,mBAHsB;AAAA,WAAxB;;AAMA,cAAI7C,WAAJ,UAAyB;AAAA;AAP6B;;AAAA,sDAWrBU,YAAjC,WAXsD;AAAA;;AAAA;AAWtD,mEAA0D;AAAA,kBAA1D,kBAA0D;AACxDkC,0BAAY1B,mBAD4C,SACxD0B;AACA1B,iCAFwD,MAExDA;AAboD;AAAA;AAAA;AAAA;AAAA;AAAA;AAL/C;AAAA;AAAA;AAAA;AAAA;AAAA;;AAqBT,gBArBS,KAqBT;AACA,iCAtBS,IAsBT;AACA,+BAvBS,IAuBT;AACA,yBAxBS,IAwBT;AACA,gCAzBS,IAyBT;AACA,4BA1BS,KA0BT;AACA,aAAOn1B,YA3BE,MA2BFA,CAAP;AAxZe;;;WAkajBuzB,mBAA4B;AAAA,UAApBwD,UAAoB,uEAA5BxD,KAA4B;AAC1B,4BAD0B,IAC1B;AACA,aAAO,iBAFmB,UAEnB,CAAP;AApae;;;WA2ajByD,uBAAgC;AAAA,UAApBD,UAAoB,uEAAhCC,KAAgC;;AAC9B,UAAI,CAAC,KAAL,gBAA0B;AACxB,eADwB,KACxB;AAF4B;;AAAA,kDAIc,mBAA5C,MAA4C,EAJd;AAAA;;AAAA;AAI9B,+DAAyE;AAAA;AAAA,cAA9D,WAA8D,gBAA9D,WAA8D;AAAA,cAAzE,YAAyE,gBAAzE,YAAyE;;AACvE,cAAIC,wBAAwB,CAACzB,aAA7B,WAAqD;AACnD,mBADmD,KACnD;AAFqE;AAJ3C;AAAA;AAAA;AAAA;AAAA;AAAA;;AAU9B,yBAV8B,KAU9B;;AACA,gBAX8B,KAW9B;AACA,iCAZ8B,IAY9B;AACA,+BAb8B,IAa9B;AACA,yBAd8B,IAc9B;AACA,gCAf8B,IAe9B;;AACA,UAAIuB,cAAc,KAAlB,QAA+B;AAC7B,sBAAc,IADe,wBACf,EAAd;AAjB4B;;AAmB9B,4BAnB8B,KAmB9B;AACA,aApB8B,IAoB9B;AA/be;;;WAqcjBG,gDAAuC;AACrC,UAAMvC,cAAc,uBADiB,MACjB,CAApB;;AACA,UAAI,CAAJ,aAAkB;AAAA;AAFmB;;AAKrC,UAAI,KAAJ,QAAiB;AACf,4BADe,cACf;AANmC;;AAUrC,UAAIA,YAAJ,wBAAwC;AACtCA,mDADsC,YACtCA;AAXmC;AArctB;;;WAudjBwC,0DAAiD;AAE/C,WAAK,IAAIlmD,IAAJ,GAAWD,KAAKomD,kBAArB,QAA+CnmD,IAA/C,IAAuDA,CAAvD,IAA4D;AAC1D0jD,8CAAsCyC,0BADoB,CACpBA,CAAtCzC;AACAA,gDAAwCyC,4BAFkB,CAElBA,CAAxCzC;AAJ6C;;AAM/CA,2CAAqCyC,kBANU,SAM/CzC;;AAN+C,kDASdA,YAAjC,WAT+C;AAAA;;AAAA;AAS/C,+DAA0D;AAAA,cAA1D,kBAA0D;AACxDQ,6BADwD,mBACxDA;AAV6C;AAAA;AAAA;AAAA;AAAA;AAAA;;AAa/C,UAAIiC,kBAAJ,WAAiC;AAC/B,aAD+B,WAC/B;AAd6C;AAvdhC;;;WA4ejBC,iCAAwB;AAAA;;AACtBzoD,wBACEs4B,KADFt4B,QADsB,6DACtBA;;AAKA,UAAM2nD,iBAAiB,iEAND,IAMC,CAAvB;;AAIA,UAAM9mB,SAAS8mB,eAVO,SAUPA,EAAf;;AAEA,UAAM5B,cAAc,uBAAuBztB,KAZrB,MAYF,CAApB;;AACAytB,iCAbsB,MAatBA;;AAEA,UAAM6B,OAAO,SAAPA,IAAO,GAAM;AACjB/mB,2BACE,kBAAqB;AAAA,cAApB,KAAoB,UAApB,KAAoB;AAAA,cAArB,IAAqB,UAArB,IAAqB;;AACnB,oBAAU;AACRklB,uCADQ,IACRA;AADQ;AADS;;AAKnB,cAAI,kBAAJ,WAA+B;AAAA;AALZ;;AAQnB,yCARmB,WAQnB;;AACA6B,cATmB;AADvB/mB,WAYEzhC,kBAAU;AACR2mD,qCADQ,IACRA;;AAEA,cAAI,kBAAJ,WAA+B;AAAA;AAHvB;;AAMR,cAAIA,YAAJ,cAA8B;AAE5BA,iDAF4B,IAE5BA;;AAF4B,wDAIKA,YAAjC,WAJ4B;AAAA;;AAAA;AAI5B,qEAA0D;AAAA,oBAA1D,kBAA0D;AACxDQ,mCADwD,mBACxDA;AAL0B;AAAA;AAAA;AAAA;AAAA;AAAA;;AAO5B,mBAP4B,WAO5B;AAbM;;AAgBR,cAAIR,YAAJ,wBAAwC;AACtCA,sDADsC,MACtCA;AADF,iBAEO,IAAIA,YAAJ,sBAAsC;AAC3CA,oDAD2C,MAC3CA;AADK,iBAEA;AACL,kBADK,MACL;AArBM;AAbK,SACjBllB;AAhBoB,OAetB;;AAuCA+mB,UAtDsB;AA5eP;;;WAwiBjBc,oCAA2D;AAAA;;AAAA,UAAxC,WAAwC,UAAxC,WAAwC;AAAA,UAAxC,MAAwC,UAAxC,MAAwC;AAAA,gCAAjBR,KAAiB;AAAA,UAAjBA,KAAiB,6BAA3DQ,KAA2D;AACzD1oD,wBACEZ,2BACG,gCAA8BA,WAFnCY,MADyD,8DACzDA;;AAMA,UAAI,CAAC+lD,YAAL,cAA+B;AAAA;AAP0B;;AAUzD,UAAI,CAAJ,OAAY;AAGV,YAAIA,+BAAJ,GAAsC;AAAA;AAH5B;;AASV,YAAI3mD,kBAAJ,4CAAmD;AACjD2mD,kDAAwC,WAAW,YAAM;AACvD,sCAAwB;AAAEA,yBAAF,EAAEA,WAAF;AAAe3mD,oBAAf,EAAeA,MAAf;AAAuB8oD,qBAAvB;AAAA,aAAxB;;AACAnC,oDAFuD,IAEvDA;AAFsC,aADS,2BACT,CAAxCA;AADiD;AATzC;AAV6C;;AA2BzDA,sCAAgC,yBAAmB3mD,MAAnB,aAAmBA,MAAnB,uBAAmBA,OA3BM,OA2BzB,CAAhC2mD;AACAA,iCA5ByD,IA4BzDA;;AAEA,UAAI,gBAAJ,WAA+B;AAAA;AA9B0B;;AAAA,mDAmClB,KAAvC,aAnCyD;AAAA;;AAAA;AAmCzD,kEAA2D;AAAA;AAAA,cAAhD,MAAgD;AAAA,cAA3D,cAA2D;;AACzD,cAAI4C,mBAAJ,aAAoC;AAClC,yCADkC,MAClC;;AADkC;AADqB;AAnCF;AAAA;AAAA;AAAA;AAAA;AAAA;;AA0CzD,WA1CyD,OA0CzD;AAllBe;;;SAwlBjB,eAAY;AACV,aAAO,KADG,MACV;AAzlBe;;;;;;;;IA6lBnB,Y;AACExqD,0BAAc;AAAA;;AACZ,sBADY,EACZ;AACA,qBAAiBizB,gBAFL,SAEKA,CAAjB;AAHe;;;;WAMjBgH,qCAA4B;AAAA;;AAC1B,iCAA2B;AAGzB,YAAI,+BAA6B/yB,UAAjC,MAAiD;AAC/C,iBAD+C,KAC/C;AAJuB;;AAMzB,YAAIujD,WAAJ,KAAIA,CAAJ,EAAuB;AAErB,iBAAOA,WAFc,KAEdA,CAAP;AARuB;;AAUzB,oBAVyB,MAUzB;;AACA,YAAK,UAASvjD,MAAV,MAAC,KAA0Bi7C,yBAA/B,MAA+BA,CAA/B,EAAsD;AAEpD,cAAIuI,SAAJ,aAAIA,SAAJ,eAAIA,mBAAJ,MAAIA,CAAJ,EAAiC;AAC/BvhD,qBAAS,IAAIjC,MAAJ,oBAEPA,MAFO,YAGPA,MAJ6B,UACtB,CAATiC;AADF,iBAMO;AACLA,qBAAS,IAAIjC,MAAJ,YADJ,KACI,CAATiC;AATkD;;AAWpDshD,4BAXoD,MAWpDA;AACA,iBAZoD,MAYpD;AAvBuB;;AAyBzB,YAAIvjD,iBAAJ,KAA0B;AACxBiC,mBAAS,IADe,GACf,EAATA;AACAshD,4BAFwB,MAExBA;;AAFwB,uDAGxB,KAHwB;AAAA;;AAAA;AAGxB,sEAAgC;AAAA;AAAA,kBAArB,GAAqB;AAAA,kBAAhC,GAAgC;;AAC9BthD,8BAAgBwhD,WADc,GACdA,CAAhBxhD;AAJsB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMxB,iBANwB,MAMxB;AA/BuB;;AAiCzB,YAAIjC,iBAAJ,KAA0B;AACxBiC,mBAAS,IADe,GACf,EAATA;AACAshD,4BAFwB,MAExBA;;AAFwB,uDAGxB,KAHwB;AAAA;;AAAA;AAGxB,sEAAyB;AAAA,kBAAzB,IAAyB;AACvBthD,yBAAWwhD,WADY,IACZA,CAAXxhD;AAJsB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMxB,iBANwB,MAMxB;AAvCuB;;AAyCzB,YAAIjC,iBAAJ,KAA0B;AACxB,gBAAM,6DADkB,KAClB,EAAN;AA1CuB;;AA4CzBiC,iBAASwV,4BAA4B7Z,cA5CZ,IA4CYA,CAArCqE;AACAshD,0BA7CyB,MA6CzBA;;AAGA,6BAAuB;AACrB,cAAIG,IAAJ;AAAA,cACE5rC,IAFmB,KACrB;;AAEA,iBAAO,EAAE,OAAOla,mCAAhB,CAAgBA,CAAT,CAAP,EAAwD;AACtDka,gBAAIla,sBADkD,CAClDA,CAAJka;AAJmB;;AAMrB,cAAI,OAAO4rC,KAAP,UAAJ,aAAuC;AAAA;AANlB;;AASrB,cAAI,OAAOA,KAAP,UAAJ,YAAsC;AAAA;;AACpC,yCAAI1jD,oBAAJ,kDAAIA,kCAAJ,CAAIA,CAAJ,EAA+B;AAC7B,oBAAM,6DACwCA,MAFjB,CAEiBA,CADxC,EAAN;AAFkC;;AAAA;AATjB;;AAiBrBiC,sBAAYwhD,WAAWC,KAjBF,KAiBTD,CAAZxhD;AAjEuB;;AAmEzB,eAnEyB,MAmEzB;AApEwB;;AAuE1B,UAAMshD,SAAS,IAvEW,OAuEX,EAAf;AACA,UAAMrzB,QAAQ;AAAEpZ,cAAM2sC,WAxEI,GAwEJA;AAAR,OAAd;;AAEA,0BAAoB,YAAM;AAAA,qDACD,OAAvB,UADwB;AAAA;;AAAA;AACxB,oEAAwC;AAAA,gBAAxC,QAAwC;AACtC5wB,kCADsC,KACtCA;AAFsB;AAAA;AAAA;AAAA;AAAA;AAAA;AA1EA,OA0E1B;AAhFe;;;WAuFjBU,0CAAiC;AAC/B,2BAD+B,QAC/B;AAxFe;;;WA2FjBuf,6CAAoC;AAClC,UAAM91C,IAAI,wBADwB,QACxB,CAAV;;AACA,gCAFkC,CAElC;AA7Fe;;;WAgGjBg9C,qBAAY;AACV,+BADU,CACV;AAjGe;;;;;;;;AA8GnB,IAAM0B,YAAa,4BAA4B;AAC7C,MAAMiI,iBAAiB,IADsB,OACtB,EAAvB;AACA,MAAIC,mBAFyC,KAE7C;AACA,MAH6C,iBAG7C;AACA,MAAIC,mBAJyC,CAI7C;AACA,MAL6C,oBAK7C;;AAIE,MAAI3oC,qBAAY,mBAAhB,YAA+D;AAE7D0oC,uBAF6D,IAE7DA;AAKEE,wBAP2D,iBAO3DA;AAPJ,SASO,IAAI,oFAAgC,mBAApC,UAAiE;AAAA;;AACtE,QAAMC,yCAAgB5pD,sBAAhB4pD,0DAAgB5pD,sBADgD,GACtE;;AACA,uBAAmB;AACjB2pD,0BAAoBC,mDADH,aACGA,CAApBD;AAHoE;AAlB7B;;AA6B7C,2BAAwB;AACtB,QAAIrI,oCAAJ,WAAmC;AACjC,aAAOA,oCAD0B,SACjC;AAFoB;;AAItB,QAAI,6BAAJ,aAA8C;AAC5C,UAAI,CAAJ,mBAAe;AACbgE,uCADa,+CACbA;AAF0C;;AAI5C,aAJ4C,iBAI5C;AARoB;;AAUtB,UAAM,UAVgB,+CAUhB,CAAN;AAvC2C;;AA0C7C,+CAA6C;AAC3C,QAD2C,wBAC3C;;AACA,QAAI;AAAA;;AACFuE,0DAA2BzqD,sBAA3ByqD,0DAA2BzqD,sBADzB,oBACFyqD;AADF,MAEE,WAAW,CAJ8B;;AAO3C,WAAOA,4BAPoC,IAO3C;AAjD2C;;AAqD7C,mCAAiC;AAC/B,8BAA0B;AACxB,aAAOC,qBADiB,OACxB;AAF6B;;AAI/BA,2BAJ+B,oCAI/BA;;AAEA,QAAMC;AAAAA,gFAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AACPF,wCADO,GACoBG,iCADF,EAAlB;;AAAA,qBAGb,wBAHa;AAAA;AAAA;AAAA;;AAAA,iDAGiB,wBAHjB;;AAAA;AAAA,sBAYX,qBAGA,mBAJF,UAXa;AAAA;AAAA;AAAA;;AA8BL9I,sBA9BK,GA8BI+I,gBAAgBC,aAd/B,EAceD,CA9BJ;AAAA,iDA+BJ/I,OAfP,oBAhBW;;AAAA;AAAA;AAAA,uBAiCPiJ,+BAAWD,aAjCc,EAiCzBC,CAjCO;;AAAA;AAAA,iDAkCNxnC,mBAlCwB,oBAAlB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAATonC;;AAAAA;AAAAA;AAAAA;AAAAA,OAAN;;AAoCAA,kBAAcD,qBAAdC,SAA4CD,qBA1Cb,MA0C/BC;AAEA,WAAOD,qBA5CwB,OA4C/B;AAjG2C;;AAoG7C,iCAA+B;AAI7B,QAAMtzB,UAAU,0BAJa,KAI7B;AACA,WAAOtW,oBAAoB,SAAS,CALP,OAKO,CAAT,CAApBA,CAAP;AAzG2C;;AAAA,MAmH7C,SAnH6C;AAuH3CvhB,yBAIQ;AAAA,uFAJRA,EAIQ;AAAA,+BAHNgF,IAGM;AAAA,UAHNA,IAGM,4BAJI,IAIJ;AAAA,+BAFN40B,IAEM;AAAA,UAFNA,IAEM,4BAJI,IAIJ;AAAA,oCADNhd,SACM;AAAA,UADNA,SACM,iCAJI,8BAIJ;;AAAA;;AACN,UAAIgd,QAAQixB,mBAAZ,IAAYA,CAAZ,EAAsC;AACpC,cAAM,UAD8B,6CAC9B,CAAN;AAFI;;AAKN,kBALM,IAKN;AACA,uBANM,KAMN;AACA,kCAPM,IAON;AACA,uBARM,SAQN;AAEA,8BAVM,oCAUN;AACA,mBAXM,IAWN;AACA,wBAZM,IAYN;AACA,6BAbM,IAaN;;AAEA,gBAAU;AACRA,iCADQ,IACRA;;AACA,iCAFQ,IAER;;AAFQ;AAfJ;;AAoBN,WApBM,WAoBN;AA5BY;;AAnH6B;AAAA;AAAA,WAkJ3C,eAAc;AACZ,eAAO,sBADK,OACZ;AAhCY;AAnH6B;AAAA;AAAA,WAsJ3C,eAAW;AACT,eAAO,KADE,KACT;AApCY;AAnH6B;AAAA;AAAA,WA0J3C,eAAqB;AACnB,eAAO,KADY,eACnB;AAxCY;AAnH6B;AAAA;AAAA,aA8J3CY,mCAA0B;AACxB,qBADwB,IACxB;AACA,+BAAuB,sDAFC,IAED,CAAvB;;AACA,yCAAiC,YAAY,CAHrB,CAGxB;;AAIA,8BAPwB,OAOxB;AAlDY;AAnH6B;AAAA;AAAA,aAwK3CC,uBAAc;AAAA;;AAMZ,YACE,iCACA,CADA,oBAEA,CAACL,iCAHH,IAIE;AACA,cAAIM,YAAYJ,aADhB,EACA;;AAEA,cAAI;AAGF,gBAGE,CAACK,wBAAa5nC,gBAAb4nC,MAHH,SAGGA,CAHH,EAIE;AACAD,0BAAYE,iBACV,mBAAmB7nC,OAAnB,UAFF,IACY6nC,CAAZF;AARA;;AAeF,gBAAMpJ,SAAS,WAfb,SAea,CAAf;AACA,gBAAMmB,iBAAiB,sDAhBrB,MAgBqB,CAAvB;;AACA,gBAAMoI,iBAAiB,SAAjBA,cAAiB,GAAM;AAC3BvJ,kDAD2B,aAC3BA;AACAmB,6BAF2B,OAE3BA;AACAnB,qBAH2B,SAG3BA;;AACA,kBAAI,OAAJ,WAAoB;AAClB,+CAA6B,UADX,sBACW,CAA7B;AADF,qBAEO;AAGL,uBAHK,gBAGL;AATyB;AAjB3B,aAiBF;;AAaA,gBAAMwJ,gBAAgB,SAAhBA,aAAgB,GAAM;AAC1B,kBAAI,CAAC,OAAL,YAAsB;AAGpBD,8BAHoB;AADI;AA9B1B,aA8BF;;AAOAvJ,6CArCE,aAqCFA;AAEAmB,sCAA0B1lC,gBAAQ;AAChCukC,kDADgC,aAChCA;;AACA,kBAAI,OAAJ,WAAoB;AAClBuJ,8BADkB;AAAA;AAFY;;AAMhC,wBAAU;AAER,yCAFQ,cAER;AACA,+BAHQ,MAGR;AACA,oCAJQ,MAIR;;AACA,oBAAI,CAAC9tC,KAAL,kBAA4B;AAC1B,gDAD0B,KAC1B;AANM;;AAQR,wCARQ,OAQR;;AAEA0lC,iDAAiC;AAC/B9mC,6BAAW,OAXL;AAUyB,iBAAjC8mC;AAVF,qBAaO;AACL,uBADK,gBACL;;AACAA,+BAFK,OAELA;AACAnB,uBAHK,SAGLA;AAtB8B;AAvChC,aAuCFmB;AA0BAA,uCAA2B1lC,gBAAQ;AACjCukC,kDADiC,aACjCA;;AACA,kBAAI,OAAJ,WAAoB;AAClBuJ,8BADkB;AAAA;AAFa;;AAMjC,kBAAI;AACFE,wBADE;AAAJ,gBAEE,UAAU;AAEV,uBAFU,gBAEV;AAV+B;AAjEjC,aAiEFtI;;AAcA,gBAAMsI,WAAW,SAAXA,QAAW,GAAM;AACrB,kBAAMC,UAAU,eAAe,CAC7B,oCAFmB,CACU,CAAf,CAAhB;;AAKA,kBAAI;AACFvI,qDAAqC,CAACuI,QADpC,MACmC,CAArCvI;AADF,gBAEE,WAAW;AACXl/C,gCADW,mCACXA;AACAynD,6BAFW,CAEXA;AACAvI,4CAHW,OAGXA;AAXmB;AA/ErB,aA+EF;;AAmBAsI,oBAlGE;AAAA;AAAJ,YAoGE,UAAU;AACV7hD,4BADU,+BACVA;AAxGF;AAVU;;AAuHZ,aAvHY,gBAuHZ;AA5KY;AAnH6B;AAAA;AAAA,aAkS3C+hD,4BAAmB;AAAA;;AACjB,YAAI,CAAJ,kBAAuB;AACrB1nD,0BADqB,yBACrBA;AACAsmD,6BAFqB,IAErBA;AAHe;;AAMjBqB,qCACQC,gCAAwB;AAC5B,cAAI,QAAJ,WAAoB;AAClB,4CAA6B,UADX,sBACW,CAA7B;;AADkB;AADQ;;AAK5B,cAAMxyB,OAAO,IALe,YAKf,EAAb;AACA,0BAN4B,IAM5B;AAGA,cAAMhR,KAAK,SAASmiC,gBATQ,EAS5B;AAIA,cAAMsB,gBAAgB,oCAAmBzjC,KAAnB,eAbM,IAaN,CAAtB;AACAwjC,oDAd4B,IAc5BA;AAEA,cAAM1I,iBAAiB,wCAAuB96B,KAAvB,WAhBK,IAgBL,CAAvB;AACA,oCAjB4B,cAiB5B;;AACA,mCAlB4B,OAkB5B;;AAEA86B,2CAAiC;AAC/B9mC,uBAAW,QArBe;AAoBK,WAAjC8mC;AArBJyI,oBAyBSlrD,kBAAU;AACf,0CACE,qDAA6CA,OAFhC,OAEb,SADF;AAhCa,SAMjBkrD;AArLY;AAnH6B;AAAA;AAAA,aA2U3C5rD,mBAAU;AACR,yBADQ,IACR;;AACA,YAAI,KAAJ,YAAqB;AAEnB,0BAFmB,SAEnB;;AACA,4BAHmB,IAGnB;AALM;;AAORsqD,iCAAsB,KAPd,KAORA;AACA,qBARQ,IAQR;;AACA,YAAI,KAAJ,iBAA0B;AACxB,+BADwB,OACxB;;AACA,iCAFwB,IAExB;AAXM;AAxNI;AAnH6B;AAAA;AAAA,aA8V3C,0BAAwB;AACtB,YAAI,WAAW,CAACxI,OAAhB,MAA6B;AAC3B,gBAAM,UADqB,gDACrB,CAAN;AAFoB;;AAItB,YAAIwI,mBAAmBxI,OAAvB,IAAIwI,CAAJ,EAAqC;AACnC,iBAAOA,mBAAmBxI,OADS,IAC5BwI,CAAP;AALoB;;AAOtB,eAAO,cAPe,MAOf,CAAP;AAlPY;AAnH6B;AAAA;AAAA,aAwW3C,wBAAsB;AACpB,eAAOU,aADa,EACpB;AAtPY;AAnH6B;;AAAA;AAAA;;AA4W7C,SA5W6C,SA4W7C;AAxrEF,CA40DmB,EAAnB;;;;IAmXA,e;AACEvrD,+EAAgE;AAAA;;AAC9D,0BAD8D,cAC9D;AACA,uBAF8D,WAE9D;AACA,sBAAkB,IAH4C,UAG5C,EAAlB;AACA,sBAAkB,4BAAe;AAC/B6iD,aAAOyJ,YADwB;AAE/BC,4BAAsB,gCAFS,IAET,CAFS;AAG/B/rD,qBAAe6hD,OAHgB;AAAA,KAAf,CAAlB;AAKA,mBAT8D,MAS9D;AACA,6BAAyB,IAAIA,OAAJ,kBAA6B;AACpDzhD,eAASyhD,OAD2C;AAEpDxhD,oBAAcwhD,OAFsC;AAAA,KAA7B,CAAzB;AAKA,qBAf8D,KAe9D;AACA,6BAhB8D,IAgB9D;AACA,+BAjB8D,IAiB9D;AAEA,0BAnB8D,aAmB9D;AACA,uBApB8D,IAoB9D;AACA,yBArB8D,IAqB9D;AAEA,qBAvB8D,EAuB9D;AACA,wBAxB8D,EAwB9D;AACA,kCAzB8D,oCAyB9D;AAEA,SA3B8D,mBA2B9D;AA5BkB;;;;SA+BpB,eAAwB;AACtB,aAAO/jC,6CAAkC,IADnB,qCACmB,EAAlCA,CAAP;AAhCkB;;;WAmCpB/d,mBAAU;AAAA;;AACR,UAAI,KAAJ,mBAA4B;AAC1B,eAAO,uBADmB,OAC1B;AAFM;;AAKR,uBALQ,IAKR;AACA,+BANQ,oCAMR;;AAEA,UAAI,KAAJ,qBAA8B;AAC5B,wCACE,UAF0B,iDAE1B,CADF;AATM;;AAcR,UAAMupD,SAdE,EAcR;;AAdQ,mDAiBW,KAAnB,SAjBQ;AAAA;;AAAA;AAiBR,kEAAmC;AAAA,cAAnC,IAAmC;;AACjC,oBAAU;AACRA,wBAAY0C,KADJ,QACIA,EAAZ1C;AAF+B;AAjB3B;AAAA;AAAA;AAAA;AAAA;AAAA;;AAsBR,8BAtBQ,CAsBR;AACA,iCAvBQ,CAuBR;;AAEA,UAAI,oBAAJ,mBAAI,CAAJ,EAA8C;AAC5C,+BAD4C,aAC5C;AA1BM;;AA6BR,UAAM2C,aAAa,iDA7BX,IA6BW,CAAnB;AACA3C,kBA9BQ,UA8BRA;AAEA72B,+BAAyB,YAAM;AAC7B,2BAD6B,KAC7B;;AACA,2BAF6B,KAE7B;;AACA,uCAH6B,IAG7B;;AAEA,YAAI,QAAJ,gBAAyB;AACvB,mDACE,yBAFqB,wBAErB,CADF;AAN2B;;AAW7B,YAAI,QAAJ,gBAAyB;AACvB,iCADuB,OACvB;;AACA,mCAFuB,IAEvB;AAb2B;;AAe7B,kCAf6B,OAe7B;AAfFA,SAgBG,uBAhDK,MAgCRA;AAiBA,aAAO,uBAjDC,OAiDR;AApFkB;;;WAuFpBy5B,+BAAsB;AAAA;;AACpB,UAAM,cAAN,GADoB,IACpB,CAAM,cAAN;AAAA,UAAM,WAAN,GADoB,IACpB,CAAM,WAAN;AAEAhJ,qCAA+B,sBAAgB;AAC7C7hD,0BACE,QADFA,gBAD6C,iDAC7CA;AAIA,8BAAmB,uBAL0B,aAK1B,EAAnB;;AACA,yCAA8B8qD,eAAO;AACnC,kCAAqB;AACnBC,oBAAQD,IADW;AAEnBE,mBAAOF,IAFY;AAAA,WAArB;AAP2C,SAM7C;;AAMAG,sBAAc,YAAM;AAClB,0CAEQ,kBAA2B;AAAA,gBAAjB,KAAiB,UAAjB,KAAiB;AAAA,gBAA3B,IAA2B,UAA3B,IAA2B;;AAC/B,sBAAU;AACRA,mBADQ,KACRA;AADQ;AADqB;;AAK/BjrD,8BACEsgD,yBADFtgD,KACEsgD,CADFtgD,EAL+B,sCAK/BA;AAMAirD,yBAAa,eAAbA,KAAa,CAAbA,KAAuC,CAXR,KAWQ,CAAvCA;AAbJ,sBAeS7rD,kBAAU;AACf6rD,uBADe,MACfA;AAjBc,WAClB;AAb2C,SAY7CA;;AAqBAA,wBAAgB7rD,kBAAU;AACxB,qCADwB,MACxB;;AAEA6rD,8BAAiBC,uBAAe;AAC9B,gBAAI,QAAJ,WAAoB;AAAA;AADU;;AAI9B,kBAJ8B,WAI9B;AAPsB,WAGxBD;AApC2C,SAiC7CA;AApCkB,OAGpBpJ;AA6CAA,8CAAwC1lC,gBAAQ;AAC9C,YAAMgvC,oBADwC,oCAC9C;AACA,YAAMC,aAAa,QAF2B,WAE9C;AACAA,qCAA6B,YAAM;AAGjC,cAAI,CAACA,WAAD,wBAAoC,CAACA,WAAzC,kBAAsE;AACpE,gBAAI,yBAAsBX,YAA1B,YAAkD;AAChDA,qCAAuB,QADyB,aAChDA;AAFkE;;AAIpEW,oCAAwBN,eAAO;AAC7B,kBAAIL,YAAJ,YAA4B;AAC1BA,uCAAuB;AACrBM,0BAAQD,IADa;AAErBE,yBAAOF,IAFc;AAAA,iBAAvBL;AAF2B;AAJqC,aAIpEW;AAP+B;;AAiBjCD,oCAA0B;AACxBE,kCAAsBD,WADE;AAExBE,8BAAkBF,WAFM;AAGxBG,2BAAeH,WAHS;AAAA,WAA1BD;AAjBFC,WAsBGD,kBAzB2C,MAG9CC;AAwBA,eAAOD,kBA3BuC,OA2B9C;AA3EkB,OAgDpBtJ;AA8BAA,0CAAoC,sBAAgB;AAClD7hD,0BACE,QADFA,gBADkD,sDAClDA;;AAIA,YAAMwrD,cAAc,sCAClBrvC,KADkB,OAElBA,KAPgD,GAK9B,CAApB;;AAeA,YAAI,CAAJ,aAAkB;AAChB8uC,eADgB,KAChBA;AADgB;AApBgC;;AAyBlDA,sBAAc,YAAM;AAClBO,kCAEQ,kBAA2B;AAAA,gBAAjB,KAAiB,UAAjB,KAAiB;AAAA,gBAA3B,IAA2B,UAA3B,IAA2B;;AAC/B,sBAAU;AACRP,mBADQ,KACRA;AADQ;AADqB;;AAK/BjrD,8BACEsgD,yBADFtgD,KACEsgD,CADFtgD,EAL+B,2CAK/BA;AAIAirD,yBAAa,eAAbA,KAAa,CAAbA,KAAuC,CATR,KASQ,CAAvCA;AAXJO,sBAaSpsD,kBAAU;AACf6rD,uBADe,MACfA;AAfc,WAClBO;AA1BgD,SAyBlDP;;AAmBAA,wBAAgB7rD,kBAAU;AACxBosD,6BADwB,MACxBA;AAEAP,8BAAiBC,uBAAe;AAC9B,gBAAI,QAAJ,WAAoB;AAAA;AADU;;AAI9B,kBAJ8B,WAI9B;AAPsB,WAGxBD;AA/CgD,SA4ClDA;AA1HkB,OA8EpBpJ;AAwDAA,kCAA4B,kBAAiB;AAAA,YAAjB,OAAiB,UAAjB,OAAiB;AAC3C,4BAAiB4J,QAD0B,QAC3C;;AACAhB,wCAAgC,8BAFW,OAEX,CAAhCA;AAxIkB,OAsIpB5I;AAKAA,wCAAkC,cAAc;AAC9C,YAD8C,MAC9C;;AACA,gBAAQ6J,GAAR;AACE;AACEtsD,qBAAS,4BAAsBssD,GAAtB,SAAkCA,GAD7C,IACW,CAATtsD;AAFJ;;AAIE;AACEA,qBAAS,8BAAwBssD,GADnC,OACW,CAATtsD;AALJ;;AAOE;AACEA,qBAAS,8BAAwBssD,GADnC,OACW,CAATtsD;AARJ;;AAUE;AACEA,qBAAS,sCAAgCssD,GAAhC,SAA4CA,GADvD,MACW,CAATtsD;AAXJ;;AAaE;AACEA,qBAAS,gCAA0BssD,GAA1B,SAAsCA,GADjD,OACW,CAATtsD;AAdJ;AAAA;;AAiBA,YAAI,EAAE,kBAAN,KAAI,CAAJ,EAAgC;AAC9B,cAAMusD,MADwB,wCAC9B;AAOEhpD,0BAR4B,GAQ5BA;AA3B0C;;AA8B9C8nD,uCA9B8C,MA8B9CA;AAzKkB,OA2IpB5I;AAiCAA,2CAAqC+J,qBAAa;AAChD,sCADgD,oCAChD;;AAEA,YAAInB,YAAJ,YAA4B;AAC1B,cAAMoB,iBAAiB5J,SAAjB4J,cAAiB5J,WAAY;AACjC,gDAAiC;AAC/BA,sBAF+B,EAE/BA;AAD+B,aAAjC;AAFwB,WAC1B;;AAKA,cAAI;AACFwI,mDAAuCmB,UADrC,IACFnB;AADF,YAEE,WAAW;AACX,+CADW,EACX;AATwB;AAA5B,eAWO;AACL,6CACE,4BAAsBmB,UAAtB,SAAyCA,UAFtC,IAEH,CADF;AAf8C;;AAmBhD,eAAO,4BAnByC,OAmBhD;AA/LkB,OA4KpB/J;AAsBAA,sCAAgC1lC,gBAAQ;AAGtC,YAAIsuC,YAAJ,YAA4B;AAC1BA,iCAAuB;AACrBM,oBAAQ5uC,KADa;AAErB6uC,mBAAO7uC,KAFc;AAAA,WAAvBsuC;AAJoC;;AAStC,+CATsC,IAStC;AA3MkB,OAkMpB5I;AAYAA,2CAAqC1lC,gBAAQ;AAC3C,YAAI,QAAJ,WAAoB;AAAA;AADuB;;AAK3C,YAAMwuC,OAAO,kBAAexuC,KALe,SAK9B,CAAb;;AACAwuC,8BAAsBxuC,KAAtBwuC,cAAyCxuC,KANE,MAM3CwuC;AApNkB,OA8MpB9I;AASAA,qCAA+B1lC,gBAAQ;AAAA;;AACrC,YAAI,QAAJ,WAAoB;AAAA;AADiB;;AAKrC,mCALqC,IAKrC;AAAA,YAAM,EAAN;AAAA,YAAM,IAAN;AAAA,YAAM,YAAN;;AACA,YAAI,uBAAJ,EAAI,CAAJ,EAA6B;AAAA;AANQ;;AAUrC;AACE;AACE,gBAAMqkC,SAAS,QADjB,OACE;;AAEA,gBAAI,WAAJ,cAA6B;AAC3B,kBAAMsL,gBAAgBC,aADK,KAC3B;AACAppD,mEAF2B,aAE3BA;;AACA,6CAH2B,aAG3B;;AAH2B;AAH/B;;AAUE,gBAAIqpD,eAVN,IAUE;;AACA,gBAAIxL,0CAAiB5hD,wBAAjB4hD,kDAAiB5hD,sBAArB,SAAwD;AACtDotD,6BAAe;AACbC,4BADa,wBACbA,IADa,EACbA,GADa,EACW;AACtBrtD,2DADsB,GACtBA;AAFW;AAAA,eAAfotD;AAZJ;;AAkBE,gBAAMnyC,OAAO,8CAAiC;AAC5C+C,+BAAiB4jC,OAD2B;AAE5C4B,+BAAiB5B,OAF2B;AAG5C+B,4BAAc/B,OAH8B;AAI5CkK,oCAAsB,mCAJsB,OAItB,CAJsB;AAK5CsB,0BAL4C,EAK5CA;AAL4C,aAAjC,CAAb;;AAQA,mDAES5sD,kBAAU;AACf,qBAAOyiD,+CAA+C;AAAE96B,kBADzC,EACyCA;AAAF,eAA/C86B,CAAP;AAHJ,0BAKW,YAAM;AACb,kBAAI,CAACrB,OAAD,uBAA+B3mC,KAAnC,MAA8C;AAM5CA,4BAN4C,IAM5CA;AAPW;;AASb,6CATa,IASb;AAxCN,aA0BE;;AA3BJ;;AA4CE,eA5CF,UA4CE;AACA;AACE,2CADF,YACE;;AA9CJ;;AAgDE;AACE,kBAAM,mDAjDV,IAiDU,EAAN;AAjDJ;AAjOkB,OAuNpBgoC;AA+DAA,+BAAyB1lC,gBAAQ;AAAA;;AAC/B,YAAI,QAAJ,WAAoB;AAElB,iBAFkB,SAElB;AAH6B;;AAM/B,oCAN+B,IAM/B;AAAA,YAAM,EAAN;AAAA,YAAM,SAAN;AAAA,YAAM,IAAN;AAAA,YAAM,SAAN;;AACA,YAAM+vC,YAAY,kBAPa,SAOb,CAAlB;;AACA,YAAIA,mBAAJ,EAAIA,CAAJ,EAA4B;AAC1B,iBAD0B,SAC1B;AAT6B;;AAY/B;AACE;AACEA,uCADF,SACEA;AAGA,gBAAMC,0BAJR,OAIE;;AACA,gBAAIC,sKAAJ,yBAAuD;AACrDF,6CADqD,IACrDA;AANJ;;AADF;;AAUE;AACE,kBAAM,4CAXV,IAWU,EAAN;AAXJ;;AAaA,eAzB+B,SAyB/B;AA/SkB,OAsRpBrK;AA4BAA,uCAAiC1lC,gBAAQ;AACvC,YAAI,QAAJ,WAAoB;AAAA;AADmB;;AAKvC,YAAIsuC,YAAJ,YAA4B;AAC1BA,iCAAuB;AACrBM,oBAAQ5uC,KADa;AAErB6uC,mBAAO7uC,KAFc;AAAA,WAAvBsuC;AANqC;AAlTrB,OAkTpB5I;AAaAA,8CAEE,gCAjUkB,IAiUlB,CAFFA;AAKAA,4CAAsC,sBAAgB;AACpD,YAAI,QAAJ,WAAoB;AAClBoJ,qBAAW,UADO,sBACP,CAAXA;AADkB;AADgC;;AAKpD,YAAIoB,UALgD,KAKpD;;AAEApB,sBAAc,YAAM;AAClB,uBAAa;AACXA,iBADW,KACXA;AADW;AADK;;AAKlBoB,oBALkB,IAKlBA;;AAEA,qDACQ,uBAAuB;AAC3BpB,yCAA6B,CAACqB,qBADH,MACE,CAA7BrB;AAFJ,sBAIS,kBAAkB;AACvBA,uBADuB,MACvBA;AAZc,WAOlB;AAdkD,SAOpDA;AA3UkB,OAoUpBpJ;AA3ZkB;;;WAobpB0K,uCAAqC;AAAA,UAArCA,SAAqC,UAArCA,SAAqC;;AACnC,UAAI,KAAJ,WAAoB;AAAA;AADe;;AAInC,UAAI,iBAAJ,sBAA2C;AACzC,8CADyC,SACzC;AALiC;AApbjB;;;WA6bpB/H,mBAAU;AACR,aAAO,+CADC,IACD,CAAP;AA9bkB;;;WAicpBjB,6BAAoB;AAAA;;AAClB,UACE,CAACvoC,iBAAD,UAACA,CAAD,IACAwxC,cADA,KAEAA,aAAa,KAHf,WAIE;AACA,eAAOp7B,eAAe,UADtB,sBACsB,CAAfA,CAAP;AANgB;;AASlB,UAAMk1B,YAAYkG,aATA,CASlB;;AACA,UAAIlG,aAAa,KAAjB,cAAoC;AAClC,eAAO,kBAD2B,SAC3B,CAAP;AAXgB;;AAalB,UAAMpyB,UAAU,+CACc;AAC1BoyB,iBAFY,EAEZA;AAD0B,OADd,OAIRmG,oBAAY;AAChB,YAAI,QAAJ,WAAoB;AAClB,gBAAM,UADY,qBACZ,CAAN;AAFc;;AAIhB,YAAM9B,OAAO,+CAIX,gBAJW,eAKX,gBATc,MAIH,CAAb;AAOA,uCAXgB,IAWhB;AACA,eAZgB,IAYhB;AA7Bc,OAaF,CAAhB;AAkBA,qCA/BkB,OA+BlB;AACA,aAhCkB,OAgClB;AAjekB;;;WAoepBnH,2BAAkB;AAChB,aAAO,oDAC4B;AAC/BkJ,WAFG,EAEHA;AAD+B,OAD5B,WAIE,kBAAkB;AACvB,eAAOt7B,eAAe,UADC,MACD,CAAfA,CAAP;AANY,OACT,CAAP;AArekB;;;WA8epBg0B,2CAAkC;AAChC,aAAO,sDAAsD;AAC3DkB,iBAD2D,EAC3DA,SAD2D;AAE3DjB,cAF2D,EAE3DA;AAF2D,OAAtD,CAAP;AA/ekB;;;WAqfpBR,wBAAe;AAAA;AAAA;AAAA;;AACb,aAAO,oDAC4B;AAC/B8H,kBAAU,KADqB;AAE/BzG,2BAAmB,uBAFY;AAG/B0G,gEAAU,gBAAVA,sDAAU,0BAAVA,yEAH+B;AAAA,OAD5B,aAMI,YAAM;AACb,kCADa,aACb;AARS,OACN,CAAP;AAtfkB;;;WAigBpB7H,2BAAkB;AAChB,aAAO,uDADS,IACT,CAAP;AAlgBkB;;;WAqgBpBC,wBAAe;AACb,aAAQ,yBAAR,KAAQ,yBAAR,GAAsC,oDADzB,IACyB,CAAtC;AAtgBkB;;;WA4gBpBC,kCAAyB;AACvB,aAAO,8DADgB,IAChB,CAAP;AA7gBkB;;;WAghBpBxB,2BAAkB;AAChB,aAAO,uDADS,IACT,CAAP;AAjhBkB;;;WAohBpBC,4BAAmB;AACjB,UAAI,cAAJ,UAA4B;AAC1B,eAAOtyB,eAAe,UADI,8BACJ,CAAfA,CAAP;AAFe;;AAIjB,aAAO,sDAAsD;AAC3DrK,UALe,EAKfA;AAD2D,OAAtD,CAAP;AAxhBkB;;;WA6hBpB48B,yBAAgB;AACd,aAAO,qDADO,IACP,CAAP;AA9hBkB;;;WAiiBpBC,yBAAgB;AACd,aAAO,qDADO,IACP,CAAP;AAliBkB;;;WAqiBpBC,uBAAc;AACZ,aAAO,mDADK,IACL,CAAP;AAtiBkB;;;WAyiBpBC,gCAAuB;AACrB,aAAO,4DADc,IACd,CAAP;AA1iBkB;;;WA6iBpBC,yBAAgB;AACd,aAAO,qDADO,IACP,CAAP;AA9iBkB;;;WAijBpBC,0BAAiB;AACf,aAAO,sDADQ,IACR,CAAP;AAljBkB;;;WAqjBpBC,yBAAgB;AACd,aAAO,qDADO,IACP,CAAP;AAtjBkB;;;WAyjBpB4I,2BAAkB;AAChB,aAAO,uDADS,IACT,CAAP;AA1jBkB;;;WA6jBpBC,qCAA4B;AAC1B,aAAO,wDAAwD;AAC7DxG,iBAFwB,EAExBA;AAD6D,OAAxD,CAAP;AA9jBkB;;;WAmkBpByG,+BAAsB;AACpB,aAAO,kDAAkD;AACvDzG,iBAFkB,EAElBA;AADuD,OAAlD,CAAP;AApkBkB;;;WAykBpByB,kCAAyB;AACvB,aAAO,qDAAqD;AAC1DzB,iBAFqB,EAErBA;AAD0D,OAArD,CAAP;AA1kBkB;;;WA+kBpBnC,sBAAa;AACX,aAAO,kDADI,IACJ,CAAP;AAhlBkB;;;WAmlBpBC,oCAA2B;AACzB,aAAO,2EAEC4I,mBAAW;AACf,eAAO,mDADQ,OACR,CAAP;AAJqB,OAClB,CAAP;AAplBkB;;;WA2lBpB3I,0BAAiB;AACf,aAAO,sDADQ,IACR,CAAP;AA5lBkB;;;WA+lBpBC,uBAAc;AAAA;;AACZ,aAAO,8DAEC0I,mBAAW;AAAA;;AACf,eAAO;AACL1kD,gBAAM0kD,QADD,CACCA,CADD;AAEL3mC,oBAAU2mC,aAAa,uBAAaA,QAA1BA,CAA0BA,CAAb,CAAbA,GAFL;AAGLzL,sFAA4B,mBAA5BA,wDAA4B,4BAA5BA,yEAHK;AAILgK,0EAAe,mBAAfA,yDAAe,kCAAfA,yEAJK;AAAA,SAAP;AAJQ,OACL,CAAP;AAhmBkB;;;WA4mBpBhH,uBAAc;AACZ,aAAO,mDADK,IACL,CAAP;AA7mBkB;;;WAgnBpBG,oBAAW;AACT,aAAO,gDADE,IACF,CAAP;AAjnBkB;;;;uFAonBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmBE,+BAAnB;AAAA;AAAA,uBACQ,+CADoC,IACpC,CADR;;AAAA;AAAA,qBAGM,KAAJ,SAHF;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAMWviD,iBANX,GAMO,CANP,EAMkBD,EANlB,GAMuB,eAArB,MANF;;AAAA;AAAA,sBAM8CC,IAA5C,EANF;AAAA;AAAA;AAAA;;AAOUsoD,oBAPV,GAOiB,eAD0C,CAC1C,CAPjB;;AAAA,oBAQI,IARJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAWUsC,iCAXV,GAW8BtC,KAL6B,OAK7BA,EAX9B;;AAAA,oBAaI,iBAbJ;AAAA;AAAA;AAAA;;AAAA,sBAcY,uCAAgCtoD,IADhB,CAChB,8BAdZ;;AAAA;AAMsDA,iBAApD,EANF;AAAA;AAAA;;AAAA;AAiBE,gCAjB0C,KAiB1C;;AACA,oBAAI,CAAJ,iBAAsB;AACpB,kCADoB,KACpB;AAnBwC;;AAqB1C,4CArB0C,IAqB1C;;AArBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;SAwBA,eAAoB;AAClB,UAAMm+C,SAAS,KADG,OAClB;AACA,aAAO,yCAA8B;AACnC0B,0BAAkB1B,OADiB;AAEnC4B,yBAAiB5B,OAFkB;AAAA,OAA9B,CAAP;AA9oBkB;;;;;;IA2pBtB,U;AACEriD,wBAAc;AAAA;;AACZ,iBAAa8E,cADD,IACCA,CAAb;AAFa;;;;WASfiqD,2BAAkB;AAChB,UAAI,WAAJ,KAAI,CAAJ,EAAuB;AACrB,eAAO,WADc,KACd,CAAP;AAFc;;AAIhB,aAAQ,oBAAoB;AAC1B7tC,oBAD0B;AAE1BlD,cAF0B;AAG1BgxC,kBAH0B;AAAA,OAA5B;AAba;;;WA4Bf5tC,oBAA4B;AAAA,UAAjBihB,QAAiB,uEAA5BjhB,IAA4B;;AAG1B,oBAAc;AACZ,uDADY,QACZ;;AACA,eAFY,IAEZ;AALwB;;AAS1B,UAAM9Z,MAAM,WATc,KASd,CAAZ;;AAGA,UAAI,QAAQ,CAACA,IAAb,UAA2B;AACzB,cAAM,8DADmB,KACnB,OAAN;AAbwB;;AAe1B,aAAOA,IAfmB,IAe1B;AA3Ca;;;WA8Cfid,oBAAW;AACT,UAAMjd,MAAM,WADH,KACG,CAAZ;AACA,aAAOA,4DAFE,KAET;AAhDa;;;WAsDf3F,8BAAqB;AACnB,UAAM2F,MAAM,gBADO,KACP,CAAZ;;AAEAA,qBAHmB,IAGnBA;AACAA,iBAJmB,IAInBA;AACAA,6BALmB,IAKnBA;AA3Da;;;WA8Df8xB,iBAAQ;AACN,mBAAat0B,cADP,IACOA,CAAb;AA/Da;;;;;;IAsEjB,U;AACE9E,0CAAgC;AAAA;;AAC9B,+BAD8B,kBAC9B;AAQA,sBAT8B,IAS9B;AAVa;;;;SAiBf,eAAc;AACZ,aAAO,oCADK,OACZ;AAlBa;;;WA0BfkmC,kBAAS;AACP,+BADO,MACP;AA3Ba;;;;;;AAmCjB,IAAM+oB,qBAAsB,qCAAqC;AAC/D,MAAMC,oBAAoB,IADqC,OACrC,EAA1B;;AAD+D,MAI/D,kBAJ+D;AAK7DlvD,wCAUG;AAAA,UAVS,QAUT,UAVS,QAUT;AAAA,UAVS,MAUT,UAVS,MAUT;AAAA,UAVS,IAUT,UAVS,IAUT;AAAA,UAVS,UAUT,UAVS,UAUT;AAAA,UAVS,YAUT,UAVS,YAUT;AAAA,UAVS,SAUT,UAVS,SAUT;AAAA,UAVS,aAUT,UAVS,aAUT;AAAA,yCAFD0oD,wBAEC;AAAA,UAFDA,wBAEC,sCAVS,KAUT;AAAA,iCADD3B,MACC;AAAA,UADDA,MACC,8BAVH/mD,KAUG;;AAAA;;AACD,sBADC,QACD;AACA,oBAFC,MAED;AACA,kBAHC,IAGD;AACA,wBAJC,UAID;AACA,6BALC,IAKD;AACA,0BANC,YAMD;AACA,wBAPC,SAOD;AACA,2BARC,aAQD;AACA,qBATC,MASD;AAEA,qBAXC,KAWD;AACA,mCAZC,IAYD;AACA,2BAbC,KAaD;AACA,uCACE0oD,qCAAqC,kBAftC,WAcD;AAEA,uBAhBC,KAgBD;AACA,wBAjBC,oCAiBD;AACA,kBAAY,eAlBX,IAkBW,CAAZ;AAEA,0BAAoB,iBApBnB,IAoBmB,CAApB;AACA,4BAAsB,oBArBrB,IAqBqB,CAAtB;AACA,gCAA0B,wBAtBzB,IAsByB,CAA1B;AACA,wBAAkB,gBAvBjB,IAuBiB,CAAlB;AACA,qBAAerG,qBAxBd,MAwBD;AAnCqB;;AAJsC;AAAA;AAAA,WA0C7D,eAAgB;AACd,eAAO,iCAA8B,YAAY,CADnC,CACP,CAAP;AAvCqB;AAJsC;AAAA;AAAA,aAiD7D8M,oCAAoE;AAAA;;AAAA,yCAA/CvG,YAA+C;AAAA,YAA/CA,YAA+C,oCAAjD,KAAiD;AAAA,YAApEuG,qBAAoE,UAApEA,qBAAoE;;AAClE,YAAI,KAAJ,WAAoB;AAAA;AAD8C;;AAIlE,YAAI,KAAJ,SAAkB;AAChB,cAAID,sBAAsB,KAA1B,OAAIA,CAAJ,EAAyC;AACvC,kBAAM,UACJ,kIAFqC,yBACjC,CAAN;AAFc;;AAQhBA,gCAAsB,KARN,OAQhBA;AAZgE;;AAelE,YAAI,yCAAgBzuD,yBAAhB,kDAAgBA,sBAApB,SAAwD;AACtD,yBAAeA,iCAAiC,KADM,UACvCA,CAAf;AACA,4BAAkB,KAFoC,YAEtD;AACA,wCAA8B,aAHwB,iBAGxB,EAA9B;AAlBgE;;AAoBlE,2BACE,KArBgE,MAoBlE;AAAA,YAAM,aAAN,gBAAM,aAAN;AAAA,YAAM,QAAN,gBAAM,QAAN;AAAA,YAAM,SAAN,gBAAM,SAAN;AAAA,YAAM,UAAN,gBAAM,UAAN;AAAA,YAAM,UAAN,gBAAM,UAAN;AAGA,mBAAW,0CAET,KAFS,YAGT,KAHS,MAIT,KAJS,2BAvBuD,qBAuBvD,CAAX;AAQA,8BAAsB;AACpB0V,mBADoB,EACpBA,SADoB;AAEpBmyC,kBAFoB,EAEpBA,QAFoB;AAGpBM,sBAHoB,EAGpBA,YAHoB;AAIpBpB,oBAJoB,EAIpBA;AAJoB,SAAtB;AAMA,+BArCkE,CAqClE;AACA,6BAtCkE,IAsClE;;AACA,YAAI,KAAJ,uBAAgC;AAC9B,eAD8B,qBAC9B;AAxCgE;AA7C7C;AAJsC;AAAA;AAAA,aA6F7DthB,kBAAqB;AAAA,YAAdvhB,KAAc,uEAArBuhB,IAAqB;AACnB,uBADmB,KACnB;AACA,yBAFmB,IAEnB;;AACA,YAAI,KAAJ,KAAc;AACZ,mBADY,UACZ;AAJiB;;AAMnB,YAAI,KAAJ,SAAkB;AAChBgpB,sCAAyB,KADT,OAChBA;AAPiB;;AASnB,sBACEvqC,SACE,mFAC+B,kBAD/B,IAXe,QAWf,CAFJ;AAlGqB;AAJsC;AAAA;AAAA,aA+G7DyqC,+BAAsB;AACpB,YAAI,CAAC,KAAL,eAAyB;AACvB,cAAI,CAAC,KAAL,uBAAiC;AAC/B,yCAA6B,KADE,cAC/B;AAFqB;;AAAA;AADL;;AAQpB,YAAI,KAAJ,SAAkB;AAChB,0CAAgC,KADhB,YAChB;AATkB;;AAYpB,YAAI,KAAJ,SAAkB;AAAA;AAZE;;AAepB,aAfoB,SAepB;AA1HqB;AAJsC;AAAA;AAAA,aAiI7DC,qBAAY;AACV,uBADU,IACV;;AACA,YAAI,KAAJ,WAAoB;AAAA;AAFV;;AAKV,YAAI,UAAJ,YAA0B;AACxB,+BAAqB,KADG,kBACxB;AADF,eAEO;AACL,eADK,aACL;AARQ;AA7HW;AAJsC;AAAA;AAAA,aA6I7DC,yBAAgB;AAAA;;AACd,YAAI,KAAJ,2BAAoC;AAClCtrC,uCAA6B,YAAM;AACjC,0CAAwB,QADS,YACjC;AAFgC,WAClCA;AADF,eAIO;AACLiP,iCAAuB,KAAvBA,qBAA8C,KADzC,YACLA;AANY;AAzIO;AAJsC;AAAA;AAAA;AAAA,kFAuJ7D;AAAA;AAAA;AAAA;AAAA;AAAA,uBACM,KAAJ,SADF;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAIE,yCAAuB,6BACrB,KADqB,cAErB,KAFqB,iBAGrB,KAHqB,gBAIrB,KARU,OAIW,CAAvB;;AAMA,sBAAI,yBAAyB,4BAA7B,QAAiE;AAC/D,mCAD+D,KAC/D;;AACA,wBAAI,kBAAJ,WAAiC;AAC/B,+BAD+B,UAC/B;;AACA,0BAAI,KAAJ,SAAkB;AAChBi8B,oDAAyB,KADT,OAChBA;AAH6B;;AAK/B,2BAL+B,QAK/B;AAP6D;AAVrD;;AAAd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAvJ6D;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AA6K/D,SA7K+D,kBA6K/D;AAhnGF,CAm8F4B,EAA5B;;AAiLA,IAAMzmC,UApnGN,SAonGA;;AAGA,IAAM8mC,QAvnGN,WAunGA;;;;;;;;;;;;;;;;;;;ACxmGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWA,c;AACEvvD,gCAIG;AAAA,QAJS,KAIT,QAJS,KAIT;AAAA,QAJS,oBAIT,QAJS,oBAIT;AAAA,kCADDQ,aACC;AAAA,QADDA,aACC,mCADeC,WAHlBT,QAIG;;AAAA;;AACD,QAAI,qBAAJ,gBAAyC;AACvCC,6BADuC,mCACvCA;AAFD;;AAID,iBAJC,KAID;AACA,iCALC,oBAKD;AACA,qBANC,aAMD;AAEA,2BARC,EAQD;AACA,wBATC,IASD;AAdiB;;;;WAiBnBuvD,2CAAkC;AAChC,gCADgC,cAChC;;AACA,+BAFgC,cAEhC;AAnBiB;;;WAsBnBC,0BAAiB;AACf,UAAIC,eAAe,KADJ,YACf;;AACA,UAAI,CAAJ,cAAmB;AACjBA,uBAAe,oBAAoB,6BADlB,OACkB,CAAnCA;AACAA,yDAA0C,KAFzB,KAEjBA;;AACA,mFAHiB,YAGjB;AALa;;AAUf,UAAMC,aAAaD,aAVJ,KAUf;AACAC,kCAA4BA,oBAXb,MAWfA;AAjCiB;;;WAoCnBv2B,iBAAQ;AAAA,iDACuB,KAA7B,eADM;AAAA;;AAAA;AACN,4DAAmD;AAAA,cAAnD,cAAmD;;AACjD,yCADiD,cACjD;AAFI;AAAA;AAAA;AAAA;AAAA;AAAA;;AAIN,oCAJM,CAIN;;AAEA,UAAI,KAAJ,cAAuB;AAErB,0BAFqB,MAErB;AACA,4BAHqB,IAGrB;AATI;AApCW;;;;+EAiDnB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAEM1d,iBAAiBA,KAArB,WAFF;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAKEA,gCALe,IAKfA;;AALF,qBAOM,KAAJ,yBAPF;AAAA;AAAA;AAAA;;AAQUk0C,8BARV,GAQ2Bl0C,KADW,oBACXA,EAR3B;;AAAA,qBASI,cATJ;AAAA;AAAA;AAAA;;AAUM,uCADkB,cAClB;AAVN;AAAA;AAAA,uBAYck0C,eADJ,MAXV;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAcQ,2CAA2B;AACzBC,6BAAW10C,2BAFF;AACgB,iBAA3B;;AAGA3W,+DAA6BorD,eAJlB,MAIXprD;AAGAkX,uCAPW,IAOXA;AApBR;;AAAA;AAAA;;AAAA;AA4BQo0C,oBA5BR,GA4Bep0C,KA5BE,kBA4BFA,EA5Bf;;AAAA,qBA6BE,IA7BF;AAAA;AAAA;AAAA;;AA8BI,gCADQ,IACR;;AA9BJ,qBAgCQ,KAAJ,0BAhCJ;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA,uBAmCU,YAAY/Z,mBAAW;AAC3B,sBAAMF,UAAU,4BADW,OACX,CAAhB;;AACA,8CAA2B,CAA3B,IAA2B,CAA3B,EAAmC,CAAnC,IAAmC,CAAnC,EAF2B,OAE3B;AARM,iBAMF,CAnCV;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WA2CAsuD,yCAAgC;AAC9B9vD,6BAD8B,0CAC9BA;AA7FiB;;;SAgGnB,eAAgC;AAAA;;AAC9B,aAAOqe,qDAA0C,CAAC,qBAAC,cAAD,4CAAC,gBADrB,KACoB,CAA3CA,CAAP;AAjGiB;;;SAqGnB,eAAiC;AAC/Bre,6BAD+B,+CAC/BA;AAtGiB;;;SA0GnB,eAAoB;AAClBA,6BADkB,kCAClBA;AA3GiB;;;WA8GnB+vD,4DAAmD;AACjD/vD,6BADiD,0CACjDA;AA/GiB;;;;;;AAmHrB,IA7IA,UA6IA;;AAOO;AAGLgwD;AAAAA;;AAAAA;;AACEjwD,uCAAoB;AAAA;;AAAA;;AAClB,iCADkB,MAClB;AACA,8BAAsB;AACpBkwD,kBADoB;AAEpBC,uBAFoB;AAAA,OAAtB;AAIA,8BANkB,CAMlB;AANkB;AADsC;;AAA5DF;AAAAA;AAAAA,WAUE,eAAiC;AAC/B,YAAIG,YAD2B,KAC/B;;AAEE,YAAI,qBAAJ,aAAsC;AAEpCA,sBAFoC,IAEpCA;AAFF,eAGO;AAGL,cAAMnxC,IAAI,wCACRoxC,UAJG,SAGK,CAAV;;AAGA,cAAIpxC,gDAAJ,IAAkB;AAChBmxC,wBADgB,IAChBA;AAPG;AANsB;;AAkB/B,eAAO9xC,sDAlBwB,SAkBxBA,CAAP;AA5BwD;AAA5D2xC;AAAAA;AAAAA,aA+BEF,yCAAgC;AAC9B,mCAA2B;AACzBluD,4BAAO,CAACJ,QAARI,MADyB,2CACzBA;AACAJ,yBAFyB,IAEzBA;;AAGA,iBAAOd,+BAA+BA,oBAAtC,MAAgE;AAC9D,gBAAM2vD,eAAe3vD,iBADyC,KACzCA,EAArB;AACAi6B,uBAAW01B,aAAX11B,UAF8D,CAE9DA;AAPuB;AADG;;AAY9B,YAAMj6B,UAAU,KAZc,cAY9B;AACA,YAAMc,UAAU;AACdmnB,2CAA0BjoB,QADZ,aACYA,EAA1BioB,CADc;AAEd1e,gBAFc;AAGdqB,oBAHc;AAId82B,kBAJc,EAIdA;AAJc,SAAhB;AAMA1hC,8BAnB8B,OAmB9BA;AACA,eApB8B,OAoB9B;AAnDwD;AAA5DsvD;AAAAA;AAAAA,WAsDE,eAAoB;AAClB,YAAMM,kBAAkB,SAAlBA,eAAkB,GAAY;AAGlC,iBAAOC,KACL,6/CAJgC,sEAG3BA,CAAP;AAJgB,SAClB;;AA4BA,eAAOlyC,yCAA8BiyC,eA7BnB,EA6BXjyC,CAAP;AAnFwD;AAA5D2xC;AAAAA;AAAAA,aAsFED,sDAA6C;AAAA;;AAO3C,qCAA6B;AAC3B,iBACGhyC,2BAAD,EAACA,GACAA,gBAAgByyC,SAAhBzyC,MADD,EAACA,GAEAA,gBAAgByyC,SAAhBzyC,MAFD,CAACA,GAGAA,gBAAgByyC,SAAhBzyC,KALwB,IAC3B;AARyC;;AAe3C,yDAAiD;AAC/C,cAAM0yC,SAASC,eADgC,MAChCA,CAAf;AACA,cAAMC,SAASD,YAAYF,SAFoB,MAEhCE,CAAf;AACA,iBAAOD,kBAHwC,MAG/C;AAlByC;;AAoB3C,eApB2C,EAoB3C;;AAGA,YAAMhwD,SAAS,6BAvB4B,QAuB5B,CAAf;;AACAA,uBAxB2C,CAwB3CA;AACAA,wBAzB2C,CAyB3CA;AACA,YAAMmwD,MAAMnwD,kBA1B+B,IA0B/BA,CAAZ;AAEA,YAAIg4B,SA5BuC,CA4B3C;;AACA,6CAAqC;AACnCA,gBADmC;;AAGnC,cAAIA,SAAJ,IAAiB;AACfl0B,4BADe,8BACfA;AACA69B,oBAFe;AAAA;AAHkB;;AAQnCwuB,qBAAW,UARwB,IAQnCA;AACAA,+BATmC,EASnCA;AACA,cAAM5C,YAAY4C,0BAViB,CAUjBA,CAAlB;;AACA,cAAI5C,oBAAJ,GAA2B;AACzB5rB,oBADyB;AAAA;AAXQ;;AAenCzH,qBAAWk2B,6BAfwB,QAexBA,CAAXl2B;AA5CyC;;AA+C3C,YAAMm2B,6BAAsB9rD,KAAL,GAAKA,EAAtB8rD,SAAmC,KA/CE,cA+CF,EAAnCA,CAAN;AAMA,YAAI/yC,OAAO,KArDgC,aAqD3C;AACA,YAAMgzC,iBAtDqC,GAsD3C;AACAhzC,eAAOizC,mCAGLF,eAHKE,QAvDoC,cAuDpCA,CAAPjzC;AAOA,YAAMkzC,sBA9DqC,EA8D3C;AACA,YAAMC,aA/DqC,UA+D3C;AACA,YAAIC,WAAWC,YAhE4B,mBAgE5BA,CAAf;;AACA,aAAKntD,OAAOD,KAAK8sD,wBAAjB,GAA4C7sD,IAA5C,IAAoDA,KAApD,GAA4D;AAC1DktD,qBAAYA,wBAAwBC,sBAAzB,CAAyBA,CAAxBD,GAD8C,CAC1DA;AAlEyC;;AAoE3C,YAAIltD,IAAI6sD,eAAR,QAA+B;AAE7BK,qBACGA,wBAAwBC,MAAMN,iBAANM,OAAzB,CAAyBA,CAAxBD,GAH0B,CAE7BA;AAtEyC;;AAyE3CpzC,eAAOizC,2CAA2CK,oBAzEP,QAyEOA,CAA3CL,CAAPjzC;AAEA,YAAMld,8CAAuCywD,KA3EF,IA2EEA,CAAvCzwD,OAAN;AACA,YAAMgvD,2CAAO,cAAPA,oBA5EqC,GA4ErCA,MAAN;AACA,wBA7E2C,IA6E3C;AAEA,YAAM/lC,QA/EqC,EA+E3C;;AA/E2C,oDAgF3C,KAhF2C;AAAA;;AAAA;AAgF3C,iEAA0B;AAAA,gBAA1B,IAA0B;AACxBA,uBAAWrO,KADa,UACxBqO;AAjFyC;AAAA;AAAA;AAAA;AAAA;AAAA;;AAmF3CA,mBAnF2C,cAmF3CA;;AAEA,YAAMynC,MAAM,6BArF+B,KAqF/B,CAAZ;;AACAA,+BAtF2C,QAsF3CA;AACAA,0BAAkBA,mBAvFyB,MAuF3CA;AACAA,6BAxF2C,UAwF3CA;AACAA,wBAAgBA,iBAzF2B,KAyF3CA;;AAEA,mEAA0B;AAA1B,cAAWxsD,IAAX;;AACE,cAAMysD,OAAO,6BADW,MACX,CAAb;;AACAA,6BAFwB,IAExBA;AACAA,kCAHwB,IAGxBA;AACAD,0BAJwB,IAIxBA;AA/FyC;;AAiG3C,wCAjG2C,GAiG3C;;AAEAV,oCAA4B,YAAM;AAChC,4CADgC,GAChC;;AACArvD,kBAFgC,QAEhCA;AArGyC,SAmG3CqvD;AAzLwD;AAA5Db;;AAAAA;AAAAA,IAAa,cAAbA;AAvJF;;IAyVA,c;AACEjwD,iDASE;AAAA,sCANEye,eAMF;AAAA,QANEA,eAMF,sCAPA,IAOA;AAAA,sCALEwlC,eAKF;AAAA,QALEA,eAKF,sCAPA,KAOA;AAAA,mCAJEG,YAIF;AAAA,QAJEA,YAIF,mCAPA,KAOA;AAAA,QAPA,oBAOA,SAPA,oBAOA;AAAA,mCAFEyJ,YAEF;AAAA,QAFEA,YAEF,mCATF7tD,IASE;;AAAA;;AACA,0BAAsB8E,cADtB,IACsBA,CAAtB;;AAEA,kCAAgC;AAC9B,gBAAU4sD,eADoB,CACpBA,CAAV;AAJF;;AAMA,2BAAuBjzC,oBANvB,KAMA;AACA,2BAAuBwlC,oBAPvB,IAOA;AACA,wBAAoBG,iBARpB,IAQA;AACA,iCATA,oBASA;AACA,wBAVA,YAUA;AApBiB;;;;WAuBnBuN,gCAAuB;AACrB,UAAI,CAAC,KAAD,QAAc,KAAlB,iBAAwC;AACtC,eADsC,IACtC;AAFmB;;AAIrB,UAJqB,cAIrB;;AACA,UAAI,CAAC,KAAL,aAAuB;AACrB/B,yBAAiB,aAAa,KAAb,YAA8B,KAA9B,MADI,EACJ,CAAjBA;AADF,aAEO;AACL,YAAMgC,MAAM;AACVC,kBAAQ,iBAFL;AACO,SAAZ;;AAGA,YAAI,iBAAJ,aAAkC;AAChCD,wCAAuB,iBADS,WAChCA;AALG;;AAOLhC,yBAAiB,aACf,iBADe,YAEf,KAFe,MAPZ,GAOY,CAAjBA;AAdmB;;AAqBrB,UAAI,KAAJ,cAAuB;AACrB,uCADqB,IACrB;AAtBmB;;AAwBrB,aAxBqB,cAwBrB;AA/CiB;;;WAkDnBkC,8BAAqB;AACnB,UAAI,CAAC,KAAD,QAAc,KAAlB,iBAAwC;AACtC,eADsC,IACtC;AAFiB;;AAInB,UAAM9zC,OAAO+zC,yBAAc,KAJR,IAINA,CAAb;AAEA,UAAMjxD,yBAAkB,KAAZ,QAANA,qBAA0CywD,KAN7B,IAM6BA,CAA1CzwD,OAAN;AACA,UAPmB,IAOnB;;AACA,UAAI,CAAC,KAAL,aAAuB;AACrBgvD,mDAAmC,KAA5B,UAAPA,oBADqB,GACrBA;AADF,aAEO;AACL,YAAI8B,6BAAsB,iBADrB,UACDA,MAAJ;;AACA,YAAI,iBAAJ,aAAkC;AAChCA,+CAA8B,iBADE,WAChCA;AAHG;;AAKL9B,mDAAmC,iBAA5B,UAAPA,gBAAO,GAAPA,iBALK,GAKLA;AAfiB;;AAkBnB,UAAI,KAAJ,cAAuB;AACrB,6CADqB,GACrB;AAnBiB;;AAqBnB,aArBmB,IAqBnB;AAvEiB;;;WA0EnBkC,2CAAkC;AAChC,UAAI,mCAAJ,WAAkD;AAChD,eAAO,oBADyC,SACzC,CAAP;AAF8B;;AAKhC,UALgC,IAKhC;;AACA,UAAI;AACFC,eAAO1J,SAAS,6BADd,SACKA,CAAP0J;AADF,QAEE,WAAW;AACX,YAAI,CAAC,KAAL,cAAwB;AACtB,gBADsB,EACtB;AAFS;;AAIX,mCAA2B;AACzBpC,qBAAW10C,2BALF;AAIgB,SAA3B;;AAGA3W,2EAPW,EAOXA;AAEA,eAAQ,iCAAiC,mBAAmB,CATjD,CASX;AAjB8B;;AAuBhC,UAAI,wBAAwBga,4BAA5B,OAAyD;AACvD,YAAM0zC,QADiD,EACvD;;AADuD,oDAEvD,IAFuD;AAAA;;AAAA;AAEvD,iEAA4B;AAAA,gBAA5B,OAA4B;AAC1B,gBAAM/3B,OAAOg4B,6BAA6BA,kBAA7BA,GAA6BA,CAA7BA,GADa,EAC1B;AACAD,6BAAiBC,QAAjBD,gBAF0B,MAE1BA;AAJqD;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOvD,eAAQ,iCAAiC,0BAGvCA,WAVqD,EAUrDA,CAHuC,CAAzC;AA9B8B;;AAsChC,aAAQ,iCAAiC,mBAAmB;AAAA,oDAC1D,IAD0D;AAAA;;AAAA;AAC1D,iEAA4B;AAAA,gBAA5B,QAA4B;;AAC1B,gBAAIC,iBAAJ,SAA6B;AAC3BA,8BAAe,OAAO,CAAP,KAAfA;AAFwB;;AAI1BryC,cAAEqyC,SAAFryC,cAAwBqyC,SAJE,IAI1BryC;AALwD;AAAA;AAAA;AAAA;AAAA;AAAA;AAtC5B,OAsChC;AAhHiB;;;;;;;;;;;;;;;;;;;;;;ACzUrB;;AAhBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAIsyC,oBACFpyD,6BAAc;AAAA;;AACZC,yBADY,oCACZA;AAF0B,CAA9B;;;;AAMA,IAAIoyD,wBACFryD,iCAAc;AAAA;;AACZC,yBADY,wCACZA;AAF8B,CAAlC;;;;AAMA,uBAA+E;AAC7EmyD;AAAAA;;AAAAA;;AAAAA;AAAAA;;AAAAA;AAAAA;;AAAAA;AAAAA;AAAAA,aACElyD,+BAAsB;AACpB,YAAIG,cAAcC,UAAlB,GAA+B;AAC7B,gBAAM,UADuB,qBACvB,CAAN;AAFkB;;AAIpB,YAAMgyD,SAASC,QAJK,QAILA,CAAf;;AACA,YAAM7xD,SAAS4xD,2BALK,MAKLA,CAAf;AACA,eAAO;AACL5xD,gBADK,EACLA,MADK;AAELC,mBAASD,kBAFJ,IAEIA;AAFJ,SAAP;AAPgD;AAApD0xD;;AAAAA;AAAAA,IAAoB,gCAApBA;;AAcAC;AAAAA;;AAAAA;;AAAAA;AAAAA;;AAAAA;AAAAA;;AAAAA;AAAAA;AAAAA,aACEnxD,0CAAiC;AAC/B,eAAO,YAAY,2BAAqB;AACtC,cAAMsxD,KAAKD,QAD2B,IAC3BA,CAAX;;AACAC,2BAAiB,uBAAiB;AAChC,gBAAI7tC,SAAS,CAAb,MAAoB;AAClB/iB,qBAAO,UADW,KACX,CAAPA;AADkB;AADY;;AAKhCD,oBAAQ;AAAEJ,wBAAU,eAAZ,IAAY,CAAZ;AAAkCR,6BAAlC,EAAkCA;AAAlC,aAARY;AAPoC,WAEtC6wD;AAH6B,SACxB,CAAP;AAFwD;AAA5DH;;AAAAA;AAAAA,IAAwB,oCAAxBA;AA/CF,C;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;IAoBA,iB;AACEryD,+BAAc;AAAA;;AACZ,oBAAgB,IADJ,GACI,EAAhB;AACA,qBAFY,KAEZ;AAMA,yBARY,IAQZ;AACA,2BATY,IASZ;AAVoB;;;;WAsBtByyD,qCAA4B;AAC1B,UAAMnrD,MAAM,kBADc,GACd,CAAZ;;AACA,aAAOA,0BAFmB,YAE1B;AAxBoB;;;WAmCtBorD,8BAAqB;AACnB,UAAMprD,MAAM,kBADO,GACP,CAAZ;;AACA,UAAIqrD,WAFe,KAEnB;;AACA,UAAIrrD,QAAJ,WAAuB;AACrB,2CAA2BxC,eAA3B,KAA2BA,CAA3B,qCAAkD;AAAlD;AAAA,cAAW,KAAX;AAAA;;AACE,cAAIwC,eAAJ,KAAwB;AACtBqrD,uBADsB,IACtBA;AACArrD,yBAFsB,GAEtBA;AAH8C;AAD7B;AAAvB,aAOO;AACL,+BADK,KACL;;AACAqrD,mBAFK,IAELA;AAZiB;;AAcnB,oBAAc;AACZ,aADY,YACZ;AAfiB;AAnCC;;;WAsDtBC,kBAAS;AACP,aAAO,yBAAyBC,yBAAc,KAAvC,QAAyBA,CAAzB,GADA,IACP;AAvDoB;;;SA0DtB,eAAW;AACT,aAAO,cADE,IACT;AA3DoB;;;WAiEtBC,wBAAe;AACb,UAAI,CAAC,KAAL,WAAqB;AACnB,yBADmB,IACnB;;AACA,YAAI,OAAO,KAAP,kBAAJ,YAA8C;AAC5C,eAD4C,aAC5C;AAHiB;AADR;AAjEO;;;WA0EtBC,yBAAgB;AACd,UAAI,KAAJ,WAAoB;AAClB,yBADkB,KAClB;;AACA,YAAI,OAAO,KAAP,oBAAJ,YAAgD;AAC9C,eAD8C,eAC9C;AAHgB;AADN;AA1EM;;;SAuFtB,eAAmB;AACjB,aAAO,yBAAyB,KAAzB,WADU,IACjB;AAxFoB;;;;;;;;;;;;;;;;;;;;ACpBxB;;AAiBA,IAAMC,sBAAsBluD,cAjB5B,IAiB4BA,CAA5B;AACiE;AAE9D,4BAAyB;AAExB,2BAAc;AACZkuD,4CADY,IACZA;AAHsB;AAFqC,GAE9D,GAAD;AApBF;AA2BA,IAAMxQ,yBAAyB19C,cA3B/B,mBA2B+BA,CAA/B;;;;;;;;;;;;;;;ACZA;;AAcA;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMmuD,gBAlCN,EAkCA;AAEA,IAAMC,gBApCN,GAoCA;AACA,IAAMC,iBArCN,IAqCA;AAEA,IAAMC,uBAvCN,IAuCA;AACA,IAAMC,sBAxCN,IAwCA;AAEA,IAAMC,oBA1CN,EA0CA;AAOA,IAAMC,yBAjDN,QAiDA;;AAEA,yCAAyC;AAEvC,MAAI1C,IAAJ,qBAA6B;AAAA;AAFU;;AAKvCA,sBAAoBA,IALmB,IAKvCA;AACAA,yBAAuBA,IANgB,OAMvCA;AACAA,wBAAsBA,IAPiB,MAOvCA;AACAA,uBAAqBA,IARkB,KAQvCA;AACAA,2BAAyBA,IATc,SASvCA;AACAA,2BAAyBA,IAVc,SAUvCA;AACAA,8BAA4BA,IAXW,YAWvCA;AACAA,gCAA8BA,IAZS,cAYvCA;AAEAA,yBAAuBA,wBAAwB,kBAA/CA;AACAA,wBAfuC,EAevCA;;AAEA,MAAI;AAIF,QAAMjG,OAAO9lD,gCACXA,sBADWA,GACXA,CADWA,EAJX,WAIWA,CAAb;AAKA+rD,wBAAoBjG,KATlB,GASFiG;AACAA,wBAAoBjG,KAVlB,GAUFiG;AAEA/rD,4CAAwC;AACtC8iB,WAAK,6BAA6B;AAChC,2BAAmBvnB,QADa,sBAChC;AAFoC;AAItC+gB,WAAK,wBAAwB;AAC3B,eAAO,KADoB,aACpB,EAAP;AALoC;AAAA,KAAxCtc;AAZF,IAoBE,UAAU,CArC2B;;AAuCvCA,oDAAkD;AAChDsc,SAAK,+BAA+B;AAClC,aAAO,KAD2B,gBAClC;AAF8C;AAAA,GAAlDtc;AAMAA,2DAAyD;AACvDsc,SAAK,sCAAsC;AAKzC,iDAA2B,KALc,gBAKzC;AAAA,UAAM,CAAN;AAAA,UAAM,CAAN;AAAA,UAAM,CAAN;AAAA,UAAM,CAAN;AAAA,UAAM,CAAN;AAAA,UAAM,CAAN;;AACA,UAAMoyC,QAAQ5zC,QAAQC,IANmB,CAMzC;AACA,UAAM4zC,QAAQ5zC,QAAQD,IAPmB,CAOzC;AAEA,aAAO,CACLT,IADK,OAELU,IAFK,OAGLC,IAHK,OAILF,IAJK,OAKJ,SAAQE,IAAT,CAAC,IALI,OAMJ,SAAQF,IAAT,CAAC,IANI,MAAP;AAVqD;AAAA,GAAzD9a;;AAqBA+rD,aAAW,mBAAmB;AAC5B,QAAM6C,MAAM,KADgB,gBAC5B;;AACA,8BAF4B,GAE5B;;AACA,4BAAwBA,aAHI,CAGJA,CAAxB;;AAEA,SAL4B,aAK5B;AAvEqC,GAkEvC7C;;AAQAA,gBAAc,sBAAsB;AAClC,QAAM8C,OAAO,qBADqB,GACrB,EAAb;;AACA,cAAU;AACR,8BADQ,IACR;;AACA,WAFQ,gBAER;AAJgC;AA1EG,GA0EvC9C;;AAQAA,kBAAgB,4BAA4B;AAC1C,QAAM5xC,IAAI,KADgC,gBAC1C;AACAA,WAAOA,WAAWA,OAAXA,IAAsBA,EAFa,CAEbA,CAA7BA;AACAA,WAAOA,WAAWA,OAAXA,IAAsBA,EAHa,CAGbA,CAA7BA;;AAEA,+BAL0C,CAK1C;AAvFqC,GAkFvC4xC;;AAQAA,cAAY,wBAAwB;AAClC,QAAM5xC,IAAI,KADwB,gBAClC;AACAA,WAAOA,OAF2B,CAElCA;AACAA,WAAOA,OAH2B,CAGlCA;AACAA,WAAOA,OAJ2B,CAIlCA;AACAA,WAAOA,OAL2B,CAKlCA;;AAEA,2BAPkC,CAOlC;AAjGqC,GA0FvC4xC;;AAUAA,kBAAgB,wCAAwC;AACtD,QAAM5xC,IAAI,KAD4C,gBACtD;AACA,4BAAwB,CACtBA,WAAWA,OADW,GAEtBA,WAAWA,OAFW,GAGtBA,WAAWA,OAHW,GAItBA,WAAWA,OAJW,GAKtBA,WAAWA,OAAXA,IAAsBA,EALA,CAKAA,CALA,EAMtBA,WAAWA,OAAXA,IAAsBA,EANA,CAMAA,CANA,CAAxB;;AASA4xC,0CAXsD,CAWtDA;AA/GqC,GAoGvCA;;AAcAA,qBAAmB,2CAA2C;AAC5D,4BAAwB,kBAAxB;;AAEAA,6CAH4D,CAG5DA;AArHqC,GAkHvCA;;AAMAA,uBAAqB,6BAA6B;AAChD,4BAAwB,kBAAxB;;AAEAA,QAHgD,uBAGhDA;AA3HqC,GAwHvCA;;AAMAA,eAAa,0BAA0B;AACrC,QAAM+C,WAAWhxD,SADoB,KACpBA,CAAjB;AACA,QAAMixD,WAAWjxD,SAFoB,KAEpBA,CAAjB;AAEA,QAAMqc,IAAI,KAJ2B,gBAIrC;AACA,4BAAwB,CACtBA,kBAAkBA,OADI,UAEtBA,kBAAkBA,OAFI,UAGtBA,OAAO,CAAPA,WAAmBA,OAHG,UAItBA,OAAO,CAAPA,WAAmBA,OAJG,UAKtBA,EALsB,CAKtBA,CALsB,EAMtBA,EANsB,CAMtBA,CANsB,CAAxB;;AASA,yBAdqC,KAcrC;AA5IqC,GA8HvC4xC;AAjLF;;IAmMA,c;AACE7wD,yCAA2B;AAAA;;AACzB,yBADyB,aACzB;AACA,iBAAa8E,cAFY,IAEZA,CAAb;AAHiB;;;;WAMnBgvD,sDAA6C;AAC3C,UAD2C,WAC3C;;AACA,UAAI,mBAAJ,WAAkC;AAChCC,sBAAc,WADkB,EAClB,CAAdA;AACA,qDAFgC,MAEhC;AAEAA,wDAJgC,CAIhCA;AAJF,aAKO;AACLA,sBAAc,iCADT,MACS,CAAdA;AACA,yBAFK,WAEL;AATyC;;AAW3C,0BAAoB;AAClBC,mCAA2BD,YADT,OAClBC;AAZyC;;AAc3C,aAd2C,WAc3C;AApBiB;;;WAuBnB56B,iBAAQ;AACN,qBAAiB,KAAjB,OAA6B;AAC3B,YAAM26B,cAAc,WADO,EACP,CAApB;AACA,mCAF2B,WAE3B;AACA,eAAO,WAHoB,EAGpB,CAAP;AAJI;AAvBW;;;;;;AAgCrB,oCAAoC;AAClC,MAAME,yBAD4B,IAClC;AACA,MAAMC,cAAc,eAAe,iDAAf,CAApB;AAIA,MAAM7zD,QAAQ8zD,QAAd;AAAA,MACE7zD,SAAS6zD,QADX;AAAA,MAEEC,SAAS/zD,QARuB,CAMlC;AAGA,gBATkC,EASlC;AACA,MAAMg0D,SAAS,eAAeD,UAAU,SAVN,CAUJA,CAAf,CAAf;AAGA,MAAME,WAAYj0D,QAAD,CAACA,GAAa,CAA/B;AAAA,MACEk0D,QAAQJ,QAdwB,IAalC;AAEA,MAAMn2C,OAAO,eAAes2C,WAfM,MAerB,CAAb;AACA,MAAIv2C,MAhB8B,CAgBlC;;AACA,OAAK7Z,OAAOD,KAAKswD,MAAjB,QAA+BrwD,IAA/B,IAAuCA,CAAvC,IAA4C;AAC1C,QAAMswD,OAAOD,MAD6B,CAC7BA,CAAb;AACA,QAAIE,OAFsC,GAE1C;;AACA,WAAOA,OAAP,GAAiB;AACfz2C,WAAKD,GAALC,MAAcw2C,kBADC,GACfx2C;AACAy2C,eAFe,CAEfA;AALwC;AAjBV;;AAoClC,MAAIC,QApC8B,CAoClC;AACA32C,QArCkC,CAqClCA;;AACA,MAAIC,cAAJ,GAAqB;AACnBq2C,gBADmB,CACnBA;AACA,MAFmB,KAEnB;AAxCgC;;AA0ClC,OAAKM,IAAL,GAAYA,IAAZ,OAAuBA,CAAvB,IAA4B;AAC1B,QAAI32C,cAAcA,KAAKD,MAAvB,CAAkBC,CAAlB,EAAiC;AAC/Bq2C,kBAAYr2C,gBADmB,CAC/Bq2C;AACA,QAF+B,KAE/B;AAHwB;;AAK1Bt2C,OAL0B;AA1CM;;AAiDlC,MAAIC,cAAJ,GAAqB;AACnBq2C,gBADmB,CACnBA;AACA,MAFmB,KAEnB;AAnDgC;;AAqDlC,OAAKnwD,IAAL,GAAYA,IAAZ,QAAwBA,CAAxB,IAA6B;AAC3B6Z,UAAM7Z,IADqB,QAC3B6Z;AACA62C,SAAK1wD,IAFsB,MAE3B0wD;;AACA,QAAI52C,KAAKD,MAALC,cAAyBA,KAA7B,GAA6BA,CAA7B,EAAwC;AACtCq2C,mBAAar2C,gBADyB,CACtCq2C;AACA,QAFsC,KAEtC;AALyB;;AAS3B,QAAIQ,MAAO,iBAAD,CAAC,KAAsB,KAAK92C,MAAL,gBATN,CAShB,CAAX;;AACA,SAAK42C,IAAL,GAAYA,IAAZ,OAAuBA,CAAvB,IAA4B;AAC1BE,YACG,QAAD,CAAC,KACA,KAAK92C,MAAL,SADD,CAAC,KAEA,KAAKA,iBAAL,SAJuB,CAEvB,CADH82C;;AAIA,UAAIX,YAAJ,GAAIA,CAAJ,EAAsB;AACpBG,eAAOO,KAAPP,KAAiBH,YADG,GACHA,CAAjBG;AACA,UAFoB,KAEpB;AAPwB;;AAS1Bt2C,SAT0B;AAVD;;AAqB3B,QAAIC,KAAKD,MAALC,cAAyBA,KAA7B,GAA6BA,CAA7B,EAAwC;AACtCq2C,aAAOO,KAAPP,KAAiBr2C,gBADqB,CACtCq2C;AACA,QAFsC,KAEtC;AAvByB;;AA0B3B,QAAIK,QAAJ,wBAAoC;AAClC,aADkC,IAClC;AA3ByB;AArDK;;AAoFlC32C,QAAMu2C,YAAY,SApFgB,CAoF5BA,CAANv2C;AACA62C,OAAK1wD,IArF6B,MAqFlC0wD;;AACA,MAAI52C,cAAJ,GAAqB;AACnBq2C,iBADmB,CACnBA;AACA,MAFmB,KAEnB;AAxFgC;;AA0FlC,OAAKM,IAAL,GAAYA,IAAZ,OAAuBA,CAAvB,IAA4B;AAC1B,QAAI32C,cAAcA,KAAKD,MAAvB,CAAkBC,CAAlB,EAAiC;AAC/Bq2C,aAAOO,KAAPP,KAAiBr2C,gBADc,CAC/Bq2C;AACA,QAF+B,KAE/B;AAHwB;;AAK1Bt2C,OAL0B;AA1FM;;AAiGlC,MAAIC,cAAJ,GAAqB;AACnBq2C,WAAOO,KAAPP,KADmB,CACnBA;AACA,MAFmB,KAEnB;AAnGgC;;AAqGlC,MAAIK,QAAJ,wBAAoC;AAClC,WADkC,IAClC;AAtGgC;;AA0GlC,MAAMI,QAAQ,eAAe,YAAY,CAAZ,MAAmB,CAAnB,mBAAf,CAAd;AACA,MAAMC,WA3G4B,EA2GlC;;AACA,OAAK7wD,IAAL,GAAYwwD,SAASxwD,KAArB,QAAkCA,CAAlC,IAAuC;AACrC,QAAI8a,IAAI9a,IAD6B,MACrC;AACA,QAAMG,MAAM2a,IAFyB,KAErC;;AACA,WAAOA,WAAW,CAACq1C,OAAnB,CAAmBA,CAAnB,EAA8B;AAC5Br1C,OAD4B;AAHO;;AAMrC,QAAIA,MAAJ,KAAe;AAAA;AANsB;;AASrC,QAAMg2C,SAAS,CAACh2C,IAAD,UAAf;AAEA,QAAMi2C,KAX+B,CAWrC;AACA,QAAIntD,OAAOusD,OAZ0B,CAY1BA,CAAX;;AACA,OAAG;AACD,UAAMhiC,OAAOyiC,MADZ,IACYA,CAAb;;AACA,SAAG;AACD91C,aADC,IACDA;AADF,eAES,CAACq1C,OAJT,CAISA,CAFV;;AAIA,UAAMa,KAAKb,OANV,CAMUA,CAAX;;AACA,UAAIa,YAAYA,OAAhB,IAA2B;AAEzBptD,eAFyB,EAEzBA;AAEAusD,oBAJyB,CAIzBA;AAJF,aAKO;AAGLvsD,eAAOotD,KAAO,OAAD,IAAC,IAHT,CAGLptD;AAEAusD,qBAAcvsD,QAAD,CAACA,GAAcA,QALvB,CAKLusD;AAjBD;;AAoBDW,kBAAYh2C,IAAZg2C,QAAyBh2C,IAAD,MAACA,GApBxB,CAoBDg2C;;AAEA,UAAI,CAACX,OAAL,CAAKA,CAAL,EAAgB;AACd,UADc,KACd;AAvBD;AAAH,aAyBSY,OAtC4B,CAarC;;AA0BAF,kBAvCqC,MAuCrCA;AACA,MAxCqC,CAwCrC;AApJgC;;AAuJlC,MAAMI,cAAc,SAAdA,WAAc,IAAa;AAC/Br1C,MAD+B,IAC/BA;AAEAA,YAAQ,IAARA,OAAmB,KAHY,MAG/BA;AACAA,mBAAe,CAJgB,MAI/BA;AACAA,MAL+B,SAK/BA;;AACA,SAAK,IAAI0R,IAAJ,GAAW4jC,KAAKL,SAArB,QAAsCvjC,IAAtC,IAA8CA,CAA9C,IAAmD;AACjD,UAAM6jC,IAAIN,SADuC,CACvCA,CAAV;AACAj1C,eAASu1C,EAATv1C,CAASu1C,CAATv1C,EAAeu1C,EAFkC,CAElCA,CAAfv1C;;AACA,WAAK,IAAIw1C,IAAJ,GAAWC,KAAKF,EAArB,QAA+BC,IAA/B,IAAuCA,KAAvC,GAA+C;AAC7Cx1C,iBAASu1C,EAATv1C,CAASu1C,CAATv1C,EAAeu1C,EAAEC,IAD4B,CAC9BD,CAAfv1C;AAJ+C;AANpB;;AAa/BA,MAb+B,IAa/BA;AACAA,MAd+B,SAc/BA;AACAA,MAf+B,OAe/BA;AAtKgC,GAuJlC;;AAkBA,SAzKkC,WAyKlC;AA5YF;;IA+YA,gB;AACE9f,8BAAc;AAAA;;AAEZ,wBAFY,KAEZ;AACA,oBAHY,CAGZ;AACA,yBAJY,CAIZ;AACA,sBALY,qBAKZ;AACA,2BANY,CAMZ;AACA,sBAPY,0BAOZ;AACA,mBARY,CAQZ;AAEA,aAVY,CAUZ;AACA,aAXY,CAWZ;AAEA,iBAbY,CAaZ;AACA,iBAdY,CAcZ;AAEA,uBAhBY,CAgBZ;AACA,uBAjBY,CAiBZ;AACA,sBAlBY,CAkBZ;AACA,6BAAyB4M,wBAnBb,IAmBZ;AACA,oBApBY,CAoBZ;AAEA,qBAtBY,SAsBZ;AACA,uBAvBY,SAuBZ;AACA,uBAxBY,KAwBZ;AAEA,qBA1BY,CA0BZ;AACA,uBA3BY,CA2BZ;AACA,qBA5BY,CA4BZ;AACA,uBA7BY,IA6BZ;AACA,0BA9BY,IA8BZ;AACA,wBA/BY,IA+BZ;AAhCmB;;;;WAmCrB9J,iBAAQ;AACN,aAAOgC,cADD,IACCA,CAAP;AApCmB;;;WAuCrB0wD,+BAAsB;AACpB,eADoB,CACpB;AACA,eAFoB,CAEpB;AAzCmB;;;;;;AAgDvB,IAAMC,iBAAkB,iCAAiC;AAGvD,MAAMC,iBAHiD,EAGvD;AAEA,MAAMC,kBALiD,EAKvD;;AAEA,4CAA+D;AAAA,QAArBC,YAAqB,uEAA/D,IAA+D;;AAC7D,QAAI,oCAAoCzB,mBAAxC,WAAsE;AACpEtD,mCADoE,CACpEA;AADoE;AADT;;AAiB7D,QAAMvwD,SAAS6zD,QAAf;AAAA,QACE9zD,QAAQ8zD,QAlBmD,KAiB7D;AAEA,QAAM0B,qBAAqBv1D,SAnBkC,iBAmB7D;AACA,QAAMw1D,aAAc,UAAD,kBAAC,IApByC,iBAoB7D;AACA,QAAMC,cAAcF,wCAAwCC,aArBC,CAqB7D;AAEA,QAAME,eAAenF,2BAvBwC,iBAuBxCA,CAArB;AACA,QAAIoF,SAAJ;AAAA,QAxB6D,OAwB7D;AAEA,QAAM1nC,MAAM4lC,QA1BiD,IA0B7D;AACA,QAAMnrB,OAAOgtB,aA3BgD,IA2B7D;AACA,+BA5B6D,gBA4B7D;AAEA,2DA9B6D,eA8B7D;;AACA,sBAAkB;AAChB,cAAQJ,aAAR;AACE;AACEM,2BAAiBN,aADnB,CACmBA,CAAjBM;AACAC,6BAAmBP,aAFrB,CAEqBA,CAAnBO;AACAC,4BAAkBR,aAHpB,CAGoBA,CAAlBQ;AACAC,4BAAkBT,aAJpB,CAIoBA,CAAlBS;AALJ;;AAOE;AACEH,2BAAiBN,aADnB,CACmBA,CAAjBM;AACAC,6BAAmBP,aAFrB,CAEqBA,CAAnBO;AACAC,4BAAkBR,aAHpB,CAGoBA,CAAlBQ;AACAC,4BAAkBT,aAJpB,CAIoBA,CAAlBS;AAXJ;AAAA;AAhC2D;;AAkD7D,QAAIlC,iBAAiB5mD,gBAArB,gBAA+C;AAE7C,UAAM+oD,YAAY/nC,IAF2B,UAE7C;AACA,UAAMgoC,SAAS,gBAAgBvtB,KAAhB,WAAgCA,mBAHF,CAG9B,CAAf;AACA,UAAMwtB,mBAAmBD,OAJoB,MAI7C;AACA,UAAME,cAAep2D,QAAD,CAACA,IALwB,CAK7C;AACA,UAAIq2D,QANyC,UAM7C;AACA,UAAIC,QAAQt4C,gDAPiC,UAO7C;;AAEA,2BAAqB;AACnB,YAAIg4C,+BAA+BA,0BAAnC,GAAgE;AAAA,qBAC7C,cAD6C;AAC9D,eAD8D;AAC9D,eAD8D;AAD7C;AATwB;;AAe7C,WAAKnyD,IAAL,GAAYA,IAAZ,aAA6BA,CAA7B,IAAkC;AAChC0yD,0BACE1yD,qCAF8B,kBAChC0yD;AAEAC,kBAHgC,CAGhCA;;AACA,aAAKlC,IAAL,GAAYA,IAAZ,iBAAiCA,CAAjC,IAAsC;AACpC,cAAMmC,UAAUR,YADoB,MACpC;AACA,cAAI9kC,IAFgC,CAEpC;AACA,cAAMulC,OAAOD,gCAAgCA,cAHT,CAGpC;AACA,cAAME,eAAeD,OAAO,CAJQ,CAIpC;AACA,cAAItC,OALgC,CAKpC;AACA,cAAIwC,UANgC,CAMpC;;AACA,iBAAOzlC,IAAP,cAAyBA,KAAzB,GAAiC;AAC/BylC,sBAAU1oC,IAAI0nC,MADiB,EACrB1nC,CAAV0oC;AACAV,mBAAOM,OAAPN,MAAoBU,wBAFW,KAE/BV;AACAA,mBAAOM,OAAPN,MAAoBU,uBAHW,KAG/BV;AACAA,mBAAOM,OAAPN,MAAoBU,uBAJW,KAI/BV;AACAA,mBAAOM,OAAPN,MAAoBU,uBALW,KAK/BV;AACAA,mBAAOM,OAAPN,MAAoBU,sBANW,KAM/BV;AACAA,mBAAOM,OAAPN,MAAoBU,sBAPW,KAO/BV;AACAA,mBAAOM,OAAPN,MAAoBU,sBARW,KAQ/BV;AACAA,mBAAOM,OAAPN,MAAoBU,sBATW,KAS/BV;AAhBkC;;AAkBpC,iBAAO/kC,IAAP,MAAiBA,CAAjB,IAAsB;AACpB,gBAAIijC,SAAJ,GAAgB;AACdwC,wBAAU1oC,IAAI0nC,MADA,EACJ1nC,CAAV0oC;AACAxC,qBAFc,GAEdA;AAHkB;;AAMpB8B,mBAAOM,OAAPN,MAAoBU,yBANA,KAMpBV;AACA9B,qBAPoB,CAOpBA;AAzBkC;AAJN;;AAiChC,eAAOoC,UAAP,kBAAmC;AACjCN,iBAAOM,OAAPN,MADiC,CACjCA;AAlC8B;;AAqChC1F,0CAAkC3sD,IArCF,iBAqChC2sD;AApD2C;AAA/C,WAsDO,IAAIsD,iBAAiB5mD,gBAArB,YAA2C;AAEhD,UAAM2pD,kBAAkB,CAAC,EACvB,sCAH8C,eAEvB,CAAzB;AAMAvC,UARgD,CAQhDA;AACAwC,yBAAmB92D,4BAT6B,CAShD82D;;AACA,WAAKjzD,IAAL,GAAYA,IAAZ,YAA4BA,CAA5B,IAAiC;AAC/B8kC,iBAASza,qBAAqB0nC,SADC,gBACtB1nC,CAATya;AACAitB,kBAF+B,gBAE/BA;;AAEA,6BAAqB;AACnB,eAAK,IAAIzkC,KAAT,GAAgBA,KAAhB,kBAAsCA,MAAtC,GAA8C;AAC5C,gCAAoB;AAClBwX,mBAAKxX,KAALwX,KAAcktB,eAAeltB,KAAKxX,KADhB,CACWwX,CAAfktB,CAAdltB;AAF0C;;AAI5C,kCAAsB;AACpBA,mBAAKxX,KAALwX,KAAcmtB,iBAAiBntB,KAAKxX,KADhB,CACWwX,CAAjBmtB,CAAdntB;AAL0C;;AAO5C,iCAAqB;AACnBA,mBAAKxX,KAALwX,KAAcotB,gBAAgBptB,KAAKxX,KADhB,CACWwX,CAAhBotB,CAAdptB;AAR0C;AAD3B;AAJU;;AAkB/B6nB,0CAlB+B,CAkB/BA;AACA8D,aAnB+B,iBAmB/BA;AA7B8C;;AA+BhD,UAAIzwD,IAAJ,aAAqB;AACnBizD,2BAAmB92D,6BADA,CACnB82D;AACAnuB,iBAASza,qBAAqB0nC,SAFX,gBAEV1nC,CAATya;;AAEA,6BAAqB;AACnB,eAAK,IAAIxX,MAAT,GAAgBA,MAAhB,kBAAsCA,OAAtC,GAA8C;AAC5C,gCAAoB;AAClBwX,mBAAKxX,MAALwX,KAAcktB,eAAeltB,KAAKxX,MADhB,CACWwX,CAAfktB,CAAdltB;AAF0C;;AAI5C,kCAAsB;AACpBA,mBAAKxX,MAALwX,KAAcmtB,iBAAiBntB,KAAKxX,MADhB,CACWwX,CAAjBmtB,CAAdntB;AAL0C;;AAO5C,iCAAqB;AACnBA,mBAAKxX,MAALwX,KAAcotB,gBAAgBptB,KAAKxX,MADhB,CACWwX,CAAhBotB,CAAdptB;AAR0C;AAD3B;AAJF;;AAkBnB6nB,0CAlBmB,CAkBnBA;AAjD8C;AAA3C,WAmDA,IAAIsD,iBAAiB5mD,gBAArB,WAA0C;AAE/C,UAAM2pD,mBAAkB,CAAC,EACvB,sCAH6C,eAEtB,CAAzB;;AAMAN,wBAR+C,iBAQ/CA;AACAO,yBAAmB92D,QAT4B,eAS/C82D;;AACA,WAAKjzD,IAAL,GAAYA,IAAZ,aAA6BA,CAA7B,IAAkC;AAChC,YAAIA,KAAJ,YAAqB;AACnB0yD,4BADmB,kBACnBA;AACAO,6BAAmB92D,QAFA,eAEnB82D;AAH8B;;AAMhCN,kBANgC,CAMhCA;;AACA,aAAKlC,IAAL,kBAA2BA,CAA3B,KAAkC;AAChC3rB,eAAK6tB,OAAL7tB,MAAkBza,IAAI0nC,MADU,EACd1nC,CAAlBya;AACAA,eAAK6tB,OAAL7tB,MAAkBza,IAAI0nC,MAFU,EAEd1nC,CAAlBya;AACAA,eAAK6tB,OAAL7tB,MAAkBza,IAAI0nC,MAHU,EAGd1nC,CAAlBya;AACAA,eAAK6tB,OAAL7tB,MAJgC,GAIhCA;AAX8B;;AAchC,8BAAqB;AACnB,eAAK,IAAIxX,MAAT,GAAgBA,MAAhB,SAA6BA,OAA7B,GAAqC;AACnC,gCAAoB;AAClBwX,mBAAKxX,MAALwX,KAAcktB,eAAeltB,KAAKxX,MADhB,CACWwX,CAAfktB,CAAdltB;AAFiC;;AAInC,kCAAsB;AACpBA,mBAAKxX,MAALwX,KAAcmtB,iBAAiBntB,KAAKxX,MADhB,CACWwX,CAAjBmtB,CAAdntB;AALiC;;AAOnC,iCAAqB;AACnBA,mBAAKxX,MAALwX,KAAcotB,gBAAgBptB,KAAKxX,MADhB,CACWwX,CAAhBotB,CAAdptB;AARiC;AADlB;AAdW;;AA4BhC6nB,0CAAkC3sD,IA5BF,iBA4BhC2sD;AAtC6C;AAA1C,WAwCA;AACL,YAAM,oCAA6BsD,QAD9B,IACC,EAAN;AApM2D;AAPR;;AA+MvD,4CAA0C;AACxC,QAAM7zD,SAAS6zD,QAAf;AAAA,QACE9zD,QAAQ8zD,QAF8B,KACxC;AAEA,QAAM0B,qBAAqBv1D,SAHa,iBAGxC;AACA,QAAMw1D,aAAc,UAAD,kBAAC,IAJoB,iBAIxC;AACA,QAAMC,cAAcF,wCAAwCC,aALpB,CAKxC;AAEA,QAAME,eAAenF,2BAPmB,iBAOnBA,CAArB;AACA,QAAIoF,SARoC,CAQxC;AACA,QAAM1nC,MAAM4lC,QAT4B,IASxC;AACA,QAAMnrB,OAAOgtB,aAV2B,IAUxC;;AAEA,SAAK,IAAI9xD,IAAT,GAAgBA,IAAhB,aAAiCA,CAAjC,IAAsC;AACpC,UAAM0yD,kBACJ1yD,qCAFkC,kBACpC;AAKA,UAAI2yD,UANgC,CAMpC;;AACA,WAAK,IAAIlC,IAAT,GAAgBA,IAAhB,iBAAqCA,CAArC,IAA0C;AACxC,YAAIH,IAAJ;AAAA,YACEC,OAFsC,CACxC;;AAEA,aAAK,IAAIjjC,IAAT,GAAgBA,IAAhB,OAA2BA,CAA3B,IAAgC;AAC9B,cAAI,CAAJ,MAAW;AACTgjC,mBAAOjmC,IAAI0nC,MADF,EACF1nC,CAAPimC;AACAC,mBAFS,GAETA;AAH4B;;AAK9BzrB,0BAAgBwrB,kBALc,GAK9BxrB;AACA6tB,qBAN8B,CAM9BA;AACApC,mBAP8B,CAO9BA;AAVsC;AAPN;;AAoBpC5D,wCAAkC3sD,IApBE,iBAoBpC2sD;AAhCsC;AA/Ma;;AAmPvD,4CAA0C;AACxC,QAAMuG,aAAa,6IAAnB;;AAYA,SAAK,IAAIlzD,IAAJ,GAAWD,KAAKmzD,WAArB,QAAwClzD,IAAxC,IAAgDA,CAAhD,IAAqD;AACnD,UAAMmzD,WAAWD,WADkC,CAClCA,CAAjB;;AACA,UAAIE,wBAAJ,WAAuC;AACrCC,4BAAoBD,UADiB,QACjBA,CAApBC;AAHiD;AAbb;;AAmBxC,QAAID,0BAAJ,WAAyC;AACvCC,0BAAoBD,UADmB,WACnBA,EAApBC;AACAA,+BAAyBD,UAFc,cAEvCC;AArBsC;AAnPa;;AA4QvD,kCAAgC;AAC9B1G,sBAD8B,SAC9BA;AACAA,oBAF8B,SAE9BA;AACAA,mBAH8B,SAG9BA;AACAA,sBAJ8B,CAI9BA;AACAA,oBAL8B,CAK9BA;AACAA,kBAN8B,MAM9BA;AACAA,mBAP8B,OAO9BA;AACAA,qBAR8B,EAQ9BA;AACAA,mCAT8B,aAS9BA;AACAA,eAV8B,iBAU9BA;;AACA,QAAIA,oBAAJ,WAAmC;AACjCA,sBADiC,EACjCA;AACAA,2BAFiC,CAEjCA;AAb4B;AA5QuB;;AA6RvD,mDAAiD;AAC/C,QAAMvzC,SAASD,MADgC,MAC/C;;AACA,SAAK,IAAInZ,IAAT,GAAgBA,IAAhB,QAA4BA,KAA5B,GAAoC;AAClC,UAAMszD,QAAQn6C,MADoB,CACpBA,CAAd;;AACA,UAAIm6C,UAAJ,GAAiB;AACfn6C,cAAMnZ,IAANmZ,KADe,EACfA;AACAA,cAAMnZ,IAANmZ,KAFe,EAEfA;AACAA,cAAMnZ,IAANmZ,KAHe,EAGfA;AAHF,aAIO,IAAIm6C,QAAJ,KAAiB;AACtB,YAAMC,SAAS,MADO,KACtB;AACAp6C,cAAMnZ,IAANmZ,KAAgBA,MAAMnZ,IAANmZ,aAAuBq6C,KAAxB,MAACr6C,IAFM,CAEtBA;AACAA,cAAMnZ,IAANmZ,KAAgBA,MAAMnZ,IAANmZ,aAAuBs6C,KAAxB,MAACt6C,IAHM,CAGtBA;AACAA,cAAMnZ,IAANmZ,KAAgBA,MAAMnZ,IAANmZ,aAAuBu6C,KAAxB,MAACv6C,IAJM,CAItBA;AAVgC;AAFW;AA7RM;;AA8SvD,+DAA6D;AAC3D,QAAMC,SAASu6C,SAD4C,MAC3D;AACA,QAAM90D,QAAQ,IAF6C,GAE3D;;AACA,SAAK,IAAImB,IAAT,GAAgBA,IAAhB,QAA4BA,KAA5B,GAAoC;AAClC,UAAMszD,QAAQM,cAAcA,YAAYD,SAA1BC,CAA0BD,CAAZC,CAAdA,GAAyCD,SADrB,CACqBA,CAAvD;AACAE,qBAAgBA,uBAAD,KAACA,GAFkB,CAElCA;AALyD;AA9SN;;AAuTvD,oEAAkE;AAChE,QAAMz6C,SAASu6C,SADiD,MAChE;;AACA,SAAK,IAAI3zD,IAAT,GAAgBA,IAAhB,QAA4BA,KAA5B,GAAoC;AAClC,UAAM8zD,IACJH,SAAS3zD,IAAT2zD,UACAA,SAAS3zD,IAAT2zD,KADAA,MAEAA,SAAS3zD,IAAT2zD,KAJgC,EAClC;AAIAE,qBAAeD,cACVC,eAAeD,YAAYE,KAA5B,CAAgBF,CAAfC,IADUD,IAEVC,eAAD,CAACA,IAP6B,EAKlCA;AAP8D;AAvTX;;AAoUvD,iGAQE;AACA,QAAME,cAAc,CAAC,CADrB,QACA;AACA,QAAMP,KAAKO,cAAcC,SAAdD,CAAcC,CAAdD,GAFX,CAEA;AACA,QAAMN,KAAKM,cAAcC,SAAdD,CAAcC,CAAdD,GAHX,CAGA;AACA,QAAML,KAAKK,cAAcC,SAAdD,CAAcC,CAAdD,GAJX,CAIA;AAEA,QANA,SAMA;;AACA,QAAIE,YAAJ,cAA8B;AAC5BC,kBAD4B,sBAC5BA;AADF,WAEO;AACLA,kBADK,iBACLA;AAVF;;AAcA,QAAMC,oBAdN,OAcA;AACA,QAAMjiB,YAAYxzC,iBAAiBA,UAAUy1D,oBAf7C,KAemCz1D,CAAjBA,CAAlB;;AACA,SAAK,IAAI01D,MAAT,GAAkBA,MAAlB,QAAgCA,OAAhC,WAAkD;AAChD,UAAMC,cAAc31D,oBAAoBtC,SADQ,GAC5BsC,CAApB;AACA,UAAMi1D,WAAWW,oCAF+B,WAE/BA,CAAjB;AACA,UAAMT,YAAYU,qCAH8B,WAG9BA,CAAlB;;AAEA,uBAAiB;AACfC,6BAAqBb,SAArBa,cADe,EACfA;AAN8C;;AAQhDN,gBAAUP,SAAVO,MAAyBL,UAAzBK,MARgD,WAQhDA;AAEAI,yCAVgD,GAUhDA;AA1BF;AA5UqD;;AA0WvD,8CAA4C;AAC1C,QAAM/D,OAAOj5C,MAD6B,MAC1C;AACA,QAAMg9C,UAAUh9C,MAF0B,OAE1C;AAEAq1C,qBACEr1C,MADFq1C,cAIEr1C,MAJFq1C,QAKEr1C,MALFq1C,SAMEr1C,MAVwC,OAI1Cq1C;AASA8H,2CAGElE,KAHFkE,OAIElE,KAJFkE,QAKEn9C,MALFm9C,SAMEn9C,MANFm9C,UAOEn9C,MApBwC,WAa1Cm9C;AASA9H,2BAtB0C,CAsB1CA;AAhYqD;;AAmYvD,MAAM+H,kBAAkB,2BAAxB;AACA,MAAMC,mBAAmB,2BAAzB;AACA,MAAMC,cArYiD,EAqYvD;AACA,MAAMC,UAtYiD,EAsYvD;;AAtYuD,MAyYvD,cAzYuD;AA0YrD/4D,2GAOE;AAAA;;AACA,iBADA,SACA;AACA,qBAAe,IAFf,gBAEe,EAAf;AACA,wBAHA,EAGA;AACA,yBAJA,IAIA;AACA,2BALA,KAKA;AACA,iBANA,IAMA;AACA,mBAPA,IAOA;AACA,wBARA,UAQA;AACA,kBATA,IASA;AACA,2BAVA,aAUA;AACA,wBAXA,UAWA;AACA,wBAZA,EAYA;AACA,6BAbA,IAaA;AAGA,2BAhBA,IAgBA;AACA,gCAjBA,EAiBA;AACA,wBAlBA,CAkBA;AACA,wBAnBA,EAmBA;AACA,0BApBA,CAoBA;AACA,uBArBA,IAqBA;AACA,4BAtBA,IAsBA;AACA,gCAvBA,EAuBA;AACA,mCAxBA,qBAwBA;AACA,4BAAsB,mBAAmB,KAzBzC,aAyBsB,CAAtB;;AACA,qBAAe;AAGbg0D,mCAHa,SAGbA;AA7BF;;AA+BA,wCA/BA,IA+BA;AAvCiB;;AAzYkC;AAAA;AAAA,aAmbrDgF,6BAKG;AAAA,YALU,SAKV,SALU,SAKV;AAAA,YALU,QAKV,SALU,QAKV;AAAA,uCAFDpQ,YAEC;AAAA,YAFDA,YAEC,mCALU,KAKV;AAAA,qCADDpB,UACC;AAAA,YADDA,UACC,iCALHwR,IAKG;AAMD,YAAM34D,QAAQ,gBANb,KAMD;AACA,YAAMC,SAAS,gBAPd,MAOD;AAEA,iBATC,IASD;AACA,6BAAqBknD,cAVpB,oBAUD;AACA,uCAXC,MAWD;AACA,iBAZC,OAYD;;AAEA,0BAAkB;AAChB,cAAMyR,oBAAoB,4DADV,IACU,CAA1B;AAMA,8BAAoB,KAPJ,GAOhB;AACA,mCAAyBA,kBART,MAQhB;AACA,qBAAWA,kBATK,OAShB;AACA,mBAVgB,IAUhB;AAGA,mCACE,KADF,KAEE,kBAfc,mBAahB;AA3BD;;AAiCD,iBAjCC,IAiCD;AACAC,0BAAkB,KAlCjB,GAkCDA;;AACA,uBAAe;AACb,mCAAyB,KAAzB,KADa,SACb;AApCD;;AAsCD,iCAAyB,KAAzB,KAAmC5Q,SAtClC,SAsCD;AAEA,6BAAqB,6BAxCpB,KAwCoB,EAArB;AACA,oCAA4B1lD,WAC1B,mBAD0BA,CAC1B,CAD0BA,EAE1B,mBA3CD,CA2CC,CAF0BA,CAA5B;;AAKA,YAAI,KAAJ,YAAqB;AACnB,0BADmB,WACnB;AA/CD;AA/CgB;AAzYkC;AAAA;AAAA,aA2erDu2D,yFAKE;AACA,YAAMlR,YAAYQ,aADlB,SACA;AACA,YAAMT,UAAUS,aAFhB,OAEA;AACA,YAAIvkD,IAAIk1D,qBAHR,CAGA;AACA,YAAMC,eAAepR,UAJrB,MAIA;;AAGA,YAAIoR,iBAAJ,GAAwB;AACtB,iBADsB,CACtB;AARF;;AAWA,YAAMC,kBACJD,sCACA,4BAbF,UAWA;AAGA,YAAME,UAAUD,kBAAkBr0D,aAAlBq0D,iBAdhB,CAcA;AACA,YAAIxE,QAfJ,CAeA;AAEA,YAAMtM,aAAa,KAjBnB,UAiBA;AACA,YAAMD,OAAO,KAlBb,IAkBA;AACA,YAnBA,IAmBA;;AAEA,qBAAa;AACX,cAAIiR,yBAAyBt1D,MAAMs1D,QAAnC,gBAA2D;AACzDA,+BADyD,gBACzDA;AACA,mBAFyD,CAEzD;AAHS;;AAMXC,iBAAOzR,QANI,CAMJA,CAAPyR;;AAEA,cAAIA,SAASlkD,UAAb,YAA6B;AAC3B,mCAAuB0yC,UADI,CACJA,CAAvB;AADF,iBAEO;AAAA,uDACkBA,UAAvB,CAAuBA,CADlB;AAAA;;AAAA;AACL,kEAAqC;AAAA,oBAArC,QAAqC;AACnC,oBAAMyR,WAAWC,yCADkB,IACnC;;AAIA,oBAAI,CAACD,aAAL,QAAKA,CAAL,EAA6B;AAC3BA,yCAD2B,gBAC3BA;AACA,yBAF2B,CAE3B;AAPiC;AADhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAVI;;AAuBXx1D,WAvBW;;AA0BX,cAAIA,MAAJ,cAAwB;AACtB,mBADsB,CACtB;AA3BS;;AAgCX,cAAIo1D,mBAAmB,UAAvB,iBAAkD;AAChD,gBAAIr0D,aAAJ,SAA0B;AACxB20D,8BADwB;AAExB,qBAFwB,CAExB;AAH8C;;AAKhD9E,oBALgD,CAKhDA;AArCS;AArBb;AAvGiB;AAzYkC;AAAA;AAAA,aAkjBrD+E,sBAAa;AAEX,eAAO,0BAA0B,6BAAjC,MAAoE;AAClE,eADkE,OAClE;AAHS;;AAMX,iBANW,OAMX;;AAEA,YAAI,KAAJ,mBAA4B;AAC1B,qBAAW,KADe,YAC1B;AACA,mBAF0B,IAE1B;AACA,+CAH0B,CAG1B;AACA,6BAAmB,KAAnB,sBAJ0B,CAI1B;AACA,mBAL0B,OAK1B;AACA,mCAN0B,IAM1B;AAdS;;AAiBX,4BAjBW,KAiBX;;AAEA,YAAI,KAAJ,YAAqB;AACnB,0BADmB,SACnB;AApBS;AAzKM;AAzYkC;AAAA;AAAA,aA2kBrDpkD,6BAAoB;AAClB,iCADkB,KAClB;AACA,6BAFkB,KAElB;AApMiB;AAzYkC;AAAA;AAAA,aAglBrDC,2BAAkB;AAChB,2BAAmBkjD,gBADH,KACGA,CAAnB;AAxMiB;AAzYkC;AAAA;AAAA,aAolBrDjjD,4BAAmB;AACjB,4BAAoBkjD,iBADH,KACGA,CAApB;AA5MiB;AAzYkC;AAAA;AAAA,aAwlBrDjjD,8BAAqB;AACnB,8BADmB,KACnB;AAhNiB;AAzYkC;AAAA;AAAA,aA4lBrDC,uCAA8B;AAC5B,YAAMg7C,MAAM,KADgB,GAC5B;;AACA,YAAIA,oBAAJ,WAAmC;AACjCA,0BADiC,SACjCA;AACAA,+BAFiC,SAEjCA;AAJ0B;AAnNX;AAzYkC;AAAA;AAAA,aAomBrD/6C,oCAA2B,CA3NR;AAzYkC;AAAA;AAAA,aAwmBrDC,+BAAsB,CA/NH;AAzYkC;AAAA;AAAA,aA4mBrDC,2BAAkB;AAChB,aAAK,IAAI9R,IAAJ,GAAWD,KAAK61D,OAArB,QAAoC51D,IAApC,IAA4CA,CAA5C,IAAiD;AAC/C,cAAM0F,QAAQkwD,OADiC,CACjCA,CAAd;AACA,cAAMtvD,MAAMZ,MAFmC,CAEnCA,CAAZ;AACA,cAAM1C,QAAQ0C,MAHiC,CAGjCA,CAAd;;AAEA;AACE;AACE,gCADF,KACE;AAFJ;;AAIE;AACE,8BADF,KACE;AALJ;;AAOE;AACE,+BADF,KACE;AARJ;;AAUE;AACE,iCADF,KACE;AAXJ;;AAaE;AACE,2BAAa1C,MAAb,CAAaA,CAAb,EAAuBA,MADzB,CACyBA,CAAvB;AAdJ;;AAgBE;AACE,sCADF,KACE;AAjBJ;;AAmBE;AACE,+BADF,KACE;AApBJ;;AAsBE;AACE,2BAAaA,MAAb,CAAaA,CAAb,EAAuBA,MADzB,CACyBA,CAAvB;AAvBJ;;AAyBE;AACE,yCAA2B0C,MAD7B,CAC6BA,CAA3B;AA1BJ;;AA4BE;AACE,uCAAyBA,MAD3B,CAC2BA,CAAzB;AACA,qCAAuBA,MAFzB,CAEyBA,CAAvB;AA9BJ;;AAgCE;AACE,kDADF,KACE;AAjCJ;;AAmCE;AACE,kBAAI,aAAJ,aAA8B;AAI5B,oBACE,8BACA,gBAAgB,yBAAhB,mBACE,aAHJ,aAIE;AACA,uBADA,iBACA;AALF,uBAMO;AACL,uBADK,aACL;AAX0B;AADhC;;AAeE,yCAA2B1C,QAAQ,KAARA,YAf7B,IAeE;;AACA,kBAAI,aAAJ,aAA8B;AAC5B,qBAD4B,eAC5B;AAjBJ;;AAmBE,+BAnBF,IAmBE;AAtDJ;;AAwDE;AACE,0CAzDJ,KAyDI;AAzDJ;AANc;AAnOC;AAzYkC;AAAA;AAAA,aAgrBrD6yD,2BAAkB;AAChB,YAAMC,cAAc,aADJ,WAChB;AACA,YAAMC,aAAaD,mBAFH,KAEhB;AACA,YAAME,cAAcF,mBAHJ,MAGhB;AACA,YAAMG,UAAU,iBAAiB,KAJjB,UAIhB;AACA,YAAMC,gBAAgB,gEALN,IAKM,CAAtB;AAOA,YAAMC,aAAa,KAZH,GAYhB;AACA,YAAMC,mBAAmBD,WAbT,mBAahB;AACA,iBAdgB,IAchB;AAEA,YAAME,WAAWH,cAhBD,OAgBhB;AACAG,uBAAe,IAAIP,YAAnBO,QAAuC,IAAIP,YAjB3B,MAiBhBO;AACAA,2BAAmB,CAACP,YAApBO,SAAyC,CAACP,YAlB1B,OAkBhBO;AACAA,2CAnBgB,gBAmBhBA;AAEAP,4CAAoCO,SArBpB,0BAqBhBP;AAEAQ,iCAvBgB,QAuBhBA;AACA,mBAxBgB,QAwBhB;AACA,uBAAe,CACb,qBADa,EAEb,SAFa,EAGb,SAHa,CAAf;AAKA,6BA9BgB,UA8BhB;AACA,aA/BgB,UA+BhB;AAtUiB;AAzYkC;AAAA;AAAA,aAktBrDC,6BAAoB;AAGlB,YAAMF,WAAW,KAHC,GAGlB;AACA,aAJkB,UAIlB;AACA,mBAAW,gBALO,GAKP,EAAX;AAEAG,qBAAa,KAAbA,KAAuB,aAAvBA,aAPkB,QAOlBA;AACA,iBARkB,OAQlB;AACA,iBATkB,IASlB;AACAF,+BAAuB,KAVL,GAUlBA;AAGA,sCAbkB,QAalB;;AAGA,YAAMG,iBAAiBt7C,qBACrB,yBADqBA,uBAErBk7C,SAlBgB,mBAgBKl7C,CAAvB;;AAIA,iCAAyB,KAAzB,KApBkB,cAoBlB;AAGAk7C,iBAvBkB,IAuBlBA;AACAA,6CAxBkB,CAwBlBA;AACAA,iCAAyBA,gBAAzBA,OAAgDA,gBAzB9B,MAyBlBA;AACAA,iBA1BkB,OA0BlBA;AAnWiB;AAzYkC;AAAA;AAAA,aA+uBrDK,4BAAmB;AAIjB,YAAML,WAAW,aAJA,cAIjB;AACA,YAAMF,aAAa,KALF,GAKjB;AACA,mBANiB,QAMjB;AACA,6BAPiB,UAOjB;AACA,aARiB,UAQjB;AA9WiB;AAzYkC;AAAA;AAAA,aA0vBrDQ,yBAAgB;AACd,YAAMN,WAAW,KADH,GACd;AACA,aAFc,UAEd;AACA,mBAAW,gBAHG,GAGH,EAAX;AAEAG,qBAAa,KAAbA,KAAuB,aAAvBA,aALc,QAKdA;AACA,iBANc,OAMd;AACAF,+BAAuB,KAPT,GAOdA;;AAGA,YAAMG,iBAAiBt7C,qBACrB,yBADqBA,uBAErBk7C,SAZY,mBAUSl7C,CAAvB;;AAIA,iCAAyB,KAAzB,KAdc,cAcd;AA/XiB;AAzYkC;AAAA;AAAA,aA2wBrDpJ,gBAAO;AACL,iBADK,IACL;AACA,YAAMy9C,MAAM,KAFP,OAEL;AACA,6BAHK,GAGL;AACA,uBAAeA,IAJV,KAIUA,EAAf;AACA,sCALK,IAKL;AAvYiB;AAzYkC;AAAA;AAAA,aAmxBrDx9C,mBAAU;AAER,YAAI,aAAJ,gBAAiC;AAC/B,eAD+B,gBAC/B;AAHM;;AAOR,YACE,sCACC,gCACC,gBAAgB,yBAAhB,mBACE,aAJN,WACE,CADF,EAKE;AACA,eADA,aACA;AAbM;;AAgBR,YAAI,2BAAJ,GAAkC;AAChC,yBAAe,gBADiB,GACjB,EAAf;AACA,mBAFgC,OAEhC;AAGA,6BALgC,IAKhC;AAEA,4CAPgC,IAOhC;AAPF,eAQO;AAEL,qCAFK,IAEL;AA1BM;AA1YS;AAzYkC;AAAA;AAAA,aAizBrDC,qCAA4B;AAC1B,0CAD0B,CAC1B;AAEA,0CAH0B,IAG1B;AA3aiB;AAzYkC;AAAA;AAAA,aAwzBrD+E,kCAAyB;AACvB,YAAM21C,MAAM,KADW,GACvB;AACA,YAAMsB,UAAU,KAFO,OAEvB;AACA,YAAIl6B,IAAIk6B,QAAR;AAAA,YACE6F,IAAI7F,QAJiB,CAGvB;;AAEA,aAAK,IAAIjuD,IAAJ,GAAWywD,IAAX,GAAkB1wD,KAAK62D,IAA5B,QAAwC52D,IAAxC,IAAgDA,CAAhD,IAAqD;AACnD,kBAAQ42D,SAAR;AACE,iBAAKvlD,UAAL;AACE0iB,kBAAIkC,KAAKw6B,CADX,EACMx6B,CAAJlC;AACA+/B,kBAAI79B,KAAKw6B,CAFX,EAEMx6B,CAAJ69B;AACA,kBAAM33D,QAAQ85B,KAAKw6B,CAHrB,EAGgBx6B,CAAd;AACA,kBAAM75B,SAAS65B,KAAKw6B,CAJtB,EAIiBx6B,CAAf;AAEA,kBAAM4gC,KAAK9iC,IANb,KAME;AACA,kBAAM+iC,KAAKhD,IAPb,MAOE;AACAnH,4BARF,CAQEA;;AACA,kBAAIxwD,eAAeC,WAAnB,GAAiC;AAC/BuwD,+BAD+B,EAC/BA;AADF,qBAEO;AACLA,+BADK,CACLA;AACAA,+BAFK,EAELA;AACAA,8BAHK,EAGLA;AAdJ;;AAiBEA,kBAjBF,SAiBEA;AAlBJ;;AAoBE,iBAAKt7C,UAAL;AACE0iB,kBAAIkC,KAAKw6B,CADX,EACMx6B,CAAJlC;AACA+/B,kBAAI79B,KAAKw6B,CAFX,EAEMx6B,CAAJ69B;AACAnH,4BAHF,CAGEA;AAvBJ;;AAyBE,iBAAKt7C,UAAL;AACE0iB,kBAAIkC,KAAKw6B,CADX,EACMx6B,CAAJlC;AACA+/B,kBAAI79B,KAAKw6B,CAFX,EAEMx6B,CAAJ69B;AACAnH,4BAHF,CAGEA;AA5BJ;;AA8BE,iBAAKt7C,UAAL;AACE0iB,kBAAIkC,KAAKw6B,IADX,CACMx6B,CAAJlC;AACA+/B,kBAAI79B,KAAKw6B,IAFX,CAEMx6B,CAAJ69B;AACAnH,gCACE12B,KADF02B,CACE12B,CADF02B,EAEE12B,KAAKw6B,IAFP9D,CAEE12B,CAFF02B,EAGE12B,KAAKw6B,IAHP9D,CAGE12B,CAHF02B,EAIE12B,KAAKw6B,IAJP9D,CAIE12B,CAJF02B,KAHF,CAGEA;AAQA8D,mBAXF,CAWEA;AAzCJ;;AA2CE,iBAAKp/C,UAAL;AACEs7C,sCAGE12B,KAHF02B,CAGE12B,CAHF02B,EAIE12B,KAAKw6B,IAJP9D,CAIE12B,CAJF02B,EAKE12B,KAAKw6B,IALP9D,CAKE12B,CALF02B,EAME12B,KAAKw6B,IAPT,CAOIx6B,CANF02B;AAQA54B,kBAAIkC,KAAKw6B,IATX,CASMx6B,CAAJlC;AACA+/B,kBAAI79B,KAAKw6B,IAVX,CAUMx6B,CAAJ69B;AACArD,mBAXF,CAWEA;AAtDJ;;AAwDE,iBAAKp/C,UAAL;AACE0iB,kBAAIkC,KAAKw6B,IADX,CACMx6B,CAAJlC;AACA+/B,kBAAI79B,KAAKw6B,IAFX,CAEMx6B,CAAJ69B;AACAnH,gCAAkB12B,KAAlB02B,CAAkB12B,CAAlB02B,EAA2B12B,KAAKw6B,IAAhC9D,CAA2B12B,CAA3B02B,WAHF,CAGEA;AACA8D,mBAJF,CAIEA;AA5DJ;;AA8DE,iBAAKp/C,UAAL;AACEs7C,kBADF,SACEA;AA/DJ;AAAA;AANqB;;AAyEvBsB,mCAzEuB,CAyEvBA;AAxfiB;AAzYkC;AAAA;AAAA,aAo4BrD17C,qBAAY;AACV,iBADU,SACV;AA5fiB;AAzYkC;AAAA;AAAA,aAw4BrDE,6BAAoB;AAClBskD,sBAAc,mDADI,IAClBA;AACA,YAAMpK,MAAM,KAFM,GAElB;AACA,YAAMqK,cAAc,aAHF,WAGlB;AAGArK,0BAAkB,aANA,WAMlBA;;AACA,YAAI,KAAJ,gBAAyB;AACvB,cAAI,qCAAmCqK,WAAnC,aAAmCA,WAAnC,eAAmCA,YAAvC,YAAgE;AAC9D,gBAAMC,YAAY,KAD4C,mBAC5C,EAAlB;AACAtK,gBAF8D,IAE9DA;AACAA,8BAAkBqK,4BAH4C,IAG5CA,CAAlBrK;AAEAA,4BAAgBjuD,oBAAoB,aAL0B,SAK9CA,CAAhBiuD;AACAA,gBAN8D,MAM9DA;AACAA,gBAP8D,OAO9DA;AAPF,iBAQO;AACL,gBAAMsK,aAAY,KADb,mBACa,EAAlB;;AACA,gBAAIA,kBAAiB,eAAc,aAAnC,WAA2D;AAGzDtK,kBAHyD,IAGzDA;AACAA,kBAJyD,cAIzDA;AACAA,8BAAgBjuD,WAAW,KAL8B,oBAKzCA,CAAhBiuD;AACAA,kBANyD,MAMzDA;AACAA,kBAPyD,OAOzDA;AAPF,mBAQO;AAELA,8BAAgBjuD,qBAAoB,aAF/B,SAEWA,CAAhBiuD;AACAA,kBAHK,MAGLA;AAbG;AATgB;AAPP;;AAiClB,yBAAiB;AACf,eADe,WACf;AAlCgB;;AAqClBA,0BAAkB,aArCA,SAqClBA;AApiBiB;AAzYkC;AAAA;AAAA,aAg7BrDj6C,uBAAc;AACZ,aADY,SACZ;AACA,aAFY,MAEZ;AAziBiB;AAzYkC;AAAA;AAAA,aAq7BrDC,2BAAkB;AAChBokD,sBAAc,mDADE,IAChBA;AACA,YAAMpK,MAAM,KAFI,GAEhB;AACA,YAAMuK,YAAY,aAHF,SAGhB;AACA,YAAMC,gBAAgB,aAJN,WAIhB;AACA,YAAIC,cALY,KAKhB;;AAEA,2BAAmB;AACjBzK,cADiB,IACjBA;AACAA,0BAAgBuK,0BAFC,IAEDA,CAAhBvK;AACAyK,wBAHiB,IAGjBA;AAVc;;AAahB,YAAI,KAAJ,gBAAyB;AACvB,cAAI,KAAJ,eAAwB;AACtBzK,qBADsB,SACtBA;AACA,iCAFsB,KAEtB;AAFF,iBAGO;AACLA,gBADK,IACLA;AALqB;AAbT;;AAsBhB,yBAAiB;AACfA,cADe,OACfA;AAvBc;;AAyBhB,yBAAiB;AACf,eADe,WACf;AA1Bc;AA5iBC;AAzYkC;AAAA;AAAA,aAm9BrD/5C,kBAAS;AACP,6BADO,IACP;AACA,aAFO,IAEP;AA5kBiB;AAzYkC;AAAA;AAAA,aAw9BrDC,sBAAa;AACX,kBADW,KACX;AACA,oBAFW,KAEX;AAEA,aAJW,WAIX;AAnlBiB;AAzYkC;AAAA;AAAA,aA+9BrDC,wBAAe;AACb,6BADa,IACb;AACA,aAFa,UAEb;AAxlBiB;AAzYkC;AAAA;AAAA,aAo+BrDC,2BAAkB;AAChB,aADgB,SAChB;AACA,aAFgB,UAEhB;AA7lBiB;AAzYkC;AAAA;AAAA,aAy+BrDC,6BAAoB;AAClB,6BADkB,IAClB;AACA,aAFkB,SAElB;AACA,aAHkB,UAGlB;AAnmBiB;AAzYkC;AAAA;AAAA,aA++BrDC,mBAAU;AACR,aADQ,WACR;AAvmBiB;AAzYkC;AAAA;AAAA,aAo/BrDC,gBAAO;AACL,2BADK,WACL;AA5mBiB;AAzYkC;AAAA;AAAA,aAw/BrDC,kBAAS;AACP,2BADO,OACP;AAhnBiB;AAzYkC;AAAA;AAAA,aA6/BrDC,qBAAY;AACV,kCADU,qBACV;AACA,uCAFU,CAEV;AACA,yBAAiB,qBAHP,CAGV;AACA,yBAAiB,qBAJP,CAIV;AAxnBiB;AAzYkC;AAAA;AAAA,aAogCrDC,mBAAU;AACR,YAAMgkD,QAAQ,KADN,gBACR;AACA,YAAM1K,MAAM,KAFJ,GAER;;AACA,YAAI0K,UAAJ,WAAyB;AACvB1K,cADuB,SACvBA;AADuB;AAHjB;;AAQRA,YARQ,IAQRA;AACAA,YATQ,SASRA;;AACA,aAAK,IAAI3sD,IAAT,GAAgBA,IAAIq3D,MAApB,QAAkCr3D,CAAlC,IAAuC;AACrC,cAAMolB,OAAOiyC,MADwB,CACxBA,CAAb;AACA1K,sCAA4BvnC,KAFS,SAErCunC;AACAA,wBAAcvnC,KAAdunC,GAAsBvnC,KAHe,CAGrCunC;AACAvnC,8BAAoBA,KAJiB,QAIrCA;AAdM;;AAgBRunC,YAhBQ,OAgBRA;AACAA,YAjBQ,IAiBRA;AACAA,YAlBQ,SAkBRA;AACA,eAAO,KAnBC,gBAmBR;AA9oBiB;AAzYkC;AAAA;AAAA,aA0hCrDr5C,iCAAwB;AACtB,mCADsB,OACtB;AAlpBiB;AAzYkC;AAAA;AAAA,aA8hCrDC,iCAAwB;AACtB,mCADsB,OACtB;AAtpBiB;AAzYkC;AAAA;AAAA,aAkiCrDC,0BAAiB;AACf,kCAA0B3U,QADX,GACf;AA1pBiB;AAzYkC;AAAA;AAAA,aAsiCrD4U,6BAAoB;AAClB,+BAAuB,CADL,OAClB;AA9pBiB;AAzYkC;AAAA;AAAA,aA0iCrDC,oCAA2B;AACzB,YAAM4jD,UAAU,oBADS,WACT,CAAhB;AACA,YAAMrJ,UAAU,KAFS,OAEzB;;AAEA,YAAI,CAAJ,SAAc;AACZ,gBAAM,wCADM,WACN,EAAN;AALuB;;AAOzBA,6BAAqBqJ,sBAPI,0BAOzBrJ;;AAIA,YAAIA,+BAA+BA,0BAAnC,GAAgE;AAC9D3tD,0BAAK,kCADyD,WAC9DA;AAZuB;;AAiBzB,YAAIu4B,OAAJ,GAAc;AACZA,iBAAO,CADK,IACZA;AACAo1B,kCAAwB,CAFZ,CAEZA;AAFF,eAGO;AACLA,kCADK,CACLA;AArBuB;;AAwBzB,4BAxByB,OAwBzB;AACA,gCAzByB,IAyBzB;;AAEA,YAAIqJ,QAAJ,aAAyB;AAAA;AA3BA;;AA+BzB,YAAMx2D,OAAOw2D,sBA/BY,YA+BzB;AAEA,YAAIC,OAjCqB,QAiCzB;;AACA,YAAID,QAAJ,OAAmB;AACjBC,iBADiB,KACjBA;AADF,eAEO,IAAID,QAAJ,MAAkB;AACvBC,iBADuB,MACvBA;AArCuB;;AAuCzB,YAAMC,SAASF,4BAvCU,QAuCzB;AACA,YAAMG,uBAAW,IAAXA,iBAAyBH,QAxCN,YAwCnBG,CAAN;AAMA,YAAIC,kBA9CqB,IA8CzB;;AACA,YAAI7+B,OAAJ,eAA0B;AACxB6+B,4BADwB,aACxBA;AADF,eAEO,IAAI7+B,OAAJ,eAA0B;AAC/B6+B,4BAD+B,aAC/BA;AAlDuB;;AAoDzB,qCAA6B7+B,OApDJ,eAoDzB;AAEA,kCAAgB,MAAhB,cAAgB,IAAhB,cAAgB,eAAhB,gBAtDyB,QAsDzB;AAvtBiB;AAzYkC;AAAA;AAAA,aAmmCrDllB,oCAA2B;AACzB,yCADyB,IACzB;AA3tBiB;AAzYkC;AAAA;AAAA,aAumCrDC,2BAAkB;AAChB,gCADgB,IAChB;AA/tBiB;AAzYkC;AAAA;AAAA,aA2mCrDC,wBAAe;AACb,yBAAiB,sBADJ,CACb;AACA,yBAAiB,sBAFJ,CAEb;AApuBiB;AAzYkC;AAAA;AAAA,aAgnCrDC,kCAAyB;AACvB,wBAAgB,CADO,CACvB;AACA,yBAFuB,CAEvB;AAzuBiB;AAzYkC;AAAA;AAAA,aAqnCrDC,yCAAgC;AAC9B,kCAA0B,kBAA1B;AACA,uCAA+BrV,cAFD,CAECA,CAA/B;AAEA,yBAAiB,qBAJa,CAI9B;AACA,yBAAiB,qBALa,CAK9B;AAjvBiB;AAzYkC;AAAA;AAAA,aA6nCrDsV,oBAAW;AACT,yBAAiB,aADR,OACT;AArvBiB;AAzYkC;AAAA;AAAA,aAioCrD2jD,2EAAkE;AAChE,YAAMhL,MAAM,KADoD,GAChE;AACA,YAAMsB,UAAU,KAFgD,OAEhE;AACA,YAAMz2C,OAAOy2C,QAHmD,IAGhE;AACA,YAAM2J,oBAAoB3J,QAJsC,iBAIhE;AACA,YAAM4J,WAAW5J,mBAAmBA,QAL4B,aAKhE;AACA,YAAM6J,iBACJF,oBAAoBlvD,wBAP0C,gBAMhE;AAEA,YAAMqvD,iBAAiB,CAAC,EACtB,oBAAoBrvD,wBAT0C,gBAQxC,CAAxB;AAGA,YAAMsvD,cAAc/J,uBAAuB,CAACz2C,KAXoB,WAWhE;AAEA,YAbgE,SAahE;;AACA,YAAIA,0CAAJ,aAA2D;AACzDygD,sBAAYzgD,sBAAsB,KAAtBA,YAD6C,SAC7CA,CAAZygD;AAf8D;;AAkBhE,YAAIzgD,wBAAJ,aAAyC;AACvCm1C,cADuC,IACvCA;AACAA,2BAFuC,CAEvCA;AACAA,cAHuC,SAGvCA;AACAsL,yBAJuC,QAIvCA;;AACA,gCAAsB;AACpBtL,wCADoB,gBACpBA;AANqC;;AAQvC,cACEmL,mBAAmBpvD,wBAAnBovD,QACAA,mBAAmBpvD,wBAFrB,aAGE;AACAikD,gBADA,IACAA;AAZqC;;AAcvC,cACEmL,mBAAmBpvD,wBAAnBovD,UACAA,mBAAmBpvD,wBAFrB,aAGE;AACA,qCAAyB;AACvBikD,kBADuB,cACvBA;AACAA,8BAAgBjuD,WAAW,KAFJ,oBAEPA,CAAhBiuD;AAHF;;AAKAA,gBALA,MAKAA;AAtBqC;;AAwBvCA,cAxBuC,OAwBvCA;AAxBF,eAyBO;AACL,cACEmL,mBAAmBpvD,wBAAnBovD,QACAA,mBAAmBpvD,wBAFrB,aAGE;AACAikD,uCADA,CACAA;AALG;;AAOL,cACEmL,mBAAmBpvD,wBAAnBovD,UACAA,mBAAmBpvD,wBAFrB,aAGE;AACA,qCAAyB;AACvBikD,kBADuB,IACvBA;AACAA,4BAFuB,CAEvBA;AACAA,kBAHuB,cAGvBA;AACAA,8BAAgBjuD,WAAW,KAJJ,oBAIPA,CAAhBiuD;AACAA,2CALuB,CAKvBA;AACAA,kBANuB,OAMvBA;AANF,mBAOO;AACLA,2CADK,CACLA;AATF;AAVG;AA3CyD;;AAmEhE,4BAAoB;AAClB,cAAM0K,QAAQ,0BAA0B,wBADtB,EACJ,CAAd;AACAA,qBAAW;AACTplD,uBAAW06C,IADF;AAET54B,aAFS,EAETA,CAFS;AAGT+/B,aAHS,EAGTA,CAHS;AAIT+D,oBAJS,EAITA,QAJS;AAKTI,qBALS,EAKTA;AALS,WAAXZ;AArE8D;AAxvB/C;AAzYkC;AAAA;AAAA,WAgtCrD,eAA8B;AAG5B,oCAAyB,6DAHG,EAGH,CAAzB;AAAA,YAAM,GAAN,yBAAQ56D,OAAR;;AAKAkwD,uBAR4B,CAQ5BA;AACAA,6BAT4B,EAS5BA;AACA,YAAM7yC,OAAO6yC,+BAVe,IAU5B;AACA,YAAIjtD,UAXwB,KAW5B;;AACA,aAAK,IAAIM,IAAT,GAAgBA,IAAI8Z,KAApB,QAAiC9Z,KAAjC,GAAyC;AACvC,cAAI8Z,eAAeA,UAAnB,KAAkC;AAChCpa,sBADgC,IAChCA;AADgC;AADK;AAZb;;AAkB5B,eAAO0a,mDAlBqB,OAkBrBA,CAAP;AAz1BiB;AAzYkC;AAAA;AAAA,aAquCrDnG,0BAAiB;AACf,YAAMg6C,UAAU,KADD,OACf;AACA,YAAMz2C,OAAOy2C,QAFE,IAEf;;AACA,YAAIz2C,KAAJ,aAAsB;AACpB,iBAAO,mBADa,MACb,CAAP;AAJa;;AAOf,YAAMqgD,WAAW5J,QAPF,QAOf;;AACA,YAAI4J,aAAJ,GAAoB;AAClB,iBADkB,SAClB;AATa;;AAYf,YAAMlL,MAAM,KAZG,GAYf;AACA,YAAMuL,gBAAgBjK,QAbP,aAaf;AACA,YAAMkK,cAAclK,QAdL,WAcf;AACA,YAAMmK,cAAcnK,QAfL,WAef;AACA,YAAMoK,gBAAgBpK,QAhBP,aAgBf;AACA,YAAMqK,aAAarK,qBAjBJ,aAiBf;AACA,YAAMsK,eAAeC,OAlBN,MAkBf;AACA,YAAMC,WAAWjhD,KAnBF,QAmBf;AACA,YAAMkhD,aAAaD,eAAe,CApBnB,CAoBf;AACA,YAAME,kBAAkBnhD,KArBT,eAqBf;AACA,YAAMohD,oBAAoBf,WAAW5J,mBAtBtB,CAsBsBA,CAArC;AAEA,YAAM4K,iBACJ5K,8BAA8BvlD,wBAA9BulD,QACA,CAACz2C,KADDy2C,mBAEA,CAACA,QA3BY,WAwBf;AAKAtB,YA7Be,IA6BfA;AACA,YA9Be,gBA8Bf;;AACA,YAAIsB,QAAJ,aAAyB;AAGvBtB,cAHuB,IAGvBA;AACA,cAAMmM,UAAU7K,kCAJO,IAIPA,CAAhB;AACA8K,6BAAmBpM,IALI,mBAKvBoM;AACApM,cANuB,OAMvBA;AACAA,0BAPuB,OAOvBA;AAtCa;;AAwCfA,iCAAyBsB,QAxCV,UAwCftB;AACAA,sBAAcsB,QAAdtB,GAAyBsB,YAAYA,QAzCtB,QAyCftB;;AAEA,YAAI0L,gBAAJ,GAAuB;AACrB1L,gCAAsB,CADD,CACrBA;AADF,eAEO;AACLA,gCADK,CACLA;AA9Ca;;AAiDf,YAAIsK,YAAYhJ,QAjDD,SAiDf;AACA,YAAI+K,sBAlDW,KAkDf;AACA,YAAMn6D,QAAQovD,QAnDC,eAmDf;;AACA,YAAIpvD,eAAeo4D,cAAnB,GAAoC;AAClC,cAAMa,iBACJ7J,4BAA4BvlD,wBAFI,gBAClC;;AAEA,cACEovD,mBAAmBpvD,wBAAnBovD,UACAA,mBAAmBpvD,wBAFrB,aAGE;AACA,8CADA,IACA;AACAuuD,wBAAY,KAFZ,mBAEY,EAAZA;AACA+B,kCAAsB/B,YAHtB,CAGA+B;AATgC;AAApC,eAWO;AACL/B,uBADK,KACLA;AAhEa;;AAmEf,YAAIiB,kBAAJ,KAA2B;AACzBvL,mCADyB,aACzBA;AACAsK,uBAFyB,aAEzBA;AArEa;;AAwEftK,wBAxEe,SAwEfA;AAEA,YAAI54B,IAAJ;AAAA,YA1Ee,CA0Ef;;AAEA,aAAK/zB,IAAL,GAAYA,IAAZ,cAA8B,EAA9B,GAAmC;AACjC,cAAMi5D,QAAQT,OADmB,CACnBA,CAAd;;AACA,cAAIU,iBAAJ,KAAIA,CAAJ,EAAkB;AAChBnlC,iBAAM2kC,qBAAD,QAACA,GADU,IAChB3kC;AADgB;AAFe;;AAOjC,cAAIolC,gBAP6B,KAOjC;AACA,cAAMC,UAAW,+BAAD,CAAC,IARgB,WAQjC;AACA,cAAMC,YAAYJ,MATe,QASjC;AACA,cAAMK,SAASL,MAVkB,MAUjC;AACA,cAAIM,OAAJ;AAAA,cAAaC,OAXoB,SAWjC;AACA,cAAIr9D,QAAQ88D,MAZqB,KAYjC;;AACA,wBAAc;AACZ,gBAAMQ,UAAUR,iBADJ,eACZ;AACA,gBAAMS,KACJ,EAAE,gBAAgBD,QAAhB,CAAgBA,CAAhB,GAA6Bt9D,QAA/B,OAHU,iBAEZ;AAEA,gBAAMw9D,KAAKF,aAJC,iBAIZ;AAEAt9D,oBAAQs9D,UAAU,CAACA,QAAXA,CAAWA,CAAXA,GANI,KAMZt9D;AACAo9D,sBAAUG,KAPE,aAOZH;AACAC,sBAAW,KAAD,EAAC,IARC,aAQZA;AARF,iBASO;AACLD,sBAAUxlC,IADL,aACLwlC;AACAC,sBAFK,CAELA;AAxB+B;;AA2BjC,cAAIhiD,kBAAkBrb,QAAtB,GAAiC;AAI/B,gBAAMy9D,gBACFjN,mCAAD,IAACA,GAAF,QAAEA,GAL2B,aAI/B;;AAGA,gBAAIxwD,yBAAyB,KAA7B,yBAA2D;AACzD,kBAAM09D,kBAAkB19D,QADiC,aACzD;AACAg9D,8BAFyD,IAEzDA;AACAxM,kBAHyD,IAGzDA;AACAA,yCAJyD,CAIzDA;AACA4M,yBALyD,eAKzDA;AALF,mBAMO,IAAIp9D,UAAJ,eAA6B;AAClCo9D,yBACK,SAAD,aAAC,IAAF,IAAE,GAAH,QAAG,GAF6B,aAClCA;AAd6B;AA3BA;;AAgDjC,cAAI,wBAAwB,kBAAkB/hD,KAA9C,WAAI,CAAJ,EAAiE;AAC/D,gBAAIqhD,kBAAkB,CAAtB,QAA+B;AAE7BlM,+CAF6B,OAE7BA;AAFF,mBAGO;AACL,4EADK,mBACL;;AAOA,0BAAY;AACV,oBAAMmN,gBACJP,UAAW1B,WAAWyB,cAAZ,CAACzB,GAFH,aACV;AAEA,oBAAMkC,gBACJP,UAAW3B,WAAWyB,cAAZ,CAACzB,GAJH,aAGV;AAEA,+BACEyB,OADF,0DALU,mBAKV;AAbG;AAJwD;AAhDhC;;AA4EjC,cAAIU,SA5E6B,SA4EjC;;AACA,wBAAc;AACZA,wBAAY79D,4BAA4Bi9D,UAD5B,aACZY;AADF,iBAEO;AACLA,wBAAY79D,4BAA4Bi9D,UADnC,aACLY;AAhF+B;;AAkFjCjmC,eAlFiC,SAkFjCA;;AAEA,6BAAmB;AACjB44B,gBADiB,OACjBA;AArF+B;AA5EpB;;AAoKf,sBAAc;AACZsB,uBADY,CACZA;AADF,eAEO;AACLA,uBAAal6B,IADR,UACLk6B;AAvKa;;AAyKftB,YAzKe,OAyKfA;AACA,eA1Ke,SA0Kf;AAtgCiB;AAzYkC;AAAA;AAAA,aAk5CrDsN,+BAAsB;AAEpB,YAAMtN,MAAM,KAFQ,GAEpB;AACA,YAAMsB,UAAU,KAHI,OAGpB;AACA,YAAMz2C,OAAOy2C,QAJO,IAIpB;AACA,YAAM4J,WAAW5J,QALG,QAKpB;AACA,YAAMoK,gBAAgBpK,QANF,aAMpB;AACA,YAAMyK,aAAalhD,oBAAoB,CAPnB,CAOpB;AACA,YAAM2gD,cAAclK,QARA,WAQpB;AACA,YAAMmK,cAAcnK,QATA,WASpB;AACA,YAAMqK,aAAarK,qBAVC,aAUpB;AACA,YAAMiM,aAAajM,sBAXC,0BAWpB;AACA,YAAMsK,eAAeC,OAZD,MAYpB;AACA,YAAM2B,kBACJlM,8BAA8BvlD,wBAdZ,SAapB;AAEA,6BAfoB,aAepB;;AAEA,YAAIyxD,mBAAmBtC,aAAvB,GAAuC;AAAA;AAjBnB;;AAoBpB,0CApBoB,IAoBpB;AAEAlL,YAtBoB,IAsBpBA;AACAA,iCAAyBsB,QAvBL,UAuBpBtB;AACAA,sBAAcsB,QAAdtB,GAAyBsB,QAxBL,CAwBpBtB;AAEAA,8BA1BoB,aA0BpBA;;AAEA,aAAK3sD,IAAL,GAAYA,IAAZ,cAA8B,EAA9B,GAAmC;AACjCi5D,kBAAQT,OADyB,CACzBA,CAARS;;AACA,cAAIC,iBAAJ,KAAIA,CAAJ,EAAkB;AAChBkB,4BAAiB1B,qBAAD,QAACA,GADD,IAChB0B;AACA,8CAFgB,CAEhB;AACAnM,yBAAamM,gBAHG,UAGhBnM;AAHgB;AAFe;;AASjC,cAAMmL,UAAW,+BAAD,CAAC,IATgB,WASjC;AACA,cAAM7U,eAAe/sC,0BAA0ByhD,MAVd,cAUZzhD,CAArB;;AACA,cAAI,CAAJ,cAAmB;AACjBlX,wDAAyB24D,MADR,cACjB34D;AADiB;AAXc;;AAejC,cAAI,KAAJ,gBAAyB;AACvB,mCADuB,KACvB;AACA,iBAFuB,IAEvB;AACAqsD,gCAHuB,QAGvBA;AACAA,qCAJuB,UAIvBA;AACA,qCALuB,YAKvB;AACA,iBANuB,OAMvB;AArB+B;;AAwBjC,cAAM0N,cAAc,0BAAoB,CAACpB,MAAD,SAApB,EAxBa,UAwBb,CAApB;;AACA98D,kBAAQk+D,4BAzByB,OAyBjCl+D;AAEAwwD,+BA3BiC,CA2BjCA;AACAsB,uBAAa9xD,QA5BoB,UA4BjC8xD;AAxDkB;;AA0DpBtB,YA1DoB,OA0DpBA;AACA,+BA3DoB,IA2DpB;AApkCiB;AAzYkC;AAAA;AAAA,aAi9CrDt4C,sCAA6B,CAxkCV;AAzYkC;AAAA;AAAA,aAs9CrDC,mEAA0D;AAGxD,gCAAwBgmD,MAAxB,KAAmCC,MAHqB,GAGxD;AACA,aAJwD,IAIxD;AACA,aALwD,OAKxD;AAllCiB;AAzYkC;AAAA;AAAA,aA+9CrDC,+BAAsB;AAAA;;AACpB,YADoB,OACpB;;AACA,YAAIC,UAAJ,iBAA+B;AAC7B,cAAMC,QAAQD,GADe,CACfA,CAAd;AACA,cAAME,gBACJ,sBAAsB,6BAHK,KAGL,EADxB;AAEA,cAAMC,wBAAwB;AAC5BC,kCAAsBlO,mCAAO;AAC3B,qBAAO,wBAEL,MAFK,YAGL,MAHK,MAIL,MALyB,aACpB,CAAP;AAF0B;AAAA,WAA9B;AAUAmM,oBAAU,6CAGR,KAHQ,4BAdmB,aAcnB,CAAVA;AAdF,eAqBO;AACLA,oBAAUgC,uCADL,EACKA,CAAVhC;AAxBkB;;AA0BpB,eA1BoB,OA0BpB;AAhnCiB;AAzYkC;AAAA;AAAA,aA4/CrDpkD,2BAAkB;AAChB,mCAA2B,uBADX,SACW,CAA3B;AApnCiB;AAzYkC;AAAA;AAAA,aAggDrDE,yBAAgB;AACd,iCAAyB,uBADX,SACW,CAAzB;AACA,mCAFc,IAEd;AAznCiB;AAzYkC;AAAA;AAAA,aAqgDrDG,oCAA2B;AACzB,YAAM2lD,QAAQv/C,8BADW,CACXA,CAAd;;AACA,+BAFyB,KAEzB;AACA,mCAHyB,KAGzB;AA/nCiB;AAzYkC;AAAA;AAAA,aA2gDrDnG,kCAAyB;AACvB,YAAM0lD,QAAQv/C,8BADS,CACTA,CAAd;;AACA,6BAFuB,KAEvB;AACA,iCAHuB,KAGvB;AACA,mCAJuB,KAIvB;AAtoCiB;AAzYkC;AAAA;AAAA,aAkhDrDhG,gCAAuB;AACrB,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADL;;AAIrB,YAAMw3C,MAAM,KAJS,GAIrB;AAEA,aANqB,IAMrB;AACA,YAAMmM,UAAUgC,uCAPK,SAOLA,CAAhB;AACAnO,wBAAgBmM,8BARK,IAQLA,CAAhBnM;AAEA,YAAMoO,MAAMpO,IAVS,0BAUrB;;AACA,iBAAS;AACP,cAAMnwD,SAASmwD,IADR,MACP;AACA,cAAMxwD,QAAQK,OAFP,KAEP;AACA,cAAMJ,SAASI,OAHR,MAGP;;AAEA,cAAMw+D,KAAK,0BAAoB,MAApB,EALJ,GAKI,CAAX;;AACA,cAAMC,KAAK,0BAAoB,WAApB,EANJ,GAMI,CAAX;;AACA,cAAMC,KAAK,0BAAoB,UAApB,EAPJ,GAOI,CAAX;;AACA,cAAMC,KAAK,0BAAoB,eAApB,EARJ,GAQI,CAAX;;AAEA,cAAMC,KAAK18D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GAVlC,CAUkCA,CAA9Bz8D,CAAX;AACA,cAAM28D,KAAK38D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GAXlC,CAWkCA,CAA9Bz8D,CAAX;AACA,cAAM48D,KAAK58D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GAZlC,CAYkCA,CAA9Bz8D,CAAX;AACA,cAAM68D,KAAK78D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GAblC,CAakCA,CAA9Bz8D,CAAX;AAEA,oCAA0B48D,KAA1B,IAAmCC,KAf5B,EAeP;AAfF,eAgBO;AAOL,4BAAkB,CAAlB,MAAyB,CAAzB,YAPK,IAOL;AAlCmB;;AAqCrB,aArCqB,OAqCrB;AA9qCiB;AAzYkC;AAAA;AAAA,aA2jDrDnmD,4BAAmB;AACjBrZ,+BADiB,kCACjBA;AAnrCiB;AAzYkC;AAAA;AAAA,aA+jDrDsZ,0BAAiB;AACftZ,+BADe,gCACfA;AAvrCiB;AAzYkC;AAAA;AAAA,aAmkDrDga,6CAAoC;AAClC,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADQ;;AAIlC,aAJkC,IAIlC;AACA,qCAA6B,KALK,aAKlC;;AAEA,YAAI0E,yBAAyB+gD,kBAA7B,GAAkD;AAChD,qCADgD,MAChD;AARgC;;AAWlC,6BAAqB,SAXa,mBAWlC;;AAEA,kBAAU;AACR,cAAMr/D,QAAQs/D,UAAUA,KADhB,CACgBA,CAAxB;AACA,cAAMr/D,SAASq/D,UAAUA,KAFjB,CAEiBA,CAAzB;AACA,wBAAcA,KAAd,CAAcA,CAAd,EAAuBA,KAAvB,CAAuBA,CAAvB,SAHQ,MAGR;AACA,eAJQ,IAIR;AACA,eALQ,OAKR;AAlBgC;AA1rCjB;AAzYkC;AAAA;AAAA,aAylDrDzlD,+BAAsB;AACpB,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADN;;AAIpB,aAJoB,OAIpB;AACA,6BAAqB,wBALD,GAKC,EAArB;AArtCiB;AAzYkC;AAAA;AAAA,aAimDrDC,2BAAkB;AAChB,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADV;;AAKhB,aALgB,IAKhB;AACA,YAAMkgD,aAAa,KANH,GAMhB;;AAcA,YAAI,CAACuF,MAAL,UAAqB;AACnBz1D,0BADmB,oCACnBA;AArBc;;AA0BhB,YAAIy1D,MAAJ,UAAoB;AAClBp7D,0BADkB,gCAClBA;AA3Bc;;AA8BhB,YAAM81D,mBAAmBD,WA9BT,mBA8BhB;;AACA,YAAIuF,MAAJ,QAAkB;AAChBvF,iDAAuCuF,MADvB,MAChBvF;AAhCc;;AAkChB,YAAI,CAACuF,MAAL,MAAiB;AACf,gBAAM,UADS,2BACT,CAAN;AAnCc;;AAwChB,YAAIC,SAASxgD,sCACXugD,MADWvgD,MAEXg7C,WA1Cc,mBAwCHh7C,CAAb;;AAKA,YAAMygD,eAAe,OAGnBzF,kBAHmB,OAInBA,kBAJmB,OAArB;AAMAwF,iBAASxgD,8CAAwC,YAAjDwgD;AAGA,YAAM79D,UAAUY,WAAWi9D,OAtDX,CAsDWA,CAAXj9D,CAAhB;AACA,YAAMX,UAAUW,WAAWi9D,OAvDX,CAuDWA,CAAXj9D,CAAhB;AACA,YAAIq3D,aAAar3D,SAASA,UAAUi9D,OAAVj9D,CAAUi9D,CAAVj9D,IAATA,SAxDD,CAwDCA,CAAjB;AACA,YAAIs3D,cAAct3D,SAASA,UAAUi9D,OAAVj9D,CAAUi9D,CAAVj9D,IAATA,SAzDF,CAyDEA,CAAlB;AACA,YAAIm9D,SAAJ;AAAA,YACEC,SA3Dc,CA0DhB;;AAEA,YAAI/F,aAAJ,gBAAiC;AAC/B8F,mBAAS9F,aADsB,cAC/B8F;AACA9F,uBAF+B,cAE/BA;AA9Dc;;AAgEhB,YAAIC,cAAJ,gBAAkC;AAChC8F,mBAAS9F,cADuB,cAChC8F;AACA9F,wBAFgC,cAEhCA;AAlEc;;AAqEhB,YAAIC,UAAU,YAAY,KArEV,UAqEhB;;AACA,YAAIyF,MAAJ,OAAiB;AAEfzF,qBAAW,YAAa,sBAFT,CAEfA;AAxEc;;AA0EhB,YAAMC,gBAAgB,gEA1EN,IA0EM,CAAtB;AAMA,YAAMG,WAAWH,cAhFD,OAgFhB;AAIAG,uBAAe,IAAfA,QAA2B,IApFX,MAoFhBA;AACAA,2BAAmB,CAAnBA,SAA6B,CArFb,OAqFhBA;AACAA,2CAtFgB,gBAsFhBA;;AAEA,YAAIqF,MAAJ,OAAiB;AAEf,+BAAqB;AACnBl/D,oBAAQ05D,cADW;AAEnBz5D,qBAFmB;AAGnBqB,mBAHmB,EAGnBA,OAHmB;AAInBC,mBAJmB,EAInBA,OAJmB;AAKnB89D,kBALmB,EAKnBA,MALmB;AAMnBC,kBANmB,EAMnBA,MANmB;AAOnB7H,qBAASyH,YAPU;AAQnB1H,sBAAU0H,YARS;AASnB9H,yBAAa8H,2BATM;AAUnBK,mCAVmB;AAAA,WAArB;AAFF,eAcO;AAGL5F,iDAHK,CAGLA;AACAA,wCAJK,OAILA;AACAA,mCALK,MAKLA;AA3Gc;;AA+GhBG,iCA/GgB,QA+GhBA;AACA,mBAhHgB,QAgHhB;AACA,uBAAe,CACb,qBADa,EAEb,SAFa,EAGb,SAHa,CAAf;AAKA,6BAtHgB,UAsHhB;AACA,aAvHgB,UAuHhB;AAGA,mCA1HgB,IA0HhB;AAl1CiB;AAzYkC;AAAA;AAAA,aA8tDrDpgD,yBAAgB;AACd,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADZ;;AAId,aAJc,UAId;AACA,YAAMmgD,WAAW,KALH,GAKd;AACA,mBAAW,gBANG,GAMH,EAAX;;AAGA,YAAI,mCAAJ,WAAkD;AAChD,2CADgD,KAChD;AADF,eAEO;AACL,8CADK,KACL;AAZY;;AAcd,YAAIqF,MAAJ,OAAiB;AACf,2BAAiB,gBADF,GACE,EAAjB;AADF,eAEO;AACL,6BAAmBrF,SAAnB,WADK,CACL;AAjBY;;AAmBd,aAnBc,OAmBd;AAx2CiB;AAzYkC;AAAA;AAAA,aAovDrDlgD,4BAAmB;AACjB,aADiB,IACjB;;AACA,YAAI,KAAJ,eAAwB;AACtB,sCAA4B,KAA5B,KAAsC,KADhB,aACtB;AAHe;AA32CA;AAzYkC;AAAA;AAAA,aA2vDrDC,0BAAiB;AACf,aADe,OACf;AAn3CiB;AAzYkC;AAAA;AAAA,aA+vDrDC,kDAAyC;AACvC,aADuC,IACvC;AACA2+C,0BAAkB,KAFqB,GAEvCA;AACA,uBAAe,IAHwB,gBAGxB,EAAf;;AAEA,YAAIv6C,uBAAuBxb,gBAA3B,GAA8C;AAC5C,cAAM9C,QAAQ8C,UAAUA,KADoB,CACpBA,CAAxB;AACA,cAAM7C,SAAS6C,UAAUA,KAFmB,CAEnBA,CAAzB;AACA,wBAAcA,KAAd,CAAcA,CAAd,EAAuBA,KAAvB,CAAuBA,CAAvB,SAH4C,MAG5C;AACA,eAJ4C,IAI5C;AACA,eAL4C,OAK5C;AAVqC;;AAavC,mCAbuC,SAavC;AACA,mCAduC,MAcvC;AAp4CiB;AAzYkC;AAAA;AAAA,aAgxDrDqX,yBAAgB;AACd,aADc,OACd;AAx4CiB;AAzYkC;AAAA;AAAA,aAoxDrDE,oCAA2B;AACzB,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADD;;AAIzB,YAAMm2C,MAAM,KAJa,GAIzB;AACA,YAAMxwD,QAAQ6/D,IAAd;AAAA,YACE5/D,SAAS4/D,IANc,MAKzB;AAEA,YAAM9E,YAAY,aAPO,SAOzB;AACA,YAAMC,gBAAgB,aARG,WAQzB;AAEA,YAAM8B,QAAQ,KAVW,eAUzB;;AAEA,YAAI/J,iCAAiC+J,mBAArC,WAAmE;AACjE,cAAI98D,gCAAgCC,UAApC,qBAAmE;AACjE68D,6BAAiB,kBAAkB;AAAEn/C,oBAAMkiD,IAAR;AAAkB7/D,mBAAlB,EAAkBA,KAAlB;AAAyBC,oBAAzB,EAAyBA;AAAzB,aAAlB,CAAjB68D;AADF,iBAEO;AACLA,6BADK,IACLA;AAJ+D;AAZ1C;;AAoBzB,YAAIA,KAAJ,aAAIA,KAAJ,eAAIA,MAAJ,UAAqB;AACnBA,yBADmB,GACnBA;AADmB;AApBI;;AAyBzB,YAAMgD,aAAa,mDAzBM,MAyBN,CAAnB;AAKA,YAAM3H,UAAU2H,WA9BS,OA8BzB;AACA3H,gBA/ByB,IA+BzBA;AAEA4H,oCAjCyB,GAiCzBA;AAEA5H,2CAnCyB,WAmCzBA;AAEAA,4BAAoB6C,gBAChBD,8BADgBC,IAChBD,CADgBC,GArCK,SAqCzB7C;AAGAA,sCAxCyB,MAwCzBA;AAEAA,gBA1CyB,OA0CzBA;AAEA,qCAA6B2H,WA5CJ,MA4CzB;AAv7CiB;AAzYkC;AAAA;AAAA,aAm0DrDnlD,sDAOE;AAAA,YAJAqlD,KAIA,uEAPFrlD,CAOE;AAAA,YAHAslD,KAGA,uEAPFtlD,CAOE;AAAA,YAPFA,MAOE;AAAA,YAPFA,SAOE;;AACA,YAAI,CAAC,KAAL,gBAA0B;AAAA;AAD1B;;AAIA,YAAM3a,QAAQ8zD,QAJd,KAIA;AACA,YAAM7zD,SAAS6zD,QALf,MAKA;AACA,YAAMiH,YAAY,aANlB,SAMA;AACA,YAAMC,gBAAgB,aAPtB,WAOA;AAEA,YAAM8E,aAAa,mDATnB,MASmB,CAAnB;AAKA,YAAM3H,UAAU2H,WAdhB,OAcA;AACA3H,gBAfA,IAeAA;AAEA4H,oCAjBA,OAiBAA;AAEA5H,2CAnBA,WAmBAA;AAEAA,4BAAoB6C,gBAChBD,8BADgBC,IAChBD,CADgBC,GArBpB,SAqBA7C;AAGAA,sCAxBA,MAwBAA;AAEAA,gBA1BA,OA0BAA;AAEA,YAAM3H,MAAM,KA5BZ,GA4BA;;AACA,aAAK,IAAI3sD,IAAJ,GAAWD,KAAKs8D,UAArB,QAAuCr8D,IAAvC,IAA+CA,KAA/C,GAAuD;AACrD2sD,cADqD,IACrDA;AACAA,sDAKE0P,UALF1P,CAKE0P,CALF1P,EAME0P,UAAUr8D,IARyC,CAQnDq8D,CANF1P;AAQAA,uBAAa,CAVwC,CAUrDA;AACAA,wBAAcsP,WAAdtP,gCAAyD,CAAzDA,MAXqD,CAWrDA;AACAA,cAZqD,OAYrDA;AAzCF;AAj8CiB;AAzYkC;AAAA;AAAA,aAu3DrDl2C,4CAAmC;AACjC,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADO;;AAIjC,YAAMk2C,MAAM,KAJqB,GAIjC;AAEA,YAAMuK,YAAY,aANe,SAMjC;AACA,YAAMC,gBAAgB,aAPW,WAOjC;;AACA,aAAK,IAAIn3D,IAAJ,GAAWD,KAAKu8D,OAArB,QAAoCt8D,IAApC,IAA4CA,CAA5C,IAAiD;AAC/C,cAAMu8D,QAAQD,OADiC,CACjCA,CAAd;AACA,cAAMngE,QAAQogE,MAAd;AAAA,cACEngE,SAASmgE,MAHoC,MAE/C;AAGA,cAAMN,aAAa,mDAL4B,MAK5B,CAAnB;AAKA,cAAM3H,UAAU2H,WAV+B,OAU/C;AACA3H,kBAX+C,IAW/CA;AAEA4H,sCAb+C,KAa/CA;AAEA5H,6CAf+C,WAe/CA;AAEAA,8BAAoB6C,gBAChBD,8BADgBC,IAChBD,CADgBC,GAjB2B,SAiB/C7C;AAGAA,wCApB+C,MAoB/CA;AAEAA,kBAtB+C,OAsB/CA;AAEA3H,cAxB+C,IAwB/CA;AACAA,mCAAyB4P,MAzBsB,SAyB/C5P;AACAA,uBAAa,CA1BkC,CA0B/CA;AACAA,wBAAcsP,WAAdtP,gCAAyD,CAAzDA,MA3B+C,CA2B/CA;AACAA,cA5B+C,OA4B/CA;AApC+B;AA9+ChB;AAzYkC;AAAA;AAAA,aA+5DrDj2C,kCAAyB;AACvB,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADH;;AAIvB,YAAMu5C,UAAUuM,yBACZ,oBADYA,KACZ,CADYA,GAEZ,cANmB,KAMnB,CAFJ;;AAGA,YAAI,CAAJ,SAAc;AACZl8D,0BADY,iCACZA;AADY;AAPS;;AAYvB,qCAZuB,OAYvB;AAliDiB;AAzYkC;AAAA;AAAA,aA86DrDuW,mEAA0D;AACxD,YAAI,CAAC,KAAL,gBAA0B;AAAA;AAD8B;;AAIxD,YAAMo5C,UAAUuM,yBACZ,oBADYA,KACZ,CADYA,GAEZ,cANoD,KAMpD,CAFJ;;AAGA,YAAI,CAAJ,SAAc;AACZl8D,0BADY,iCACZA;AADY;AAP0C;;AAYxD,YAAMnE,QAAQ8zD,QAZ0C,KAYxD;AACA,YAAM7zD,SAAS6zD,QAbyC,MAaxD;AACA,YAAMvb,MAdkD,EAcxD;;AACA,aAAK,IAAI10C,IAAJ,GAAWD,KAAKs8D,UAArB,QAAuCr8D,IAAvC,IAA+CA,KAA/C,GAAuD;AACrD00C,mBAAS;AACPziC,uBAAW,uBAAuBoqD,UAAvB,CAAuBA,CAAvB,EAAqCA,UAAUr8D,IAA/C,CAAqCq8D,CAArC,CADJ;AAEPtoC,eAFO;AAGP+/B,eAHO;AAIP2I,eAJO;AAKPC,eALO;AAAA,WAAThoB;AAhBsD;;AAwBxD,mDAxBwD,GAwBxD;AA7jDiB;AAzYkC;AAAA;AAAA,aAy8DrD/9B,0CAAiC;AAC/B,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADK;;AAI/B,YAAMxa,QAAQ8zD,QAJiB,KAI/B;AACA,YAAM7zD,SAAS6zD,QALgB,MAK/B;AACA,YAAMtD,MAAM,KANmB,GAM/B;AAEA,aAR+B,IAQ/B;AAEAA,kBAAU,IAAVA,OAAqB,KAVU,MAU/BA;AAEA,YAAMyJ,mBAAmBzJ,IAZM,0BAY/B;AACA,YAAIgQ,aAAaj+D,SACfA,WAAW03D,iBAAX13D,CAAW03D,CAAX13D,EAAgC03D,iBADjB13D,CACiB03D,CAAhC13D,CADeA,EAbc,CAadA,CAAjB;AAIA,YAAIk+D,cAAcl+D,SAChBA,WAAW03D,iBAAX13D,CAAW03D,CAAX13D,EAAgC03D,iBADhB13D,CACgB03D,CAAhC13D,CADgBA,EAjBa,CAiBbA,CAAlB;AAKA,mCAtB+B,MAsB/B;;AAEA,YACG,qCAAqCuxD,mBAAtC,WAAC,IACD,CAACA,QAFH,MAGE;AACA4M,uBADA,OACAA;AAJF,eAKO;AACLC,sBAAY,oDADP,MACO,CAAZA;AACAC,mBAASD,UAFJ,OAELC;AACAC,8CAAoC,aAH/B,YAGLA;AACAH,uBAAaC,UAJR,MAILD;AAjC6B;;AAoC/B,YAAII,aAAJ;AAAA,YACEC,cArC6B,MAoC/B;AAEA,YAAIC,cAtC2B,WAsC/B;;AAIA,eACGR,kBAAkBM,aAAnB,CAACN,IACAC,mBAAmBM,cAFtB,GAGE;AACA,cAAIE,WAAJ;AAAA,cACEC,YAFF,WACA;;AAEA,cAAIV,kBAAkBM,aAAtB,GAAsC;AACpCG,uBAAW1+D,UAAUu+D,aADe,CACzBv+D,CAAX0+D;AACAT,0BAAcM,aAFsB,QAEpCN;AALF;;AAOA,cAAIC,mBAAmBM,cAAvB,GAAwC;AACtCG,wBAAY3+D,UAAUw+D,cADgB,CAC1Bx+D,CAAZ2+D;AACAT,2BAAeM,cAFuB,SAEtCN;AATF;;AAWAE,sBAAY,qDAXZ,SAWY,CAAZA;AAKAC,mBAASD,UAhBT,OAgBAC;AACAA,2CAjBA,SAiBAA;AACAA,sFAlBA,SAkBAA;AAWAF,uBAAaC,UA7Bb,MA6BAD;AACAI,uBA9BA,QA8BAA;AACAC,wBA/BA,SA+BAA;AACAC,wBAAcA,4CAhCd,WAgCAA;AA7E6B;;AA+E/BxQ,oEAOE,CAPFA,eA/E+B,MA+E/BA;;AAYA,YAAI,KAAJ,YAAqB;AACnB,cAAM/zB,WAAW,0BAA0B,CADxB,MACF,CAAjB;AACA,sCAA4B;AAC1Bq3B,mBAD0B,EAC1BA,OAD0B;AAE1BqN,kBAAM1kC,SAFoB,CAEpBA,CAFoB;AAG1B2kC,iBAAK3kC,SAHqB,CAGrBA,CAHqB;AAI1Bz8B,mBAAOA,QAAQi6D,iBAJW,CAIXA,CAJW;AAK1Bh6D,oBAAQA,SAASg6D,iBALS,CAKTA;AALS,WAA5B;AA7F6B;;AAqG/B,aArG+B,OAqG/B;AArqDiB;AAzYkC;AAAA;AAAA,aAijErDx/C,oDAA2C;AACzC,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADe;;AAIzC,YAAM+1C,MAAM,KAJ6B,GAIzC;AACA,YAAM8P,IAAIxM,QAL+B,KAKzC;AACA,YAAMyM,IAAIzM,QAN+B,MAMzC;AAEA,YAAM6M,YAAY,gDARuB,CAQvB,CAAlB;AACA,YAAMC,SAASD,UAT0B,OASzC;AACAE,4CAAoC,aAVK,YAUzCA;;AAEA,aAAK,IAAIh9D,IAAJ,GAAWD,KAAK20C,IAArB,QAAiC10C,IAAjC,IAAyCA,CAAzC,IAA8C;AAC5C,cAAMkG,QAAQwuC,IAD8B,CAC9BA,CAAd;AACAiY,cAF4C,IAE5CA;AACAA,mCAAyBzmD,MAHmB,SAG5CymD;AACAA,uBAAa,CAJ+B,CAI5CA;AACAA,wBACEmQ,UADFnQ,QAEEzmD,MAFFymD,GAGEzmD,MAHFymD,GAIEzmD,MAJFymD,GAKEzmD,MALFymD,MAOE,CAPFA,MAL4C,CAK5CA;;AAWA,cAAI,KAAJ,YAAqB;AACnB,gBAAM/zB,WAAW,uBAAuB1yB,MAAvB,GAAgCA,MAD9B,CACF,CAAjB;AACA,wCAA4B;AAC1B+pD,qBAD0B,EAC1BA,OAD0B;AAE1BqN,oBAAM1kC,SAFoB,CAEpBA,CAFoB;AAG1B2kC,mBAAK3kC,SAHqB,CAGrBA,CAHqB;AAI1Bz8B,qBAJ0B;AAK1BC,sBAL0B;AAAA,aAA5B;AAlB0C;;AA0B5CuwD,cA1B4C,OA0B5CA;AAtCuC;AAxqDxB;AAzYkC;AAAA;AAAA,aA2lErD51C,oCAA2B;AACzB,YAAI,CAAC,KAAL,gBAA0B;AAAA;AADD;;AAIzB,mCAJyB,CAIzB;AAttDiB;AAzYkC;AAAA;AAAA,aAomErDvB,wBAAe,CA3tDI;AAzYkC;AAAA;AAAA,aAwmErDC,yCAAgC,CA/tDb;AAzYkC;AAAA;AAAA,aA4mErDC,iCAAwB;AACtB,qCAA6B;AAC3B8nD,mBAFoB;AACO,SAA7B;AApuDiB;AAzYkC;AAAA;AAAA,aAknErD7nD,kDAAyC;AACvC,YAAIgZ,QAAJ,MAAkB;AAChB,uCAA6B;AAC3B6uC,qBAAS,qCAFK,UAEL;AADkB,WAA7B;AADF,eAIO;AACL,uCAA6B;AAC3BA,qBAFG;AACwB,WAA7B;AANqC;;AAUvC,8BAAsB,KAViB,gBAUjB,EAAtB;AAnvDiB;AAzYkC;AAAA;AAAA,aA+nErD5nD,4BAAmB;AACjB,gCADiB,GACjB;AACA,8BAAsB,KAFL,gBAEK,EAAtB;AAxvDiB;AAzYkC;AAAA;AAAA,aAsoErDC,uBAAc,CA7vDK;AAzYkC;AAAA;AAAA,aA0oErDC,qBAAY,CAjwDO;AAzYkC;AAAA;AAAA,aAgpErDihD,uBAAc;AACZ,YAAMpK,MAAM,KADA,GACZ;;AACA,YAAI,KAAJ,aAAsB;AACpB,cAAI,qBAAJ,SAAkC;AAChCA,qBADgC,SAChCA;AADF,iBAEO;AACLA,gBADK,IACLA;AAJkB;;AAMpB,6BANoB,IAMpB;AARU;;AAUZA,YAVY,SAUZA;AAjxDiB;AAzYkC;AAAA;AAAA,aA6pErD8Q,+BAAsB;AACpB,YAAI,oCAAJ,MAA8C;AAY5C,cAAM1iD,IAAI,SAZkC,mBAY5C;AAEA,cAAM2iD,SAASh/D,SAASqc,OAAOA,EAAPA,CAAOA,CAAPA,GAAcA,OAAOA,EAdD,CAcCA,CAA9Brc,CAAf;AACA,cAAMi/D,UAAU5iD,6BAAYA,IAAZA,EAf4B,CAe5BA,CAAhB;AACA,cAAM6iD,UAAU7iD,6BAAYA,IAAZA,EAhB4B,CAgB5BA,CAAhB;AACA,cAAM8iD,cAAcn/D,UAAUA,kBAAVA,OAAUA,CAAVA,IAjBwB,MAiB5C;;AACA,cACEi/D,uBACA,0CAFF,GAGE;AAUA,8CAAkC,EAChC,4BAXF,WAUkC,CAAlC;AAbF,iBAgBO,IAAID,SAAS/kD,OAAb,SAA6B;AAClC,8CADkC,WAClC;AADK,iBAEA;AAEL,8CAFK,CAEL;AAtC0C;AAD1B;;AA2CpB,eAAO,KA3Ca,0BA2CpB;AA/zDiB;AAzYkC;AAAA;AAAA,aA2sErDmlD,iCAAwB;AACtB,YAAM7rD,YAAY,SADI,mBACtB;AACA,eAAO,CACLA,mBAAmBA,eAAnBA,IAAsCA,UADjC,CACiCA,CADjC,EAELA,mBAAmBA,eAAnBA,IAAsCA,UAFjC,CAEiCA,CAFjC,CAAP;AAp0DiB;AAzYkC;AAAA;AAAA,aAmtErD8rD,4BAAmB;AACjB,aAAK,IAAI/9D,IAAI,iCAAb,GAAiDA,KAAjD,GAAyDA,CAAzD,IAA8D;AAC5D,cAAI,CAAC,2BAAL,SAAyC;AACvC,mBADuC,KACvC;AAF0D;AAD7C;;AAMjB,eANiB,IAMjB;AAh1DiB;AAzYkC;;AAAA;AAAA;;AA6tEvD,4BAAsB;AACpBuxD,6BAAyBlgD,UAAzBkgD,EAAyBlgD,CAAzBkgD,IAAoCA,yBADhB,EACgBA,CAApCA;AA9tEqD;;AAiuEvD,SAjuEuD,cAiuEvD;AAhqFF,CA+bwB,EAAxB;;;;;;;;;;;;;;;;;;;AChbA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAvBA,UAuBA;;AAGA,8BAA8B;AAC5B,MAAI,qBAAJ,aAAsC;AACpC,WAAO,cAD6B,MAC7B,CAAP;AAF0B;;AAI5B,MAAI,CAAJ,YAAiB;AACfyM,iBAAa7gE,uDADE,KACFA,CAAb6gE;AAL0B;;AAO5B,SAAOA,2BAPqB,MAOrBA,CAAP;AAjCF;;AAoCA,qCAAqC;AACnC,MAAI,SAAS,kBAAb,aAA4C;AAAA;AADT;;AAInC,MAAM7hE,QAAQs/D,UAAUA,KAJW,CAIXA,CAAxB;AACA,MAAMr/D,SAASq/D,UAAUA,KALU,CAKVA,CAAzB;AACA,MAAMwC,SAAS,IANoB,MAMpB,EAAf;AACAA,cAAYxC,KAAZwC,CAAYxC,CAAZwC,EAAqBxC,KAArBwC,CAAqBxC,CAArBwC,SAPmC,MAOnCA;AACAtR,WARmC,MAQnCA;AA5CF;;IA+CA,kB;AACE7wD,gCAAc;AAAA;;AACZ,QAAI,qBAAJ,oBAA6C;AAC3CC,6BAD2C,uCAC3CA;AAFU;AADS;;;;WAOvBmiE,sBAAa;AACXniE,6BADW,sCACXA;AARqB;;;;;;IAYzB,yB;;;;;AACED,yCAAgB;AAAA;;AAAA;;AAAA;AAEd,kBAAa2+D,GAFC,CAEDA,CAAb;AACA,kBAAaA,GAHC,CAGDA,CAAb;AACA,wBAAmBA,GAJL,CAIKA,CAAnB;AACA,gBAAWA,GALG,CAKHA,CAAX;AACA,gBAAWA,GANG,CAMHA,CAAX;AACA,gBAAWA,GAPG,CAOHA,CAAX;AACA,gBAAWA,GARG,CAQHA,CAAX;AACA,oBAAeA,GATD,CASCA,CAAf;AATc;AADyC;;;;WAazDyD,6CAAoC;AAClC,UAAMpB,YAAYqB,0CAEhBxR,WAFgBwR,OAGhBxR,WAHgBwR,QADgB,IAChBA,CAAlB;AAOA,UAAMpB,SAASD,UARmB,OAQlC;AACAC,6BAAuBA,cAAvBA,OAA4CA,cATV,MASlCA;AACAA,aAVkC,SAUlCA;AACAA,wBAAkBA,cAAlBA,OAAuCA,cAXL,MAWlCA;;AAEA,UAAI,CAAJ,aAAkB;AAChBA,0CAAkCoB,MADlB,aAChBpB;;AACA,YAAI,KAAJ,SAAkB;AAChBA,yCAA+B,KADf,OAChBA;AAHc;AAAlB,aAKO;AACLA,0CAAkCpQ,IAD7B,mBACLoQ;AAnBgC;;AAqBlCqB,+BAAyB,KArBS,KAqBlCA;AAEA,UAvBkC,IAuBlC;;AACA,UAAI,eAAJ,SAA4B;AAC1BC,eAAOtB,4BACL,SADKA,CACL,CADKA,EAEL,SAFKA,CAEL,CAFKA,EAGL,SAHKA,CAGL,CAHKA,EAIL,SALwB,CAKxB,CAJKA,CAAPsB;AADF,aAOO,IAAI,eAAJ,UAA6B;AAClCA,eAAOtB,4BACL,SADKA,CACL,CADKA,EAEL,SAFKA,CAEL,CAFKA,EAGL,KAHKA,KAIL,SAJKA,CAIL,CAJKA,EAKL,SALKA,CAKL,CALKA,EAML,KAPgC,GAC3BA,CAAPsB;AAhCgC;;AAAA,iDA0CV,KAAxB,WA1CkC;AAAA;;AAAA;AA0ClC,4DAA0C;AAAA,cAA1C,SAA0C;AACxCA,4BAAkBC,UAAlBD,CAAkBC,CAAlBD,EAAgCC,UADQ,CACRA,CAAhCD;AA3CgC;AAAA;AAAA;AAAA;AAAA;AAAA;;AA6ClCtB,yBA7CkC,IA6ClCA;AACAA,aA9CkC,IA8ClCA;AAEA,UAAMjE,UAAUnM,kBAAkBmQ,UAAlBnQ,QAhDkB,QAgDlBA,CAAhB;AACAmM,2BAAqByF,aAAa5R,IAjDA,0BAiDb4R,CAArBzF;AACA,aAlDkC,OAkDlC;AA/DuD;;;;EAA3D,kB;;AAmEA,6DAA6D;AAE3D,MAAMhI,SAASr0D,QAAf;AAAA,MACE+hE,SAAS/hE,QAHgD,MAE3D;AAEA,MAAM0c,QAAQW,KAAd;AAAA,MACE2kD,UAAU3kD,aAL+C,CAI3D;AAEA,MAN2D,GAM3D;;AACA,MAAIg3C,OAAO51C,KAAP41C,KAAiBA,OAAO11C,KAA5B,CAAqB01C,CAArB,EAAqC;AACnC4N,UADmC,EACnCA;AACAxjD,SAFmC,EAEnCA;AACAE,SAHmC,GAGnCA;AACAsjD,UAJmC,EAInCA;AACAC,SALmC,EAKnCA;AACAC,SANmC,GAMnCA;AAbyD;;AAe3D,MAAI9N,OAAO11C,KAAP01C,KAAiBA,OAAOx1C,KAA5B,CAAqBw1C,CAArB,EAAqC;AACnC4N,UADmC,EACnCA;AACAtjD,SAFmC,EAEnCA;AACAE,SAHmC,GAGnCA;AACAojD,UAJmC,EAInCA;AACAE,SALmC,EAKnCA;AACAC,SANmC,GAMnCA;AArByD;;AAuB3D,MAAI/N,OAAO51C,KAAP41C,KAAiBA,OAAO11C,KAA5B,CAAqB01C,CAArB,EAAqC;AACnC4N,UADmC,EACnCA;AACAxjD,SAFmC,EAEnCA;AACAE,SAHmC,GAGnCA;AACAsjD,UAJmC,EAInCA;AACAC,SALmC,EAKnCA;AACAC,SANmC,GAMnCA;AA7ByD;;AA+B3D,MAAMtD,KAAM,cAAa7+D,QAAd,OAAC,IAAgCA,QA/Be,MA+B3D;AACA,MAAM8+D,KAAM,QAAOrgD,KAAP,KAAiBze,QAAlB,OAAC,IAAoCA,QAhCW,MAgC3D;AACA,MAAMqiE,KAAM,cAAariE,QAAd,OAAC,IAAgCA,QAjCe,MAiC3D;AACA,MAAMsiE,KAAM,QAAO3jD,KAAP,KAAiB3e,QAAlB,OAAC,IAAoCA,QAlCW,MAkC3D;AACA,MAAMuiE,KAAM,cAAaviE,QAAd,OAAC,IAAgCA,QAnCe,MAmC3D;AACA,MAAMwiE,KAAM,QAAO3jD,KAAP,KAAiB7e,QAAlB,OAAC,IAAoCA,QApCW,MAoC3D;;AACA,MAAI8+D,MAAJ,IAAc;AAAA;AArC6C;;AAwC3D,MAAM2D,MAAMV,OAAZ,EAAYA,CAAZ;AAAA,MACEW,MAAMX,OAAOG,KADf,CACQH,CADR;AAAA,MAEEY,MAAMZ,OAAOG,KA1C4C,CA0CnDH,CAFR;AAGA,MAAMa,MAAMb,OAAZ,EAAYA,CAAZ;AAAA,MACEc,MAAMd,OAAOI,KADf,CACQJ,CADR;AAAA,MAEEe,MAAMf,OAAOI,KA7C4C,CA6CnDJ,CAFR;AAGA,MAAMgB,MAAMhB,OAAZ,EAAYA,CAAZ;AAAA,MACEiB,MAAMjB,OAAOK,KADf,CACQL,CADR;AAAA,MAEEkB,MAAMlB,OAAOK,KAhD4C,CAgDnDL,CAFR;AAIA,MAAMmB,OAAOjhE,WAAb,EAAaA,CAAb;AAAA,MACEkhE,OAAOlhE,WAnDkD,EAmDlDA,CADT;AAEA,oBApD2D,GAoD3D;AACA,oBArD2D,GAqD3D;;AACA,OAAK,IAAIo1D,IAAT,MAAmBA,KAAnB,MAA8BA,CAA9B,IAAmC;AACjC,QAAIA,IAAJ,IAAY;AACV,UAAIxmC,EADM,SACV;;AACA,UAAIwmC,IAAJ,IAAY;AACVxmC,aADU,CACVA;AADF,aAEO,IAAIiuC,OAAJ,IAAe;AACpBjuC,aADoB,CACpBA;AADK,aAEA;AACLA,aAAK,MAAD,CAAC,KAAW,KADX,EACA,CAALA;AAPQ;;AASVuyC,WAAKvE,KAAM,MAAD,EAAC,IATD,EASVuE;AACAC,YAAMZ,MAAO,OAAD,GAAC,IAVH,EAUVY;AACAC,YAAMZ,MAAO,OAAD,GAAC,IAXH,EAWVY;AACAC,YAAMZ,MAAO,OAAD,GAAC,IAZH,EAYVY;AAZF,WAaO;AACL,UAAI1yC,GADC,SACL;;AACA,UAAIwmC,IAAJ,IAAY;AACVxmC,cADU,CACVA;AADF,aAEO,IAAIyxC,OAAJ,IAAe;AACpBzxC,cADoB,CACpBA;AADK,aAEA;AACLA,cAAK,MAAD,CAAC,KAAW,KADX,EACA,CAALA;AAPG;;AASLuyC,WAAKf,KAAM,MAAD,EAAC,IATN,GASLe;AACAC,YAAMT,MAAO,OAAD,GAAC,IAVR,GAULS;AACAC,YAAMT,MAAO,OAAD,GAAC,IAXR,GAWLS;AACAC,YAAMT,MAAO,OAAD,GAAC,IAZR,GAYLS;AA1B+B;;AA6BjC,QAAI1yC,CA7B6B,SA6BjC;;AACA,QAAIwmC,IAAJ,IAAY;AACVxmC,UADU,CACVA;AADF,WAEO,IAAIwmC,IAAJ,IAAY;AACjBxmC,UADiB,CACjBA;AADK,WAEA;AACLA,UAAK,MAAD,CAAC,KAAW,KADX,EACA,CAALA;AAnC+B;;AAqCjC2yC,SAAK3E,KAAM,MAAD,EAAC,IArCsB,CAqCjC2E;AACAC,UAAMhB,MAAO,OAAD,GAAC,IAtCoB,CAsCjCgB;AACAC,UAAMhB,MAAO,OAAD,GAAC,IAvCoB,CAuCjCgB;AACAC,UAAMhB,MAAO,OAAD,GAAC,IAxCoB,CAwCjCgB;AACA,QAAMC,MAAM3hE,WAAWA,aAzCU,EAyCVA,CAAXA,CAAZ;AACA,QAAM4hE,MAAM5hE,WAAWA,aA1CU,EA0CVA,CAAXA,CAAZ;AACA,QAAI+xD,IAAIgO,cAAc4B,MA3CW,CA2CjC;;AACA,SAAK,IAAItsC,IAAT,KAAkBA,KAAlB,KAA4BA,CAA5B,IAAiC;AAC/BzG,UAAK,MAAD,CAAC,KAAW,KADe,EAC1B,CAALA;;AACA,UAAIA,IAAJ,GAAW;AACTA,YADS,CACTA;AADF,aAEO,IAAIA,IAAJ,GAAW;AAChBA,YADgB,CAChBA;AAL6B;;AAO/BnU,YAAMs3C,CAANt3C,MAAc2mD,MAAO,OAAD,GAAC,IAAR,CAACA,GAPiB,CAO/B3mD;AACAA,YAAMs3C,CAANt3C,MAAc4mD,MAAO,OAAD,GAAC,IAAR,CAACA,GARiB,CAQ/B5mD;AACAA,YAAMs3C,CAANt3C,MAAc6mD,MAAO,OAAD,GAAC,IAAR,CAACA,GATiB,CAS/B7mD;AACAA,YAAMs3C,CAANt3C,MAV+B,GAU/BA;AAtD+B;AAtDwB;AA9H7D;;AA+OA,2CAA2C;AACzC,MAAMonD,KAAKC,OAD8B,MACzC;AACA,MAAMC,KAAKD,OAF8B,MAEzC;AACA,SAHyC,EAGzC;;AACA,UAAQA,OAAR;AACE;AACE,UAAME,iBAAiBF,OADzB,cACE;AACA,UAAMG,OAAOjiE,WAAW6hE,YAAX7hE,kBAFf,CAEE;AACA,UAAMkiE,OAAOF,iBAHf,CAGE;;AACA,WAAK1gE,IAAL,GAAYA,IAAZ,MAAsBA,CAAtB,IAA2B;AACzB,YAAI6gE,IAAI7gE,IADiB,cACzB;;AACA,aAAK,IAAIywD,IAAT,GAAgBA,IAAhB,MAA0BA,KAAKoQ,CAA/B,IAAoC;AAClCC,sCAGEP,GAHFO,CAGEP,CAHFO,EAIEP,GAAGM,IAJLC,CAIEP,CAJFO,EAKEP,GAAGM,IALLC,cAKEP,CALFO,EAMEL,GANFK,CAMEL,CANFK,EAOEL,GAAGI,IAPLC,CAOEL,CAPFK,EAQEL,GAAGI,IAT6B,cAShCJ,CARFK;AAUAA,sCAGEP,GAAGM,qBAHLC,CAGEP,CAHFO,EAIEP,GAAGM,IAJLC,CAIEP,CAJFO,EAKEP,GAAGM,IALLC,cAKEP,CALFO,EAMEL,GAAGI,qBANLC,CAMEL,CANFK,EAOEL,GAAGI,IAPLC,CAOEL,CAPFK,EAQEL,GAAGI,IAnB6B,cAmBhCJ,CARFK;AAbuB;AAJ7B;;AADF;;AA+BE;AACE,WAAK9gE,OAAOD,KAAKwgE,GAAjB,QAA4BvgE,IAA5B,IAAoCA,KAApC,GAA4C;AAC1C8gE,oCAGEP,GAHFO,CAGEP,CAHFO,EAIEP,GAAGvgE,IAJL8gE,CAIEP,CAJFO,EAKEP,GAAGvgE,IALL8gE,CAKEP,CALFO,EAMEL,GANFK,CAMEL,CANFK,EAOEL,GAAGzgE,IAPL8gE,CAOEL,CAPFK,EAQEL,GAAGzgE,IATqC,CASxCygE,CARFK;AAFJ;;AA/BF;;AA6CE;AACE,YAAM,UA9CV,gBA8CU,CAAN;AA9CJ;AAnPF;;IAqSA,kB;;;;;AACEhlE,kCAAgB;AAAA;;AAAA;;AAAA;AAEd,qBAAe2+D,GAFD,CAECA,CAAf;AACA,qBAAeA,GAHD,CAGCA,CAAf;AACA,sBAAgBA,GAJF,CAIEA,CAAhB;AACA,qBAAeA,GALD,CAKCA,CAAf;AACA,qBAAeA,GAND,CAMCA,CAAf;AACA,mBAAaA,GAPC,CAODA,CAAb;AACA,yBAAmBA,GARL,CAQKA,CAAnB;AARc;AADkC;;;;WAYlDsG,2EAAkE;AAGhE,UAAMC,iBAH0D,GAGhE;AAEA,UAAMC,mBAL0D,IAKhE;AAGA,UAAMC,cAR0D,CAQhE;AAEA,UAAMpjE,UAAUY,WAAW,aAVqC,CAUrC,CAAXA,CAAhB;AACA,UAAMX,UAAUW,WAAW,aAXqC,CAWrC,CAAXA,CAAhB;AACA,UAAMyiE,cAAcziE,UAAU,aAAVA,CAAU,CAAVA,IAZ4C,OAYhE;AACA,UAAM0iE,eAAe1iE,UAAU,aAAVA,CAAU,CAAVA,IAb2C,OAahE;AAEA,UAAMvC,QAAQuC,SACZA,UAAUA,SAASyiE,cAAcE,cAAdF,CAAcE,CAAdF,GADPziE,cACFA,CAAVA,CADYA,EAfkD,gBAelDA,CAAd;AAIA,UAAMtC,SAASsC,SACbA,UAAUA,SAAS0iE,eAAeC,cAAfD,CAAeC,CAAfD,GADN1iE,cACHA,CAAVA,CADaA,EAnBiD,gBAmBjDA,CAAf;AAIA,UAAMm9D,SAASsF,cAvBiD,KAuBhE;AACA,UAAMrF,SAASsF,eAxBiD,MAwBhE;AAEA,UAAM3kE,UAAU;AACdq0D,gBAAQ,KADM;AAEd0N,gBAAQ,KAFM;AAGd1gE,iBAAS,CAHK;AAIdC,iBAAS,CAJK;AAKd89D,gBAAQ,IALM;AAMdC,gBAAQ,IANM;AAAA,OAAhB;AASA,UAAMwF,cAAcnlE,QAAQ+kE,cAnCoC,CAmChE;AACA,UAAMK,eAAenlE,SAAS8kE,cApCkC,CAoChE;AAEA,UAAMpE,YAAY0E,4DAtC8C,KAsC9CA,CAAlB;AAMA,UAAMzE,SAASD,UA5CiD,OA4ChE;AAEA,UAAMhjD,OAAOijD,8BA9CmD,MA8CnDA,CAAb;;AACA,2BAAqB;AACnB,YAAM5jD,QAAQW,KADK,IACnB;;AACA,aAAK,IAAI9Z,IAAJ,GAAWD,KAAKoZ,MAArB,QAAmCnZ,IAAnC,IAA2CA,KAA3C,GAAmD;AACjDmZ,qBAAWsoD,gBADsC,CACtCA,CAAXtoD;AACAA,gBAAMnZ,IAANmZ,KAAesoD,gBAFkC,CAElCA,CAAftoD;AACAA,gBAAMnZ,IAANmZ,KAAesoD,gBAHkC,CAGlCA,CAAftoD;AACAA,gBAAMnZ,IAANmZ,KAJiD,GAIjDA;AANiB;AA/C2C;;AAAA,kDAwD3C,KAArB,QAxDgE;AAAA;;AAAA;AAwDhE,+DAAoC;AAAA,cAApC,MAAoC;AAClCuoD,mCADkC,OAClCA;AAzD8D;AAAA;AAAA;AAAA;AAAA;AAAA;;AA2DhE3E,6CA3DgE,WA2DhEA;AACA,UAAMvgE,SAASsgE,UA5DiD,MA4DhE;AAEA,aAAO;AACLtgE,cADK,EACLA,MADK;AAELsB,iBAASA,UAAUojE,cAFd;AAGLnjE,iBAASA,UAAUmjE,cAHd;AAILrF,cAJK,EAILA,MAJK;AAKLC,cALK,EAKLA;AALK,OAAP;AA1EgD;;;WAmFlDoC,6CAAoC;AAClCE,4BAAsB,KADY,KAClCA;AACA,UAFkC,KAElC;;AACA,uBAAiB;AACfv/D,gBAAQsc,yCAAmCwxC,IAD5B,mBACPxxC,CAARtc;AADF,aAEO;AAELA,gBAAQsc,yCAAmCgjD,MAFtC,aAEGhjD,CAARtc;;AACA,YAAI,KAAJ,SAAkB;AAChB,cAAM8iE,cAAcxmD,yCAAmC,KADvC,OACIA,CAApB;;AACAtc,kBAAQ,CAACA,WAAW8iE,YAAZ,CAAYA,CAAZ,EAA4B9iE,WAAW8iE,YAAvC,CAAuCA,CAAvC,CAAR9iE;AALG;AAL2B;;AAgBlC,UAAM+iE,yBAAyB,8BAE7BzsD,qBAAqB,KAFQ,aAG7BgpD,MAnBgC,cAgBH,CAA/B;;AAMA,UAAI,CAAJ,aAAkB;AAChBxR,oCAA4BwR,MADZ,aAChBxR;;AACA,YAAI,KAAJ,SAAkB;AAChBA,mCAAyB,KADT,OAChBA;AAHc;AAtBgB;;AA6BlCA,oBACEiV,uBADFjV,SAEEiV,uBA/BgC,OA6BlCjV;AAIAA,gBAAUiV,uBAAVjV,QAAyCiV,uBAjCP,MAiClCjV;AAEA,aAAOA,kBAAkBiV,uBAAlBjV,QAnC2B,WAmC3BA,CAAP;AAtHgD;;;;EAApD,kB;;IA0HA,mB;;;;;;;;;;;;;WACEuR,sBAAa;AACX,aADW,SACX;AAFiD;;;;EAArD,kB;;AAMA,+BAA+B;AAC7B,UAAQzD,GAAR,CAAQA,CAAR;AACE;AACE,aAAO,8BAFX,EAEW,CAAP;;AACF;AACE,aAAO,uBAJX,EAIW,CAAP;;AACF;AACE,aAAO,IANX,mBAMW,EAAP;AANJ;;AAQA,QAAM,qCAA8BA,GATP,CASOA,CAA9B,EAAN;AA9aF;;AAibA,IAAMoH,YAAY;AAChBC,WADgB;AAEhBC,aAFgB;AAAA,CAAlB;;IAKA,a;AAMEjmE,+EAAkE;AAAA;;AAChE,wBAAoB2+D,GAD4C,CAC5CA,CAApB;AACA,kBAAcA,SAAS,kBAAvB;AACA,gBAAYA,GAHoD,CAGpDA,CAAZ;AACA,iBAAaA,GAJmD,CAInDA,CAAb;AACA,iBAAaA,GALmD,CAKnDA,CAAb;AACA,qBAAiBA,GAN+C,CAM/CA,CAAjB;AACA,sBAAkBA,GAP8C,CAO9CA,CAAlB;AACA,iBARgE,KAQhE;AACA,eATgE,GAShE;AACA,iCAVgE,qBAUhE;AACA,yBAXgE,aAWhE;AAjBgB;;;;WAoBlBuH,oCAA2B;AACzB,UAAMzd,eAAe,KADI,YACzB;AACA,UAAMkX,OAAO,KAFY,IAEzB;AACA,UAAMwG,QAAQ,KAHW,KAGzB;AACA,UAAMC,QAAQ,KAJW,KAIzB;AACA,UAAMC,YAAY,KALO,SAKzB;AACA,UAAMC,aAAa,KANM,UAMzB;AACA,UAAM1H,QAAQ,KAPW,KAOzB;AACA,UAAME,wBAAwB,KARL,qBAQzB;AAEA30D,sBAAK,iBAVoB,UAUzBA;AAsBA,UAAMm1D,KAAKK,KAAX,CAAWA,CAAX;AAAA,UACEJ,KAAKI,KADP,CACOA,CADP;AAAA,UAEEH,KAAKG,KAFP,CAEOA,CAFP;AAAA,UAGEF,KAAKE,KAnCkB,CAmClBA,CAHP;;AAMA,UAAMkG,cAAcxmD,yCAAmC,KAtC9B,MAsCLA,CAApB;;AACA,UAAMknD,iBAAiBlnD,yCACrB,KAxCuB,aAuCFA,CAAvB;;AAGA,UAAMkmD,gBAAgB,CACpBM,iBAAiBU,eADG,CACHA,CADG,EAEpBV,iBAAiBU,eAFG,CAEHA,CAFG,CAAtB;AAQA,UAAMC,OAAO,4BAEX,gBAFW,OAGXjB,cArDuB,CAqDvBA,CAHW,CAAb;AAKA,UAAMkB,OAAO,4BAEX,gBAFW,QAGXlB,cA1DuB,CA0DvBA,CAHW,CAAb;AAMA,UAAMvE,YAAYqB,0CAEhBmE,KAFgBnE,MAGhBoE,KAHgBpE,MA7DO,IA6DPA,CAAlB;AAMA,UAAMpB,SAASD,UAnEU,OAmEzB;AACA,UAAM0F,WAAW5H,2CApEQ,MAoERA,CAAjB;AACA4H,4BAAsBrE,MArEG,UAqEzBqE;AAEA,+DAvEyB,KAuEzB;AAEAA,yBAAmBF,KAAnBE,aAAqCD,KAArCC,UAzEyB,CAyEzBA;AAEA,gDA3EyB,EA2EzB;AAEAA,+BAAyBA,iCA7EA,KA6EAA,EAAzBA;AAEAA,mCA/EyB,YA+EzBA;AAEAA,eAjFyB,UAiFzBA;AAEA,aAAO;AACLhmE,gBAAQsgE,UADH;AAELjB,gBAAQyG,KAFH;AAGLxG,gBAAQyG,KAHH;AAAA,OAAP;AAvGgB;;;WA8GlBE,sDAA6C;AAE3Ct0C,aAAOzvB,SAFoC,IAEpCA,CAAPyvB;AAKA,UAAMu0C,UAAUhkE,SAASikE,cAATjkE,kBAP2B,cAO3BA,CAAhB;AACA,UAAIm6B,OAAOn6B,UAAUyvB,OARsB,KAQhCzvB,CAAX;;AACA,UAAIm6B,QAAJ,SAAqB;AACnBA,eADmB,OACnBA;AADF,aAEO;AACLh6B,gBAAQg6B,OADH,IACLh6B;AAZyC;;AAc3C,aAAO;AAAEA,aAAF,EAAEA,KAAF;AAASg6B,YAAT,EAASA;AAAT,OAAP;AA5HgB;;;WA+HlB+pC,kDAAyC;AACvC,UAAInoD,uBAAuBghD,gBAA3B,GAA8C;AAC5C,YAAMoH,YAAYvH,KAD0B,EAC5C;AACA,YAAMwH,aAAavH,KAFyB,EAE5C;AACAiH,6CAH4C,UAG5CA;AACAA,iBAJ4C,IAI5CA;AACAA,iBAL4C,OAK5CA;AANqC;AA/HvB;;;WAyIlBO,oEAA2D;AACzD,UAAMtmE,UAAU+lE,SAAhB;AAAA,UACEvU,UAAUuU,SAF6C,OACzD;;AAEA;AACE,aAAKX,UAAL;AACE,cAAMlV,MAAM,KADd,GACE;AACAlwD,8BAAoBkwD,IAFtB,SAEElwD;AACAA,gCAAsBkwD,IAHxB,WAGElwD;AACAwxD,8BAAoBtB,IAJtB,SAIEsB;AACAA,gCAAsBtB,IALxB,WAKEsB;AANJ;;AAQE,aAAK4T,UAAL;AACE,cAAMmB,WAAW7nD,wBAAkBu/C,MAAlBv/C,CAAkBu/C,CAAlBv/C,EAA4Bu/C,MAA5Bv/C,CAA4Bu/C,CAA5Bv/C,EAAsCu/C,MADzD,CACyDA,CAAtCv/C,CAAjB;;AACA1e,8BAFF,QAEEA;AACAA,gCAHF,QAGEA;AAEAwxD,8BALF,QAKEA;AACAA,gCANF,QAMEA;AAdJ;;AAgBE;AACE,gBAAM,wDAjBV,SAiBU,EAAN;AAjBJ;AA5IgB;;;WAiKlBiQ,6CAAoC;AAClCvR,YAAM,KAD4B,GAClCA;AAEA,UAAI6O,SAAS7O,IAHqB,0BAGlC;;AACA,UAAI,CAAJ,aAAkB;AAChB6O,iBAASrgD,6BAAuBgjD,MADhB,aACPhjD,CAATqgD;;AACA,YAAI,KAAJ,QAAiB;AACfA,mBAASrgD,6BAAuB,KADjB,MACNA,CAATqgD;AAHc;AAJgB;;AAWlC,UAAMoG,yBAAyB,yBAXG,KAWH,CAA/B;AAEA,UAAIqB,YAAY1E,aAbkB,MAalBA,CAAhB;AAGA0E,kBAAYA,gBACV,IAAIrB,uBADMqB,QAEV,IAAIrB,uBAlB4B,MAgBtBqB,CAAZA;AAKA,UAAMnK,UAAUnM,kBAAkBiV,uBAAlBjV,QArBkB,QAqBlBA,CAAhB;AACAmM,2BAtBkC,SAsBlCA;AAEA,aAxBkC,OAwBlC;AAzLgB;;;SAElB,eAA8B;AAC5B,aAAO1+C,4CADqB,IACrBA,CAAP;AAHgB;;;;;;;;;;;;;;;;;;;AC3ZpB,IAAMqkC,sBAAsB79C,cA3B5B,IA2B4BA,CAA5B;;AAEA69C,iCACEA,sDAEIA,oBAhCN,UA6BAA;AAKAA,gCACEA,mDAEIA,oBArCN,SAkCAA,C;;;;;;;;;;;;;;;;ACnBA;;;;;;;;;;;;;;;;AASA,IAAMykB,eAAe;AACnBxzD,WADmB;AAEnByzD,QAFmB;AAGnBC,SAHmB;AAAA,CAArB;AAMA,IAAMC,aAAa;AACjB3zD,WADiB;AAEjB4zD,UAFiB;AAGjBC,mBAHiB;AAIjBC,SAJiB;AAKjBC,WALiB;AAMjBL,SANiB;AAOjBM,QAPiB;AAQjBC,iBARiB;AASjBC,kBATiB;AAAA,CAAnB;;AAYA,4BAA4B;AAWxB,MAAI,gCAA8B7mE,WAAlC,MAAmD;AACjD,WADiD,MACjD;AAZsB;;AAe1B,UAAQA,OAAR;AACE;AACE,aAAO,yBAAmBA,OAF9B,OAEW,CAAP;;AACF;AACE,aAAO,8BAAwBA,OAJnC,OAIW,CAAP;;AACF;AACE,aAAO,sCAAgCA,OAAhC,SAAgDA,OAN3D,MAMW,CAAP;;AACF;AACE,aAAO,gCAA0BA,OAA1B,SAA0CA,OARrD,OAQW,CAAP;;AACF;AACE,aAAO,gCAA0BA,OAA1B,SAA0CA,OAVrD,QAUqDA,EAA1C,CAAP;AAVJ;AAzDF;;IAuEA,c;AACEjB,0DAA4C;AAAA;;AAAA;;AAC1C,sBAD0C,UAC1C;AACA,sBAF0C,UAE1C;AACA,kBAH0C,MAG1C;AACA,sBAJ0C,CAI1C;AACA,oBAL0C,CAK1C;AACA,gCAN0C,IAM1C;AACA,uBAAmB8E,cAPuB,IAOvBA,CAAnB;AACA,6BAAyBA,cARiB,IAQjBA,CAAzB;AACA,gCAA4BA,cATc,IASdA,CAA5B;AACA,yBAAqBA,cAVqB,IAUrBA,CAArB;;AAEA,8BAA0BsyB,iBAAS;AACjC,UAAMpZ,OAAOoZ,MADoB,IACjC;;AACA,UAAIpZ,oBAAoB,MAAxB,YAAyC;AAAA;AAFR;;AAKjC,UAAIA,KAAJ,QAAiB;AACf,oCADe,IACf;;AADe;AALgB;;AASjC,UAAIA,KAAJ,UAAmB;AACjB,YAAM+pD,aAAa/pD,KADF,UACjB;AACA,YAAMkD,aAAa,2BAFF,UAEE,CAAnB;;AACA,YAAI,CAAJ,YAAiB;AACf,gBAAM,4CADS,UACT,EAAN;AAJe;;AAMjB,eAAO,2BANU,UAMV,CAAP;;AAEA,YAAIlD,kBAAkBopD,aAAtB,MAAyC;AACvClmD,6BAAmBlD,KADoB,IACvCkD;AADF,eAEO,IAAIlD,kBAAkBopD,aAAtB,OAA0C;AAC/ClmD,4BAAkB8mD,WAAWhqD,KADkB,MAC7BgqD,CAAlB9mD;AADK,eAEA;AACL,gBAAM,UADD,0BACC,CAAN;AAbe;;AAAA;AATc;;AA0BjC,UAAM23B,SAAS,oBAAmB76B,KA1BD,MA0BlB,CAAf;;AACA,UAAI,CAAJ,QAAa;AACX,cAAM,gDAAyCA,KADpC,MACL,EAAN;AA5B+B;;AA8BjC,UAAIA,KAAJ,YAAqB;AACnB,YAAMiqD,eAAe,MADF,UACnB;AACA,YAAMC,eAAelqD,KAFF,UAEnB;AACA,oBAAY,mBAAmB;AAC7Brc,kBAAQk3C,OAAO76B,KADc,IACrB66B,CAARl3C;AADF,gBAGE,kBAAkB;AAChBwmE,6BAAmB;AACjBC,wBADiB;AAEjBC,wBAFiB;AAGjBhmC,sBAAU+kC,aAHO;AAIjBW,wBAAY/pD,KAJK;AAKjBA,kBALiB;AAAA,WAAnBmqD;AAJJ,WAYE,kBAAkB;AAChBA,6BAAmB;AACjBC,wBADiB;AAEjBC,wBAFiB;AAGjBhmC,sBAAU+kC,aAHO;AAIjBW,wBAAY/pD,KAJK;AAKjB/c,oBAAQ+mE,WALS,MAKTA;AALS,WAAnBG;AAhBe,SAGnB;AAHmB;AA9BY;;AAyDjC,UAAInqD,KAAJ,UAAmB;AACjB,gCADiB,IACjB;;AADiB;AAzDc;;AA6DjC66B,aAAO76B,KA7D0B,IA6DjC66B;AAzEwC,KAY1C;;AA+DAsvB,uCAAmC,KA3EO,kBA2E1CA;AA5EiB;;;;WA+EnBG,iCAAwB;AAUtB,UAAMC,KAAK,KAVW,aAUtB;;AACA,UAAIA,GAAJ,UAAIA,CAAJ,EAAoB;AAClB,cAAM,4DADY,UACZ,QAAN;AAZoB;;AActBA,uBAdsB,OActBA;AA7FiB;;;WAsGnBC,2CAAkC;AAChC,wBACE;AACEJ,oBAAY,KADd;AAEEC,oBAAY,KAFd;AAGExvB,gBAHF;AAIE76B,YAJF,EAIEA;AAJF,OADF,EADgC,SAChC;AAvGiB;;;WA0HnByqD,sDAA6C;AAC3C,UAAMV,aAAa,KADwB,UACxB,EAAnB;AACA,UAAM7mD,aAFqC,oCAE3C;AACA,8CAH2C,UAG3C;;AACA,UAAI;AACF,0BACE;AACEknD,sBAAY,KADd;AAEEC,sBAAY,KAFd;AAGExvB,kBAHF;AAIEkvB,oBAJF,EAIEA,UAJF;AAKE/pD,cALF,EAKEA;AALF,SADF,EADE,SACF;AADF,QAWE,WAAW;AACXkD,0BADW,EACXA;AAhByC;;AAkB3C,aAAOA,WAlBoC,OAkB3C;AA5IiB;;;WAyJnBwnD,uEAA8D;AAAA;;AAC5D,UAAMC,WAAW,KAD2C,QAC3C,EAAjB;AACA,UAAMP,aAAa,KAFyC,UAE5D;AACA,UAAMC,aAAa,KAHyC,UAG5D;AACA,UAAMF,SAAS,KAJ6C,MAI5D;AAEA,aAAO,mBACL;AACEhjE,eAAOgd,2BAAc;AACnB,cAAMymD,kBADa,oCACnB;AACA,+CAAmC;AACjCzmD,sBADiC,EACjCA,UADiC;AAEjC0mD,uBAFiC;AAGjCC,sBAHiC;AAIjCC,wBAJiC;AAKjCC,sBALiC;AAAA,WAAnC;;AAOA,8BACE;AACEZ,sBADF,EACEA,UADF;AAEEC,sBAFF,EAEEA,UAFF;AAGExvB,oBAHF;AAIE8vB,oBAJF,EAIEA,QAJF;AAKE3qD,gBALF,EAKEA,IALF;AAMEguB,yBAAa7pB,WANf;AAAA,WADF,EATmB,SASnB;;AAYA,iBAAOymD,gBArBY,OAqBnB;AAtBJ;AAyBEr5B,cAAMptB,0BAAc;AAClB,cAAM8mD,iBADY,oCAClB;AACA,wDAFkB,cAElB;AACAd,6BAAmB;AACjBC,sBADiB,EACjBA,UADiB;AAEjBC,sBAFiB,EAEjBA,UAFiB;AAGjB1lC,oBAAQ4kC,WAHS;AAIjBoB,oBAJiB,EAIjBA,QAJiB;AAKjB38B,yBAAa7pB,WALI;AAAA,WAAnBgmD;AASA,iBAAOc,eAZW,OAYlB;AArCJ;AAwCE/iC,gBAAQjlC,wBAAU;AAChBY,4BAAOZ,kBAAPY,OADgB,iCAChBA;AACA,cAAMqnE,mBAFU,oCAEhB;AACA,0DAHgB,gBAGhB;AACA,wDAJgB,IAIhB;AACAf,6BAAmB;AACjBC,sBADiB,EACjBA,UADiB;AAEjBC,sBAFiB,EAEjBA,UAFiB;AAGjB1lC,oBAAQ4kC,WAHS;AAIjBoB,oBAJiB,EAIjBA,QAJiB;AAKjB1nE,oBAAQ+mE,WALS,MAKTA;AALS,WAAnBG;AAQA,iBAAOe,iBAbS,OAahB;AArDJ;AAAA,OADK,EANqD,gBAMrD,CAAP;AA/JiB;;;WA+NnBC,iCAAwB;AACtB,UAAMllD,OADgB,IACtB;AACA,UAAM40B,SAAS,mBAAmB76B,KAFZ,MAEP,CAAf;AACA,UAAM2qD,WAAW3qD,KAHK,QAGtB;AACA,UAAMoqD,aAAa,KAJG,UAItB;AACA,UAAMC,aAAarqD,KALG,UAKtB;AACA,UAAMmqD,SAAS,KANO,MAMtB;AAEA,UAAMiB,aAAa;AACjBl+B,eADiB,mBACjBA,KADiB,EACmB;AAAA,cAArBnO,IAAqB,uEAApCmO,CAAoC;AAAA,cAApCA,SAAoC;;AAClC,cAAI,KAAJ,aAAsB;AAAA;AADY;;AAIlC,cAAMm+B,kBAAkB,KAJU,WAIlC;AACA,8BALkC,IAKlC;;AAIA,cAAIA,uBAAuB,oBAA3B,GAAkD;AAChD,kCADgD,oCAChD;AACA,yBAAa,oBAFmC,OAEhD;AAXgC;;AAalCplD,4BACE;AACEmkD,sBADF,EACEA,UADF;AAEEC,sBAFF,EAEEA,UAFF;AAGE1lC,oBAAQ4kC,WAHV;AAIEoB,oBAJF,EAIEA,QAJF;AAKEhrD,iBALF,EAKEA;AALF,WADFsG,EAbkC,SAalCA;AAde;AA0BjB4J,aA1BiB,mBA0BT;AACN,cAAI,KAAJ,aAAsB;AAAA;AADhB;;AAIN,6BAJM,IAIN;AACAs6C,6BAAmB;AACjBC,sBADiB,EACjBA,UADiB;AAEjBC,sBAFiB,EAEjBA,UAFiB;AAGjB1lC,oBAAQ4kC,WAHS;AAIjBoB,oBAJiB,EAIjBA;AAJiB,WAAnBR;AAMA,iBAAOlkD,iBAXD,QAWCA,CAAP;AArCe;AAwCjBU,aAxCiB,iBAwCjBA,MAxCiB,EAwCH;AACZ9iB,4BAAOZ,kBAAPY,OADY,gCACZA;;AACA,cAAI,KAAJ,aAAsB;AAAA;AAFV;;AAKZ,6BALY,IAKZ;AACAsmE,6BAAmB;AACjBC,sBADiB,EACjBA,UADiB;AAEjBC,sBAFiB,EAEjBA,UAFiB;AAGjB1lC,oBAAQ4kC,WAHS;AAIjBoB,oBAJiB,EAIjBA,QAJiB;AAKjB1nE,oBAAQ+mE,WALS,MAKTA;AALS,WAAnBG;AA9Ce;AAuDjBmB,wBAvDiB;AAwDjBC,gBAxDiB;AAyDjBC,kBAzDiB;AA0DjBC,qBA1DiB;AA2DjBz9B,qBAAahuB,KA3DI;AA4DjBovB,eA5DiB;AAAA,OAAnB;AA+DAg8B,gCAvEsB,OAuEtBA;AACAA,yBAAmBA,0BAxEG,OAwEtBA;AACA,mCAzEsB,UAyEtB;AACA,kBAAY,mBAAmB;AAC7BznE,gBAAQk3C,OAAO76B,KAAP66B,MADqB,UACrBA,CAARl3C;AADF,cAGE,YAAY;AACVwmE,2BAAmB;AACjBC,oBADiB,EACjBA,UADiB;AAEjBC,oBAFiB,EAEjBA,UAFiB;AAGjB1lC,kBAAQ4kC,WAHS;AAIjBoB,kBAJiB,EAIjBA,QAJiB;AAKjBe,mBALiB;AAAA,SAAnBvB;AAJJ,SAYE,kBAAkB;AAChBA,2BAAmB;AACjBC,oBADiB,EACjBA,UADiB;AAEjBC,oBAFiB,EAEjBA,UAFiB;AAGjB1lC,kBAAQ4kC,WAHS;AAIjBoB,kBAJiB,EAIjBA,QAJiB;AAKjB1nE,kBAAQ+mE,WALS,MAKTA;AALS,SAAnBG;AAvFkB,OA0EtB;AAzSiB;;;WAoUnBwB,qCAA4B;AAC1B,UAAMhB,WAAW3qD,KADS,QAC1B;AACA,UAAMoqD,aAAa,KAFO,UAE1B;AACA,UAAMC,aAAarqD,KAHO,UAG1B;AACA,UAAMmqD,SAAS,KAJW,MAI1B;;AAEA,cAAQnqD,KAAR;AACE,aAAKupD,WAAL;AACE,cAAIvpD,KAAJ,SAAkB;AAChB,uDADgB,OAChB;AADF,iBAEO;AACL,8DACEgqD,WAAWhqD,KAFR,MAEHgqD,CADF;AAJJ;;AADF;;AAUE,aAAKT,WAAL;AACE,cAAIvpD,KAAJ,SAAkB;AAChB,sDADgB,OAChB;AADF,iBAEO;AACL,6DACEgqD,WAAWhqD,KAFR,MAEHgqD,CADF;AAJJ;;AAVF;;AAmBE,aAAKT,WAAL;AAEE,cAAI,CAAC,iBAAL,QAAK,CAAL,EAAiC;AAC/BY,+BAAmB;AACjBC,wBADiB,EACjBA,UADiB;AAEjBC,wBAFiB,EAEjBA,UAFiB;AAGjB1lC,sBAAQ4kC,WAHS;AAIjBoB,sBAJiB,EAIjBA,QAJiB;AAKjBe,uBALiB;AAAA,aAAnBvB;AAD+B;AAFnC;;AAeE,cACE,+CACAnqD,mBAFF,GAGE;AACA,sDADA,OACA;AAnBJ;;AAsBE,mDAAyCA,KAtB3C,WAsBE;AACA,cAAM,MAAN,GAAmB,iBAAiBA,KAvBtC,QAuBqB,CAAnB,CAAM,MAAN;AACA,sBAAY,mBAAmB;AAC7Brc,oBAAQ4nE,UAAUA,MADW,EAC7B5nE;AADF,kBAGE,YAAY;AACVwmE,+BAAmB;AACjBC,wBADiB,EACjBA,UADiB;AAEjBC,wBAFiB,EAEjBA,UAFiB;AAGjB1lC,sBAAQ4kC,WAHS;AAIjBoB,sBAJiB,EAIjBA,QAJiB;AAKjBe,uBALiB;AAAA,aAAnBvB;AAJJ,aAYE,kBAAkB;AAChBA,+BAAmB;AACjBC,wBADiB,EACjBA,UADiB;AAEjBC,wBAFiB,EAEjBA,UAFiB;AAGjB1lC,sBAAQ4kC,WAHS;AAIjBoB,sBAJiB,EAIjBA,QAJiB;AAKjB1nE,sBAAQ+mE,WALS,MAKTA;AALS,aAAnBG;AArCN,WAwBE;AA3CJ;;AAkEE,aAAKZ,WAAL;AACE1lE,4BACE,uBADFA,QACE,CADFA,EADF,uCACEA;;AAIA,cAAI,iCAAJ,UAA+C;AAAA;AALjD;;AAQE,8DAAoDmc,KARtD,KAQE;AA1EJ;;AA4EE,aAAKupD,WAAL;AACE1lE,4BACE,uBADFA,QACE,CADFA,EADF,qCACEA;;AAIA,cAAI,iCAAJ,UAA+C;AAAA;AALjD;;AAQE,sDARF,IAQE;AACA,sDATF,KASE;;AACA,uCAVF,QAUE;;AAtFJ;;AAwFE,aAAK0lE,WAAL;AACE1lE,4BACE,uBADFA,QACE,CADFA,EADF,qCACEA;AAIA,4DACEmmE,WAAWhqD,KANf,MAMIgqD,CADF;;AAGA,uCARF,QAQE;;AAhGJ;;AAkGE,aAAKT,WAAL;AACE,cAAIvpD,KAAJ,SAAkB;AAChB,wDADgB,OAChB;AADF,iBAEO;AACL,+DACEgqD,WAAWhqD,KAFR,MAEHgqD,CADF;AAJJ;;AAQE,uCARF,QAQE;;AA1GJ;;AA4GE,aAAKT,WAAL;AACE,cAAI,CAAC,iBAAL,QAAK,CAAL,EAAiC;AAAA;AADnC;;AAIE,cAAM,QAAN,GAAqB,iBAAiBvpD,KAJxC,QAIuB,CAArB,CAAM,QAAN;AACA,sBAAY,mBAAmB;AAC7Brc,oBAAQ6nE,YAAYA,SAASxB,WAAWhqD,KADX,MACAgqD,CAATwB,CAApB7nE;AADF,kBAGE,YAAY;AACVwmE,+BAAmB;AACjBC,wBADiB,EACjBA,UADiB;AAEjBC,wBAFiB,EAEjBA,UAFiB;AAGjB1lC,sBAAQ4kC,WAHS;AAIjBoB,sBAJiB,EAIjBA,QAJiB;AAKjBe,uBALiB;AAAA,aAAnBvB;AAJJ,aAYE,kBAAkB;AAChBA,+BAAmB;AACjBC,wBADiB,EACjBA,UADiB;AAEjBC,wBAFiB,EAEjBA,UAFiB;AAGjB1lC,sBAAQ4kC,WAHS;AAIjBoB,sBAJiB,EAIjBA,QAJiB;AAKjB1nE,sBAAQ+mE,WALS,MAKTA;AALS,aAAnBG;AAlBN,WAKE;AAsBA,2DACEH,WAAWhqD,KA5Bf,MA4BIgqD,CADF;AAGA,mDA9BF,IA8BE;AACA,iBAAO,iBA/BT,QA+BS,CAAP;AA3IJ;;AA6IE;AACE,gBAAM,UA9IV,wBA8IU,CAAN;AA9IJ;AA1UiB;;;;kGA+dnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAGQ,mBACJ,CACE,iCADF,WAEE,iCAFF,UAGE,iCAHF,gBAIM,sBAAsB;AAC1B,yBAAO9mD,cAAcA,WADK,OAC1B;AATkC,iBAIpC,CADI,CAHR;;AAAA;AAYE,uBAAO,uBAZ+B,QAY/B,CAAP;;AAZF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAqBA0oD,0CAAiC;AAC/B,UAAIlf,aAAa,KAAjB,sBAA4C;AAC1C,yCAD0C,SAC1C;AADF,aAEO;AACL,gCADK,OACL;AAJ6B;AApfd;;;WA4fnBnqD,mBAAU;AACR,iDAA2C,KADnC,kBACR;AA7fiB;;;;;;;;;;;;;;;;;;;;ACvErB;;;;;;;;IAiBA,Q;AACEP,0BAAqC;AAAA,QAAzB,UAAyB,QAAzB,UAAyB;AAAA,QAArCA,OAAqC,QAArCA,OAAqC;;AAAA;;AACnC,wBADmC,UACnC;AACA,iBAFmC,OAEnC;AAHW;;;;WAMb6pE,kBAAS;AACP,aAAO,KADA,KACP;AAPW;;;WAUbzoD,mBAAU;AAAA;;AACR,sCAAO,2BAAP,yEADQ,IACR;AAXW;;;WAcbwxC,kBAAS;AACP,aAAOC,yBAAc,KADd,YACAA,CAAP;AAfW;;;WAkBbtuC,mBAAU;AACR,aAAO,sBADC,IACD,CAAP;AAnBW;;;;;;;;;;;;;;;;;;;;ACHf;;;;;;;;;;;;;;IAEA,oB,GACEvkB,4CAA0B;AAAA;;AACxB,iBADwB,IACxB;AACA,cAFwB,IAExB;AACA,gBAHwB,MAGxB;AAJuB,C;;IAQ3B,qB;AACEA,uCAAkB;AAAA;;AAChB,gBADgB,IAChB;AACA,mBAFgB,IAEhB;AACA,kBAHgB,IAGhB;AACA,mBAAe,IAJC,GAID,EAAf;;AAEA,QAAIge,SAAJ,MAAmB;AAAA;AANH;;AAShB,gBAAYA,KATI,IAShB;AACA,mBAAeA,KAVC,OAUhB;AACA,kBAAcA,KAXE,KAWhB;;AAXgB,+CAYIA,KAApB,MAZgB;AAAA;;AAAA;AAYhB,0DAAiC;AAAA,YAAjC,MAAiC;;AAC/B,yBACE4hD,OADF,IAEE,yBAAyBA,OAAzB,MAAqCA,OAHR,MAG7B,CAFF;AAbc;AAAA;AAAA;AAAA;AAAA;AAAA;;AAmBhB,QAAI5hD,mBAAJ,OAA8B;AAAA,kDACR,KAApB,OAD4B;AAAA;;AAAA;AAC5B,+DAAkC;AAAA,cAAlC,KAAkC;AAChC4hD,0BADgC,KAChCA;AAF0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAnBd;;AAAA,gDAyBC5hD,KAAjB,EAzBgB;AAAA;;AAAA;AAyBhB,6DAA0B;AAAA,YAA1B,EAA0B;AACxB,uCADwB,IACxB;AA1Bc;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,gDA6BEA,KAAlB,GA7BgB;AAAA;;AAAA;AA6BhB,6DAA4B;AAAA,YAA5B,GAA4B;AAC1B,wCAD0B,KAC1B;AA9Bc;AAAA;AAAA;AAAA;AAAA;AAAA;AADQ;;;;WAmC1B8rD,8CAAqC;AACnC,UAAMxsD,SAASysD,MADoB,MACnC;;AACA,UAAIzsD,SAAJ,GAAgB;AACd,eADc,IACd;AAHiC;;AAKnC,UAAM0sD,WAAWD,MALkB,CAKlBA,CAAjB;;AACA,WAAK,IAAI7lE,IAAT,GAAgBA,IAAhB,QAA4BA,CAA5B,IAAiC;AAC/B,YAAMy9B,UAAUooC,MADe,CACfA,CAAhB;AACA,YAAIngE,KAF2B,SAE/B;;AACA,YAAI+U,cAAJ,OAAIA,CAAJ,EAA4B;AAC1B/U,kBAAQ,mCADkB,OAClB,CAARA;AADF,eAEO,IAAI,iBAAJ,OAAI,CAAJ,EAA+B;AACpCA,kBAAQ,0BAD4B,OACpCA;AADK,eAEA;AACLpF,sEADK,OACLA;AACA,iBAFK,IAEL;AAT6B;;AAW/B;AACE;AACE,gBAAI,CAAJ,OAAY;AACV,qBADU,KACV;AAFJ;;AADF;;AAME;AACE,uBAAW;AACT,qBADS,IACT;AAFJ;;AANF;;AAWE;AACE,mBAAO,CAZX,KAYI;;AACF;AACE,mBAdJ,IAcI;AAdJ;AAjBiC;;AAkCnC,aAAOwlE,aAlC4B,KAkCnC;AArEwB;;;WAwE1BC,0BAAiB;AACf,UAAIrK,eAAJ,OAA0B;AACxB,YAAI,CAAC,iBAAiBA,MAAtB,EAAK,CAAL,EAAiC;AAC/Bp7D,sEAA0Co7D,MADX,EAC/Bp7D;AACA,iBAF+B,IAE/B;AAHsB;;AAKxB,eAAO,iBAAiBo7D,MAAjB,IALiB,OAKxB;AALF,aAMO,IAAIA,eAAJ,QAA2B;AAEhC,YAAIA,MAAJ,YAAsB;AACpB,iBAAO,mCAAmCA,MADtB,UACb,CAAP;AAH8B;;AAKhC,YAAI,CAACA,MAAD,UAAiBA,iBAArB,SAA+C;AAAA,sDAE5BA,MAAjB,GAF6C;AAAA;;AAAA;AAE7C,mEAA4B;AAAA,kBAA5B,EAA4B;;AAC1B,kBAAI,CAAC,iBAAL,EAAK,CAAL,EAA2B;AACzBp7D,4EADyB,EACzBA;AACA,uBAFyB,IAEzB;AAHwB;;AAK1B,kBAAI,qBAAJ,SAAkC;AAChC,uBADgC,IAChC;AANwB;AAFiB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAW7C,iBAX6C,KAW7C;AAXF,eAYO,IAAIo7D,iBAAJ,SAA8B;AAAA,sDAClBA,MAAjB,GADmC;AAAA;;AAAA;AACnC,mEAA4B;AAAA,kBAA5B,GAA4B;;AAC1B,kBAAI,CAAC,iBAAL,GAAK,CAAL,EAA2B;AACzBp7D,4EADyB,GACzBA;AACA,uBAFyB,IAEzB;AAHwB;;AAK1B,kBAAI,CAAC,sBAAL,SAAmC;AACjC,uBADiC,KACjC;AANwB;AADO;AAAA;AAAA;AAAA;AAAA;AAAA;;AAUnC,iBAVmC,IAUnC;AAVK,eAWA,IAAIo7D,iBAAJ,UAA+B;AAAA,sDACnBA,MAAjB,GADoC;AAAA;;AAAA;AACpC,mEAA4B;AAAA,kBAA5B,IAA4B;;AAC1B,kBAAI,CAAC,iBAAL,IAAK,CAAL,EAA2B;AACzBp7D,4EADyB,IACzBA;AACA,uBAFyB,IAEzB;AAHwB;;AAK1B,kBAAI,CAAC,uBAAL,SAAmC;AACjC,uBADiC,IACjC;AANwB;AADQ;AAAA;AAAA;AAAA;AAAA;AAAA;;AAUpC,iBAVoC,KAUpC;AAVK,eAWA,IAAIo7D,iBAAJ,UAA+B;AAAA,sDACnBA,MAAjB,GADoC;AAAA;;AAAA;AACpC,mEAA4B;AAAA,kBAA5B,IAA4B;;AAC1B,kBAAI,CAAC,iBAAL,IAAK,CAAL,EAA2B;AACzBp7D,4EADyB,IACzBA;AACA,uBAFyB,IAEzB;AAHwB;;AAK1B,kBAAI,uBAAJ,SAAkC;AAChC,uBADgC,KAChC;AANwB;AADQ;AAAA;AAAA;AAAA;AAAA;AAAA;;AAUpC,iBAVoC,IAUpC;AAjD8B;;AAmDhCA,kEAAwCo7D,MAnDR,MAmDhCp7D;AACA,eApDgC,IAoDhC;AA3Da;;AA6DfA,mDAA2Bo7D,MA7DZ,IA6Dfp7D;AACA,aA9De,IA8Df;AAtIwB;;;WAyI1B0lE,2BAAkC;AAAA,UAAhBxI,OAAgB,uEAAlCwI,IAAkC;;AAChC,UAAI,CAAC,iBAAL,EAAK,CAAL,EAA2B;AACzB1lE,oEADyB,EACzBA;AADyB;AADK;;AAKhC,qCAA+B,CAAC,CALA,OAKhC;AA9IwB;;;WAiJ1B2lE,oBAAW;AACT,UAAI,CAAC,aAAL,MAAwB;AACtB,eADsB,IACtB;AAFO;;AAIT,UAAI,KAAJ,QAAiB;AACf,eAAO,YADQ,KACR,EAAP;AALO;;AAOT,aAAOxrD,WAAW,aAPT,IAOS,EAAXA,CAAP;AAxJwB;;;WA2J1ByrD,qBAAY;AACV,aAAO,wBAAwBvX,yBAAc,KAAtC,OAAwBA,CAAxB,GADG,IACV;AA5JwB;;;WA+J1BwX,sBAAa;AACX,aAAO,wBADI,IACX;AAhKwB;;;;;;;;;;;;;;;;;;;;;;ACT5B;;AAfA;;;;;;;;;;;;;;;;;;;;IAmBA,sB;AACErqE,iEAA2C;AAAA;;AAAA;;AACzC6B,6CADyC,6EACzCA;AAKA,yBANyC,EAMzC;AACA,4BAAwBwgD,0BAPiB,KAOzC;AACA,uCACEA,qCATuC,IAQzC;AAGA,QAAMa,cAAcb,OAXqB,WAWzC;;AACA,QAAIa,iFAAJ,GAA6B;AAC3B,UAAMjiC,SAAS,4BADY,MAC3B;;AACA,8BAF2B,MAE3B;AAduC;;AAiBzC,kCAjByC,qBAiBzC;AACA,iCAA6B,CAACohC,OAlBW,aAkBzC;AACA,6BAAyB,CAACA,OAnBe,YAmBzC;AACA,0BAAsBA,OApBmB,MAoBzC;AAEA,8BAtByC,IAsBzC;AACA,yBAvByC,EAuBzC;;AAEA,iDAA6C,wBAAkB;AAC7D,2BAAoB;AAAEioB,aAAF,EAAEA,KAAF;AAAS3sD,aAAT,EAASA;AAAT,OAApB;AA1BuC,KAyBzC;;AAIA,oDAAgD,yBAAmB;AACjE,wBAAiB;AAAEivC,cAAF,EAAEA,MAAF;AAAUC,aAAV,EAAUA;AAAV,OAAjB;AA9BuC,KA6BzC;;AAIA,2DAAuDlvC,iBAAS;AAC9D,2BAAoB;AAAEA,aADwC,EACxCA;AAAF,OAApB;AAlCuC,KAiCzC;;AAIA,2DAAuD,YAAM;AAC3D,YAD2D,kBAC3D;AAtCuC,KAqCzC;;AAIA,gCAzCyC,cAyCzC;AA1CyB;;;;WA6C3B4sD,8BAAqB;AACnB,UAAMtpD,SAAS,eAAekZ,KAAf,OADI,MACnB;;AACA,UAAIA,eAAJ,WAA8B;AAC5B,YAAI,KAAJ,oBAA6B;AAC3B,2CAD2B,MAC3B;AADF,eAEO;AACL,kCADK,MACL;AAJ0B;AAA9B,aAMO;AACL,YAAMqwC,QAAQ,wBAAwB,uBAAuB;AAC3D,cAAInd,uBAAuBlzB,KAA3B,OAAuC;AACrC,mBADqC,KACrC;AAFyD;;AAI3DkzB,+BAJ2D,MAI3DA;;AACA,iBAL2D,IAK3D;AANG,SACS,CAAd;;AAOAxrD,iCARK,yEAQLA;AAhBiB;AA7CM;;;SAoE3B,eAA6B;AAAA;;AAC3B,gEAAO,uBAAP,2DAAO,8BAAP,yEAD2B,CAC3B;AArEyB;;;WAwE3B4oE,0BAAiB;AACf,UAAI9d,cAAJ,WAA6B;AAE3B,YAAM+d,cAAc,mBAFO,CAEP,CAApB;;AACA,YAAIA,WAAJ,aAAIA,WAAJ,eAAIA,YAAJ,YAA6B;AAC3BA,iCAAuB;AAAE9d,oBAAQD,IADN;AACJ,WAAvB+d;AAJyB;AAA7B,aAMO;AACL,YAAMzd,aAAa,KADd,kBACL;;AACA,YAAIA,UAAJ,aAAIA,UAAJ,eAAIA,WAAJ,YAA4B;AAC1BA,gCAAsB;AAAEL,oBAAQD,IAAV;AAAsBE,mBAAOF,IAA7B;AAAA,WAAtBM;AAHG;AAPQ;AAxEU;;;WAuF3B0d,8BAAqB;AACnB,UAAI,KAAJ,oBAA6B;AAC3B,gCAD2B,eAC3B;AAFiB;;AAInB,8BAJmB,IAInB;AA3FyB;;;WA8F3BC,oCAA2B;AACzB,UAAM1mE,IAAI,2BADe,MACf,CAAV;;AACA,UAAIA,KAAJ,GAAY;AACV,qCADU,CACV;AAHuB;AA9FA;;;WAqG3B2mE,yBAAgB;AACdhpE,wBACE,CAAC,KADHA,oBADc,+DACdA;AAIA,UAAMipE,eAAe,KALP,aAKd;AACA,2BANc,IAMd;AACA,aAAO,qDAGL,KAHK,kBAIL,KAXY,2BAOP,CAAP;AA5GyB;;;WAoH3BC,oCAA2B;AACzB,UAAI1mE,OAAO,KAAX,wBAAwC;AACtC,eADsC,IACtC;AAFuB;;AAIzB,UAAMq+B,SAAS,mDAJU,GAIV,CAAf;;AACA,0DALyB,GAKzB;;AACA,8BANyB,MAMzB;;AACA,aAPyB,MAOzB;AA3HyB;;;WA8H3BsoC,mCAA0B;AACxB,UAAI,KAAJ,oBAA6B;AAC3B,uCAD2B,MAC3B;AAFsB;;AAAA,iDAIH,yBAArB,CAAqB,CAJG;AAAA;;AAAA;AAIxB,4DAAkD;AAAA,cAAlD,MAAkD;AAChDtoC,wBADgD,MAChDA;AALsB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOxB,kCAPwB,KAOxB;AArIyB;;;;;;;;IA0I7B,4B;AACE1iC,8DAKE;AAAA,QAFAmjD,eAEA,uEALFnjD,KAKE;AAAA,QADAojD,0BACA,uEALFpjD,IAKE;;AAAA;;AACA,mBADA,MACA;AACA,iBAAamjD,mBAFb,KAEA;AACA,qBAAiB8nB,yFAHjB,IAGA;AAGA,yBAAqBH,gBANrB,EAMA;AACA,mBAPA,CAOA;;AAPA,gDAQoB,KAApB,aARA;AAAA;;AAAA;AAQA,6DAAwC;AAAA,YAAxC,KAAwC;AACtC,wBAAgBntD,MADsB,UACtC;AATF;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWA,qBAXA,EAWA;AACA,yBAAqBsV,QAZrB,OAYqBA,EAArB;AACA0P,gCAbA,IAaAA;AAEA,sBAfA,IAeA;AArB+B;;;;WAwBjCuoC,yBAAgB;AACd,UAAI,KAAJ,OAAgB;AAAA;AADF;;AAId,UAAI,wBAAJ,GAA+B;AAC7B,YAAMC,oBAAoB,eADG,KACH,EAA1B;;AACAA,kCAA0B;AAAEjkE,iBAAF;AAAgBgD,gBAAhB;AAAA,SAA1BihE;AAFF,aAGO;AACL,gCADK,KACL;AARY;;AAUd,sBAAgBxtD,MAVF,UAUd;AAlC+B;;;SAqCjC,eAAmB;AACjB,aAAO,KADU,aACjB;AAtC+B;;;SAyCjC,eAAe;AACb,aAAO,KADM,SACb;AA1C+B;;;SA6CjC,eAAuB;AACrB,aAAO,aADc,iBACrB;AA9C+B;;;SAiDjC,eAA2B;AACzB,aAAO,aADkB,qBACzB;AAlD+B;;;SAqDjC,eAAoB;AAClB,aAAO,aADW,cAClB;AAtD+B;;;;+EAyDjC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBACM,4BAAJ,CADF;AAAA;AAAA;AAAA;;AAEUA,qBAFV,GAEkB,mBADmB,KACnB,EAFlB;AAAA,iDAGW;AAAEzW,yBAAF;AAAgBgD,wBAAhB;AAAA,iBAHX;;AAAA;AAAA,qBAKM,KAAJ,KALF;AAAA;AAAA;AAAA;;AAAA,iDAMW;AAAEhD,yBAAF;AAAoBgD,wBAApB;AAAA,iBANX;;AAAA;AAQQihE,iCARR,GAAa,oCAAb;;AASE,oCATW,iBASX;;AATF,iDAUSA,kBAVI,OAAb;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAaAjlC,wBAAe;AACb,mBADa,IACb;;AADa,kDAEmB,KAAhC,SAFa;AAAA;;AAAA;AAEb,+DAAgD;AAAA,cAAhD,iBAAgD;AAC9CilC,oCAA0B;AAAEjkE,mBAAF;AAAoBgD,kBAApB;AAAA,WAA1BihE;AAHW;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKb,8BALa,CAKb;AA3E+B;;;WA8EjChoB,2BAAkB;AAChB,UAAI,KAAJ,OAAgB;AAAA;AADA;;AAIhB,mBAJgB,IAIhB;AAlF+B;;;;;;IAuFnC,iC;AACEnjD,iEAAgC;AAAA;;AAC9B,mBAD8B,MAC9B;AACA,kBAF8B,KAE9B;AACA,gBAH8B,GAG9B;AACA,wBAJ8B,IAI9B;AACA,qBAL8B,EAK9B;AACA,iBAN8B,KAM9B;AAEA,sBAR8B,IAQ9B;AAToC;;;;WAYtCkrE,yBAAgB;AACd,UAAI,KAAJ,OAAgB;AAAA;AADF;;AAId,UAAI,0BAAJ,GAAiC;AAC/B,4BAD+B,KAC/B;AADF,aAEO;AACL,YAAME,qBAAqB,eADtB,KACsB,EAA3B;;AACAA,mCAA2B;AAAElkE,iBAAF;AAAgBgD,gBAAhB;AAAA,SAA3BkhE;;AAFK,oDAG2B,KAAhC,SAHK;AAAA;;AAAA;AAGL,iEAAgD;AAAA,gBAAhD,iBAAgD;AAC9CD,sCAA0B;AAAEjkE,qBAAF;AAAoBgD,oBAApB;AAAA,aAA1BihE;AAJG;AAAA;AAAA;AAAA;AAAA;AAAA;;AAML,gCANK,CAML;AAZY;;AAcd,mBAdc,IAcd;;AACA,sCAfc,IAed;AA3BoC;;;SA8BtC,eAA2B;AACzB,aADyB,KACzB;AA/BoC;;;;gFAkCtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACM,KAAJ,YADF;AAAA;AAAA;AAAA;;AAEUxtD,qBAFV,GAEkB,KADO,YADzB;AAGI,oCAFqB,IAErB;AAHJ,kDAIW;AAAEzW,yBAAF;AAAgBgD,wBAAhB;AAAA,iBAJX;;AAAA;AAAA,qBAMM,KAAJ,KANF;AAAA;AAAA;AAAA;;AAAA,kDAOW;AAAEhD,yBAAF;AAAoBgD,wBAApB;AAAA,iBAPX;;AAAA;AASQihE,iCATR,GAAa,oCAAb;;AAUE,oCAVW,iBAUX;;AAVF,kDAWSA,kBAXI,OAAb;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAcAjlC,wBAAe;AACb,mBADa,IACb;;AADa,kDAEmB,KAAhC,SAFa;AAAA;;AAAA;AAEb,+DAAgD;AAAA,cAAhD,iBAAgD;AAC9CilC,oCAA0B;AAAEjkE,mBAAF;AAAoBgD,kBAApB;AAAA,WAA1BihE;AAHW;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKb,8BALa,CAKb;;AACA,sCANa,IAMb;AAtDoC;;;;;;;;;;;;;;;;;;;;ACrOxC;;AAOA;;AAtBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoDA,wB;;;;;;;WAKE,4BAA0B;AACxB,UAAMhT,UAAUkT,gBADQ,cACxB;;AAEA;AACE,aAAK19D,qBAAL;AACE,iBAAO,0BAFX,UAEW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,0BALX,UAKW,CAAP;;AAEF,aAAKA,qBAAL;AACE,cAAM29D,YAAYD,gBADpB,SACE;;AAEA;AACE;AACE,qBAAO,gCAFX,UAEW,CAAP;;AACF;AACE,kBAAIA,gBAAJ,aAAiC;AAC/B,uBAAO,uCADwB,UACxB,CAAP;AADF,qBAEO,IAAIA,gBAAJ,UAA8B;AACnC,uBAAO,oCAD4B,UAC5B,CAAP;AAJJ;;AAME,qBAAO,sCATX,UASW,CAAP;;AACF;AACE,qBAAO,kCAXX,UAWW,CAAP;AAXJ;;AAaA,iBAAO,4BAvBX,UAuBW,CAAP;;AAEF,aAAK19D,qBAAL;AACE,iBAAO,2BA1BX,UA0BW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,8BA7BX,UA6BW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,0BAhCX,UAgCW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,4BAnCX,UAmCW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,4BAtCX,UAsCW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,8BAzCX,UAyCW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,2BA5CX,UA4CW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,yBA/CX,UA+CW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,6BAlDX,UAkDW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,+BArDX,UAqDW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,+BAxDX,UAwDW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,8BA3DX,UA2DW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,+BA9DX,UA8DW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,2BAjEX,UAiEW,CAAP;;AAEF,aAAKA,qBAAL;AACE,iBAAO,oCApEX,UAoEW,CAAP;;AAEF;AACE,iBAAO,sBAvEX,UAuEW,CAAP;AAvEJ;AAR2B;;;;;;IAoF/B,iB;AACE3N,yCAOE;AAAA,mFAPFA,EAOE;AAAA,iCAJEurE,YAIF;AAAA,QAJEA,YAIF,kCALA,KAKA;AAAA,iCAHEC,YAGF;AAAA,QAHEA,YAGF,kCALA,KAKA;AAAA,qCAFEC,oBAEF;AAAA,QAFEA,oBAEF,sCALA,KAKA;;AAAA;;AACA,wBADA,YACA;AACA,gBAAYJ,WAFZ,IAEA;AACA,iBAAaA,WAHb,KAGA;AACA,gBAAYA,WAJZ,IAIA;AACA,oBAAgBA,WALhB,QAKA;AACA,uBAAmBA,WANnB,WAMA;AACA,2BAAuBA,WAPvB,eAOA;AACA,8BAA0BA,WAR1B,kBAQA;AACA,kCAA8BA,WAT9B,sBASA;AACA,sBAAkBA,WAVlB,UAUA;AACA,6BAAyBA,WAXzB,iBAWA;AACA,2BAAuBA,WAZvB,eAYA;AACA,wBAAoBA,WAbpB,YAaA;AACA,uBAAmBA,WAdnB,UAcA;;AAEA,sBAAkB;AAChB,uBAAiB,sBADD,YACC,CAAjB;AAjBF;;AAmBA,8BAA0B;AACxB,4BAAsB,2BADE,YACF,CAAtB;AApBF;AARoB;;;;WAwCtBK,4BAAuC;AAAA,UAAtBF,YAAsB,uEAAvCE,KAAuC;AACrC,UAAM1tD,OAAO,KAAb;AAAA,UACEwuC,OAAO,KADT;AAAA,UAEElE,WAAW,KAHwB,QACrC;AAGA,UAAMhgB,YAAYjnC,uBAJmB,SAInBA,CAAlB;AACA,UAAIhB,QAAQ2d,eAAeA,UALU,CAKVA,CAA3B;AACA,UAAI1d,SAAS0d,eAAeA,UANS,CAMTA,CAA5B;AAEAsqB,mDAA6CtqB,KARR,EAQrCsqB;;AAIA,UAAMnlC,OAAO,yBAAmB,CAC9B6a,UAD8B,CAC9BA,CAD8B,EAE9BwuC,eAAexuC,UAAfwuC,CAAexuC,CAAfwuC,GAA8BA,UAFA,CAEAA,CAFA,EAG9BxuC,UAH8B,CAG9BA,CAH8B,EAI9BwuC,eAAexuC,UAAfwuC,CAAexuC,CAAfwuC,GAA8BA,UAJA,CAIAA,CAJA,CAAnB,CAAb;;AAOAlkB,mDAAsCggB,wBAnBD,GAmBCA,CAAtChgB;AACAA,kDAAqC,CAACnlC,KAAJ,CAAIA,CAAtCmlC,gBAAmD,CAACnlC,KApBf,CAoBeA,CAApDmlC;;AAEA,UAAI,iBAAiBtqB,yBAArB,GAAiD;AAC/CsqB,gDAAiCtqB,iBADc,KAC/CsqB;;AACA,YAAItqB,2BAA2BjM,gCAA/B,WAAoE;AAIlE1R,kBAAQA,QAAQ,IAAI2d,iBAJ8C,KAIlE3d;AACAC,mBAASA,SAAS,IAAI0d,iBAL4C,KAKlE1d;AAP6C;;AAU/C,YAAMqrE,mBAAmB3tD,iBAVsB,sBAU/C;AACA,YAAM4tD,iBAAiB5tD,iBAXwB,oBAW/C;;AACA,YAAI2tD,wBAAwBC,iBAA5B,GAAgD;AAC9C,cAAMC,mBAAS,gBAATA,kBADwC,cACxCA,OAAN;AACAvjC,yCAF8C,MAE9CA;AAd6C;;AAiB/C,gBAAQtqB,iBAAR;AACE,eAAKjM,gCAAL;AACEu2B,0CADF,OACEA;AAFJ;;AAKE,eAAKv2B,gCAAL;AACEu2B,0CADF,QACEA;AANJ;;AASE,eAAKv2B,gCAAL;AACEvN,4BADF,qCACEA;AAVJ;;AAaE,eAAKuN,gCAAL;AACEvN,4BADF,mCACEA;AAdJ;;AAiBE,eAAKuN,gCAAL;AACEu2B,gDADF,OACEA;AAlBJ;;AAqBE;AArBF;AAAA;;AAyBA,YAAItqB,KAAJ,OAAgB;AACdsqB,wCAA8BjpB,wBAC5BrB,gBAD4BqB,GAE5BrB,gBAF4BqB,GAG5BrB,gBAJY,CACgBqB,CAA9BipB;AADF,eAMO;AAELA,wCAFK,CAELA;AAlD6C;AAtBZ;;AA4ErCA,uCAA0BnlC,KA5EW,CA4EXA,CAA1BmlC;AACAA,sCAAyBnlC,KA7EY,CA6EZA,CAAzBmlC;AACAA,wCA9EqC,KA8ErCA;AACAA,yCA/EqC,MA+ErCA;AACA,aAhFqC,SAgFrC;AAxHoB;;;WAmItBwjC,iCAA4C;AAAA,UAAtBN,YAAsB,uEAA5CM,KAA4C;;AAC1C,UAAI,CAAC,UAAL,YAA2B;AACzB,eADyB,IACzB;AAFwC;;AAK1C,UAAMC,iBALoC,EAK1C;AACA,UAAMC,YAAY,UANwB,IAM1C;;AAN0C,iDAOlB,UAAxB,UAP0C;AAAA;;AAAA;AAO1C,4DAA8C;AAAA,cAA9C,SAA8C;AAC5C,2BAAiB,CACfC,aADe,GAEfA,aAFe,GAGfA,aAHe,GAIfA,aAJe,EAAjB;AAMAF,8BAAoB,sBAPwB,YAOxB,CAApBA;AAdwC;AAAA;AAAA;AAAA;AAAA;AAAA;;AAgB1C,uBAhB0C,SAgB1C;AACA,aAjB0C,cAiB1C;AApJoB;;;WAiKtBG,qCAA4B;AAC1B,UAAI5jC,YAAY,KADU,SAC1B;;AACA,UAAI,KAAJ,gBAAyB;AACvB6jC,kBAAUA,WAAW,KADE,cACvBA;AACA7jC,oBAAY,oBAFW,CAEX,CAAZA;AAJwB;;AAQ1B,UAAI,CAAJ,SAAc;AACZ6jC,kBAAU9qE,uBADE,KACFA,CAAV8qE;AACAA,+BAAuB7jC,gBAFX,MAEZ6jC;AACAA,8BAAsB7jC,gBAHV,KAGZ6jC;AACA7jC,8BAJY,OAIZA;AAZwB;;AAe1B,UAAM8jC,eAAe,iBAAiB;AACpC9jC,iBADoC,EACpCA,SADoC;AAEpC6jC,eAFoC,EAEpCA,OAFoC;AAGpCvN,eAAO5gD,KAH6B;AAIpCquD,eAAOruD,KAJ6B;AAKpCsuD,0BAAkBtuD,KALkB;AAMpCuuD,kBAAUvuD,KAN0B;AAOpCwuD,qBAPoC;AAAA,OAAjB,CAArB;AASA,UAAMC,QAAQL,aAxBY,MAwBZA,EAAd;AAGAK,yBAAmBnkC,gBA3BO,KA2B1BmkC;AAEAnkC,4BA7B0B,KA6B1BA;AA9LoB;;;WAyMtBokC,0CAAiC;AAAA,kDAQH,KAA5B,cAR+B;AAAA;;AAAA;AAQ/B,+DAAiD;AAAA,cAAjD,aAAiD;AAC/CC,oCAD+C,SAC/CA;AAT6B;AAAA;AAAA;AAAA;AAAA;AAAA;;AAW/B,aAAO,KAXwB,cAW/B;AApNoB;;;WA8NtBvlB,kBAAS;AACPnnD,6BADO,mDACPA;AA/NoB;;;;;;IAmOxB,qB;;;;;AACED,6CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,uBACAF,gBADA,QAEAA,gBAFA,UAGAA,gBAHA,iBAICA,4BACE,kCACCA,wBADD,UACCA,CADD,IAECA,wBATgB,YAShBA,CAHHA,CALmB,CAAtB;AADsB,6BAWtB,UAXsB,EAWJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBE,4BAAhB;AAAA,KAXI;AAD4B;;;;WAepDrkB,kBAAS;AACP,UAAM,IAAN,GADO,IACP,CAAM,IAAN;AAAA,UAAM,WAAN,GADO,IACP,CAAM,WAAN;AACA,UAAMrjD,OAAO1C,uBAFN,GAEMA,CAAb;;AAEA,UAAI2c,KAAJ,KAAc;AACZ4uD,oDAAwB;AACtB9rE,eAAKkd,KADiB;AAEtBiF,kBAAQjF,iBACJ1a,0BADI0a,QAEJ6uD,YAJkB;AAKtBC,eAAKD,YALiB;AAMtBjpE,mBAASipE,YANa;AAAA,SAAxBD;AADF,aASO,IAAI5uD,KAAJ,QAAiB;AACtB,oCAA4BA,KADN,MACtB;AADK,aAEA,IAAIA,KAAJ,MAAe;AACpB,6BAAqBA,KADD,IACpB;AADK,aAEA,IACLA,iBACC,uBACCA,aADD,UACCA,CADD,IAECA,aAHFA,YAGEA,CAHFA,KAIA,KAJAA,mBAKA,KANK,cAOL;AACA,iCADA,IACA;AARK,aASA;AACL,6BADK,EACL;AA3BK;;AA8BP,UAAI,KAAJ,gBAAyB;AACvB,eAAO,iDACL,gCAA0B;AACxB,cAAM+uD,cAAcxiD,qBAAqBxmB,KADjB,SACiBA,EAAzC;AACA4oE,oCAFwB,WAExBA;AACA,iBAHwB,aAGxB;AALmB,SAChB,CAAP;AA/BK;;AAwCP,iCAxCO,gBAwCP;AACA,iCAzCO,IAyCP;AACA,aAAO,KA1CA,SA0CP;AAzDkD;;;WAoEpDK,sCAA6B;AAAA;;AAC3BjpE,kBAAY,oCADe,WACf,CAAZA;;AACAA,qBAAe,YAAM;AACnB,yBAAiB;AACf,4CADe,WACf;AAFiB;;AAInB,eAJmB,KAInB;AANyB,OAE3BA;;AAMA,UAAI05C,eAAeA,gBAAnB,IAA6D;AAC3D15C,yBAD2D,cAC3DA;AATyB;AApEuB;;;WAyFpDkpE,wCAA+B;AAAA;;AAC7BlpE,kBAAY,8BADiB,EACjB,CAAZA;;AACAA,qBAAe,YAAM;AACnB,8CADmB,MACnB;;AACA,eAFmB,KAEnB;AAJ2B,OAE7BA;;AAIAA,uBAN6B,cAM7BA;AA/FkD;;;WA0GpDmpE,mCAA0B;AAAA;;AACxBnpE,kBAAY,8BADY,EACZ,CAAZA;AACA,UAAM60C,MAAM,QAAQ,CAClB,qBADkB,EAElB,yBAFkB,EAGlB,6BAHkB,CAAR,CAAZ;;AAFwB;AAOxB,YAAW5zC,IAAX;AACE,YAAMmoE,SAASv0B,QAD6B,IAC7BA,CAAf;;AACA,YAAI,CAAJ,QAAa;AAAA;AAF+B;;AAK5C70C,uBAAe,YAAM;AAAA;;AACnB,iLAA8D;AAC5Dgf,oBAD4D;AAE5DqqD,oBAAQ;AACNxkD,kBAAI5K,KADE;AAENhZ,kBAFM,EAENA;AAFM;AAFoD,WAA9D;AAOA,iBARmB,KAQnB;AAb0C,SAK5CjB;AAZsB;;AAOxB,sCAAmBe,YAAYkZ,KAA/B,OAAmBlZ,CAAnB,kCAA8C;AAAA;;AAAA,iCAE/B;AATS;;AAuBxBf,uBAvBwB,cAuBxBA;AAjIkD;;;;EAAtD,iB;;IAqIA,qB;;;;;AACE/D,6CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,8BAMtB,UANsB,EAMJ;AAAEE,kBANE,EAMFA;AAAF,KANI;AAD4B;;;;WAUpDnkB,kBAAS;AACP,iCADO,gBACP;AAEA,UAAMqZ,QAAQp/D,uBAHP,KAGOA,CAAd;AACAo/D,2BAAqB,qBAJd,MAIPA;AACAA,0BAAoB,qBALb,KAKPA;AACAA,kBACE,0CAEA,eAFA,WAEA,EAFA,GAPK,MAMPA;AAKAA,kBAXO,uBAWPA;AACAA,6BAZO,sBAYPA;AACAA,+BAAyB4M,eAAe;AAAEvlE,cAAM,UAbzC;AAaiC,OAAfulE,CAAzB5M;;AAEA,UAAI,CAAC,UAAL,UAAyB;AACvB,iCAAyB,KADF,IACvB;AAhBK;;AAmBP,iCAnBO,KAmBP;AACA,aAAO,KApBA,SAoBP;AA9BkD;;;;EAAtD,iB;;IAkCA,uB;;;;;;;;;;;;;WACErZ,kBAAS;AAEP,UAAI,UAAJ,iBAA+B;AAC7B,+BAAuB,UADM,eAC7B;AAHK;;AAMP,aAAO,KANA,SAMP;AAPoD;;;WAUtDkmB,gCAAuB;AACrB,aACGjd,sCAAsCj5B,MAAvC,OAACi5B,IACAA,sCAAsCj5B,MAHpB,OACrB;AAXoD;;;WAiBtDm2C,sEAA6D;AAAA;;AAC3D,UAAIC,kBAAJ,OAAIA,CAAJ,EAAgC;AAE9B7rC,2CAAmCvK,iBAAS;AAAA;;AAC1C,iLAA8D;AAC5DrU,oBAD4D;AAE5DqqD,oBAAQ;AACNxkD,kBAAI,YADE;AAEN5jB,oBAFM;AAGNkC,qBAAOumE,YAHD,KAGCA,CAHD;AAIN3rC,qBAAO1K,MAJD;AAKNs2C,wBAAU,uBALJ,KAKI;AALJ;AAFoD,WAA9D;AAH4B,SAE9B/rC;AAFF,aAcO;AAELA,2CAAmCvK,iBAAS;AAAA;;AAC1C,oLAA8D;AAC5DrU,oBAD4D;AAE5DqqD,oBAAQ;AACNxkD,kBAAI,YADE;AAEN5jB,oBAFM;AAGNkC,qBAAOkwB,aAHD;AAAA;AAFoD,WAA9D;AAHG,SAELuK;AAjByD;AAjBP;;;WA+CtDgsC,oDAA2C;AAAA,kDACzC,KADyC;AAAA;;AAAA;AACzC,+DAA2C;AAAA;;AAAA;AAAA,cAAhC,QAAgC;AAAA,cAA3C,SAA2C;;AACzC,cAAIC,gDAA0B,iBAA1BA,+CAA0B,mBAA9B,SAA8B,CAA9B,EAA8D;AAC5D,iEAD4D,MAC5D;AAFuC;AADF;AAAA;AAAA;AAAA;AAAA;AAAA;AA/CW;;;WAuDtDC,qDAA4C;AAAA;;AAC1C,UAAMC,WAAW,SAAXA,QAAW,2BAA8B;AAC7C,YAAMlP,QAAQxnC,aAD+B,MAC/BA,CAAd;AACAA,wCAAgC22C,2CAAmBnP,MAAnBmP,CAAmBnP,CAAnBmP,YAC9BnP,YAH2C,CAG3CA,CAD8BmP,CAAhC32C;AAHwC,OAC1C;;AAOA,UAAM42C,gBAAgB;AACpB3/C,iBAAS+I,wBAAS;AAChB,cAAM62C,SAAS72C,6BADC,CAChB;AACAA,0CAAgC62C,oBAFhB,SAEhB72C;;AACA,4CAAgC,YAAhC,IAA8C;AAC5C62C,kBAD4C,EAC5CA,MAD4C;AAE5CC,mBAAO92C,8BAA8BA,yBAFO;AAAA,WAA9C;AAJkB;AASpB82C,eAAO92C,sBAAS;AACd,4CAAgC,YAAhC,IAA8C;AAC5C82C,mBAAO92C,aAFK;AACgC,WAA9C;AAVkB;AAcpB62C,gBAAQ72C,uBAAS;AACfA,0CAAgCA,iCADjB,SACfA;;AAGA,4CAAgC,YAAhC,IAA8C;AAC5C62C,oBAAQ72C,aALK;AAI+B,WAA9C;AAlBkB;AAsBpB+2C,eAAO/2C,sBAAS;AACdwD,qBAAW;AAAA,mBAAMxD,mBAAmB;AAAEg3C,6BAAtCxzC;AAAoC,aAAnBxD,CAAN;AAAA,WAAXwD,EADc,CACdA;AAvBkB;AAyBpByzC,kBAAUj3C,yBAAS;AAEjBA,+BAAqBA,aAFJ,QAEjBA;AA3BkB;AA6BpBk3C,kBAAUl3C,yBAAS;AACjB,cAAIA,aAAJ,UAA2B;AACzBA,kDADyB,EACzBA;AADF,iBAEO;AACLA,yCADK,UACLA;AAJe;AA7BC;AAoCpBm3C,kBAAUn3C,yBAAS;AACjB,cAAIA,aAAJ,UAA2B;AACzBA,kDADyB,EACzBA;AADF,iBAEO;AACLA,yCADK,UACLA;AAJe;AApCC;AA2CpBo3C,iBAASp3C,wBAAS;AAChB02C,iDADgB,KAChBA;AA5CkB;AA8CpB1S,mBAAWhkC,0BAAS;AAClB02C,mDADkB,KAClBA;AA/CkB;AAiDpBW,iBAASr3C,wBAAS;AAChB02C,uCADgB,KAChBA;AAlDkB;AAoDpBY,mBAAWt3C,0BAAS;AAClB02C,yCADkB,KAClBA;AArDkB;AAuDpBa,qBAAav3C,4BAAS;AACpB02C,iDADoB,KACpBA;AAxDkB;AA0DpB5S,qBAAa9jC,4BAAS;AACpB02C,iDADoB,KACpBA;AA3DkB;AAAA,OAAtB;;AA+DA,wCAAmBhpE,YAAY8pE,QAA/B,MAAmB9pE,CAAnB,qCAAgD;AAAhD,YAAWE,IAAX;AACE,YAAM6zC,SAASH,iBAAiBs1B,cADc,IACdA,CAAhC;;AACA,oBAAY;AACVn1B,iBADU,OACVA;AAH4C;AAvEN;AAvDU;;;;EAAxD,iB;;IAuIA,2B;;;;;AACE74C,mDAAwB;AAAA;;AACtB,QAAMurE,eACJF,qCACC,CAACA,gBAAD,iBAAkC,CAAC,CAACA,gBAHjB,UACtB;AADsB,8BAItB,UAJsB,EAIJ;AAAEE,kBAJE,EAIFA;AAAF,KAJI;AADwC;;;;WAQhEsD,+DAAsD;AACpD,UAAMC,UAAU,KADoC,iBACpD;;AADoD,kDAE9BztE,2BAA2Byb,KAAjD,IAAsBzb,CAF8B;AAAA;;AAAA;AAEpD,+DAA6D;AAAA,cAA7D,OAA6D;;AAC3D,cAAIsgC,YAAJ,MAAsB;AACpBA,2BADoB,KACpBA;AACA,gBAAM3jB,OAAOlZ,cAFO,IAEPA,CAAb;AACAkZ,iCAHoB,KAGpBA;AACA8wD,6BAAiBntC,qBAAjBmtC,IAAiBntC,CAAjBmtC,EAJoB,IAIpBA;AALyD;AAFT;AAAA;AAAA;AAAA;AAAA;AAAA;AARU;;;WAoBhE1nB,kBAAS;AAAA;;AACP,UAAM0nB,UAAU,KADT,iBACP;AACA,UAAMlmD,KAAK,UAFJ,EAEP;AAEA,iCAJO,sBAIP;AAEA,UAAI+Y,UANG,IAMP;;AACA,UAAI,KAAJ,wBAAiC;AAI/B,YAAMotC,aAAa,qBAAqB;AACtC7nE,iBAAO,UAD+B;AAEtC8nE,yBAAe,UAFuB;AAAA,SAArB,CAAnB;AAIA,YAAM1lB,cAAcylB,4BAA4BA,WAA5BA,SARW,EAQ/B;AACA,YAAME,cAAc;AAClBC,qBADkB;AAElBC,0BAFkB;AAGlBC,qCAHkB;AAIlBC,4BAJkB;AAAA,SAApB;;AAOA,YAAI,UAAJ,WAAyB;AACvB1tC,oBAAUtgC,uBADa,UACbA,CAAVsgC;AACAA,gCAFuB,WAEvBA;AAFF,eAGO;AACLA,oBAAUtgC,uBADL,OACKA,CAAVsgC;AACAA,yBAFK,MAELA;AACAA,wCAHK,WAGLA;AAtB6B;;AAyB/BstC,gCAzB+B,WAyB/BA;AACAttC,mCA1B+B,EA0B/BA;AAEAA,0CAAkCvK,iBAAS;AACzC03C,+BAAqB;AAAE5nE,mBAAOkwB,aADW;AACpB,WAArB03C;;AACA,yDAGE13C,aAHF,OAFyC,OAEzC;AA9B6B,SA4B/BuK;;AAUA,YAAI2tC,eAAel4C,6BAAS;AAC1B,cAAI63C,YAAJ,gBAAgC;AAC9B73C,iCAAqB63C,YADS,cAC9B73C;AAFwB;;AAK1BA,oCAL0B,CAK1BA;AACA63C,kDAN0B,IAM1BA;AA5C6B,SAsC/B;;AASA,YAAI,wBAAwB,KAA5B,cAA+C;AAAA;;AAC7CttC,4CAAkCvK,iBAAS;AACzC,gBAAI63C,YAAJ,WAA2B;AACzB73C,mCAAqB63C,YADI,SACzB73C;AAFuC;AADE,WAC7CuK;AAMAA,wDAA8CitC,mBAAW;AACvD,gBAAMl2B,UAAU;AACdxxC,mBADc,iBACdA,KADc,EACD;AACX+nE,wCAAwB73C,sBADb,EACX63C;AACAH,qCAAqB;AAAE5nE,yBAAO+nE,sBAFnB,QAEmBA;AAAT,iBAArBH;;AACA,oBAAI,CAACG,YAAL,gBAAiC;AAC/B73C,uCAAqB63C,YADU,SAC/B73C;AAJS;AADC;AAQd43C,2BARc,yBAQdA,KARc,EAQO;AACnBC,6CAA6B73C,8BADV,EACnB63C;;AACA,oBAAI73C,iBAAiB/1B,SAArB,eAA6C;AAE3C+1B,uCAAqB63C,YAFsB,cAE3C73C;AAJiB;;AAMnB03C,qCAAqB;AACnBK,kCAAgBF,YAPC;AAME,iBAArBH;AAdY;AAkBdS,sBAlBc,oBAkBdA,KAlBc,EAkBE;AACd,2DAA2Bn4C,aADb,QACd;AAAA,oBAAM,QAAN;AAAA,oBAAM,MAAN;;AACA,oBAAIo4C,iBAAiBC,SAASr4C,mBAA9B,QAAyD;AACvDA,2DADuD,MACvDA;AAHY;AAlBF;AAAA,aAAhB;;AAyBA,sDA1BuD,OA0BvD;AAjC2C,WAO7CuK;AA+BAA,8CAAoCvK,iBAAS;AAAA;;AAC3C63C,2CAA+B73C,aADY,KAC3C63C;AAGA,gBAAIS,YAAY,CAJ2B,CAI3C;;AACA,gBAAIt4C,cAAJ,UAA4B;AAC1Bs4C,0BAD0B,CAC1BA;AADF,mBAEO,IAAIt4C,cAAJ,SAA2B;AAChCs4C,0BADgC,CAChCA;AADK,mBAEA,IAAIt4C,cAAJ,OAAyB;AAC9Bs4C,0BAD8B,CAC9BA;AAVyC;;AAY3C,gBAAIA,cAAc,CAAlB,GAAsB;AAAA;AAZqB;;AAgB3CT,oCAAwB73C,aAhBmB,KAgB3C63C;AACA,mLAA8D;AAC5DlsD,sBAD4D;AAE5DqqD,sBAAQ;AACNxkD,kBADM,EACNA,EADM;AAEN5jB,sBAFM;AAGNkC,uBAAOkwB,aAHD;AAINu4C,4BAJM;AAKND,yBALM,EAKNA,SALM;AAMNF,0BAAUp4C,aANJ;AAONq4C,wBAAQr4C,aAPF;AAAA;AAFoD,aAA9D;AAvD2C,WAsC7CuK;AA8BA,cAAMiuC,gBApEuC,YAoE7C;AACAN,yBArE6C,IAqE7CA;AACA3tC,2CAAiCvK,iBAAS;AACxC,gBAAI,mBAAJ,QAA6B;AAAA;;AAE3B63C,sCAAwB73C,aAFG,KAE3B63C;AACA,wLAA8D;AAC5DlsD,wBAD4D;AAE5DqqD,wBAAQ;AACNxkD,oBADM,EACNA,EADM;AAEN5jB,wBAFM;AAGNkC,yBAAOkwB,aAHD;AAINu4C,8BAJM;AAKND,6BALM;AAMNF,4BAAUp4C,aANJ;AAONq4C,0BAAQr4C,aAPF;AAAA;AAFoD,eAA9D;AAJsC;;AAiBxCw4C,0BAjBwC,KAiBxCA;AAvF2C,WAsE7CjuC;AAmBAA,gDAAsCvK,iBAAS;AAC7C63C,2CAA+B73C,aADc,KAC7C63C;AACAA,oDAF6C,IAE7CA;AA3F2C,WAyF7CttC;AAIAA,4CAAkCvK,iBAAS;AAEzC,gBAAIA,gCAAgCA,aAApC,cAA+D;AAC7D63C,sDAD6D,IAC7DA;AAHuC;AA7FE,WA6F7CttC;AAMAA,6CAAmCvK,iBAAS;AAC1C63C,oDAAwC,CACtC73C,aADsC,gBAEtCA,aAFsC,aAAxC63C;AApG2C,WAmG7CttC;;AAOA,qCAAI,iBAAJ,gDAAI,oBAAJ,WAAkC;AAGhCA,8CAAkCvK,iBAAS;AAAA;;AACzC,kBAAIo4C,WAAW,CAD0B,CACzC;AACA,kBAAIC,SAAS,CAF4B,CAEzC;;AACA,kBAAIR,YAAJ,2BAA2C;AAAA,2DACpBA,YADoB;;AACzC,wBADyC;AACzC,sBADyC;AAHF;;AAMzC,wLAA8D;AAC5DlsD,wBAD4D;AAE5DqqD,wBAAQ;AACNxkD,oBADM,EACNA,EADM;AAEN5jB,wBAFM;AAGNkC,yBAAO+nE,YAHD;AAINY,0BAAQz4C,MAJF;AAKNu4C,8BALM;AAMNH,0BANM,EAMNA,QANM;AAONC,wBAPM,EAONA;AAPM;AAFoD,eAA9D;AAT8B,aAGhC9tC;AA7G2C;;AAkI7C,2CAEE,CACE,kBADF,EAEE,gBAFF,EAGE,2BAHF,EAIE,6BAJF,EAKE,4BALF,EAME,uBANF,CAFF,EAUEvK;AAAAA,mBAASA,aA5IkC,KA4I3CA;AAAAA,WAVF;AAjL6B;;AA+L/B,0BAAkB;AAChBuK,2CADgB,YAChBA;AAhM6B;;AAmM/BA,2BAAmB,UAnMY,QAmM/BA;AACAA,uBAAe,UApMgB,SAoM/BA;;AAEA,YAAI,qBAAJ,MAA+B;AAC7BA,8BAAoB,UADS,MAC7BA;AAvM6B;;AA0M/B,YAAI,UAAJ,MAAoB;AAClB,cAAMmuC,aAAa,oBAAoB,eADrB,CACqB,CAAvC;AACA,cAAMC,YAAYD,aAAa,UAFb,MAElB;AAEAnuC,gCAJkB,MAIlBA;AACAA,uDALkB,SAKlBA;AA/M6B;AAAjC,aAiNO;AACLA,kBAAUtgC,uBADL,KACKA,CAAVsgC;AACAA,8BAAsB,UAFjB,UAELA;AACAA,sCAHK,QAGLA;AACAA,gCAJK,YAILA;AA5NK;;AA+NP,yBA/NO,OA+NP;;AAEA,iCAjOO,OAiOP;AACA,aAAO,KAlOA,SAkOP;AAtP8D;;;WAgQhEquC,gCAAuB;AACrB,UAAMC,iBAAiB,2BAAvB;AACA,kCAAgC,UAFX,qBAErB;AAAA,UAAM,QAAN,yBAAM,QAAN;AAAA,UAAM,SAAN,yBAAM,SAAN;AACA,UAAM7hD,QAAQuT,QAHO,KAGrB;;AAKA,oBAAc;AACZvT,mCADY,QACZA;AATmB;;AAYrBA,oBAAc/O,wBAAkB6wD,UAAlB7wD,CAAkB6wD,CAAlB7wD,EAAgC6wD,UAAhC7wD,CAAgC6wD,CAAhC7wD,EAA8C6wD,UAZvC,CAYuCA,CAA9C7wD,CAAd+O;;AAEA,UAAI,4BAAJ,MAAsC;AACpCA,0BAAkB6hD,eAAe,UADG,aAClBA,CAAlB7hD;AAfmB;AAhQyC;;;;EAAlE,uB;;IAoRA,+B;;;;;AACEpuB,uDAAwB;AAAA;;AAAA,8BACtB,UADsB,EACJ;AAAEurE,oBAAcF,WADZ;AACJ,KADI;AAD4C;;;;WAKpEjkB,kBAAS;AAAA;;AACP,UAAM0nB,UAAU,KADT,iBACP;AACA,UAAM9wD,OAAO,KAFN,IAEP;AACA,UAAM4K,KAAK5K,KAHJ,EAGP;AACA,UAAI9W,QAAQ4nE,qBAAqB;AAC/B5nE,eACE8W,oBACEA,oBAAoBA,qBAAqBA,KAA1C,UAACA,IACC,CAACA,KAAD,eAAqBA,oBAJhB8wD,KAER9wD;AAF6B,OAArB8wD,EAJL,KAIP;;AAMA,UAAI,iBAAJ,UAA+B;AAE7B5nE,gBAAQA,UAFqB,KAE7BA;AACA4nE,6BAAqB;AAAE5nE,eAHM,EAGNA;AAAF,SAArB4nE;AAbK;;AAgBP,iCAhBO,iCAgBP;AAEA,UAAMntC,UAAUtgC,uBAlBT,OAkBSA,CAAhB;AACAsgC,yBAAmB3jB,KAnBZ,QAmBP2jB;AACAA,qBApBO,UAoBPA;AACAA,qBAAe,UArBR,SAqBPA;;AACA,iBAAW;AACTA,wCADS,IACTA;AAvBK;;AAyBPA,iCAzBO,EAyBPA;AAEAA,yCAAmC,iBAAiB;AAClD,YAAM38B,OAAOoyB,aADqC,IAClD;;AADkD,oDAE3B/1B,2BAAvB,IAAuBA,CAF2B;AAAA;;AAAA;AAElD,iEAAyD;AAAA,gBAAzD,QAAyD;;AACvD,gBAAI8uE,aAAa/4C,MAAjB,QAA+B;AAC7B+4C,iCAD6B,KAC7BA;AACArB,+BACEqB,iCADFrB,oBACEqB,CADFrB,EAEE;AAAE5nE,uBAJyB;AAI3B,eAFF4nE;AAHqD;AAFP;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWlDA,6BAAqB;AAAE5nE,iBAAOkwB,aAXoB;AAW7B,SAArB03C;AAtCK,OA2BPntC;;AAcA,UAAI,wBAAwB,KAA5B,cAA+C;AAC7CA,sDAA8CitC,mBAAW;AACvD,cAAMl2B,UAAU;AACdxxC,iBADc,iBACdA,KADc,EACD;AACXkwB,qCAAuBA,uBADZ,KACXA;AACA03C,mCAAqB;AAAE5nE,uBAAOkwB,aAFnB;AAEU,eAArB03C;AAHY;AAAA,WAAhB;;AAMA,oDAPuD,OAOvD;AAR2C,SAC7CntC;;AAUA,yCAEE,CACE,sBADF,EAEE,oBAFF,EAGE,kBAHF,EAIE,gBAJF,EAKE,2BALF,EAME,6BANF,EAOE,4BAPF,EAQE,uBARF,CAFF,EAYEvK;AAAAA,iBAASA,aAvBkC,OAuB3CA;AAAAA,SAZF;AApDK;;AAoEP,iCApEO,OAoEP;AACA,aAAO,KArEA,SAqEP;AA1EkE;;;;EAAtE,uB;;IA8EA,kC;;;;;AACEp3B,0DAAwB;AAAA;;AAAA,8BACtB,UADsB,EACJ;AAAEurE,oBAAcF,WADZ;AACJ,KADI;AAD+C;;;;WAKvEjkB,kBAAS;AAAA;;AACP,iCADO,oCACP;AACA,UAAM0nB,UAAU,KAFT,iBAEP;AACA,UAAM9wD,OAAO,KAHN,IAGP;AACA,UAAM4K,KAAK5K,KAJJ,EAIP;AACA,UAAI9W,QAAQ4nE,qBAAqB;AAC/B5nE,eAAO8W,oBAAoBA,KADjB8wD;AAAqB,OAArBA,EALL,KAKP;;AAGA,UAAI,iBAAJ,UAA+B;AAE7B5nE,gBAAQA,UAAU8W,KAFW,WAE7B9W;AACA4nE,6BAAqB;AAAE5nE,eAHM,EAGNA;AAAF,SAArB4nE;AAXK;;AAcP,UAAMntC,UAAUtgC,uBAdT,OAcSA,CAAhB;AACAsgC,yBAAmB3jB,KAfZ,QAeP2jB;AACAA,qBAhBO,OAgBPA;AACAA,qBAAe3jB,KAjBR,SAiBP2jB;;AACA,iBAAW;AACTA,wCADS,IACTA;AAnBK;;AAqBPA,iCArBO,EAqBPA;AAEAA,yCAAmC,iBAAiB;AAClD,YAAM,MAAN,GADkD,KAClD,CAAM,MAAN;;AADkD,oDAE9BtgC,2BAA2B4hB,OAA/C,IAAoB5hB,CAF8B;AAAA;;AAAA;AAElD,iEAA6D;AAAA,gBAA7D,KAA6D;;AAC3D,gBAAI+uE,UAAJ,QAAsB;AACpBtB,+BAAiBsB,mBAAjBtB,IAAiBsB,CAAjBtB,EAA2C;AAAE5nE,uBADzB;AACuB,eAA3C4nE;AAFyD;AAFX;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOlDA,6BAAqB;AAAE5nE,iBAAO+b,OAPoB;AAO7B,SAArB6rD;AA9BK,OAuBPntC;;AAUA,UAAI,wBAAwB,KAA5B,cAA+C;AAC7C,YAAM0uC,iBAAiBryD,KADsB,WAC7C;AACA2jB,sDAA8CitC,mBAAW;AACvD,cAAMl2B,UAAU;AACdxxC,iBADc,iBACdA,KADc,EACD;AACX,kBAAMopE,UAAUD,mBAAmBj5C,aADxB,KACX;;AADW,0DAES/1B,2BAA2B+1B,aAA/C,IAAoB/1B,CAFT;AAAA;;AAAA;AAEX,uEAAmE;AAAA,sBAAnE,KAAmE;AACjE,sBAAMkvE,UAAUH,mBADiD,IACjDA,CAAhB;AACAA,kCAAgBG,kBAFiD,OAEjEH;AACAtB,4CAA0B;AAAE5nE,2BAAOkpE,MAH8B;AAGvC,mBAA1BtB;AALS;AAAA;AAAA;AAAA;AAAA;AAAA;AADC;AAAA,WAAhB;;AAUA,oDAXuD,OAWvD;AAb2C,SAE7CntC;;AAcA,yCAEE,CACE,sBADF,EAEE,oBAFF,EAGE,kBAHF,EAIE,gBAJF,EAKE,2BALF,EAME,6BANF,EAOE,4BAPF,EAQE,uBARF,CAFF,EAYEvK;AAAAA,iBAASA,aA5BkC,OA4B3CA;AAAAA,SAZF;AAjDK;;AAiEP,iCAjEO,OAiEP;AACA,aAAO,KAlEA,SAkEP;AAvEqE;;;;EAAzE,uB;;IA2EA,iC;;;;;;;;;;;;;WACEgwB,kBAAS;AAIP,UAAM9e,SAJC,gGAIP;;AACAA,4BALO,mCAKPA;;AAEA,UAAI,UAAJ,iBAA+B;AAC7BA,0BAAkB,UADW,eAC7BA;AARK;;AAWP,aAXO,SAWP;AAZkE;;;;EAAtE,qB;;IAgBA,6B;;;;;AACEtoC,qDAAwB;AAAA;;AAAA,8BACtB,UADsB,EACJ;AAAEurE,oBAAcF,WADZ;AACJ,KADI;AAD0C;;;;WAKlEjkB,kBAAS;AAAA;;AACP,iCADO,wBACP;AACA,UAAM0nB,UAAU,KAFT,iBAEP;AACA,UAAMlmD,KAAK,UAHJ,EAGP;AASAkmD,2BAAqB;AACnB5nE,eACE,kCAAkC,qBAAlC,CAAkC,CAAlC,GAdG;AAYc,OAArB4nE;AAKA,UAAM0B,gBAAgBnvE,uBAjBf,QAiBeA,CAAtB;AACAmvE,+BAAyB,UAlBlB,QAkBPA;AACAA,2BAAqB,UAnBd,SAmBPA;AACAA,uCApBO,EAoBPA;;AAEA,UAAI,CAAC,UAAL,OAAsB;AAEpBA,6BAAqB,kBAFD,MAEpBA;;AACA,YAAI,UAAJ,aAA2B;AACzBA,mCADyB,IACzBA;AAJkB;AAtBf;;AAAA,kDA+Bc,UAArB,OA/BO;AAAA;;AAAA;AA+BP,+DAAwC;AAAA,cAAxC,MAAwC;AACtC,cAAMC,gBAAgBpvE,uBADgB,QAChBA,CAAtB;AACAovE,sCAA4BC,OAFU,YAEtCD;AACAA,gCAAsBC,OAHgB,WAGtCD;;AACA,cAAI,8BAA8BC,OAAlC,WAAI,CAAJ,EAAuD;AACrDD,mDADqD,IACrDA;AALoC;;AAOtCD,oCAPsC,aAOtCA;AAtCK;AAAA;AAAA;AAAA;AAAA;AAAA;;AAyCP,UAAM/d,WAAW,SAAXA,QAAW,kBAAqB;AACpC,YAAMztD,OAAO2rE,qBADuB,aACpC;AACA,YAAM7tD,UAAUsU,aAFoB,OAEpC;;AACA,YAAI,CAACA,aAAL,UAA4B;AAC1B,iBAAOtU,0BAA0B,CAA1BA,WAEHA,QAAQA,QAARA,eAHsB,IAGtBA,CAFJ;AAJkC;;AAQpC,eAAOnE,qCACU+xD;AAAAA,iBAAUA,OADpB/xD,QACU+xD;AAAAA,SADV/xD,MAEA+xD;AAAAA,iBAAUA,OAVmB,IAUnBA,CAAVA;AAAAA,SAFA/xD,CAAP;AAjDK,OAyCP;;AAaA,UAAMiyD,WAAWx5C,SAAXw5C,QAAWx5C,QAAS;AACxB,YAAMtU,UAAUsU,aADQ,OACxB;AACA,eAAO,kCAAkCs5C,kBAAU;AACjD,iBAAO;AAAEG,0BAAcH,OAAhB;AAAoCI,yBAAaJ,OAAjD;AAAA,WAAP;AAHsB,SAEjB,CAAP;AAxDK,OAsDP;;AAOA,UAAI,wBAAwB,KAA5B,cAA+C;AAC7CF,4DAAoD5B,mBAAW;AAC7D,cAAMl2B,UAAU;AACdxxC,iBADc,iBACdA,KADc,EACD;AACX,kBAAM4b,UAAU0tD,cADL,OACX;AACA,kBAAMtpE,QAAQkwB,aAFH,KAEX;AACA,kBAAM3uB,SAAS,QAAQkW,+BAA+B,CAH3C,KAG2C,CAAvC,CAAf;AACAA,oDAAsC+xD,kBAAU;AAC9CA,kCAAkBjoE,WAAWioE,OADiB,KAC5BjoE,CAAlBioE;AALS,eAIX/xD;AAGAmwD,mCAAqB;AACnB5nE,uBAAOurD,gBARE,IAQFA;AADY,eAArBqc;AARY;AAYdiC,6BAZc,6BAYdA,KAZc,EAYW;AACvBP,uCADuB,IACvBA;AAbY;AAedQ,kBAfc,kBAedA,KAfc,EAeA;AACZ,kBAAMluD,UAAU0tD,cADJ,OACZ;AACA,kBAAMjmD,QAAQ6M,aAFF,MAEZ;AACAtU,wCAHY,KAGZA;AACA0tD,mCAJY,KAIZA;;AACA,kBAAI1tD,iBAAJ,GAAwB;AACtB,oBAAM5e,IAAIya,wCAER+xD;AAAAA,yBAAUA,OAHU,QAGpBA;AAAAA,iBAFQ/xD,CAAV;;AAIA,oBAAIza,MAAM,CAAV,GAAc;AACZ4e,wCADY,IACZA;AANoB;AALZ;;AAcZgsD,mCAAqB;AACnB5nE,uBAAOurD,gBADY,IACZA,CADY;AAEnB/I,uBAAOknB,SAFY,KAEZA;AAFY,eAArB9B;AA7BY;AAkCd11C,iBAlCc,iBAkCdA,KAlCc,EAkCD;AACX,qBAAOo3C,yBAAP,GAAmC;AACjCA,qCADiC,CACjCA;AAFS;;AAIX1B,mCAAqB;AAAE5nE,uBAAF;AAAewiD,uBAAf;AAAA,eAArBolB;AAtCY;AAwCdmC,kBAxCc,kBAwCdA,KAxCc,EAwCA;AACZ,yCAA6C75C,aADjC,MACZ;AAAA,kBAAM,KAAN,wBAAM,KAAN;AAAA,kBAAM,YAAN,wBAAM,YAAN;AAAA,kBAAM,WAAN,wBAAM,WAAN;AACA,kBAAMq5C,gBAAgBpvE,uBAFV,QAEUA,CAAtB;AACAovE,0CAHY,YAGZA;AACAA,oCAJY,WAIZA;AACAD,wDAEEA,uBAPU,KAOVA,CAFFA;AAIA1B,mCAAqB;AACnB5nE,uBAAOurD,gBADY,IACZA,CADY;AAEnB/I,uBAAOknB,SAFY,KAEZA;AAFY,eAArB9B;AAjDY;AAsDdplB,iBAtDc,iBAsDdA,KAtDc,EAsDD;AACX,kBAAM,KAAN,GAAkBtyB,MADP,MACX,CAAM,KAAN;;AACA,qBAAOo5C,yBAAP,GAAmC;AACjCA,qCADiC,CACjCA;AAHS;;AAAA,0DAKX,KALW;AAAA;;AAAA;AAKX,uEAA0B;AAAA,sBAA1B,IAA0B;AACxB,sBAAM,YAAN,GADwB,IACxB,CAAM,YAAN;AAAA,sBAAM,WAAN,GADwB,IACxB,CAAM,WAAN;AACA,sBAAMC,gBAAgBpvE,uBAFE,QAEFA,CAAtB;AACAovE,8CAHwB,YAGxBA;AACAA,wCAJwB,WAIxBA;AACAD,4CALwB,aAKxBA;AAVS;AAAA;AAAA;AAAA;AAAA;AAAA;;AAYX,kBAAIA,+BAAJ,GAAsC;AACpCA,oDADoC,IACpCA;AAbS;;AAeX1B,mCAAqB;AACnB5nE,uBAAOurD,gBADY,IACZA,CADY;AAEnB/I,uBAAOknB,SAFY,KAEZA;AAFY,eAArB9B;AArEY;AA0EdoC,mBA1Ec,mBA0EdA,KA1Ec,EA0EC;AACb,kBAAMA,UAAU,QAAQ95C,aADX,OACG,CAAhB;AACA,kBAAMtU,UAAUsU,aAFH,OAEb;AACAzY,oDAAsC,qBAAe;AACnD+xD,kCAAkBQ,YADiC,CACjCA,CAAlBR;AAJW,eAGb/xD;AAGAmwD,mCAAqB;AACnB5nE,uBAAOurD,gBAPI,IAOJA;AADY,eAArBqc;AAhFY;AAoFdqC,oBApFc,oBAoFdA,KApFc,EAoFE;AACd/5C,sCAAwB,CAACA,aADX,QACdA;AArFY;AAAA,WAAhB;;AAwFA,oDAzF6D,OAyF7D;AA1F2C,SAC7Co5C;AA4FAA,gDAAwCp5C,iBAAS;AAAA;;AAC/C,cAAM05C,cAAcre,gBAD2B,IAC3BA,CAApB;AACA,cAAMvrD,QAAQurD,gBAFiC,KAEjCA,CAAd;AACAqc,+BAAqB;AAAE5nE,mBAHwB;AAG1B,WAArB4nE;AAEA,iLAA8D;AAC5D/rD,oBAD4D;AAE5DqqD,oBAAQ;AACNxkD,gBADM,EACNA,EADM;AAEN5jB,oBAFM;AAGNkC,mBAHM,EAGNA,KAHM;AAINkqE,wBAJM;AAKNzB,0BALM;AAMND,yBANM;AAON2B,uBAPM;AAAA;AAFoD,WAA9D;AAlG2C,SA6F7Cb;;AAmBA,+CAEE,CACE,kBADF,EAEE,gBAFF,EAGE,2BAHF,EAIE,6BAJF,EAKE,4BALF,EAME,uBANF,EAOE,mBAPF,CAFF,EAWEp5C;AAAAA,iBAASA,aA3HkC,OA2H3CA;AAAAA,SAXF;AAhHF,aA6HO;AACLo5C,gDAAwC,iBAAiB;AACvD1B,+BAAqB;AAAE5nE,mBAAOurD,SADyB,KACzBA;AAAT,WAArBqc;AAFG,SACL0B;AA3LK;;AAgMP,iCAhMO,aAgMP;AACA,aAAO,KAjMA,SAiMP;AAtMgE;;;;EAApE,uB;;IA0MA,sB;;;;;AACExwE,8CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EAAE,yBAAyBF,gBAD3B,QACA,CAAtB;AADsB,8BAEtB,UAFsB,EAEJ;AAAEE,kBAFE,EAEFA;AAAF,KAFI;AAD6B;;;;WAMrDnkB,kBAAS;AAGP,UAAMkqB,eAAe,0DAArB;AASA,iCAZO,iBAYP;;AAEA,UAAIA,sBAAsB,UAA1B,UAAIA,CAAJ,EAAiD;AAC/C,eAAO,KADwC,SAC/C;AAfK;;AAkBP,UAAMC,2CAAmC,UAlBlC,QAkBDA,QAAN;AACA,UAAMC,iBAAiB,4BAnBhB,QAmBgB,CAAvB;;AACA,UAAIA,0BAAJ,GAAiC;AAC/B,eAAO,KADwB,SAC/B;AArBK;;AAwBP,UAAM/E,QAAQ,iBAAiB;AAC7BnkC,mBAAW,KADkB;AAE7B6jC,iBAASxtD,WAFoB,cAEpBA,CAFoB;AAG7BigD,eAAO,UAHsB;AAI7ByN,eAAO,UAJsB;AAK7BC,0BAAkB,UALW;AAM7BC,kBAAU,UANmB;AAAA,OAAjB,CAAd;AAWA,UAAM/f,OAAO,KAnCN,IAmCP;;AACA,UAAMrpD,OAAO,yBAAmB,CAC9B,qBAD8B,CAC9B,CAD8B,EAE9BqpD,eAAe,qBAAfA,CAAe,CAAfA,GAAyCA,UAFX,CAEWA,CAFX,EAG9B,qBAH8B,CAG9B,CAH8B,EAI9BA,eAAe,qBAAfA,CAAe,CAAfA,GAAyCA,UAJX,CAIWA,CAJX,CAAnB,CAAb;;AAMA,UAAMilB,YACJtuE,UAAU,qBAAVA,CAAU,CAAVA,GAAoC,qBA3C/B,CA2C+B,CADtC;AAEA,UAAMuuE,WAAWvuE,KA5CV,CA4CUA,CAAjB;AAEA,uDAA0C,CAAH,SAAvC,gBAA0D,CA9CnD,QA8CP;AACA,4CA/CO,SA+CP;AACA,2CAhDO,QAgDP;AAEA,iCAA2BspE,MAlDpB,MAkDoBA,EAA3B;AACA,aAAO,KAnDA,SAmDP;AAzDmD;;;;EAAvD,iB;;IA6DA,Y;AACEzsE,oCAAwB;AAAA;;AACtB,qBAAiBqrE,WADK,SACtB;AACA,mBAAeA,WAFO,OAEtB;AACA,iBAAaA,WAHS,KAGtB;AACA,iBAAaA,WAJS,KAItB;AACA,4BAAwBA,WALF,gBAKtB;AACA,oBAAgBA,WANM,QAMtB;AACA,uBAAmBA,0BAPG,KAOtB;AAEA,kBATsB,KAStB;AAVe;;;;WAajBjkB,kBAAS;AACP,UAAMuqB,qBADC,GACP;AAEA,UAAM95C,UAAUx2B,uBAHT,KAGSA,CAAhB;AACAw2B,0BAJO,cAIPA;AAMA,yBAAmB,6BAA6B,KAVzC,SAUP;AACA,gCAXO,IAWP;AAEA,UAAM40C,QAAQprE,uBAbP,KAaOA,CAAd;AACAorE,wBAdO,OAcPA;AAEA,UAAM7N,QAAQ,KAhBP,KAgBP;;AACA,iBAAW;AAET,YAAMr/C,IAAIoyD,sBAAsB,MAAM/S,MAA5B+S,CAA4B/S,CAA5B+S,IAAwC/S,MAFzC,CAEyCA,CAAlD;AACA,YAAMgT,IAAID,sBAAsB,MAAM/S,MAA5B+S,CAA4B/S,CAA5B+S,IAAwC/S,MAHzC,CAGyCA,CAAlD;AACA,YAAM/+C,IAAI8xD,sBAAsB,MAAM/S,MAA5B+S,CAA4B/S,CAA5B+S,IAAwC/S,MAJzC,CAIyCA,CAAlD;AACA6N,sCAA8BptD,wBAAkBE,IAAlBF,GAAyBuyD,IAAzBvyD,GAAgCQ,IALrD,CAKqBR,CAA9BotD;AAtBK;;AAyBP,UAAMJ,QAAQhrE,uBAzBP,IAyBOA,CAAd;AACAgrE,0BAAoB,KA1Bb,KA0BPA;AACAI,wBA3BO,KA2BPA;;AAKA,UAAMoF,aAAaC,0CAA2B,KAhCvC,gBAgCYA,CAAnB;;AACA,sBAAgB;AACd,YAAMxF,mBAAmBjrE,uBADX,MACWA,CAAzB;AACAirE,uCAFc,oBAEdA;AACAA,0CAHc,wBAGdA;AACAA,4CAAoC,eAAe;AACjDtrD,gBAAM6wD,WAD2C,kBAC3CA,EAD2C;AAEjD9sE,gBAAM8sE,WAF2C,kBAE3CA;AAF2C,SAAf,CAApCvF;AAIAG,0BARc,gBAQdA;AAzCK;;AA4CP,UAAMF,WAAW,qBAAqB,KA5C/B,QA4CU,CAAjB;;AACAE,wBA7CO,QA6CPA;;AAEA,UAAI,CAAC9tD,cAAc,KAAnB,OAAKA,CAAL,EAAkC;AAChC,uBAAe,CAAC,KADgB,OACjB,CAAf;AAhDK;;AAAA,mDAoDe,KAAtB,OApDO;AAAA;;AAAA;AAoDP,kEAAoC;AAAA,cAApC,OAAoC;AAClCgjB,4CAAkC,kBADA,IACA,CAAlCA;AACAA,gDAAsC,sBAFJ,KAEI,CAAtCA;AACAA,+CAAqC,sBAHH,KAGG,CAArCA;AAvDK;AAAA;AAAA;AAAA;AAAA;AAAA;;AAyDP8qC,sCAAgC,sBAzDzB,IAyDyB,CAAhCA;AAEA50C,0BA3DO,KA2DPA;AACA,aA5DO,OA4DP;AAzEe;;;WAoFjBk6C,mCAA0B;AACxB,UAAM/yD,IAAI3d,uBADc,GACdA,CAAV;AACA,UAAM2wE,QAAQzF,eAFU,cAEVA,CAAd;;AACA,WAAK,IAAIroE,IAAJ,GAAWD,KAAK+tE,MAArB,QAAmC9tE,IAAnC,IAA2C,EAA3C,GAAgD;AAC9C,YAAM+tE,OAAOD,MADiC,CACjCA,CAAb;AACAhzD,sBAAc3d,wBAFgC,IAEhCA,CAAd2d;;AACA,YAAI9a,IAAID,KAAR,GAAgB;AACd+a,wBAAc3d,uBADA,IACAA,CAAd2d;AAJ4C;AAHxB;;AAUxB,aAVwB,CAUxB;AA9Fe;;;WAuGjBkzD,mBAAU;AACR,UAAI,KAAJ,QAAiB;AACf,mBADe,IACf;AADF,aAEO;AACL,mBADK,IACL;AAJM;AAvGO;;;WAsHjBC,iBAAmB;AAAA,UAAbC,GAAa,uEAAnBD,KAAmB;;AACjB,eAAS;AACP,sBADO,IACP;AAFe;;AAIjB,UAAI,iBAAJ,QAA6B;AAC3B,kCAD2B,KAC3B;AACA,uCAF2B,CAE3B;AANe;AAtHF;;;WAuIjBE,iBAAoB;AAAA,UAAdC,KAAc,uEAApBD,IAAoB;;AAClB,iBAAW;AACT,sBADS,KACT;AAFgB;;AAIlB,UAAI,CAAC,iBAAD,UAA4B,CAAC,KAAjC,QAA8C;AAC5C,kCAD4C,IAC5C;AACA,uCAF4C,CAE5C;AANgB;AAvIH;;;;;;IAkJnB,yB;;;;;AACEryE,iDAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KANI;AADgC;;;;WAUxDpkB,kBAAS;AACP,iCADO,oBACP;;AAEA,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAJK;;AAMP,aAAO,KANA,SAMP;AAhBsD;;;;EAA1D,iB;;IAoBA,qB;;;;;AACEpnD,6CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KANI;AAD4B;;;;WAUpDpkB,kBAAS;AACP,iCADO,gBACP;AAKA,UAAMppC,OAAO,KANN,IAMP;AACA,UAAM3d,QAAQ2d,eAAeA,UAPtB,CAOsBA,CAA7B;AACA,UAAM1d,SAAS0d,eAAeA,UARvB,CAQuBA,CAA9B;AACA,UAAMlc,MAAM,8BATL,MASK,CAAZ;AAIA,UAAMmwE,OAAO,8BAbN,UAaM,CAAb;AACAA,8BAAwBj0D,eAAeA,qBAdhC,CAcgCA,CAAvCi0D;AACAA,8BAAwBj0D,eAAeA,qBAfhC,CAegCA,CAAvCi0D;AACAA,8BAAwBj0D,eAAeA,qBAhBhC,CAgBgCA,CAAvCi0D;AACAA,8BAAwBj0D,eAAeA,qBAjBhC,CAiBgCA,CAAvCi0D;AAGAA,wCAAkCj0D,0BApB3B,CAoBPi0D;AACAA,kCArBO,aAqBPA;AAEAnwE,sBAvBO,IAuBPA;AACA,4BAxBO,GAwBP;;AAIA,8BA5BO,IA4BP;;AAEA,aAAO,KA9BA,SA8BP;AAxCkD;;;;EAAtD,iB;;IA4CA,uB;;;;;AACE9B,+CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KANI;AAD8B;;;;WAUtDpkB,kBAAS;AACP,iCADO,kBACP;AAKA,UAAMppC,OAAO,KANN,IAMP;AACA,UAAM3d,QAAQ2d,eAAeA,UAPtB,CAOsBA,CAA7B;AACA,UAAM1d,SAAS0d,eAAeA,UARvB,CAQuBA,CAA9B;AACA,UAAMlc,MAAM,8BATL,MASK,CAAZ;AAKA,UAAMywE,cAAcv0D,iBAdb,KAcP;AACA,UAAMw0D,SAAS,8BAfR,UAeQ,CAAf;AACAA,+BAAyBD,cAhBlB,CAgBPC;AACAA,+BAAyBD,cAjBlB,CAiBPC;AACAA,mCAA6BnyE,QAlBtB,WAkBPmyE;AACAA,oCAA8BlyE,SAnBvB,WAmBPkyE;AAGAA,0CAAoCD,eAtB7B,CAsBPC;AACAA,oCAvBO,aAuBPA;AACAA,kCAxBO,MAwBPA;AAEA1wE,sBA1BO,MA0BPA;AACA,4BA3BO,GA2BP;;AAIA,gCA/BO,IA+BP;;AAEA,aAAO,KAjCA,SAiCP;AA3CoD;;;;EAAxD,iB;;IA+CA,uB;;;;;AACE9B,+CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KANI;AAD8B;;;;WAUtDpkB,kBAAS;AACP,iCADO,kBACP;AAKA,UAAMppC,OAAO,KANN,IAMP;AACA,UAAM3d,QAAQ2d,eAAeA,UAPtB,CAOsBA,CAA7B;AACA,UAAM1d,SAAS0d,eAAeA,UARvB,CAQuBA,CAA9B;AACA,UAAMlc,MAAM,8BATL,MASK,CAAZ;AAKA,UAAMywE,cAAcv0D,iBAdb,KAcP;AACA,UAAMy0D,SAAS,8BAfR,aAeQ,CAAf;AACAA,gCAA0BpyE,QAhBnB,CAgBPoyE;AACAA,gCAA0BnyE,SAjBnB,CAiBPmyE;AACAA,gCAA0BpyE,YAAYkyE,cAlB/B,CAkBPE;AACAA,gCAA0BnyE,aAAaiyE,cAnBhC,CAmBPE;AAGAA,0CAAoCF,eAtB7B,CAsBPE;AACAA,oCAvBO,aAuBPA;AACAA,kCAxBO,MAwBPA;AAEA3wE,sBA1BO,MA0BPA;AACA,4BA3BO,GA2BP;;AAIA,gCA/BO,IA+BP;;AAEA,aAAO,KAjCA,SAiCP;AA3CoD;;;;EAAxD,iB;;IA+CA,yB;;;;;AACE9B,iDAAwB;AAAA;;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AAKA,8CAAkB;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KAAlB;AAEA,iCARsB,oBAQtB;AACA,6BATsB,cAStB;AATsB;AADgC;;;;WAaxDpkB,kBAAS;AACP,iCAA2B,KADpB,kBACP;AAKA,UAAMppC,OAAO,KANN,IAMP;AACA,UAAM3d,QAAQ2d,eAAeA,UAPtB,CAOsBA,CAA7B;AACA,UAAM1d,SAAS0d,eAAeA,UARvB,CAQuBA,CAA9B;AACA,UAAMlc,MAAM,8BATL,MASK,CAAZ;AAMA,UAAIuyD,SAfG,EAeP;;AAfO,mDAgBkBr2C,KAAzB,QAhBO;AAAA;;AAAA;AAgBP,kEAAwC;AAAA,cAAxC,UAAwC;AACtC,cAAMia,IAAIy6C,eAAe10D,UADa,CACbA,CAAzB;AACA,cAAMg6C,IAAIh6C,eAAe00D,WAFa,CAEtC;AACAre,sBAAYp8B,UAH0B,CAGtCo8B;AAnBK;AAAA;AAAA;AAAA;AAAA;AAAA;;AAqBPA,eAASA,YArBF,GAqBEA,CAATA;AAEA,UAAMse,WAAW,8BAA8B,KAvBxC,cAuBU,CAAjB;AACAA,sCAxBO,MAwBPA;AAGAA,4CAAsC30D,0BA3B/B,CA2BP20D;AACAA,sCA5BO,aA4BPA;AACAA,oCA7BO,MA6BPA;AAEA7wE,sBA/BO,QA+BPA;AACA,4BAhCO,GAgCP;;AAIA,kCApCO,IAoCP;;AAEA,aAAO,KAtCA,SAsCP;AAnDsD;;;;EAA1D,iB;;IAuDA,wB;;;;;AACE9B,gDAAwB;AAAA;;AAAA;;AAEtB,kCAFsB,UAEtB;AAEA,iCAJsB,mBAItB;AACA,6BALsB,aAKtB;AALsB;AADuC;;;EAAjE,yB;;IAUA,sB;;;;;AACEA,8CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KANI;AAD6B;;;;WAUrDpkB,kBAAS;AACP,iCADO,iBACP;;AAEA,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAJK;;AAMP,aAAO,KANA,SAMP;AAhBmD;;;;EAAvD,iB;;IAoBA,oB;;;;;AACEpnD,4CAAwB;AAAA;;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AAKA,8CAAkB;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KAAlB;AAEA,iCARsB,eAQtB;AAIA,6BAZsB,cAYtB;AAZsB;AAD2B;;;;WAgBnDpkB,kBAAS;AACP,iCAA2B,KADpB,kBACP;AAIA,UAAMppC,OAAO,KALN,IAKP;AACA,UAAM3d,QAAQ2d,eAAeA,UANtB,CAMsBA,CAA7B;AACA,UAAM1d,SAAS0d,eAAeA,UAPvB,CAOuBA,CAA9B;AACA,UAAMlc,MAAM,8BARL,MAQK,CAAZ;;AARO,mDAUekc,KAAtB,QAVO;AAAA;;AAAA;AAUP,kEAAqC;AAAA,cAArC,OAAqC;AAKnC,cAAIq2C,SAL+B,EAKnC;;AALmC,uDAMnC,OANmC;AAAA;;AAAA;AAMnC,sEAAkC;AAAA,kBAAlC,UAAkC;AAChC,kBAAMp8B,IAAIy6C,eAAe10D,UADO,CACPA,CAAzB;AACA,kBAAMg6C,IAAIh6C,eAAe00D,WAFO,CAEhC;AACAre,oCAAY,CAAZA,cAHgC,CAGhCA;AATiC;AAAA;AAAA;AAAA;AAAA;AAAA;;AAWnCA,mBAASA,YAX0B,GAW1BA,CAATA;AAEA,cAAMse,WAAW,8BAA8B,KAbZ,cAalB,CAAjB;AACAA,0CAdmC,MAcnCA;AAGAA,gDAAsC30D,0BAjBH,CAiBnC20D;AACAA,0CAlBmC,aAkBnCA;AACAA,wCAnBmC,MAmBnCA;;AAIA,sCAvBmC,IAuBnC;;AAEA7wE,0BAzBmC,QAyBnCA;AAnCK;AAAA;AAAA;AAAA;AAAA;AAAA;;AAsCP,4BAtCO,GAsCP;AACA,aAAO,KAvCA,SAuCP;AAvDiD;;;;EAArD,iB;;IA2DA,0B;;;;;AACE9B,kDAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAChBE,kBADgB,EAChBA,YADgB;AAEhBC,oBAFgB;AAGhBC,4BAHgB;AAAA,KANI;AADiC;;;;WAczDrkB,kBAAS;AACP,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAFK;;AAKP,UAAI,KAAJ,gBAAyB;AACvB,eAAO,2BADgB,qBAChB,CAAP;AANK;;AASP,iCATO,qBASP;AACA,aAAO,KAVA,SAUP;AAxBuD;;;;EAA3D,iB;;IA4BA,0B;;;;;AACEpnD,kDAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAChBE,kBADgB,EAChBA,YADgB;AAEhBC,oBAFgB;AAGhBC,4BAHgB;AAAA,KANI;AADiC;;;;WAczDrkB,kBAAS;AACP,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAFK;;AAKP,UAAI,KAAJ,gBAAyB;AACvB,eAAO,2BADgB,qBAChB,CAAP;AANK;;AASP,iCATO,qBASP;AACA,aAAO,KAVA,SAUP;AAxBuD;;;;EAA3D,iB;;IA4BA,yB;;;;;AACEpnD,iDAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAChBE,kBADgB,EAChBA,YADgB;AAEhBC,oBAFgB;AAGhBC,4BAHgB;AAAA,KANI;AADgC;;;;WAcxDrkB,kBAAS;AACP,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAFK;;AAKP,UAAI,KAAJ,gBAAyB;AACvB,eAAO,2BADgB,oBAChB,CAAP;AANK;;AASP,iCATO,oBASP;AACA,aAAO,KAVA,SAUP;AAxBsD;;;;EAA1D,iB;;IA4BA,0B;;;;;AACEpnD,kDAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAChBE,kBADgB,EAChBA,YADgB;AAEhBC,oBAFgB;AAGhBC,4BAHgB;AAAA,KANI;AADiC;;;;WAczDrkB,kBAAS;AACP,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAFK;;AAKP,UAAI,KAAJ,gBAAyB;AACvB,eAAO,2BADgB,qBAChB,CAAP;AANK;;AASP,iCATO,qBASP;AACA,aAAO,KAVA,SAUP;AAxBuD;;;;EAA3D,iB;;IA4BA,sB;;;;;AACEpnD,8CAAwB;AAAA;;AACtB,QAAMurE,eAAe,CAAC,EACpB,4BACAF,gBADA,SAEAA,gBAJoB,QACA,CAAtB;AADsB,+BAMtB,UANsB,EAMJ;AAAEE,kBAAF,EAAEA,YAAF;AAAgBC,oBAAhB;AAAA,KANI;AAD6B;;;;WAUrDpkB,kBAAS;AACP,iCADO,iBACP;;AAEA,UAAI,CAAC,UAAL,UAAyB;AACvB,gCAAwB,KADD,IACvB;AAJK;;AAMP,aAAO,KANA,SAMP;AAhBmD;;;;EAAvD,iB;;IAoBA,+B;;;;;AACEpnD,uDAAwB;AAAA;;AAAA;;AAAA;;AACtB,8CAAkB;AAAEurE,oBADE;AACJ,KAAlB;AAEA,4BAA8B,aAHR,IAGtB;AAAA,QAAM,QAAN,qBAAM,QAAN;AAAA,QAAM,OAAN,qBAAM,OAAN;AACA,uBAAgBqH,uCAJM,QAINA,CAAhB;AACA,sBALsB,OAKtB;AAEA,8KAAgE;AAC9D7vD,YAD8D;AAE9D6F,UAAIiqD,6BAF0D,QAE1DA,CAF0D;AAG9DpkB,cAH8D,EAG9DA,QAH8D;AAI9DhhC,aAJ8D,EAI9DA;AAJ8D,KAAhE;AAPsB;AADsC;;;;WAgB9D25B,kBAAS;AACP,iCADO,0BACP;AAEA,UAAM+kB,UAAU9qE,uBAHT,KAGSA,CAAhB;AACA8qE,6BAAuB,qBAJhB,MAIPA;AACAA,4BAAsB,qBALf,KAKPA;AACAA,2CAAqC,oBAN9B,IAM8B,CAArCA;;AAEA,UAAI,CAAC,UAAD,aAAwB,mBAAmB,UAA/C,QAAI,CAAJ,EAAoE;AAClE,mCAA2B,KADuC,IAClE;AATK;;AAYP,iCAZO,OAYP;AACA,aAAO,KAbA,SAaP;AA7B4D;;;WAsC9D2G,qBAAY;AAAA;;AACV,sJACE,KADF,WAEE,KAFF,SAGE,KAJQ,QACV;AAvC4D;;;;EAAhE,iB;;IA+DA,e;;;;;;;WAQE,4BAA0B;AACxB,UAAMC,oBAAN;AAAA,UACEC,mBAFsB,EACxB;;AADwB,mDAML3H,WAAnB,WANwB;AAAA;;AAAA;AAMxB,kEAA2C;AAAA,cAA3C,KAA2C;;AACzC,cAAI,CAAJ,OAAW;AAAA;AAD8B;;AAIzC,cAAIrtD,yBAAwBrQ,qBAA5B,OAAkD;AAChDqlE,kCADgD,KAChDA;AADgD;AAJT;;AAQzCD,iCARyC,KAQzCA;AAdsB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAgBxB,UAAIC,iBAAJ,QAA6B;AAC3BD,wDAD2B,gBAC3BA;AAjBsB;;AAoBxB,wGAAsC;AAAtC,YAAW/0D,IAAX;AACE,YAAM2jB,UAAU,gCAAgC;AAC9C3jB,cAD8C,EAC9CA,IAD8C;AAE9Ci1D,iBAAO5H,WAFuC;AAG9C7e,gBAAM6e,WAHwC;AAI9C/iB,oBAAU+iB,WAJoC;AAK9CwB,uBAAaxB,WALiC;AAM9C6H,2BAAiB7H,WAN6B;AAO9C8H,8BAAoB9H,iCAP0B;AAQ9ChkB,kCAAwBgkB,sCARsB;AAS9C+H,sBAAY,IATkC,4BASlC,EATkC;AAU9CrrB,6BACEsjB,gCAAgC,IAXY,qCAWZ,EAXY;AAY9CgI,2BAAiBhI,WAZ6B;AAa9CxkB,wBAAcwkB,WAbgC;AAc9CiI,sBAAYjI,yBAAyB;AAAEkI,oBAdO;AAcT;AAdS,SAAhC,CAAhB;;AAgBA,YAAI5xC,QAAJ,cAA0B;AACxB,cAAM6xC,WAAW7xC,QADO,MACPA,EAAjB;;AACA,cAAI3jB,KAAJ,QAAiB;AACfw1D,wCADe,QACfA;AAHsB;;AAKxB,cAAI70D,cAAJ,QAAIA,CAAJ,EAA6B;AAAA,yDAC3B,QAD2B;AAAA;;AAAA;AAC3B,wEAAwC;AAAA,oBAAxC,eAAwC;AACtC0sD,2CADsC,eACtCA;AAFyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA7B,iBAIO;AACL,gBAAI1pC,mBAAJ,wBAA+C;AAG7C0pC,qCAH6C,QAG7CA;AAHF,mBAIO;AACLA,yCADK,QACLA;AANG;AATiB;AAjBU;AApBd;AARN;;;WA0EpB,4BAA0B;AACxB,UAAMl1D,6BAAsBk1D,mCADJ,GACIA,CAAtBl1D,MAAN;;AADwB,mDAELk1D,WAAnB,WAFwB;AAAA;;AAAA;AAExB,kEAA2C;AAAA,cAA3C,IAA2C;AACzC,cAAMlpC,WAAWkpC,gEACSrtD,KAFe,EACxBqtD,SAAjB;;AAGA,wBAAc;AAAA,yDACZ,QADY;AAAA;;AAAA;AACZ,wEAAgC;AAAA,oBAAhC,OAAgC;AAC9B1pC,0CAD8B,SAC9BA;AAFU;AAAA;AAAA;AAAA;AAAA;AAAA;AAJ2B;AAFnB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAYxB0pC,8BAZwB,KAYxBA;AAtFkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC18DtB,0BAA0B;AACxB,SAAOzoE,WAAWA,YAAYA,YAAZA,CAAYA,CAAZA,IAAXA,8BADiB,GACjBA,CAAP;AAvBF;;IA6BA,e;;;;;;;WACE,sBAA4B;AAAA;AAAA,UAAd,CAAc;AAAA,UAAd,CAAc;AAAA,UAAd,CAAc;AAAA,UAA5B,CAA4B;;AAC1B,aAAO,MAAM,IAAIA,YAAY,UAAU,OAAV,IAAqB,OAArB,IAAtB,CAAUA,CAAV,CAAP;AAFkB;;;WAKpB,uBAAmB;AAAA;AAAA,UAAnB,CAAmB;;AACjB,aAAO,kBAAkB,IAAlB,EAAP;AANkB;;;WASpB,sBAAkB;AAAA;AAAA,UAAlB,CAAkB;;AAChB,aAAO,gBAAP;AAVkB;;;WAapB,uBAAmB;AAAA;AAAA,UAAnB,CAAmB;;AACjB,UAAM6wE,IAAIC,cADO,CACPA,CAAV;AACA,wBAAO,CAAP,SAAO,CAAP,SAFiB,CAEjB;AAfkB;;;WAkBpB,sBAAwB;AAAA;AAAA,UAAX,CAAW;AAAA,UAAX,CAAW;AAAA,UAAxB,CAAwB;;AACtB,aAAO,MAAM,UAAU,OAAV,IAAqB,OAA3B,EAAP;AAnBkB;;;WAsBpB,0BAA2B;AAAA;AAAA,UAAX,CAAW;AAAA,UAAX,CAAW;AAAA,UAA3B,CAA2B;;AACzB,UAAMC,IAAID,cADe,CACfA,CAAV;AACA,UAAMD,IAAIC,cAFe,CAEfA,CAAV;AACA,UAAME,IAAIF,cAHe,CAGfA,CAAV;AACA,wBAAO,CAAP,SAAO,CAAP,SAJyB,CAIzB;AA1BkB;;;WA6BpB,kBAAgB;AACd,aADc,WACd;AA9BkB;;;WAiCpB,0BAA8B;AAAA;AAAA,UAAd,CAAc;AAAA,UAAd,CAAc;AAAA,UAAd,CAAc;AAAA,UAA9B,CAA8B;;AAC5B,aAAO,QAEL,IAAI9wE,YAAYkd,IAFX,CAEDld,CAFC,EAGL,IAAIA,YAAYqc,IAHX,CAGDrc,CAHC,EAIL,IAAIA,YAAYo1D,IAJX,CAIDp1D,CAJC,CAAP;AAlCkB;;;WA0CpB,+BAA6B;AAC3B,aAAO,cAAc,cADM,UACN,CAAd,CAAP;AA3CkB;;;WA8CpB,0BAA2B;AAAA;AAAA,UAAX,CAAW;AAAA,UAAX,CAAW;AAAA,UAA3B,CAA2B;;AACzB,UAAMkd,IAAI,IADe,CACzB;AACA,UAAMb,IAAI,IAFe,CAEzB;AACA,UAAM+4C,IAAI,IAHe,CAGzB;AACA,UAAMxmC,IAAI5uB,eAJe,CAIfA,CAAV;AACA,aAAO,oBAAP;AAnDkB;;;;;;;;;;;;;;;;;;;;ACdtB;;;;;;;;;;;;;;AA6BA,IAAMixE,0BA5CN,MA4CA;AACA,IAAMC,oBA7CN,EA6CA;AACA,IAAMC,sBA9CN,GA8CA;AACA,IAAMC,cAAc,IA/CpB,GA+CoB,EAApB;AACA,IAAMC,sBAhDN,QAgDA;;AAEA,oCAAoC;AAClC,MAAMC,eAAeF,gBADa,UACbA,CAArB;;AACA,oBAAkB;AAChB,WADgB,YAChB;AAHgC;;AAMlCnjB,MANkC,IAMlCA;AACAA,uBAAW,iBAAXA,gBAPkC,UAOlCA;AACA,MAAMsjB,UAAUtjB,gBARkB,EAQlBA,CAAhB;AAGA,MAAIujB,SAASD,QAXqB,qBAWlC;AACA,MAAIE,UAAUzxE,SAASuxE,QAZW,sBAYpBvxE,CAAd;;AACA,cAAY;AACViuD,QADU,OACVA;AACA,QAAMyjB,QAAQF,UAAU,SAFd,OAEIA,CAAd;AACAJ,gCAHU,KAGVA;AACA,WAJU,KAIV;AAjBgC;;AAwBlCnjB,oBAxBkC,KAwBlCA;AACAA,yCAzBkC,iBAyBlCA;AACAA,yBA1BkC,CA0BlCA;AACA,MAAI0jB,SAAS1jB,6DA3BqB,IA2BlC;AAMAwjB,YAjCkC,CAiClCA;;AACA,OAAK,IAAInwE,IAAIqwE,oBAAb,GAAoCrwE,KAApC,GAA4CA,KAA5C,GAAoD;AAClD,QAAIqwE,YAAJ,GAAmB;AACjBF,gBAAUzxE,UAAUsB,QADH,iBACPtB,CAAVyxE;AADiB;AAD+B;AAlClB;;AA4ClCxjB,yCA5CkC,iBA4ClCA;AACAA,yBA7CkC,iBA6ClCA;AACA0jB,WAAS1jB,6DA9CyB,IA8ClC0jB;AACAH,WA/CkC,CA+ClCA;;AACA,OAAK,IAAIlwE,KAAJ,GAAWD,KAAKswE,OAArB,QAAoCrwE,KAApC,IAA4CA,MAA5C,GAAoD;AAClD,QAAIqwE,aAAJ,GAAmB;AACjBH,eAASN,oBAAoBlxE,WAAWsB,SADvB,iBACYtB,CAA7BwxE;AADiB;AAD+B;AAhDlB;;AAuDlCvjB,MAvDkC,OAuDlCA;;AAEA,cAAY;AACV,QAAMyjB,SAAQF,UAAU,SADd,OACIA,CAAd;;AACAJ,gCAFU,MAEVA;AACA,WAHU,MAGV;AA5DgC;;AA+DlCA,8BA/DkC,mBA+DlCA;AACA,SAhEkC,mBAgElC;AAlHF;;AAqHA,6CAA6C;AAE3C,MAAMQ,UAAUnzE,uBAF2B,MAE3BA,CAAhB;AACA,MAAMozE,oBAAoB;AACxBC,WADwB;AAExBC,iBAFwB;AAGxBC,aAASC,aAHe;AAIxBC,YAAQD,KAJgB;AAKxBE,uBALwB;AAMxBC,mBANwB;AAOxBC,iBAPwB;AAQxBC,kBARwB;AASxBC,gBATwB;AAUxBpyE,WAVwB;AAAA,GAA1B;;AAaA+wB,sBAhB2C,OAgB3CA;;AAEA,MAAMshD,KAAK/1D,qBAAeyU,eAAfzU,WAAyCw1D,KAlBT,SAkBhCx1D,CAAX;;AACA,MAAIq1D,QAAQ9xE,WAAWwyE,GAAXxyE,CAAWwyE,CAAXxyE,EAAkBwyE,GAnBa,CAmBbA,CAAlBxyE,CAAZ;AACA,MAAMwrB,QAAQu7B,OAAOkrB,KApBsB,QAoB7BlrB,CAAd;;AACA,MAAIv7B,MAAJ,UAAoB;AAClBsmD,aAAS9xE,UADS,CAClB8xE;AAtByC;;AAwB3C,MAAMW,aAAazyE,WAAWwyE,GAAXxyE,CAAWwyE,CAAXxyE,EAAkBwyE,GAxBM,CAwBNA,CAAlBxyE,CAAnB;AACA,MAAM0yE,aAAaD,aAAaE,UAAUnnD,MAAVmnD,YAzBW,GAyBXA,CAAhC;AAEA,YA3B2C,GA2B3C;;AACA,MAAIb,UAAJ,GAAiB;AACflT,WAAO4T,GADQ,CACRA,CAAP5T;AACAC,UAAM2T,QAFS,UAEf3T;AAFF,SAGO;AACLD,WAAO4T,QAAQE,aAAa1yE,SADvB,KACuBA,CAA5B4+D;AACAC,UAAM2T,QAAQE,aAAa1yE,SAFtB,KAEsBA,CAA3B6+D;AAjCyC;;AAqC3C+S,iCArC2C,IAqC3CA;AACAA,gCAtC2C,GAsC3CA;AACAA,qCAvC2C,UAuC3CA;AACAA,6BAA2BpmD,MAxCgB,UAwC3ComD;AAGAA,+BA3C2C,cA2C3CA;AAEAA,wBAAsBK,KA7CqB,GA6C3CL;AAEAA,gBAAcK,KA/C6B,GA+C3CL;;AAIA,MAAI1gD,KAAJ,uBAAgC;AAC9B0gD,+BAA2BK,KADG,QAC9BL;AApDyC;;AAsD3C,MAAIE,UAAJ,GAAiB;AACfD,8BAA0BC,SAAS,MAAM9xE,KAD1B,EACW8xE,CAA1BD;AAvDyC;;AA4D3C,MAAIe,kBA5DuC,KA4D3C;;AACA,MACEX,uBACC/gD,8BAA8BmgD,yBAAyBY,KAF1D,GAEiCZ,CAFjC,EAGE;AACAuB,sBADA,IACAA;AAJF,SAKO,IAAIX,sBAAsBA,eAA1B,CAA0BA,CAA1B,EAA6C;AAClD,QAAMY,YAAY7yE,SAASiyE,eAA3B,CAA2BA,CAATjyE,CAAlB;AAAA,QACE8yE,YAAY9yE,SAASiyE,eAF2B,CAE3BA,CAATjyE,CADd;;AAIA,QACE6yE,2BACA7yE,iCAAiCA,oBAAjCA,SAAiCA,CAAjCA,GAFF,KAGE;AACA4yE,wBADA,IACAA;AATgD;AAlET;;AA8E3C,uBAAqB;AACnB,QAAIpnD,MAAJ,UAAoB;AAClBqmD,sCAAgCI,cAAc/gD,eAD5B,KAClB2gD;AADF,WAEO;AACLA,sCAAgCI,aAAa/gD,eADxC,KACL2gD;AAJiB;AA9EsB;;AAqF3C3gD,uCArF2C,iBAqF3CA;;AACA,MAAIA,KAAJ,oBAA6B;AAC3BA,qBAD2B,OAC3BA;AAvFyC;;AA0F3C,MAAIA,8BAA8B2gD,kBAAlC,SAA6D;AAC3D,QAAIkB,WAAJ;AAAA,QACEC,WAFyD,CAC3D;;AAEA,QAAIlB,UAAJ,GAAiB;AACfiB,iBAAW/yE,SADI,KACJA,CAAX+yE;AACAC,iBAAWhzE,SAFI,KAEJA,CAAXgzE;AALyD;;AAO3D,QAAMC,WACH,kBAAiBhB,KAAjB,SAA+BA,KAAhC,KAAC,IAA6C/gD,eARW,KAO3D;AAEA,QAAMgiD,YATqD,UAS3D;AAEA,WAX2D,CAW3D;;AACA,QAAIpB,UAAJ,GAAiB;AACfz1D,UAAI,qBAAqB,CAArB,8BAAJA;AACAY,UAAI,sCAAgC,2BAAhC,EAFW,CAEX,CAAJA;AAFF,WAGO;AACLA,UAAI,YAAY2hD,OAAZ,UAA6BC,MAA7B,UAAJ5hD;AAhByD;;AAmB3DiU,sBAAkB;AAChB0tC,YAAM3hD,EADU,CACVA,CADU;AAEhB4hD,WAAK5hD,EAFW,CAEXA,CAFW;AAGhBk2D,aAAOl2D,EAHS,CAGTA,CAHS;AAIhBm2D,cAAQn2D,EAJQ,CAIRA,CAJQ;AAKhB2xC,WALgB;AAMhBz0B,YAAM,qBANU;AAOhB9d,OAPgB,EAOhBA;AAPgB,KAAlB6U;AA7GyC;AArH7C;;AA8OA,sBAAsB;AACpB,MAAIA,KAAJ,WAAoB;AAAA;AADA;;AAIpB,MAAMmiD,WAAWniD,KAJG,SAIpB;AACA,MAAM5S,aAAa4S,KALC,WAKpB;AACA,MAAMoiD,iBAAiBD,SANH,MAMpB;;AAIA,MAAIC,iBAAJ,yBAA8C;AAC5CpiD,0BAD4C,IAC5CA;AACA5S,eAF4C,OAE5CA;AAF4C;AAV1B;;AAgBpB,MAAI,CAAC4S,KAAL,oBAA8B;AAC5B,SAAK,IAAI5vB,IAAT,GAAgBA,IAAhB,gBAAoCA,CAApC,IAAyC;AACvC4vB,uBAAiBmiD,SADsB,CACtBA,CAAjBniD;AAF0B;AAhBV;;AAsBpBA,wBAtBoB,IAsBpBA;AACA5S,aAvBoB,OAuBpBA;AArQF;;AAwQA,4CAA4C;AAC1C,MAAI/X,SADsC,CAC1C;;AACA,OAAK,IAAIjF,IAAT,GAAgBA,IAAhB,OAA2BA,CAA3B,IAAgC;AAC9B,QAAMiyE,IAAIC,GAAG3lB,MADiB,EACpB2lB,CAAV;;AACA,QAAID,IAAJ,GAAW;AACThtE,eAASA,SAASvG,YAATuG,MAASvG,CAATuG,GADA,CACTA;AAH4B;AAFU;;AAQ1C,SAR0C,MAQ1C;AAhRF;;AAmRA,sBAAsB;AACpB,MAAM02D,SAAS/rC,KADK,OACpB;AACA,MAAMw0B,WAAWx0B,KAFG,SAEpB;AAEA,MAAMuiD,WAAWC,aAAahuB,SAAbguB,OAA6BhuB,SAA7BguB,QAJG,MAIHA,CAAjB;;AACA,OAAK,IAAIpyE,IAAT,GAAgBA,IAAImyE,SAApB,QAAqCnyE,CAArC,IAA0C;AACxC,QAAMstD,MAAMqO,UAD4B,GACxC;;AACA,QAAM0W,gBAAgBziD,4BAFkB,GAElBA,CAAtB;;AACA,QAAIyiD,wBAAJ,GAA+B;AAC7BA,kCAA4B1W,iBAAiBwW,YADhB,IAC7BE;AACAA,iCAA2B1W,gBAAgBwW,YAFd,GAE7BE;AACAA,mCAA6BF,oBAAoBxW,UAHpB,KAG7B0W;AACAA,oCAA8BF,qBAAqBxW,UAJtB,MAI7B0W;;AACAziD,uCAL6B,aAK7BA;;AAL6B;AAHS;;AAaxC,QAAM2I,IAAI45C,SAAV,CAAUA,CAAV;AAAA,QACEx2D,IAAIggD,OAdkC,CAclCA,CADN;AAEA,QAAM5gD,IAAIY,EAAV;AAAA,QACEC,IAAIb,EADN,CACMA,CADN;AAAA,QAEE0xC,IAAI1xC,EAjBkC,CAiBlCA,CAFN;AAIA,QAAMo1C,SAAS,CAAC,MAAD,EAAS,IAAIx0C,OAAJ,CAAIA,CAAJ,CAAT,EAAyB,CAACA,OAAD,CAACA,CAAD,IAAzB,EAAyCA,EAAzC,KAAf;AACA,QAAMu2D,KAAK,iBApB6B,EAoB7B,CAAX;;AACA,SAAK,IAAIzhB,IAAJ,GAAW6hB,KAAKniB,OAArB,QAAoCM,IAApC,IAA4CA,CAA5C,IAAiD;AAC/C,UAAMwhB,IAAI92D,0BAAoBg1C,OAApBh1C,CAAoBg1C,CAApBh1C,EADqC,CACrCA,CAAV;;AACA+2D,SAAGzhB,IAAHyhB,KAAYt2D,KAAM,UAASq2D,EAAV,CAAUA,CAAT,IAF6B,CAE/CC;AACAA,SAAGzhB,IAAHyhB,KAAYzlB,KAAM,SAAQwlB,EAAT,CAASA,CAAR,IAH6B,CAG/CC;AACAA,SAAGzhB,IAAHyhB,KAAYt2D,KAAM,WAAUq2D,EAAX,CAAWA,CAAV,IAJ6B,CAI/CC;AACAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,YAAWwlB,EAAZ,CAAYA,CAAX,IAL4B,CAK/CC;AAEAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,UAASwlB,EAAV,CAAUA,CAAT,IAAiB,CAPW,CAO/CC;AACAA,SAAGzhB,IAAHyhB,MAAat2D,KAAM,SAAQq2D,EAAT,CAASA,CAAR,IAR4B,CAQ/CC;AACAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,WAAUwlB,EAAX,CAAWA,CAAV,IAAkB,CATU,CAS/CC;AACAA,SAAGzhB,IAAHyhB,MAAat2D,KAAM,YAAWq2D,EAAZ,CAAYA,CAAX,IAV4B,CAU/CC;AAEAA,SAAGzhB,IAAHyhB,MAAat2D,KAAM,UAASq2D,EAAV,CAAUA,CAAT,IAAiB,CAZW,CAY/CC;AACAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,SAAQwlB,EAAT,CAASA,CAAR,IAAgB,CAbY,CAa/CC;AACAA,SAAGzhB,IAAHyhB,MAAat2D,KAAM,WAAUq2D,EAAX,CAAWA,CAAV,IAAkB,CAdU,CAc/CC;AACAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,YAAWwlB,EAAZ,CAAYA,CAAX,IAAmB,CAfS,CAe/CC;AAEAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,UAASwlB,EAAV,CAAUA,CAAT,IAjB4B,CAiB/CC;AACAA,SAAGzhB,IAAHyhB,MAAat2D,KAAM,SAAQq2D,EAAT,CAASA,CAAR,IAAgB,CAlBY,CAkB/CC;AACAA,SAAGzhB,IAAHyhB,MAAazlB,KAAM,WAAUwlB,EAAX,CAAWA,CAAV,IAnB4B,CAmB/CC;AACAA,SAAGzhB,IAAHyhB,MAAat2D,KAAM,YAAWq2D,EAAZ,CAAYA,CAAX,IAAmB,CApBS,CAoB/CC;AAzCsC;;AA6CxC,QAAMK,WAAW,IAAI7zE,SAASA,SAATA,CAASA,CAATA,EAAsBA,SA7CH,CA6CGA,CAAtBA,CAArB;AACA2zE,gCAA4BG,8BA9CY,QA8CxCH;AACAA,+BAA2BG,8BA/Ca,QA+CxCH;AACAA,iCAA6BG,6BAhDW,QAgDxCH;AACAA,kCAA8BG,8BAjDU,QAiDxCH;;AACAziD,qCAlDwC,aAkDxCA;AAvDkB;AAnRtB;;AA8UA,4CAA4C;AAC1C,MAAM+rC,SAAS,UAAU,kBAAkB;AACzC,WAAO;AACLL,UAAImX,IADC;AAELlX,UAAIkX,IAFC;AAGL3T,UAAI2T,IAHC;AAIL1T,UAAI0T,IAJC;AAKLpsD,aALK;AAMLqsD,aANK;AAOLC,aAPK;AAAA,KAAP;AAFwC,GAC3B,CAAf;AAWAC,yBAZ0C,MAY1CA;AAEA,MAAMT,WAAW,UAAUU,MAde,MAczB,CAAjB;;AAd0C,6CAe1C,MAf0C;AAAA;;AAAA;AAe1C,wDAAwB;AAAA,UAAxB,CAAwB;AACtB,UAAM7yE,IAAI2b,EADY,KACtB;AACAw2D,oBAAc;AACZ7U,cAAM3hD,EADM;AAEZ4hD,aAFY;AAGZsU,eAAOl2D,EAHK;AAIZm2D,gBAJY;AAAA,OAAdK;AAjBwC;AAAA;AAAA;AAAA;AAAA;AAAA;;AA2B1CU,YAAU,kBAAkB;AAC1B,QAAMt6C,IAAI45C,SAAV,CAAUA,CAAV;AAAA,QACEx2D,IAAIggD,OAFoB,CAEpBA,CADN;AAEAhgD,WAAO82D,IAHmB,GAG1B92D;AACAA,WAAOxf,QAAQo8B,EAJW,KAI1B5c;AACAA,WAAO82D,IALmB,MAK1B92D;AACAA,WAAOxf,QAAQo8B,EANW,IAM1B5c;AACAA,cAP0B,CAO1BA;AACAA,cAR0B,SAQ1BA;AACAA,cAT0B,SAS1BA;AApCwC,GA2B1Ck3D;AAWAD,0BAtC0C,MAsC1CA;;AAtC0C,8CAwC1C,MAxC0C;AAAA;;AAAA;AAwC1C,2DAAwB;AAAA,UAAxB,EAAwB;AACtB,UAAM5yE,MAAI2b,GADY,KACtB;AACAw2D,0BAAkBx2D,GAFI,KAEtBw2D;AACAA,6BAAqBx2D,GAHC,KAGtBw2D;AA3CwC;AAAA;AAAA;AAAA;AAAA;AAAA;;AA6C1C,SA7C0C,QA6C1C;AA3XF;;AA8XA,wCAAwC;AAEtCxW,cAAY,gBAAgB;AAC1B,WAAOjgD,OAAOC,EAAPD,MAAeA,UAAUC,EADN,KAC1B;AAHoC,GAEtCggD;AAKA,MAAMmX,eAAe;AACnBxX,QAAI,CADe;AAEnBC,QAAI,CAFe;AAGnBuD,QAHmB;AAInBC,QAJmB;AAKnB14C,WAAO,CALY;AAMnBqsD,WANmB;AAOnBC,WAPmB;AAAA,GAArB;AASA,MAAMI,UAAU,CACd;AACE9xE,WAAO,CADT;AAEEd,SAFF;AAGE6yE,cAHF;AAAA,GADc,CAAhB;;AAhBsC,8CAwBtC,MAxBsC;AAAA;;AAAA;AAwBtC,2DAA+B;AAAA,UAA/B,QAA+B;AAG7B,UAAIhzE,IAHyB,CAG7B;;AACA,aAAOA,IAAI+yE,QAAJ/yE,UAAsB+yE,kBAAkBC,SAA/C,IAA4D;AAC1DhzE,SAD0D;AAJ/B;;AAO7B,UAAIywD,IAAIsiB,iBAPqB,CAO7B;;AACA,aAAOtiB,UAAUsiB,oBAAoBC,SAArC,IAAkD;AAChDviB,SADgD;AARrB;;AAY7B,UAAIwiB,YAAJ;AAAA,UAAiBC,iBAZY,SAY7B;;AACA,UAAIrS,CAAJ;AAAA,UACEvzC,CADF;AAAA,UAEE6lD,UAAU,CAfiB,QAa7B;;AAGA,WAAKtS,IAAL,GAAYA,KAAZ,GAAoBA,CAApB,IAAyB;AACvBoS,uBAAcF,QADS,CACTA,CAAdE;AACAC,4BAAmBD,aAFI,QAEvBC;AACA,YAAIE,IAHmB,SAGvB;;AACA,YAAIF,uBAAsBF,SAA1B,IAAuC;AAIrCI,iBACEF,0BAAyBF,SAAzBE,QACIA,kBADJA,QAEIF,SAP+B,EAIrCI;AAJF,eAQO,IAAIF,4BAAJ,WAA0C;AAG/CE,iBAAQ,wBAAsBJ,SAAvB,EAAC,IAHuC,CAG/CI;AAHK,eAIA;AAELA,iBAAOF,kBAFF,KAELE;AAlBqB;;AAoBvB,YAAIA,OAAJ,SAAoB;AAClBD,oBADkB,IAClBA;AArBqB;AAhBI;;AA0C7BH,uBA1C6B,OA0C7BA;;AAGA,WAAKnS,IAAL,GAAYA,KAAZ,GAAoBA,CAApB,IAAyB;AACvBoS,uBAAcF,QADS,CACTA,CAAdE;AACAC,4BAAmBD,aAFI,QAEvBC;;AACA,YAAIA,4BAAJ,WAA0C;AAExC,cAAIA,uBAAsBF,SAA1B,IAAuC;AAGrC,gBAAIE,0BAAyBF,SAA7B,OAA6C;AAC3CE,wCAAyBA,kBADkB,EAC3CA;AAJmC;AAAvC,iBAMO;AACLA,sCADK,OACLA;AATsC;AAA1C,eAWO,IAAIA,0BAAJ,SAAsC;AAE3CA,oCAAyBx0E,kBAAkBw0E,kBAFA,EAElBx0E,CAAzBw0E;AAhBqB;AA7CI;;AAkE7B,UAAMG,iBAlEuB,EAkE7B;AACA,UAAIC,eAnEyB,IAmE7B;;AACA,WAAKzS,IAAL,GAAYA,KAAZ,GAAoBA,CAApB,IAAyB;AACvBoS,uBAAcF,QADS,CACTA,CAAdE;AACAC,4BAAmBD,aAFI,QAEvBC;AAEA,YAAMK,cACJL,uBAAsBF,SAAtBE,yBALqB,QAIvB;;AAEA,YAAII,iBAAJ,aAAkC;AAEhCD,yBAAeA,wBAAfA,SAAgDJ,aAFhB,GAEhCI;AAFF,eAGO;AACLA,8BAAoB;AAClBpyE,mBAAOgyE,aADW;AAElB9yE,iBAAK8yE,aAFa;AAGlBD,sBAHkB;AAAA,WAApBK;AAKAC,yBANK,WAMLA;AAfqB;AApEI;;AAsF7B,UAAIP,mBAAmBC,SAAvB,IAAoC;AAClCK,kCAA0BL,SADQ,EAClCK;AACAA,+BAAuB;AACrBpyE,iBAAO8xE,WADc;AAErB5yE,eAAK6yE,SAFgB;AAGrBA,oBAAUD,WAHW;AAAA,SAAvBM;AAxF2B;;AA8F7B,UAAIL,cAAcD,WAAlB,KAAkC;AAChCM,uBAAeA,wBAAfA,SAAgDL,SADhB,EAChCK;AACAA,4BAAoB;AAClBpyE,iBAAO+xE,SADW;AAElB7yE,eAAK4yE,WAFa;AAGlBC,oBAAUD,WAHQ;AAAA,SAApBM;AAhG2B;;AA0G7B,WAAKxS,IAAL,GAAYA,KAAZ,GAAoBA,CAApB,IAAyB;AACvBoS,uBAAcF,QADS,CACTA,CAAdE;AACAC,4BAAmBD,aAFI,QAEvBC;;AACA,YAAIA,4BAAJ,WAA0C;AAAA;AAHnB;;AAMvB,YAAIM,OANmB,KAMvB;;AACA,aACElmD,IAAIttB,IADN,GAEE,SAASstB,KAAT,KAAmBylD,oBAAoBG,kBAFzC,IAGE5lD,CAHF,IAIE;AACAkmD,iBAAOT,wBADP,iBACAS;AAZqB;;AAcvB,aACElmD,IAAImjC,IADN,GAEE,SAASnjC,IAAIylD,QAAb,UAA+BA,kBAAkBG,kBAFnD,IAGE5lD,CAHF,IAIE;AACAkmD,iBAAOT,wBADP,iBACAS;AAnBqB;;AAqBvB,aAAKlmD,IAAL,GAAY,SAASA,IAAI+lD,eAAzB,QAAgD/lD,CAAhD,IAAqD;AACnDkmD,iBAAOH,+BAD4C,iBACnDG;AAtBqB;;AAwBvB,YAAI,CAAJ,MAAW;AACTN,oCADS,OACTA;AAzBqB;AA1GI;;AAuI7Bz4D,4CAEE,IAAIg2C,QAAJ,UAzI2B,cAyI3B,CAFFh2C;AA/JoC;AAAA;AAAA;AAAA;AAAA;AAAA;;AAsKtC,sEAAmC;AAAnC,QAAWw4D,WAAX;AACE,QAAMC,mBAAmBD,YADQ,QACjC;;AACA,QAAIC,2BAAJ,WAA0C;AACxCA,+BAAyBx0E,gBAAgBw0E,iBADD,EACfx0E,CAAzBw0E;AAH+B;AAtKG;AA9XxC;;IA4iBA,mB;AACEp3E,qCAQG;AAAA;AAAA;;AAAA,QARS,WAQT,QARS,WAQT;AAAA,QARS,iBAQT,QARS,iBAQT;AAAA,QARS,SAQT,QARS,SAQT;AAAA,QARS,QAQT,QARS,QAQT;AAAA,QARS,QAQT,QARS,QAQT;AAAA,QARS,mBAQT,QARS,mBAQT;AAAA,QARHA,oBAQG,QARHA,oBAQG;;AAAA;;AACD,wBADC,WACD;AACA,8BAFC,iBAED;AACA,sBAHC,SAGD;AACA,qBAAiBsoC,UAJhB,aAID;AACA,qBALC,QAKD;AACA,qBAAiB2tC,YANhB,EAMD;AACA,gCAA4B0B,uBAP3B,EAOD;AACA,iCAA6B,CAAC,CAR7B,oBAQD;AACA,iCAA6B,CAAC,2BAACl3E,wBAAD,kDAACA,sBAT9B,OAS6B,CAA9B;AAEA,mBAXC,IAWD;AACA,mCAZC,IAYD;AACA,qCAbC,IAaD;AACA,0BAdC,IAcD;AACA,8BAA0B,IAfzB,OAeyB,EAA1B;AACA,0BAhBC,KAgBD;AACA,qBAjBC,KAiBD;AACA,uBAlBC,oCAkBD;AACA,wBAnBC,IAmBD;AACA,mBApBC,EAoBD;;AAGA,wCACW,YAAM;AACb,UAAI,MAAJ,gBAAyB;AAGvB,4CAHuB,CAGvB;AACA,6CAJuB,CAIvB;AACA,+BALuB,IAKvB;AANW;AADjB,gBAUS,YAAM,CAjCd,CAuBD;AAhCsB;;;;SAmDxB,eAAc;AACZ,aAAO,iBADK,OACZ;AApDsB;;;WA0DxBylC,kBAAS;AACP,uBADO,IACP;;AACA,UAAI,KAAJ,SAAkB;AAChB,4BAAoB,yBADJ,2BACI,CAApB;;AACA,uBAFgB,IAEhB;AAJK;;AAMP,UAAI,sBAAJ,MAAgC;AAC9B2hB,qBAAa,KADiB,YAC9BA;AACA,4BAF8B,IAE9B;AARK;;AAUP,8BAAwB,UAVjB,2BAUiB,CAAxB;AApEsB;;;WA0ExB+vB,0CAAiC;AAC/B,WAAK,IAAI1zE,IAAJ,GAAW2zE,MAAMnuB,MAAtB,QAAoCxlD,IAApC,KAA6CA,CAA7C,IAAkD;AAChD,YAAIwlD,iBAAJ,WAAgC;AAC9B,cACEA,+CACAA,kBAFF,sBAGE;AACA,gBAAMjyB,SAAS,KADf,UACA;AACA,8BAAkBp2B,uBAFlB,MAEkBA,CAAlB;;AACA,0CAHA,eAGA;;AACA,gBAAIqoD,gBAAJ,MAA0B;AACxB,2DAAsCA,SADd,EACxB;AALF;;AAOAjyB,+BAAmB,KAPnB,UAOAA;AAVF,iBAWO,IAAIiyB,kBAAJ,oBAA0C;AAC/C,8BAAkB,gBAD6B,UAC/C;AAb4B;;AAAA;AADgB;;AAkBhD,uCAA+BA,SAlBiB,GAkBhD;;AACAouB,yBAAiBpuB,MAAjBouB,CAAiBpuB,CAAjBouB,cAAuC,KAnBS,cAmBhDA;AApB6B;AA1ET;;;WAqGxBC,8BAAqB;AACnB,UAAMtD,oBAAoB,4BADP,OACO,CAA1B;;AAEA,UAAIt+D,YAHe,EAGnB;;AACA,UAAIs+D,uCAAuCA,kBAA3C,SAAsE;AACpE,6BAAiCD,QADmC,KACpE;AAAA,YAAM,QAAN,kBAAM,QAAN;AAAA,YAAM,UAAN,kBAAM,UAAN;;AAGA,YACEzY,aAAa,KAAbA,2BACAic,eAAe,KAFjB,2BAGE;AACA,+CAA2B,QAA3B,cADA,UACA;AACA,yCAFA,QAEA;AACA,2CAHA,UAGA;AAVkE;;AAapE,oCAAkB,gCAAgCxD,QAbkB,WAalD,CAAlB;AAAA,YAAM,KAAN,yBAAM,KAAN;;AAEA,YAAIn0E,QAAJ,GAAe;AACbo0E,oCAA0BA,gCADb,KACbA;AACAt+D,uCAAsBs+D,kBAFT,KAEbt+D;AAjBkE;AAJnD;;AAwBnB,UAAIs+D,4BAAJ,GAAmC;AACjCt+D,qCAAsBs+D,kBAAV,KAAZt+D,kBADiC,SACjCA;AAzBiB;;AA2BnB,UAAIA,mBAAJ,GAA0B;AACxB,YAAI,KAAJ,uBAAgC;AAC9Bs+D,gDAD8B,SAC9BA;AAFsB;;AAIxBD,kCAJwB,SAIxBA;AA/BiB;;AAkCnB,UAAIC,kBAAJ,SAA+B;AAC7B,oCAD6B,OAC7B;AAnCiB;;AAqCnB,UAAIA,kBAAJ,QAA8B;AAC5B,YAAMtV,KAAK99D,uBADiB,IACjBA,CAAX;AACA89D,gCAF4B,cAE5BA;;AACA,oCAH4B,EAG5B;AAxCiB;AArGG;;;WAoJxB8Y,mBAAqB;AAAA;;AAAA,UAAbC,OAAa,uEAArBD,CAAqB;AACnB,UAAM/2D,aADa,oCACnB;AACA,UAAIi3D,aAAarzE,cAFE,IAEFA,CAAjB;;AAGA,UAAMpE,SAAS,6BALI,QAKJ,CAAf;;AACAA,sBAAgBA,eANG,iBAMnBA;AAMEA,yBAZiB,IAYjBA;AAEF,4BAAsBA,wBAAwB;AAAE82D,eAd7B;AAc2B,OAAxB92D,CAAtB;;AAEA,UAAI,KAAJ,cAAuB;AACrB,YAAM03E,YAAY,kBADG,KACrB;AACA,YAAMC,aAAa,kBAFE,MAErB;;AACA,sCAHqB,UAGrB;;AACAn3D,mBAJqB,OAIrBA;AAJF,aAKO,IAAI,KAAJ,oBAA6B;AAClC,YAAMuoC,OAAO,SAAPA,IAAO,GAAM;AACjB,qCAAyB,iBAAqB;AAAA,gBAApB,KAAoB,SAApB,KAAoB;AAAA,gBAArB,IAAqB,SAArB,IAAqB;;AAC5C,sBAAU;AACRvoC,yBADQ,OACRA;AADQ;AADkC;;AAM5Cpc,sCAA0BoC,MANkB,MAM5CpC;;AACA,iCAAmBoC,MAAnB,OAP4C,UAO5C;;AACAuiD,gBAR4C;AAA9C,aASGvoC,WAVc,MACjB;AAFgC,SAClC;;AAaA,uBAAe,wBAdmB,SAcnB,EAAf;AACAuoC,YAfkC;AAA7B,aAgBA;AACL,cAAM,UACJ,kDAFG,wBACC,CAAN;AAtCiB;;AA4CnBvoC,8BAAwB,YAAM;AAC5Bi3D,qBAD4B,IAC5BA;;AACA,YAAI,CAAJ,SAAc;AAEZ/wB,iBAFY,MAEZA;AAFF,eAGO;AAEL,gCAAoB,WAAW,YAAM;AACnCA,mBADmC,MACnCA;AACA,kCAFmC,IAEnC;AAFkB,aAFf,OAEe,CAApB;AAP0B;AAA9BlmC,SAYG,iBAxDgB,MA4CnBA;AAhMsB;;;WAkNxBo3D,0BAAmC;AAAA,UAApBC,UAAoB,uEAAnCD,KAAmC;;AACjC,UAAI,CAAC,KAAD,yBAA+B,CAAC,KAApC,gBAAyD;AAAA;AADxB;;AAIjC,UAAI,iBAAJ,MAA2B;AACzBE,eADyB,IACzBA;AACA,uBAFyB,IAEzB;AAN+B;;AAQjC,UAAMC,eAAN;AAAA,UACEC,aAT+B,EAQjC;;AAGA,WAAK,IAAIx0E,IAAJ,GAAWD,KAAK,eAArB,QAA4CC,IAA5C,IAAoDA,CAApD,IAAyD;AACvD,YAAMstD,MAAM,eAD2C,CAC3C,CAAZ;;AACA,YAAMmnB,WAAW,4BAFsC,GAEtC,CAAjB;;AAEA,YAAI,CAACA,SAAL,SAAuB;AAAA;AAJgC;;AAOvD,wBAAgB;AACdF,gCADc,CACdA;AACAC,8BAFc,CAEdA;;AAEA,cAAIC,SAAJ,mBAAgC;AAC9BF,8BAAkBE,SADY,iBAC9BF;AALY;;AAOd,cAAIE,sBAAJ,GAA6B;AAC3BD,sCAAmBC,SADQ,UAC3BD;AACAD,mDAAgC,CAACE,SAFN,UAE3BF;AAFF,iBAGO;AACLC,4BADK,CACLA;AAXY;;AAad,cAAIC,wBAAJ,GAA+B;AAC7BD,sCAAmBC,wBAAwBA,SADd,KAC7BD;AADF,iBAEO;AACLA,4BADK,CACLA;AAhBY;;AAkBd,cAAIC,yBAAJ,GAAgC;AAC9BD,sCAAmBC,SADW,aAC9BD;AADF,iBAEO;AACLA,4BADK,CACLA;AArBY;;AAuBd,cAAIC,uBAAJ,GAA8B;AAC5BD,sCAAmBC,uBAAuBA,SADd,KAC5BD;AACAD,mDACgB,CAACE,SAAD,cAAwBA,SAHZ,KAE5BF;AAFF,iBAKO;AACLC,4BADK,CACLA;AA7BY;;AAgCdlnB,8BAAoBknB,gBAhCN,GAgCMA,CAApBlnB;;AACA,cAAIinB,aAAJ,QAAyB;AACvBjnB,kCAAsBinB,kBADC,GACDA,CAAtBjnB;AAlCY;AAAhB,eAoCO;AACLA,8BADK,IACLA;AACAA,gCAAsBmnB,SAFjB,iBAELnnB;AA7CqD;AAXxB;AAlNX;;;;;;AAoR1B,2CAA2C;AACzC,MAAM19B,OAAO,wBAAwB;AACnCw1B,iBAAasvB,iBADsB;AAEnCC,uBAAmBD,iBAFgB;AAGnCtwC,eAAWswC,iBAHwB;AAInCtwB,cAAUswB,iBAJyB;AAKnC3C,cAAU2C,iBALyB;AAMnCjB,yBAAqBiB,iBANc;AAOnCE,0BAAsBF,iBAPa;AAAA,GAAxB,CAAb;;AASA9kD,eAAa8kD,iBAV4B,OAUzC9kD;;AACA,SAXyC,IAWzC;AA30BF,C;;;;;;;;;;;;;;ACgBA;;AAhBA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAIilD,cACF/4E,uBAAc;AAAA;;AACZC,yBADY,8BACZA;AAFoB,CAAxB;;;AASE;AAAA,MA0TA,YA1TA,GA0TA,8BAA8B;AAC5B,QAAI+4E,SADwB,EAC5B;AACA,QAAMpW,MAFsB,EAE5B;;AAF4B,+CAI5B,MAJ4B;AAAA;;AAAA;AAI5B,0DAAoC;AAAA,YAApC,aAAoC;;AAClC,YAAIqW,qBAAJ,QAAiC;AAC/BD,sBAAY;AAAEvf,kBAAF;AAAYzxD,gBAAZ;AAAyB0hD,mBAAzB;AAAA,WAAZsvB;AACApW,mBAF+B,MAE/BA;AACAoW,mBAASA,OAAOA,gBAAPA,GAHsB,KAG/BA;AAH+B;AADC;;AAQlC,YAAIC,qBAAJ,WAAoC;AAClCD,mBAASpW,IADyB,GACzBA,EAAToW;AADF,eAEO;AACLA,sBADK,aACLA;AAXgC;AAJR;AAAA;AAAA;AAAA;AAAA;AAAA;;AAkB5B,WAlB4B,MAkB5B;AA5UF;;AAAA,MAsVA,EAtVA,GAsVA,mBAAmB;AACjB,QAAIn8D,iBAAJ,KAAIA,CAAJ,EAA6B;AAC3B,aAAO3V,MADoB,QACpBA,EAAP;AAFe;;AAIjB,QAAMypD,IAAIzpD,cAJO,EAIPA,CAAV;AACA,QAAIhD,IAAIysD,WALS,CAKjB;;AACA,QAAIA,SAAJ,KAAkB;AAChB,aADgB,CAChB;AAPe;;AAWjB,OAAG;AACDzsD,OADC;AAAH,aAESysD,SAbQ,GAWjB;;AAGA,WAAOA,eAAeA,mBAAmBzsD,IAdxB,CAcVysD,CAAP;AApWF;;AAAA,MAgXA,EAhXA,GAgXA,eAAe;AACb,QAAI1xC,cAAcA,SAAlB,GAA8B;AAC5B,UAAIA,cAAcA,SAAlB,GAA8B;AAC5B,YAAIA,cAAcA,SAAlB,GAA8B;AAC5B,iBAD4B,EAC5B;AAF0B;;AAI5B,+BAAgBi6D,GAAGj6D,EAAZ,CAAYA,CAAHi6D,CAAhB,cAA4BA,GAAGj6D,EAJH,CAIGA,CAAHi6D,CAA5B;AAL0B;;AAO5B,UAAIj6D,SAASA,EAATA,CAASA,CAATA,IAAiBA,SAAS,CAACA,EAA/B,CAA+BA,CAA/B,EAAqC;AACnC,YAAMW,IAAKhd,UAAUqc,EAAVrc,CAAUqc,CAAVrc,IAAD,GAACA,GAAyBA,KADD,EACnC;AACA,gCAAiBs2E,GAFkB,CAElBA,CAAjB;AAT0B;AAA9B,WAWO;AACL,UAAIj6D,cAAcA,SAAdA,KAA4BA,SAA5BA,KAA0CA,SAA9C,GAA0D;AACxD,mCAAoBi6D,GAAGj6D,EAAhB,CAAgBA,CAAHi6D,CAApB,cAAgCA,GAAGj6D,EADqB,CACrBA,CAAHi6D,CAAhC;AAFG;AAZM;;AAiBb,WACE,iBAAUA,GAAGj6D,EAAb,CAAaA,CAAHi6D,CAAV,cAAsBA,GAAGj6D,EAAzB,CAAyBA,CAAHi6D,CAAtB,cAAkCA,GAAGj6D,EAArC,CAAqCA,CAAHi6D,CAAlC,cAA8CA,GAAGj6D,EAAjD,CAAiDA,CAAHi6D,CAA9C,cAA0DA,GAAGj6D,EAA7D,CAA6DA,CAAHi6D,CAA1D,mBACGA,GAAGj6D,EAnBK,CAmBLA,CAAHi6D,CADH,MADF;AAjYF;;AACA,MAAMC,eAAe;AACnBC,eADmB;AAEnBC,gBAFmB;AAGnBje,eAHmB;AAAA,GAArB;AAKA,MAAMke,SANN,sCAMA;AACA,MAAMC,WAPN,8BAOA;AACA,MAAM3gB,kBAAkB,2BAAxB;AACA,MAAMC,mBAAmB,2BAAzB;;AAEA,MAAM2gB,sBAAuB,YAAY;AACvC,QAAMC,aAAa,eAAe,gDAAf,CAAnB;AAGA,QAAMC,qBAJiC,EAIvC;AAEA,QAAMC,WAAW,eANsB,GAMtB,CAAjB;;AACA,SAAK,IAAIz1E,IAAT,GAAgBA,IAAhB,KAAyBA,CAAzB,IAA8B;AAC5B,UAAI4b,IADwB,CAC5B;;AACA,WAAK,IAAI8gD,IAAT,GAAgBA,IAAhB,GAAuBA,CAAvB,IAA4B;AAC1B,YAAI9gD,IAAJ,GAAW;AACTA,cAAI,aAAeA,KAAD,CAACA,GADV,UACTA;AADF,eAEO;AACLA,cAAKA,KAAD,CAACA,GADA,UACLA;AAJwB;AAFA;;AAS5B65D,oBAT4B,CAS5BA;AAhBqC;;AAmBvC,qCAAiC;AAC/B,UAAIC,MAAM,CADqB,CAC/B;;AACA,WAAK,IAAI11E,KAAT,OAAoBA,KAApB,KAA6BA,EAA7B,IAAkC;AAChC,YAAM0b,IAAK,OAAM5B,KAAP,EAAOA,CAAN,IADqB,IAChC;AACA,YAAM6B,IAAI85D,SAFsB,CAEtBA,CAAV;AACAC,cAAOA,QAAD,CAACA,GAHyB,CAGhCA;AAL6B;;AAO/B,aAAOA,MAAM,CAPkB,CAO/B;AA1BqC;;AA6BvC,qDAAiD;AAC/C,UAAI56D,IAD2C,MAC/C;AACA,UAAM64D,MAAMgC,KAFmC,MAE/C;AAEA77D,gBAAW65D,OAAD,EAACA,GAJoC,IAI/C75D;AACAA,WAAKgB,IAALhB,KAAe65D,OAAD,EAACA,GALgC,IAK/C75D;AACAA,WAAKgB,IAALhB,KAAe65D,OAAD,CAACA,GANgC,IAM/C75D;AACAA,WAAKgB,IAALhB,KAAc65D,MAPiC,IAO/C75D;AACAgB,WAR+C,CAQ/CA;AAEAhB,gBAAUlW,qBAVqC,IAU/CkW;AACAA,WAAKgB,IAALhB,KAAclW,qBAXiC,IAW/CkW;AACAA,WAAKgB,IAALhB,KAAclW,qBAZiC,IAY/CkW;AACAA,WAAKgB,IAALhB,KAAclW,qBAbiC,IAa/CkW;AACAgB,WAd+C,CAc/CA;AAEAhB,qBAhB+C,CAgB/CA;AACAgB,WAAK66D,KAjB0C,MAiB/C76D;AAEA,UAAM46D,MAAME,YAAYrpB,SAAZqpB,GAnBmC,CAmBnCA,CAAZ;AACA97D,gBAAW47D,OAAD,EAACA,GApBoC,IAoB/C57D;AACAA,WAAKgB,IAALhB,KAAe47D,OAAD,EAACA,GArBgC,IAqB/C57D;AACAA,WAAKgB,IAALhB,KAAe47D,OAAD,CAACA,GAtBgC,IAsB/C57D;AACAA,WAAKgB,IAALhB,KAAc47D,MAvBiC,IAuB/C57D;AApDqC;;AAuDvC,uCAAmC;AACjC,UAAI4B,IAD6B,CACjC;AACA,UAAIC,IAF6B,CAEjC;;AACA,WAAK,IAAI3b,MAAT,OAAoBA,MAApB,KAA6B,EAA7B,KAAkC;AAChC0b,YAAK,MAAK,YAAN,IAAC,KAD2B,KAChCA;AACAC,YAAK,KAAD,CAAC,IAF2B,KAEhCA;AAL+B;;AAOjC,aAAQA,KAAD,EAACA,GAPyB,CAOjC;AA9DqC;;AAuEvC,mCAA+B;AAC7B,UAAI,CAAJ,mBAAe;AAIb,eAAOk6D,wBAJM,QAINA,CAAP;AAL2B;;AAO7B,UAAI;AAUF,YAVE,KAUF;;AAEA,YAAI9zE,SAASoc,iBAATpc,SAAJ,GAA0C;AACxC2f,kBADwC,QACxCA;AADF,eAEO;AAELA,kBAAQ3D,YAFH,QAEGA,CAAR2D;AAhBA;;AAkBF,YAAMo0D,SAASznB,mCAAmD;AAChE0nB,iBAnBA;AAkBgE,SAAnD1nB,CAAf;;AAGA,eAAOynB,wCAAwC,eArB7C,MAqB6C,CAA/C;AArBF,QAsBE,UAAU;AACVx1E,wBACE,kEAFQ,CACVA;AA9B2B;;AAmC7B,aAAOu1E,wBAnCsB,QAmCtBA,CAAP;AA1GqC;;AA8GvC,+CAA2C;AACzC,UAAIlC,MAAMqC,SAD+B,MACzC;AACA,UAAMC,iBAFmC,MAEzC;AAEA,UAAMC,gBAAgBx3E,UAAUi1E,MAJS,cAInBj1E,CAAtB;AACA,UAAMy3E,OAAO,eAAe,UAAUD,gBAAV,IALa,CAK5B,CAAb;AACA,UAAIE,KANqC,CAMzC;AACAD,WAAKC,EAALD,MAPyC,IAOzCA;AACAA,WAAKC,EAALD,MARyC,IAQzCA;AAEA,UAAIt8D,MAVqC,CAUzC;;AACA,aAAO85D,MAAP,gBAA6B;AAE3BwC,aAAKC,EAALD,MAF2B,IAE3BA;AACAA,aAAKC,EAALD,MAH2B,IAG3BA;AACAA,aAAKC,EAALD,MAJ2B,IAI3BA;AACAA,aAAKC,EAALD,MAL2B,IAK3BA;AACAA,aAAKC,EAALD,MAN2B,IAM3BA;AACAA,iBAASH,uBAAuBn8D,MAAhCs8D,cAASH,CAATG,EAP2B,EAO3BA;AACAC,cAR2B,cAQ3BA;AACAv8D,eAT2B,cAS3BA;AACA85D,eAV2B,cAU3BA;AArBuC;;AAyBzCwC,WAAKC,EAALD,MAzByC,IAyBzCA;AACAA,WAAKC,EAALD,MAAaxC,MA1B4B,IA0BzCwC;AACAA,WAAKC,EAALD,MAAcxC,OAAD,CAACA,GA3B2B,IA2BzCwC;AACAA,WAAKC,EAALD,MAAa,gBA5B4B,IA4BzCA;AACAA,WAAKC,EAALD,MAAe,QAAD,MAAC,KAAF,CAAE,GA7B0B,IA6BzCA;AACAA,eAASH,kBAATG,GAASH,CAATG,EA9ByC,EA8BzCA;AACAC,YAAMJ,kBA/BmC,GA+BzCI;AAEA,UAAMC,QAAQC,qBAAqBN,SAjCM,MAiC3BM,CAAd;AACAH,WAAKC,EAALD,MAAcE,SAAD,EAACA,GAlC2B,IAkCzCF;AACAA,WAAKC,EAALD,MAAcE,SAAD,EAACA,GAnC2B,IAmCzCF;AACAA,WAAKC,EAALD,MAAcE,SAAD,CAACA,GApC2B,IAoCzCF;AACAA,WAAKC,EAALD,MAAaE,QArC4B,IAqCzCF;AACA,aAtCyC,IAsCzC;AApJqC;;AAuJvC,4DAAwD;AACtD,UAAMh6E,QAAQ8zD,QADwC,KACtD;AACA,UAAM7zD,SAAS6zD,QAFuC,MAEtD;AACA,+BAHsD,QAGtD;AACA,UAAM92C,QAAQ82C,QAJwC,IAItD;;AAEA;AACE,aAAK5mD,gBAAL;AACEktE,sBADF,CACEA;AACAC,qBAFF,CAEEA;AACApmB,qBAAYj0D,QAAD,CAACA,IAHd,CAGEi0D;AAJJ;;AAME,aAAK/mD,gBAAL;AACEktE,sBADF,CACEA;AACAC,qBAFF,CAEEA;AACApmB,qBAAWj0D,QAHb,CAGEi0D;AATJ;;AAWE,aAAK/mD,gBAAL;AACEktE,sBADF,CACEA;AACAC,qBAFF,CAEEA;AACApmB,qBAAWj0D,QAHb,CAGEi0D;AAdJ;;AAgBE;AACE,gBAAM,UAjBV,gBAiBU,CAAN;AAjBJ;;AAqBA,UAAM4lB,WAAW,eAAgB,KAAD,QAAC,IA3BqB,MA2BrC,CAAjB;AACA,UAAIS,iBAAJ;AAAA,UACEC,cA7BoD,CA4BtD;;AAEA,WAAK,IAAI5iB,IAAT,GAAgBA,IAAhB,QAA4B,EAA5B,GAAiC;AAC/BkiB,iBAASS,cAATT,MAD+B,CAC/BA;AACAA,qBACE78D,4BAA4Bu9D,cAD9BV,QACE78D,CADF68D,EAF+B,cAE/BA;AAIAU,uBAN+B,QAM/BA;AACAD,0BAP+B,QAO/BA;AArCoD;;AAwCtD,UAAI5uD,SAASxe,gBAATwe,kBAAJ,QAAiD;AAE/C4uD,yBAF+C,CAE/CA;;AACA,aAAK,IAAI3iB,KAAT,GAAgBA,KAAhB,QAA4BA,EAA5B,IAAiC;AAC/B2iB,wBAD+B;;AAE/B,eAAK,IAAIz2E,MAAT,GAAgBA,MAAhB,UAA8BA,GAA9B,IAAmC;AACjCg2E,qBAASS,cAATT,OADiC,IACjCA;AAH6B;AAHc;AAxCK;;AAmDtD,UAAMW,OAAO,eAAe,CACzBx6E,SAAD,EAACA,GADyB,MAEzBA,SAAD,EAACA,GAFyB,MAGzBA,SAAD,CAACA,GAHyB,MAI1BA,QAJ0B,MAKzBC,UAAD,EAACA,GALyB,MAMzBA,UAAD,EAACA,GANyB,MAOzBA,UAAD,CAACA,GAPyB,MAQ1BA,SAR0B,4CAAf,CAAb;AAeA,UAAM+5E,OAAOS,YAlEyC,QAkEzCA,CAAb;AAGA,UAAMC,YACJtB,oBAAoBC,qBAApBD,IAA6CoB,KAA7CpB,SAA2DY,KAtEP,MAqEtD;AAEA,UAAMr8D,OAAO,eAvEyC,SAuEzC,CAAb;AACA,UAAIyyC,SAxEkD,CAwEtD;AACAzyC,2BAzEsD,MAyEtDA;AACAyyC,gBAAUgpB,WA1E4C,MA0EtDhpB;AACAuqB,wCA3EsD,MA2EtDA;AACAvqB,gBAAUipB,qBAAqBmB,KA5EuB,MA4EtDpqB;AACAuqB,yCA7EsD,MA6EtDA;AACAvqB,gBAAUipB,qBAAqBW,KA9EuB,MA8EtD5pB;AACAuqB,4BAAsB,eAAtBA,CAAsB,CAAtBA,QA/EsD,MA+EtDA;AAEA,aAAOC,8CAjF+C,eAiF/CA,CAAP;AAxOqC;;AA4OvC,WAAO,+DAA+D;AACpE,UAAMlvD,OACJooC,6BAA6B5mD,gBAA7B4mD,iBAAwDA,QAFU,IACpE;AAEA,aAAO+mB,uCAH6D,MAG7DA,CAAP;AA/OqC,KA4OvC;AAvPF,GAW6B,EAA7B;;AAXA,MA8PA,aA9PA;AA+PEl7E,6BAAc;AAAA;;AACZ,2BADY,CACZ;AACA,wBAAkBm5E,aAFN,UAEZ;AACA,sBAHY,CAGZ;AAEA,wBALY,qBAKZ;AACA,wBANY,0BAMZ;AACA,qBAPY,CAOZ;AACA,+BAAyBvsE,wBARb,IAQZ;AACA,6BATY,CASZ;AAGA,eAZY,CAYZ;AACA,eAbY,CAaZ;AAGA,mBAhBY,CAgBZ;AACA,mBAjBY,CAiBZ;AAGA,yBApBY,CAoBZ;AACA,yBArBY,CAqBZ;AACA,wBAtBY,CAsBZ;AACA,sBAvBY,CAuBZ;AAGA,uBAAiBusE,aA1BL,SA0BZ;AACA,yBA3BY,SA2BZ;AAEA,uBA7BY,CA6BZ;AACA,yBA9BY,CA8BZ;AACA,uBA/BY,CA+BZ;AACA,sBAhCY,EAgCZ;AACA,qBAjCY,EAiCZ;AACA,wBAlCY,CAkCZ;AAEA,uBApCY,EAoCZ;AACA,uBArCY,CAqCZ;AAEA,0BAvCY,EAuCZ;AAGA,2BA1CY,IA0CZ;AACA,uBA3CY,IA2CZ;AAEA,oBA7CY,EA6CZ;AA9CgB;;AA9PpB;AAAA;AAAA,aA+SEr2E,iBAAQ;AACN,eAAOgC,cADD,IACCA,CAAP;AAlDgB;AA9PpB;AAAA;AAAA,aAmTE0wD,+BAAsB;AACpB,iBADoB,CACpB;AACA,iBAFoB,CAEpB;AAvDgB;AA9PpB;;AAAA;AAAA;;AA0YA,MAAI2lB,YA1YJ,CA0YA;AACA,MAAIC,YA3YJ,CA2YA;AACA,MAAIC,eA5YJ,CA4YA;;AAEAtC;AACE/4E,2CAAuD;AAAA,UAAzBshB,eAAyB,uEAAvDthB,KAAuD;;AAAA;;AACrD,wBAAkB,IADmC,4BACnC,EAAlB;AAEA,qBAAe,IAHsC,aAGtC,EAAf;AACA,6BAJqD,qBAIrD;AACA,4BALqD,EAKrD;AACA,wBANqD,EAMrD;AACA,wBAPqD,UAOrD;AACA,kBARqD,IAQrD;AACA,yBATqD,IASrD;AACA,2BAVqD,KAUrD;AAEA,wBAZqD,KAYrD;AACA,2BAAqB8E,cAbgC,IAahCA,CAArB;AACA,sBAdqD,IAcrD;AACA,6BAAuB,CAAC,CAf6B,eAerD;AAKA,gCApBqD,EAoBrD;;AACA,gCAAsB;AACpB,gCAAwByQ,UAAxB,EAAwBA,CAAxB,IADoB,EACpB;AAtBmD;AADrC;;AAApBwjE;AAAAA;AAAAA,aA2BE9iE,gBAAO;AACL,iCAAyB,KADpB,eACL;AACA,YAAMy9C,MAAM,KAFP,OAEL;AACA,6BAHK,GAGL;AACA,uBAAeA,IAJV,KAIUA,EAAf;AA/BgB;AAApBqlB;AAAAA;AAAAA,aAkCE7iE,mBAAU;AACR,+BAAuB,oBADf,GACe,EAAvB;AACA,uBAAe,gBAFP,GAEO,EAAf;AACA,2BAHQ,IAGR;AACA,oBAJQ,IAIR;AAtCgB;AAApB6iE;AAAAA;AAAAA,aAyCEnZ,sBAAa;AACX,aADW,IACX;AACA,2BAFW,KAEX;AACA,aAHW,OAGX;AA5CgB;AAApBmZ;AAAAA;AAAAA,aA+CEuC,wCAA+B;AAAA;;AAC7B,YAAMtzB,UAAUS,aADa,OAC7B;AACA,YAAMR,YAAYQ,aAFW,SAE7B;;AAEA,aAAK,IAAIvkD,IAAJ,GAAWD,KAAK+jD,QAArB,QAAqC9jD,IAArC,IAA6CA,CAA7C,IAAkD;AAChD,cAAI8jD,eAAezyC,UAAnB,YAAmC;AAAA;AADa;;AAAA,sDAK9B0yC,UAAlB,CAAkBA,CAL8B;AAAA;;AAAA;AAAA;AAAA,kBAKhD,GALgD;AAM9C,kBAAMyR,WAAWpyD,uBAAuB,MAAvBA,aAAyC,MAD5B,IAC9B;AACA,kBAAMyuB,UAAU,YAAYp0B,mBAAW;AACrC+3D,kCADqC,OACrCA;AAH4B,eAEd,CAAhB;;AAGA,8CAL8B,OAK9B;AAV8C;;AAKhD,mEAAgC;AAAA;AALgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAJrB;;AAiB7B,eAAOzmC,YAAY,aAjBU,YAiBtBA,CAAP;AAhEgB;AAApB8lD;AAAAA;AAAAA,aAmEE5iE,qCAA4B;AAC1B,YAAMolE,kBAAkB,kBAAxB;AACA,+BAAuBl8D,qBACrB,KADqBA,iBAFG,eAEHA,CAAvB;AAIA,oBAN0B,IAM1B;AAzEgB;AAApB05D;AAAAA;AAAAA,aA4EEyC,wCAA+B;AAAA;;AAC7B,wBAD6B,QAC7B;;AAEA,YAAMtZ,aAAa,iBAHU,QAGV,CAAnB;;AACA,eAAO,yCAAyC,YAAM;AACpD,mCADoD,qBACpD;;AACA,+BAAmB,qBAFiC,YAEjC,CAAnB;;AACA,iBAHoD,UAGpD;AAP2B,SAItB,CAAP;AAhFgB;AAApB6W;AAAAA;AAAAA,aAuFE0C,qCAA4B;AAC1B,YAAMC,oBAAoB,KADA,kBAC1B;AACA,YAAMzzB,YAAYQ,aAFQ,SAE1B;AACA,YAAMT,UAAUS,aAHU,OAG1B;AACA,YAAMkzB,SAJoB,EAI1B;;AACA,aAAK,IAAIz3E,IAAJ,GAAWD,KAAK+jD,QAArB,QAAqC9jD,IAArC,IAA6CA,CAA7C,IAAkD;AAChD,cAAMu1D,OAAOzR,QADmC,CACnCA,CAAb;AACA2zB,sBAAY;AACVliB,gBADU,EACVA,IADU;AAEVzxD,gBAAI0zE,kBAFM,IAENA,CAFM;AAGVvhD,kBAAM8tB,UAHI,CAGJA;AAHI,WAAZ0zB;AAPwB;;AAa1B,eAAOC,aAbmB,MAanBA,CAAP;AApGgB;AAApB7C;AAAAA;AAAAA,aAuGE8C,+BAAsB;AAAA,oDACpB,MADoB;AAAA;;AAAA;AACpB,iEAAoC;AAAA,gBAApC,aAAoC;AAClC,gBAAM7zE,KAAK8zE,cADuB,EAClC;AACA,gBAAMriB,OAAOqiB,cAFqB,IAElC;AACA,gBAAM3hD,OAAO2hD,cAHqB,IAGlC;;AAEA,oBAAQriB,OAAR;AACE,mBAAKlkD,UAAL;AACE,qBADF,SACE;AAFJ;;AAIE,mBAAKA,UAAL;AAJF;;AAOE,mBAAKA,UAAL;AACE,gCADF,IACE;AARJ;;AAUE,mBAAKA,UAAL;AACE,wCAAwB4kB,KAAxB,CAAwBA,CAAxB,EAAiCA,KADnC,CACmCA,CAAjC;AAXJ;;AAaE,mBAAK5kB,UAAL;AACE,6BADF,IACE;AAdJ;;AAgBE,mBAAKA,UAAL;AACE,8BAAc4kB,KADhB,CACgBA,CAAd;AAjBJ;;AAmBE,mBAAK5kB,UAAL;AACE,8BAAc4kB,KADhB,CACgBA,CAAd;AApBJ;;AAsBE,mBAAK5kB,UAAL;AACE,qBADF,OACE;AAvBJ;;AAyBE,mBAAKA,UAAL;AACE,8BAAc4kB,KAAd,CAAcA,CAAd,EAAuBA,KADzB,CACyBA,CAAvB;AA1BJ;;AA4BE,mBAAK5kB,UAAL;AACE,oCAAoB4kB,KADtB,CACsBA,CAApB;AA7BJ;;AA+BE,mBAAK5kB,UAAL;AACE,oCAAoB4kB,KADtB,CACsBA,CAApB;AAhCJ;;AAkCE,mBAAK5kB,UAAL;AACE,+BAAe4kB,KADjB,CACiBA,CAAf;AAnCJ;;AAqCE,mBAAK5kB,UAAL;AACE,mCACE4kB,KADF,CACEA,CADF,EAEEA,KAFF,CAEEA,CAFF,EAGEA,KAHF,CAGEA,CAHF,EAIEA,KAJF,CAIEA,CAJF,EAKEA,KALF,CAKEA,CALF,EAMEA,KAPJ,CAOIA,CANF;AAtCJ;;AA+CE,mBAAK5kB,UAAL;AACE,iCAAiB4kB,KADnB,CACmBA,CAAjB;AAhDJ;;AAkDE,mBAAK5kB,UAAL;AACE,0CAA0B4kB,KAD5B,CAC4BA,CAA1B;AAnDJ;;AAqDE,mBAAK5kB,UAAL;AACE,kCAAkB4kB,KADpB,CACoBA,CAAlB;AAtDJ;;AAwDE,mBAAK5kB,UAAL;AACE,iCAAiB4kB,KADnB,CACmBA,CAAjB;AAzDJ;;AA2DE,mBAAK5kB,UAAL;AACE,gCAAgB4kB,KADlB,CACkBA,CAAhB;AA5DJ;;AA8DE,mBAAK5kB,UAAL;AACE,mCAAmB4kB,KADrB,CACqBA,CAAnB;AA/DJ;;AAiEE,mBAAK5kB,UAAL;AACE,qCAAqB4kB,KAArB,CAAqBA,CAArB,EAA8BA,KAA9B,CAA8BA,CAA9B,EAAuCA,KADzC,CACyCA,CAAvC;AAlEJ;;AAoEE,mBAAK5kB,UAAL;AACE,uCAAuB4kB,KAAvB,CAAuBA,CAAvB,EAAgCA,KAAhC,CAAgCA,CAAhC,EAAyCA,KAD3C,CAC2CA,CAAzC;AArEJ;;AAuEE,mBAAK5kB,UAAL;AACE,qCADF,IACE;AAxEJ;;AA0EE,mBAAKA,UAAL;AACE,mCADF,IACE;AA3EJ;;AA6EE,mBAAKA,UAAL;AACE,iCAAiB4kB,KADnB,CACmBA,CAAjB;AA9EJ;;AAgFE,mBAAK5kB,UAAL;AACE,6BAAa4kB,KAAb,CAAaA,CAAb,EAAsBA,KADxB,CACwBA,CAAtB;AAjFJ;;AAmFE,mBAAK5kB,UAAL;AACE,wCAAwB4kB,KAD1B,CAC0BA,CAAxB;AApFJ;;AAsFE,mBAAK5kB,UAAL;AACE,iCAAiB4kB,KADnB,CACmBA,CAAjB;AAvFJ;;AAyFE,mBAAK5kB,UAAL;AACE,+BAAe4kB,KADjB,CACiBA,CAAf;AA1FJ;;AA4FE,mBAAK5kB,UAAL;AACE,qBADF,IACE;AA7FJ;;AA+FE,mBAAKA,UAAL;AACE,qBADF,MACE;AAhGJ;;AAkGE,mBAAKA,UAAL;AACE,qBADF,MACE;AAnGJ;;AAqGE,mBAAKA,UAAL;AACE,qBADF,UACE;AAtGJ;;AAwGE,mBAAKA,UAAL;AACE,qBADF,YACE;AAzGJ;;AA2GE,mBAAKA,UAAL;AACE,0BADF,SACE;AA5GJ;;AA8GE,mBAAKA,UAAL;AACE,0BADF,SACE;AA/GJ;;AAiHE,mBAAKA,UAAL;AACE,qBADF,wBACE;AAlHJ;;AAoHE,mBAAKA,UAAL;AACE,uCAAuB4kB,KADzB,CACyBA,CAAvB;AArHJ;;AAuHE,mBAAK5kB,UAAL;AACE,6CAA6B4kB,KAD/B,CAC+BA,CAA7B;AAxHJ;;AA0HE,mBAAK5kB,UAAL;AACE,2CAA2B4kB,KAD7B,CAC6BA,CAA3B;AA3HJ;;AA6HE,mBAAK5kB,UAAL;AACE,2CAA2B4kB,KAA3B,CAA2BA,CAA3B,EAAoCA,KADtC,CACsCA,CAApC;AA9HJ;;AAgIE,mBAAK5kB,UAAL;AACE,qBADF,mBACE;AAjIJ;;AAmIE,mBAAKA,UAAL;AACE,qBADF,SACE;AApIJ;;AAsIE,mBAAKA,UAAL;AACE,qBADF,WACE;AAvIJ;;AAyIE,mBAAKA,UAAL;AACE,qBADF,eACE;AA1IJ;;AA4IE,mBAAKA,UAAL;AACE,qBADF,iBACE;AA7IJ;;AA+IE,mBAAKA,UAAL;AACE,qBADF,QACE;AAhJJ;;AAkJE,mBAAKA,UAAL;AACE,+BACE4kB,KADF,CACEA,CADF,EAEEA,KAFF,CAEEA,CAFF,EAGEA,KAHF,CAGEA,CAHF,EAIEA,KAJF,CAIEA,CAJF,EAKEA,KALF,CAKEA,CALF,EAMEA,KAPJ,CAOIA,CANF;AAnJJ;;AA4JE,mBAAK5kB,UAAL;AACE,mCAAmB4kB,KAAnB,CAAmBA,CAAnB,EAA4BA,KAD9B,CAC8BA,CAA5B;AA7JJ;;AA+JE,mBAAK5kB,UAAL;AACE,qBADF,OACE;AAhKJ;;AAkKE;AACE,2BAAWumE,cADb,KACE;AAnKJ;;AAqKE;AACEt3E,iEADF,EACEA;AAtKJ;AAAA;AANkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAvGJ;AAApBu0E;AAAAA;AAAAA,aAyREthE,qCAA4B;AAC1B,mCAD0B,WAC1B;AA1RgB;AAApBshE;AAAAA;AAAAA,aA6REvhE,qCAA4B;AAC1B,mCAD0B,WAC1B;AA9RgB;AAApBuhE;AAAAA;AAAAA,aAiSE7gE,oBAAW;AACT,yBAAiB,aADR,OACT;AAlSgB;AAApB6gE;AAAAA;AAAAA,aAqSE9gE,yCAAgC;AAC9B,YAAMk6C,UAAU,KADc,OAC9B;AACAA,6BAAqBA,qBAAqB,kBAA1CA;AACAA,kCAA0BvvD,cAHI,CAGJA,CAA1BuvD;AAEAA,oBAAYA,gBALkB,CAK9BA;AACAA,oBAAYA,gBANkB,CAM9BA;AAEAA,0BAR8B,EAQ9BA;AACAA,0BAT8B,EAS9BA;AACAA,wBAAgB,8BAVc,WAUd,CAAhBA;AACAA,0DAAkDA,QAXpB,UAW9BA;AACAA,kEAGK+mB,GAAG/mB,QAfsB,QAezB+mB,CAHL/mB;AAKAA,gDAAwC+mB,GAAG,CAAC/mB,QAjBd,CAiBU+mB,CAAxC/mB;AAEAA,6BAAqB,8BAnBS,UAmBT,CAArBA;AACAA,uCAA+BA,QApBD,KAoB9BA;AAzTgB;AAApB4mB;AAAAA;AAAAA,aA4TEzhE,qBAAY;AACV,YAAM66C,UAAU,KADN,OACV;AACAA,oBAAYA,gBAFF,CAEVA;AACAA,oBAAYA,gBAHF,CAGVA;AACAA,6BAJU,qBAIVA;AACAA,6BALU,qBAKVA;AACAA,kCANU,CAMVA;AACAA,wBAAgB,8BAPN,WAOM,CAAhBA;AACAA,6BAAqB,8BARX,UAQW,CAArBA;AACAA,yBAAiB,8BATP,OASO,CAAjBA;AACAA,0BAVU,EAUVA;AACAA,0BAXU,EAWVA;AAvUgB;AAApB4mB;AAAAA;AAAAA,aA0UEhhE,wBAAe;AACb,YAAMo6C,UAAU,KADH,OACb;AACAA,oBAAYA,iBAFC,CAEbA;AACAA,oBAAYA,iBAHC,CAGbA;AAEAA,0BALa,EAKbA;AACAA,0BANa,EAMbA;AACAA,wBAAgB,8BAPH,WAOG,CAAhBA;AACAA,0DAAkDA,QARrC,UAQbA;AACAA,kEAGK+mB,GAAG/mB,QAZK,QAYR+mB,CAHL/mB;AAKAA,gDAAwC+mB,GAAG,CAAC/mB,QAd/B,CAc2B+mB,CAAxC/mB;AAxVgB;AAApB4mB;AAAAA;AAAAA,aA2VE5gE,0BAAiB;AACf,YAAMg6C,UAAU,KADD,OACf;AACA,YAAMz2C,OAAOy2C,QAFE,IAEf;AACA,YAAM4J,WAAW5J,QAHF,QAGf;;AACA,YAAI4J,aAAJ,GAAoB;AAAA;AAJL;;AAQf,YAAMK,gBAAgBjK,QARP,aAQf;AACA,YAAMkK,cAAclK,QATL,WASf;AACA,YAAMmK,cAAcnK,QAVL,WAUf;AACA,YAAMoK,gBAAgBpK,QAXP,aAWf;AACA,YAAMqK,aAAarK,qBAZJ,aAYf;AACA,YAAMwK,WAAWjhD,KAbF,QAaf;AACA,YAAMkhD,aAAaD,eAAe,CAdnB,CAcf;AACA,YAAME,kBAAkBnhD,KAfT,eAef;AACA,YAAMohD,oBAAoBf,WAAW5J,mBAhBtB,CAgBsBA,CAArC;AAEA,YAAIl6B,IAlBW,CAkBf;;AAlBe,oDAmBf,MAnBe;AAAA;;AAAA;AAmBf,iEAA4B;AAAA,gBAA5B,KAA4B;;AAC1B,gBAAIklC,UAAJ,MAAoB;AAElBllC,mBAAKskC,gBAFa,WAElBtkC;AAFkB;AAApB,mBAIO,IAAImlC,iBAAJ,KAAIA,CAAJ,EAAkB;AACvBnlC,mBAAM2kC,qBAAD,QAACA,GADiB,IACvB3kC;AADuB;AALC;;AAU1B,gBAAMqlC,UAAW,+BAAD,CAAC,IAVS,WAU1B;AACA,gBAAMC,YAAYJ,MAXQ,QAW1B;AACA,gBAAIM,OAAJ;AAAA,gBAAaC,OAZa,SAY1B;AACA,gBAAIr9D,QAAQ88D,MAbc,KAa1B;;AACA,0BAAc;AACZ,kBAAIS,EADQ,SACZ;AACA,kBAAMD,UAAUR,iBAFJ,eAEZ;AACAS,mBAAKT,gBAAgBQ,QAAhBR,CAAgBQ,CAAhBR,GAA6B98D,QAHtB,GAGZu9D;AACAA,mBAAK,MAJO,iBAIZA;AACA,kBAAMC,KAAKF,aALC,iBAKZ;AAEAt9D,sBAAQs9D,UAAU,CAACA,QAAXA,CAAWA,CAAXA,GAPI,KAOZt9D;AACAo9D,wBAAUG,KARE,aAQZH;AACAC,wBAAW,KAAD,EAAC,IATC,aASZA;AATF,mBAUO;AACLD,wBAAUxlC,IADL,aACLwlC;AACAC,wBAFK,CAELA;AA1BwB;;AA6B1B,gBAAIP,kBAAkBzhD,KAAtB,aAAwC;AACtCy2C,mCAAqBA,YADiB,OACtCA;;AACA,4BAAc;AACZA,qCAAqB,CAACA,QAAD,IADT,OACZA;AAHoC;;AAKtCA,2CALsC,SAKtCA;AALF,mBAMO,CAnCmB;;AA0C1B,gBAAI+L,SA1CsB,SA0C1B;;AACA,0BAAc;AACZA,0BAAY79D,4BAA4Bi9D,UAD5B,aACZY;AADF,mBAEO;AACLA,0BAAY79D,4BAA4Bi9D,UADnC,aACLY;AA9CwB;;AAiD1BjmC,iBAjD0B,SAiD1BA;AApEa;AAAA;AAAA;AAAA;AAAA;AAAA;;AAsEfk6B,gDAGEA,6BAzEa,GAyEbA,CAHFA;;AAKA,sBAAc;AACZA,kDAGEA,6BAJU,GAIVA,CAHFA;AADF,eAMO;AACLA,kDAAwC+mB,GAAG,CAAC/mB,QADvC,CACmC+mB,CAAxC/mB;AAlFa;;AAqFf,sBAAc;AACZA,uBADY,CACZA;AADF,eAEO;AACLA,uBAAal6B,IADR,UACLk6B;AAxFa;;AA2FfA,0DAAkDA,QA3FnC,UA2FfA;AACAA,kEAGK+mB,GAAG/mB,QA/FO,QA+FV+mB,CAHL/mB;;AAKA,YAAIA,sBAAsBgnB,aAA1B,WAAkD;AAChDhnB,2DAAiDA,QADD,SAChDA;AAlGa;;AAoGf,YAAIA,uBAAuBgnB,aAA3B,YAAoD;AAClDhnB,4DAAkDA,QADA,UAClDA;AArGa;;AAwGf,YAAM6J,iBACJ7J,4BAA4BvlD,wBAzGf,gBAwGf;;AAEA,YACEovD,mBAAmBpvD,wBAAnBovD,QACAA,mBAAmBpvD,wBAFrB,aAGE;AACA,cAAIulD,sBAAsBgnB,aAA1B,WAAkD;AAChDhnB,uDAA2CA,QADK,SAChDA;AAFF;;AAIA,cAAIA,oBAAJ,GAA2B;AACzBA,+DAAmDA,QAD1B,SACzBA;AALF;AAHF,eAUO,IAAIA,8BAA8BvlD,wBAAlC,aAAiE;AAGtEulD,qDAHsE,aAGtEA;AAHK,eAIA;AACLA,qDADK,MACLA;AAzHa;;AA4Hf,YACE6J,mBAAmBpvD,wBAAnBovD,UACAA,mBAAmBpvD,wBAFrB,aAGE;AACA,cAAMmvE,iBAAiB,KAAK,2BAD5B,CACuB,CAAvB;;AACA,oCAA0B5pB,QAA1B,OAFA,cAEA;AAjIa;;AAuIf,YAAI6pB,aAAa7pB,QAvIF,UAuIf;;AACA,YAAIA,qBAAJ,GAA4B;AAC1B6pB,uBAAaA,WADa,KACbA,EAAbA;AACAA,2BAAiB7pB,QAFS,QAE1B6pB;AA1Ia;;AA6If7pB,uEAGK8pB,GAAH,UAAGA,CAHL9pB,oBAG6B+mB,GAhJd,UAgJcA,CAH7B/mB;AAKAA,+DAlJe,UAkJfA;AACAA,uCAA+BA,QAnJhB,KAmJfA;AACAA,mCAA2BA,QApJZ,UAoJfA;;AAEA,iDAAyCA,QAtJ1B,UAsJf;AAjfgB;AAApB4mB;AAAAA;AAAAA,aAofE/gE,kCAAyB;AACvB,wBAAgB,CADO,CACvB;AACA,yBAFuB,CAEvB;AAtfgB;AAApB+gE;AAAAA;AAAAA,aAyfEmD,+BAAsB;AACpB,YAAI,CAAC1gB,QAAL,MAAmB;AACjB,gBAAM,UACJ,2CAFe,6DACX,CAAN;AAFkB;;AAOpB,YAAI,CAAC,KAAL,UAAoB;AAClB,0BAAgB,8BADE,WACF,CAAhB;AACA,qDAFkB,UAElB;AACA,gCAAsB,KAHJ,QAGlB;AAVkB;;AAapB,YAAM16D,MAAMm6E,2BACVzf,QADUyf,MAEVzf,QAFUyf,UAGV,KAhBkB,eAaRA,CAAZ;AAKA,qCACE,sCAA8Bzf,QAA9B,yCAnBkB,GAmBlB,WADF;AA3gBgB;AAApBud;AAAAA;AAAAA,aAghBEnhE,0BAAiB;AACf,YAAMu6C,UAAU,KADD,OACf;AACA,YAAMqJ,UAAU,oBAAoB2gB,QAFrB,CAEqBA,CAApB,CAAhB;AACA,YAAIp/C,OAAOo/C,QAHI,CAGJA,CAAX;AACAhqB,uBAJe,OAIfA;;AAEA,YACE,mBACA,CAACqJ,QADD,eAEA,CAAC,mBAAmBA,QAHtB,UAGG,CAHH,EAIE;AACA,4BADA,OACA;AACA,6BAAmBA,QAAnB,cAFA,OAEA;AAZa;;AAcfrJ,6BAAqBqJ,sBAdN,0BAcfrJ;AAEA,YAAIsJ,OAhBW,QAgBf;;AACA,YAAID,QAAJ,OAAmB;AACjBC,iBADiB,KACjBA;AADF,eAEO,IAAID,QAAJ,MAAkB;AACvBC,iBADuB,MACvBA;AApBa;;AAsBf,YAAMC,SAASF,4BAtBA,QAsBf;;AAEA,YAAIz+B,OAAJ,GAAc;AACZA,iBAAO,CADK,IACZA;AACAo1B,kCAAwB,CAFZ,CAEZA;AAFF,eAGO;AACLA,kCADK,CACLA;AA5Ba;;AA8BfA,2BA9Be,IA8BfA;AACAA,6BAAqBqJ,QA/BN,UA+BfrJ;AACAA,6BAhCe,IAgCfA;AACAA,4BAjCe,MAiCfA;AAEAA,wBAAgB,8BAnCD,WAmCC,CAAhBA;AACAA,gDAAwC+mB,GAAG,CAAC/mB,QApC7B,CAoCyB+mB,CAAxC/mB;AACAA,0BArCe,EAqCfA;AACAA,0BAtCe,EAsCfA;AAtjBgB;AAApB4mB;AAAAA;AAAAA,aAyjBExhE,mBAAU;AAAA;;AACR,YAAM46C,UAAU,KADR,OACR;;AACA,YACEA,4BAA4BvlD,wBAA5BulD,2CACAA,kBADAA,gDACAA,oBAFF,aAEEA,EAFF,EAGE;AAEAA,4BAAkBA,QAFlB,UAEAA;AACA,oBAHA,SAGA;AACA,eAJA,OAIA;AATM;AAzjBQ;AAApB4mB;AAAAA;AAAAA,aAukBEtjE,6BAAoB;AAClB,YAAIpV,QAAJ,GAAe;AACb,mCADa,KACb;AAFgB;AAvkBF;AAApB04E;AAAAA;AAAAA,aA6kBErjE,2BAAkB;AAChB,+BAAuBkjD,gBADP,KACOA,CAAvB;AA9kBgB;AAApBmgB;AAAAA;AAAAA,aAilBEpjE,4BAAmB;AACjB,gCAAwBkjD,iBADP,KACOA,CAAxB;AAllBgB;AAApBkgB;AAAAA;AAAAA,aAqlBEnjE,8BAAqB;AACnB,kCADmB,KACnB;AAtlBgB;AAApBmjE;AAAAA;AAAAA,aAylBEqD,qCAA4B;AAC1B,mCAD0B,WAC1B;AA1lBgB;AAApBrD;AAAAA;AAAAA,aA6lBE9/D,oCAA2B;AACzB,mCAA2BoG,8BADF,CACEA,CAA3B;AA9lBgB;AAApB05D;AAAAA;AAAAA,aAimBEsD,iCAAwB;AACtB,iCADsB,SACtB;AAlmBgB;AAApBtD;AAAAA;AAAAA,aAqmBE7/D,kCAAyB;AACvB,iCAAyBmG,8BADF,CACEA,CAAzB;AACA,6BAAqB,8BAFE,WAEF,CAArB;AACA,+BAHuB,EAGvB;AACA,+BAJuB,EAIvB;AAzmBgB;AAApB05D;AAAAA;AAAAA,aA4mBEngE,+BAAsB;AACpB,mCAA2B,yBADP,IACO,CAA3B;AA7mBgB;AAApBmgE;AAAAA;AAAAA,aAgnBEjgE,6BAAoB;AAClB,iCAAyB,yBADP,IACO,CAAzB;AAjnBgB;AAApBigE;AAAAA;AAAAA,aAonBE1/D,2BAAkB;AAChB,YAAMhZ,QAAQ,cADE,KAChB;AACA,YAAMC,SAAS,cAFC,MAEhB;;AACA,YAAM2+D,MAAM5/C,4BAAsB,KAHlB,eAGJA,CAAZ;;AACA,YAAM6/C,KAAK,0BAAoB,MAApB,EAJK,GAIL,CAAX;;AACA,YAAMC,KAAK,0BAAoB,WAApB,EALK,GAKL,CAAX;;AACA,YAAMC,KAAK,0BAAoB,UAApB,EANK,GAML,CAAX;;AACA,YAAMC,KAAK,0BAAoB,eAApB,EAPK,GAOL,CAAX;;AACA,YAAMC,KAAK18D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GARzB,CAQyBA,CAA9Bz8D,CAAX;AACA,YAAM28D,KAAK38D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GATzB,CASyBA,CAA9Bz8D,CAAX;AACA,YAAM48D,KAAK58D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GAVzB,CAUyBA,CAA9Bz8D,CAAX;AACA,YAAM68D,KAAK78D,SAASs8D,GAATt8D,CAASs8D,CAATt8D,EAAgBu8D,GAAhBv8D,CAAgBu8D,CAAhBv8D,EAAuBw8D,GAAvBx8D,CAAuBw8D,CAAvBx8D,EAA8By8D,GAXzB,CAWyBA,CAA9Bz8D,CAAX;AAEA,YAAMO,OAAO,8BAbG,UAaH,CAAb;AACAA,uCAdgB,EAchBA;AACAA,uCAfgB,EAehBA;AACAA,2CAAmCq8D,KAhBnB,EAgBhBr8D;AACAA,4CAAoCs8D,KAjBpB,EAiBhBt8D;AACAA,0CAAkC,yBAlBlB,IAkBkB,CAAlCA;;AACA,YAAI,yBAAJ,GAAgC;AAC9BA,oDAA0C,aADZ,SAC9BA;AApBc;;AAsBhB,iDAtBgB,IAsBhB;AA1oBgB;AAApB41E;AAAAA;AAAAA,aAgpBEuD,mCAA0B;AACxB,YAAIniD,YAAJ,iBAAiC;AAC/B,iBAAO,wBADwB,IACxB,CAAP;AAFsB;;AAIxB,eAAO,yBAJiB,IAIjB,CAAP;AAppBgB;AAApB4+C;AAAAA;AAAAA,aA0pBEwD,kCAAyB;AACvB,YAAM3d,QAAQzkC,KADS,CACTA,CAAd;AACA,YAAMsuB,eAAetuB,KAFE,CAEFA,CAArB;AACA,YAAMulC,SAASvlC,WAHQ,qBAGvB;;AACA,oCAAyBA,KAJF,CAIEA,CAAzB;AAAA,YAAM,EAAN;AAAA,YAAM,EAAN;AAAA,YAAM,EAAN;AAAA,YAAM,EAAN;;AACA,YAAMgsC,QAAQhsC,KALS,CAKTA,CAAd;AACA,YAAMisC,QAAQjsC,KANS,CAMTA,CAAd;AACA,YAAMksC,YAAYlsC,KAPK,CAOLA,CAAlB;AAEA,YAAMqiD,4BAAqBnB,YATJ,EASjBmB,CAAN;;AACA,mCAAmB,0BAAoB,QAApB,EAVI,MAUJ,CAAnB;AAAA;AAAA,YAAM,GAAN;AAAA,YAAM,GAAN;;AACA,oCAAmB,0BAAoB,QAApB,EAXI,MAWJ,CAAnB;AAAA;AAAA,YAAM,GAAN;AAAA,YAAM,GAAN;;AACA,oCAAyBn9D,yCAZF,MAYEA,CAAzB;AAAA;AAAA,YAAM,MAAN;AAAA,YAAM,MAAN;;AACA,YAAMo9D,SAAStW,QAbQ,MAavB;AACA,YAAMuW,SAAStW,QAdQ,MAcvB;AAEA,YAAMuW,SAAS,8BAhBQ,aAgBR,CAAf;AACAA,0CAjBuB,QAiBvBA;AACAA,oDAlBuB,gBAkBvBA;AACAA,6CAnBuB,MAmBvBA;AACAA,8CApBuB,MAoBvBA;AACAA,mDArBuB,GAqBvBA;AACAA,mDAtBuB,GAsBvBA;AAGA,YAAM76E,MAAM,KAzBW,GAyBvB;AACA,YAAMy5E,kBAAkB,KA1BD,eA0BvB;AACA,YAAMngB,YAAY,aA3BK,SA2BvB;AACA,YAAMF,cAAc,aA5BG,WA4BvB;AAEA,YAAMyE,OAAO,uBAAuBid,MAAvB,KAAkCC,MA9BxB,GA8BV,CAAb;AACA,mBA/BuB,IA+BvB;AACA,+BAhCuB,MAgCvB;;AACA,YAAIxW,cAAJ,GAAqB;AACnB,cAAMa,WAAW7nD,6DADE,KACFA,EAAjB;;AACA,mCAFmB,QAEnB;AACA,qCAHmB,QAGnB;AApCqB;;AAsCvB,2BAAmB,mBAtCI,YAsCJ,CAAnB;AAGA,mBAzCuB,GAyCvB;AACA,+BA1CuB,eA0CvB;AACA,iCA3CuB,SA2CvB;AACA,mCA5CuB,WA4CvB;AAEAs9D,2BAAmBhd,gBA9CI,CA8CJA,CAAnBgd;AACA,8BA/CuB,MA+CvB;AACA,8BAhDuB,QAgDvB;AA1sBgB;AAApB5D;AAAAA;AAAAA,aAgtBE+D,mCAA0B;AACxB,gBAAQ3iD,KAAR,CAAQA,CAAR;AACE;AACE,gBAAM4iD,6BAAsB1B,YAD9B,EACQ0B,CAAN;AACA,gBAAMC,aAAa7iD,KAFrB,CAEqBA,CAAnB;AACA,gBAHF,QAGE;;AAEA,oBAAQA,KAAR,CAAQA,CAAR;AACE;AACE,oBAAM8iD,SAAS9iD,KADjB,CACiBA,CAAf;AACA,oBAAM+iD,SAAS/iD,KAFjB,CAEiBA,CAAf;AACAgjD,2BAAW,8BAHb,oBAGa,CAAXA;AACAA,oDAJF,SAIEA;AACAA,+DALF,gBAKEA;AACAA,oDAAoCF,OANtC,CAMsCA,CAApCE;AACAA,oDAAoCF,OAPtC,CAOsCA,CAApCE;AACAA,oDAAoCD,OARtC,CAQsCA,CAApCC;AACAA,oDAAoCD,OATtC,CASsCA,CAApCC;AAVJ;;AAYE;AACE,oBAAMC,aAAajjD,KADrB,CACqBA,CAAnB;AACA,oBAAMkjD,cAAcljD,KAFtB,CAEsBA,CAApB;AACA,oBAAMmjD,cAAcnjD,KAHtB,CAGsBA,CAApB;AACA,oBAAMojD,eAAepjD,KAJvB,CAIuBA,CAArB;AACAgjD,2BAAW,8BALb,oBAKa,CAAXA;AACAA,oDANF,SAMEA;AACAA,+DAPF,gBAOEA;AACAA,oDAAoCE,YARtC,CAQsCA,CAApCF;AACAA,oDAAoCE,YATtC,CASsCA,CAApCF;AACAA,mDAVF,YAUEA;AACAA,oDAAoCC,WAXtC,CAWsCA,CAApCD;AACAA,oDAAoCC,WAZtC,CAYsCA,CAApCD;AACAA,oDAbF,WAaEA;AAzBJ;;AA2BE;AACE,sBAAM,8CAAuChjD,KA5BjD,CA4BiDA,CAAvC,EAAN;AA5BJ;;AALF,wDAmCE,UAnCF;AAAA;;AAAA;AAmCE,qEAAoC;AAAA,oBAApC,SAAoC;AAClC,oBAAMrvB,OAAO,8BADqB,UACrB,CAAb;AACAA,oDAAoC03D,UAFF,CAEEA,CAApC13D;AACAA,wDAAwC03D,UAHN,CAGMA,CAAxC13D;AACAqyE,qCAJkC,IAIlCA;AAvCJ;AAAA;AAAA;AAAA;AAAA;AAAA;;AAyCE,kCAzCF,QAyCE;AACA,kCA3CJ,SA2CI;;AACF;AACE34E,4BADF,4BACEA;AACA,mBA9CJ,IA8CI;;AACF;AACE,mBAhDJ,SAgDI;;AACF;AACE,kBAAM,qCAA8B21B,KAlDxC,CAkDwCA,CAA9B,EAAN;AAlDJ;AAjtBgB;AAApB4+C;AAAAA;AAAAA,aAuwBEljE,uCAA8B;AAC5B,iCAD4B,SAC5B;AACA,iCAF4B,SAE5B;AAzwBgB;AAApBkjE;AAAAA;AAAAA,aA4wBE79D,kCAAyB;AACvB,YAAMi3C,UAAU,KADO,OACvB;AACA,YAAIl6B,IAAIk6B,QAAR;AAAA,YACE6F,IAAI7F,QAHiB,CAEvB;AAEA,YAAIhzC,IAJmB,EAIvB;AACA,YAAIw1C,IALmB,CAKvB;;AALuB,oDAOvB,GAPuB;AAAA;;AAAA;AAOvB,iEAAsB;AAAA,gBAAtB,EAAsB;;AACpB,oBAAQ6oB,KAAR;AACE,mBAAKjoE,UAAL;AACE0iB,oBAAIkC,KAAKw6B,CADX,EACMx6B,CAAJlC;AACA+/B,oBAAI79B,KAAKw6B,CAFX,EAEMx6B,CAAJ69B;AACA,oBAAM33D,QAAQ85B,KAAKw6B,CAHrB,EAGgBx6B,CAAd;AACA,oBAAM75B,SAAS65B,KAAKw6B,CAJtB,EAIiBx6B,CAAf;AACA,oBAAM4gC,KAAK9iC,IALb,KAKE;AACA,oBAAM+iC,KAAKhD,IANb,MAME;AACA74C,4BAEE+5D,GAFF/5D,CAEE+5D,CAFF/5D,EAGE+5D,GAHF/5D,CAGE+5D,CAHF/5D,OAKE+5D,GALF/5D,EAKE+5D,CALF/5D,EAME+5D,GANF/5D,CAME+5D,CANF/5D,OAQE+5D,GARF/5D,EAQE+5D,CARF/5D,EASE+5D,GATF/5D,EASE+5D,CATF/5D,OAWE+5D,GAXF/5D,CAWE+5D,CAXF/5D,EAYE+5D,GAZF/5D,EAYE+5D,CAZF/5D,EAPF,GAOEA;AARJ;;AAwBE,mBAAK5J,UAAL;AACE0iB,oBAAIkC,KAAKw6B,CADX,EACMx6B,CAAJlC;AACA+/B,oBAAI79B,KAAKw6B,CAFX,EAEMx6B,CAAJ69B;AACA74C,4BAAY+5D,GAAZ/5D,CAAY+5D,CAAZ/5D,EAAmB+5D,GAHrB,CAGqBA,CAAnB/5D;AA3BJ;;AA6BE,mBAAK5J,UAAL;AACE0iB,oBAAIkC,KAAKw6B,CADX,EACMx6B,CAAJlC;AACA+/B,oBAAI79B,KAAKw6B,CAFX,EAEMx6B,CAAJ69B;AACA74C,4BAAY+5D,GAAZ/5D,CAAY+5D,CAAZ/5D,EAAmB+5D,GAHrB,CAGqBA,CAAnB/5D;AAhCJ;;AAkCE,mBAAK5J,UAAL;AACE0iB,oBAAIkC,KAAKw6B,IADX,CACMx6B,CAAJlC;AACA+/B,oBAAI79B,KAAKw6B,IAFX,CAEMx6B,CAAJ69B;AACA74C,4BAEE+5D,GAAG/+C,KAFLhb,CAEKgb,CAAH++C,CAFF/5D,EAGE+5D,GAAG/+C,KAAKw6B,IAHVx1C,CAGKgb,CAAH++C,CAHF/5D,EAIE+5D,GAAG/+C,KAAKw6B,IAJVx1C,CAIKgb,CAAH++C,CAJF/5D,EAKE+5D,GAAG/+C,KAAKw6B,IALVx1C,CAKKgb,CAAH++C,CALF/5D,EAME+5D,GANF/5D,CAME+5D,CANF/5D,EAOE+5D,GAVJ,CAUIA,CAPF/5D;AASAw1C,qBAZF,CAYEA;AA9CJ;;AAgDE,mBAAKp/C,UAAL;AACE4J,4BAEE+5D,GAFF/5D,CAEE+5D,CAFF/5D,EAGE+5D,GAHF/5D,CAGE+5D,CAHF/5D,EAIE+5D,GAAG/+C,KAJLhb,CAIKgb,CAAH++C,CAJF/5D,EAKE+5D,GAAG/+C,KAAKw6B,IALVx1C,CAKKgb,CAAH++C,CALF/5D,EAME+5D,GAAG/+C,KAAKw6B,IANVx1C,CAMKgb,CAAH++C,CANF/5D,EAOE+5D,GAAG/+C,KAAKw6B,IARZ,CAQOx6B,CAAH++C,CAPF/5D;AASA8Y,oBAAIkC,KAAKw6B,IAVX,CAUMx6B,CAAJlC;AACA+/B,oBAAI79B,KAAKw6B,IAXX,CAWMx6B,CAAJ69B;AACArD,qBAZF,CAYEA;AA5DJ;;AA8DE,mBAAKp/C,UAAL;AACE0iB,oBAAIkC,KAAKw6B,IADX,CACMx6B,CAAJlC;AACA+/B,oBAAI79B,KAAKw6B,IAFX,CAEMx6B,CAAJ69B;AACA74C,4BAEE+5D,GAAG/+C,KAFLhb,CAEKgb,CAAH++C,CAFF/5D,EAGE+5D,GAAG/+C,KAAKw6B,IAHVx1C,CAGKgb,CAAH++C,CAHF/5D,EAIE+5D,GAJF/5D,CAIE+5D,CAJF/5D,EAKE+5D,GALF/5D,CAKE+5D,CALF/5D,EAME+5D,GANF/5D,CAME+5D,CANF/5D,EAOE+5D,GAVJ,CAUIA,CAPF/5D;AASAw1C,qBAZF,CAYEA;AA1EJ;;AA4EE,mBAAKp/C,UAAL;AACE4J,uBADF,GACEA;AA7EJ;AAAA;AARqB;AAAA;AAAA;AAAA;AAAA;AAAA;;AA0FvBA,YAAIA,OA1FmB,GA0FnBA,CAAJA;;AAEA,YACEgzC,gBACA2I,aADA3I,KAEA2I,WAAWvlD,UAFX48C,aAGA2I,WAAWvlD,UAJb,QAKE;AAIA4J,cAAIgzC,yCAJJ,CAIAhzC;AATF,eAUO;AACLgzC,yBAAe,8BADV,UACU,CAAfA;;AACA,mDAAyCA,QAFpC,IAEL;AAxGqB;;AA2GvBA,+CA3GuB,CA2GvBA;AACAA,kDA5GuB,MA4GvBA;AAIAA,0BAAkBA,QAhHK,IAgHvBA;AACAA,mCAjHuB,CAiHvBA;AA73BgB;AAApB4mB;AAAAA;AAAAA,aAg4BE5hE,mBAAU;AACR,YAAMg7C,UAAU,KADR,OACR;AAGAA,uBAJQ,IAIRA;;AAEA,YAAI,CAAC,KAAL,aAAuB;AAAA;AANf;;AASR,YAAI,CAACA,QAAL,SAAsB;AACpB,6BADoB,IACpB;AADoB;AATd;;AAeR,YAAMsrB,2BAAoBtC,SAflB,EAeFsC,CAAN;AACA,YAAMC,WAAW,8BAhBT,cAgBS,CAAjB;AACAA,4CAjBQ,MAiBRA;AACAA,mDAA2CzB,GAAG,KAlBtC,eAkBmCA,CAA3CyB;AAGA,YAAMC,cAAcxrB,0BArBZ,IAqBYA,CAApB;;AACA,YAAI,qBAAJ,WAAoC;AAClCwrB,wDADkC,SAClCA;AADF,eAEO;AACLA,wDADK,SACLA;AAzBM;;AA2BR,2BA3BQ,IA2BR;AACAD,6BA5BQ,WA4BRA;AACA,8BA7BQ,QA6BR;;AAEA,YAAIvrB,QAAJ,eAA2B;AAGzBA,8BAHyB,IAGzBA;;AAHyB,sDAIN,KAAnB,UAJyB;AAAA;;AAAA;AAIzB,mEAAoC;AAAA,kBAApC,IAAoC;AAClCwB,+BADkC,IAClCA;AALuB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAQzB+pB,qDAA2CvrB,QARlB,aAQzBurB;AAvCM;;AAyCRvrB,+CAzCQ,MAyCRA;AAEA,oBA3CQ,IA2CR;AA36BgB;AAApB4mB;AAAAA;AAAAA,aA86BE3hE,oBAAW;AACT,2BADS,IACT;AA/6BgB;AAApB2hE;AAAAA;AAAAA,aAk7BEtiE,qBAAY;AACV,YAAM07C,UAAU,KADN,OACV;;AACA,YAAIA,QAAJ,MAAkB;AAChB,cAAMhzC,cAAOgzC,kCADG,GACHA,CAAPhzC,MAAN;AACAgzC,iDAFgB,CAEhBA;AAJQ;AAl7BM;AAApB4mB;AAAAA;AAAAA,aA07BEphE,6BAAoB;AAClB,+BAAuB,CADL,OAClB;AA37BgB;AAApBohE;AAAAA;AAAAA,aA87BEjhE,+BAAsB;AACpB,gCADoB,QACpB;AA/7BgB;AAApBihE;AAAAA;AAAAA,aAk8BElhE,iDAAwC;AACtC,yCADsC,iBACtC;AAn8BgB;AAApBkhE;AAAAA;AAAAA,aAs8BErhE,0BAAiB;AACf,kCAA0B3U,QADX,GACf;AAv8BgB;AAApBg2E;AAAAA;AAAAA,aA08BEjjE,oCAA2B,CA18BT;AAApBijE;AAAAA;AAAAA,aA88BEhjE,+BAAsB,CA98BJ;AAApBgjE;AAAAA;AAAAA,aAk9BE/iE,2BAAkB;AAAA,oDAChB,MADgB;AAAA;;AAAA;AAChB,iEAAmC;AAAA;AAAA,gBAAxB,GAAwB;AAAA,gBAAnC,KAAmC;;AACjC;AACE;AACE,kCADF,KACE;AAFJ;;AAIE;AACE,gCADF,KACE;AALJ;;AAOE;AACE,iCADF,KACE;AARJ;;AAUE;AACE,mCADF,KACE;AAXJ;;AAaE;AACE,6BAAa9O,MAAb,CAAaA,CAAb,EAAuBA,MADzB,CACyBA,CAAvB;AAdJ;;AAgBE;AACE,wCADF,KACE;AAjBJ;;AAmBE;AACE,iCADF,KACE;AApBJ;;AAsBE;AACE,6BADF,KACE;AAvBJ;;AAyBE;AACE,oCADF,KACE;AA1BJ;;AA4BE;AACE,kCADF,KACE;AA7BJ;;AA+BE;AACE1C,+EADF,GACEA;AAhCJ;AAAA;AAFc;AAAA;AAAA;AAAA;AAAA;AAAA;AAl9BA;AAApBu0E;AAAAA;AAAAA,aA0/BEliE,gBAAO;AACL,YAAMs7C,UAAU,KADX,OACL;;AACA,YAAIA,QAAJ,SAAqB;AACnBA,uDAA6CA,QAD1B,SACnBA;AACAA,+DAAqDA,QAFlC,SAEnBA;AACA,eAHmB,OAGnB;AALG;AA1/BW;AAApB4mB;AAAAA;AAAAA,aAmgCEpiE,kBAAS;AACP,YAAMw7C,UAAU,KADT,OACP;;AACA,YAAIA,QAAJ,SAAqB;AACnB,oCAA0BA,QADP,OACnB;;AACAA,uDAFmB,MAEnBA;AACA,eAHmB,OAGnB;AALK;AAngCS;AAApB4mB;AAAAA;AAAAA,aA+gCE6E,uCAAkD;AAAA,YAApB7B,cAAoB,uEAAlD6B,CAAkD;AAChD,YAAMzrB,UAAU,KADgC,OAChD;AACA,YAAI0rB,YAAY1rB,QAFgC,SAEhD;;AACA,YAAI4pB,wBAAwB8B,mBAA5B,GAAkD;AAChDA,sBAAY,cAAc,iBAAiB;AACzC,mBAAO9B,iBADkC,KACzC;AAF8C,WACpC,CAAZ8B;AAJ8C;;AAQhDl8C,+CAAuCwwB,QARS,WAQhDxwB;AACAA,uDAA+CwwB,QATC,WAShDxwB;AACAA,0DAAkDu3C,GAAG/mB,QAVL,UAUE+mB,CAAlDv3C;AACAA,uDAA+CwwB,QAXC,OAWhDxwB;AACAA,wDAAgDwwB,QAZA,QAYhDxwB;AACAA,qDAGEu3C,GAAG6C,iBAAiB5pB,QAApB+mB,aAhB8C,IAahDv3C;AAKAA,yDAGEk8C,uBArB8C,GAqB9CA,CAHFl8C;AAKAA,0DAGEu3C,GAAG6C,iBAAiB5pB,QAApB+mB,aA1B8C,IAuBhDv3C;AAtiCgB;AAApBo3C;AAAAA;AAAAA,aA6iCEjiE,kBAAS;AACP,YAAI,aAAJ,SAA0B;AACxB,iEADwB,SACxB;AAFK;;AAIP,aAJO,IAIP;AAjjCgB;AAApBiiE;AAAAA;AAAAA,aAojCEhiE,sBAAa;AAGX,aAHW,MAGX;AACA,aAJW,IAIX;AAxjCgB;AAApBgiE;AAAAA;AAAAA,aA2jCE/hE,wBAAe;AACb,YAAI,aAAJ,SAA0B;AACxB,iEADwB,SACxB;AAFW;;AAIb,aAJa,UAIb;AA/jCgB;AAApB+hE;AAAAA;AAAAA,aAkkCEniE,uBAAc;AACZ,aADY,SACZ;AACA,aAFY,MAEZ;AApkCgB;AAApBmiE;AAAAA;AAAAA,aAukCE9hE,2BAAkB;AAChB,aADgB,SAChB;AACA,aAFgB,UAEhB;AAzkCgB;AAApB8hE;AAAAA;AAAAA,aA4kCE7hE,6BAAoB;AAClB,aADkB,SAClB;AACA,aAFkB,YAElB;AA9kCgB;AAApB6hE;AAAAA;AAAAA,aAilCE99D,oCAA2B;AACzB,YAAM9X,OAAO,8BADY,UACZ,CAAb;AACAA,uCAFyB,GAEzBA;AACAA,uCAHyB,GAGzBA;AACAA,2CAJyB,KAIzBA;AACAA,4CALyB,KAKzBA;AACAA,0CAAkC,aANT,SAMzBA;;AAEA,iDARyB,IAQzB;AAzlCgB;AAApB41E;AAAAA;AAAAA,aA4lCEn+D,kCAAyB;AACvB,YAAMu5C,UAAUuM,yBACZ,oBADYA,KACZ,CADYA,GAEZ,cAHmB,KAGnB,CAFJ;;AAGA,YAAI,CAAJ,SAAc;AACZl8D,mEADY,KACZA;AADY;AAJS;;AAQvB,qCARuB,OAQvB;AApmCgB;AAApBu0E;AAAAA;AAAAA,aAumCEl+D,gDAAuC;AACrC,YAAMxa,QAAQ8zD,QADuB,KACrC;AACA,YAAM7zD,SAAS6zD,QAFsB,MAErC;AAEA,YAAM2pB,SAAStE,6BAA6B,KAA7BA,iBAAmD,CAAC,CAJ9B,IAItBA,CAAf;AACA,YAAMuE,WAAW,8BALoB,UAKpB,CAAjB;AACAA,2CANqC,GAMrCA;AACAA,2CAPqC,GAOrCA;AACAA,+CAAuC7E,GARF,KAQEA,CAAvC6E;AACAA,gDAAwC7E,GATH,MASGA,CAAxC6E;AACA,+BAVqC,QAUrC;AACA,kBAXqC,SAWrC;AAEA,YAAMC,QAAQ,8BAbuB,WAavB,CAAd;AACAA,qDAdqC,MAcrCA;AACAA,wCAfqC,GAerCA;AACAA,wCAAgC9E,GAAG,CAhBE,MAgBLA,CAAhC8E;AACAA,4CAAoC9E,YAjBC,IAiBrC8E;AACAA,6CAAqC9E,aAlBA,IAkBrC8E;AACAA,gEAGW9E,GAAG,IAAZ,KAASA,CAHX8E,cAG4B9E,GAAG,KAtBM,MAsBTA,CAH5B8E;;AAKA,kBAAU;AACRvpB,2BADQ,KACRA;AADF,eAEO;AACL,mDADK,KACL;AA3BmC;AAvmCrB;AAApBskB;AAAAA;AAAAA,aAsoCEr+D,wCAA+B;AAC7B,YAAMy3C,UAAU,KADa,OAC7B;AACA,YAAM9xD,QAAQ8zD,QAFe,KAE7B;AACA,YAAM7zD,SAAS6zD,QAHc,MAG7B;AACA,YAAMiH,YAAYjJ,QAJW,SAI7B;AAEAA,uCAAwBipB,SANK,EAM7BjpB;AACA,YAAMsC,OAAO,8BAPgB,UAOhB,CAAb;AACAA,wCAAgCtC,QARH,MAQ7BsC;AAEA,YAAMtxD,OAAO,8BAVgB,UAUhB,CAAb;AACAA,uCAX6B,GAW7BA;AACAA,uCAZ6B,GAY7BA;AACAA,2CAAmC+1E,GAbN,KAaMA,CAAnC/1E;AACAA,4CAAoC+1E,GAdP,MAcOA,CAApC/1E;AACAA,0CAf6B,SAe7BA;AACAA,yDAA0CgvD,QAhBb,MAgB7BhvD;AAEA,8BAlB6B,IAkB7B;;AACA,iDAnB6B,IAmB7B;;AAEA,8CArB6B,IAqB7B;AA3pCgB;AAApB41E;AAAAA;AAAAA,aA8pCE9+D,6CAAoC;AAClC,YAAI0E,yBAAyB+gD,kBAA7B,GAAkD;AAChD,yBACEA,OADF,CACEA,CADF,EAEEA,OAFF,CAEEA,CAFF,EAGEA,OAHF,CAGEA,CAHF,EAIEA,OAJF,CAIEA,CAJF,EAKEA,OALF,CAKEA,CALF,EAMEA,OAP8C,CAO9CA,CANF;AAFgC;;AAYlC,kBAAU;AACR,cAAMr/D,QAAQs/D,UAAUA,KADhB,CACgBA,CAAxB;AACA,cAAMr/D,SAASq/D,UAAUA,KAFjB,CAEiBA,CAAzB;AAEA,cAAMoe,WAAW,8BAJT,UAIS,CAAjB;AACAA,6CAAmCpe,KAL3B,CAK2BA,CAAnCoe;AACAA,6CAAmCpe,KAN3B,CAM2BA,CAAnCoe;AACAA,iDAAuC7E,GAP/B,KAO+BA,CAAvC6E;AACAA,kDAAwC7E,GARhC,MAQgCA,CAAxC6E;AACA,iCATQ,QASR;AACA,oBAVQ,SAUR;AACA,eAXQ,OAWR;AAvBgC;AA9pClB;AAApBhF;AAAAA;AAAAA,aAyrCE7+D,+BAAsB,CAzrCJ;AAApB6+D;AAAAA;AAAAA,aA8rCErtB,+BAAsB;AACpB,YAAM5pD,MAAM,uBAAuBwmD,SAAvB,OAAuCA,SAD/B,MACR,CAAZ;AAGA,YAAM21B,cAAc,8BAJA,UAIA,CAApB;AACAn8E,wBALoB,WAKpBA;AACA,oBANoB,WAMpB;AAIA,YAAMo8E,YAAY,8BAVE,OAUF,CAAlB;AACAA,oDAA4CjC,GAAG3zB,SAX3B,SAWwB2zB,CAA5CiC;AACAp8E,wBAZoB,SAYpBA;AAKA,mBAjBoB,SAiBpB;AAEA,eAnBoB,GAmBpB;AAjtCgB;AAApBi3E;AAAAA;AAAAA,aAutCEoF,4BAAmB;AACjB,YAAI,CAAC,aAAL,WAA6B;AAC3B,cAAMC,YAAY,8BADS,OACT,CAAlB;AACAA,sDAA4C,aAFjB,aAE3BA;AACA,+BAH2B,SAG3B;AACA,mCAJ2B,SAI3B;AALe;;AAOjB,eAAO,aAPU,SAOjB;AA9tCgB;AAApBrF;AAAAA;AAAAA,aAouCEsF,iCAAwB;AACtB,YAAI,CAAC,KAAL,MAAgB;AACd,sBAAY,8BADE,OACF,CAAZ;AACA,sDAA4CpC,GAAG,KAFjC,eAE8BA,CAA5C;;AACA,cAAI,aAAJ,eAAgC;AAC9B,gDAAoC,KADN,IAC9B;AADF,iBAEO;AACL,iCAAqB,KADhB,IACL;AANY;AADM;;AAUtB,eAAO,KAVe,IAUtB;AA9uCgB;AAApBlD;;AAAAA;AAAAA;AAvbF,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICeA,Q;;;;;;;WACE,uDAAqD;AACnD,UAAMhK,aAAaD,0BAA0B;AAAE5nE,eADI;AACN,OAA1B4nE,CAAnB;;AACA,cAAQntC,QAAR;AACE;AACE3U,6BAAmB+hD,4BAA4BA,WAA5BA,QADrB,EACE/hD;AACAA,yCAA+BoK,iBAAS;AACtC03C,sCAA0B;AAAE5nE,qBAAOkwB,aADG;AACZ,aAA1B03C;AAHJ,WAEE9hD;AAHJ;;AAOE;AACE,cAAI+hD,qBAAJ,MAA+B;AAC7B/hD,uCAA2B+hD,WADE,KAC7B/hD;AAFJ;;AAIE,cAAI2U,4BAAJ,SAAyC;AACvC3U,4CAAgCoK,iBAAS;AACvC,kBAAM,MAAN,GADuC,KACvC,CAAM,MAAN;;AADuC,yDAEnB/1B,2BAA2B4hB,OAA/C,IAAoB5hB,CAFmB;AAAA;;AAAA;AAEvC,oEAA6D;AAAA,sBAA7D,KAA6D;;AAC3D,sBAAI+uE,UAAJ,QAAsB;AACpB,wBAAMxnD,KAAKwnD,MADS,EACpB;AACAtB,qCAAiBlmD,cAAjBkmD,CAAiBlmD,CAAjBkmD,EAAmC;AAAE5nE,6BAFjB;AAEe,qBAAnC4nE;AAHyD;AAFtB;AAAA;AAAA;AAAA;AAAA;AAAA;;AAQvCA,wCAA0B;AAAE5nE,uBAAO+b,OARI;AAQb,eAA1B6rD;AATqC,aACvC9hD;AADF,iBAWO;AACLA,2CAA+BoK,iBAAS;AACtC03C,wCAA0B;AAAE5nE,uBAAOkwB,aADG;AACZ,eAA1B03C;AAFG,aACL9hD;AAhBJ;;AAPF;;AA4BE;AACE,cAAI+hD,qBAAJ,MAA+B;AAAA,wDACRptC,QAArB,QAD6B;AAAA;;AAAA;AAC7B,qEAAuC;AAAA,oBAAvC,MAAuC;;AACrC,oBAAI+uC,4BAA4B3B,WAAhC,OAAkD;AAChD2B,+CADgD,IAChDA;AAFmC;AADV;AAAA;AAAA;AAAA;AAAA;AAAA;AADjC;;AAQE1jD,yCAA+BoK,iBAAS;AACtC,gBAAMtU,UAAUsU,aADsB,OACtC;AACA,gBAAMlwB,QACJ4b,0BAA0B,CAA1BA,WAEIA,QAAQA,QAARA,eALgC,KAEtC;AAIAgsD,sCAA0B;AAAE5nE,mBANU,EAMVA;AAAF,aAA1B4nE;AAdJ,WAQE9hD;AApCJ;AAAA;AAHW;;;WAmDb,+CAA6C;AAC3C,UAAM,UAAN,GAD2C,OAC3C,CAAM,UAAN;;AACA,yCAA2BloB,eAA3B,UAA2BA,CAA3B,qCAAuD;AAAvD;AAAA,YAAW,GAAX;AAAA;;AACE,YAAIoC,kBAAkBA,UAAlBA,aAAyCsD,QAA7C,WAAgE;AAAA;AADX;;AAKrD,YAAIA,QAAJ,SAAqB;AACnB,cAAIA,QAAJ,eAA2B;AACzBwiB,+BADyB,KACzBA;AADF,iBAEO;AACLA,mCADK,KACLA;AAJiB;AAArB,eAMO;AACLloB,wBAAckoB,KAAdloB,OADK,KACLA;AAZmD;AAFZ;;AAoB3C,UAAIgqE,WAAWwP,uBAAf,WAAiD;AAC/C,gCAAwBA,WAAxB,kBAD+C,OAC/C;AArByC;AAnDhC;;;WA4Eb,4BAA0B;AACxB,UAAMxP,UAAUzD,WADQ,iBACxB;AACA,UAAMkT,OAAOlT,WAFW,GAExB;AACA,UAAMmT,WAAWn9E,uBAAuBk9E,KAHhB,IAGPl9E,CAAjB;;AACA,UAAIk9E,KAAJ,YAAqB;AACnB,qCADmB,IACnB;AALsB;;AAOxB,UAAME,QAAQ,CAAC,OAAO,CAAP,YAAD,CAAd;AAEA,UAAMC,UAAUrT,WATQ,GASxB;AACAqT,0BAVwB,QAUxBA;AACA,UAAMC,SAAStT,mCAXS,GAWTA,CAAf;AACAqT,iDAZwB,MAYxBA;AAGAA,oCAfwB,kBAexBA;;AAEA,aAAOD,eAAP,GAAyB;AACvB,oCAA0BA,MAAMA,eADT,CACGA,CAA1B;AAAA,YAAM,MAAN;AAAA,YAAM,CAAN;AAAA,YAAM,IAAN;;AACA,YAAIv6E,UAAUuzB,gBAAd,QAAsC;AACpCgnD,gBADoC,GACpCA;AADoC;AAFf;;AAOvB,YAAMG,QAAQnnD,gBAAgB,EAAEgnD,MAAMA,eAANA,GAPT,CAOSA,CAAlBhnD,CAAd;;AACA,YAAImnD,UAAJ,MAAoB;AAAA;AARG;;AAYvB,YAAM,IAAN,GAZuB,KAYvB,CAAM,IAAN;;AACA,YAAI55E,SAAJ,SAAsB;AACpBgoB,2BAAiB3rB,wBAAwBu9E,MADrB,KACHv9E,CAAjB2rB;AADoB;AAbC;;AAkBvB,YAAM6xD,YAAYx9E,uBAlBK,IAkBLA,CAAlB;AACA2rB,yBAnBuB,SAmBvBA;;AACA,YAAI4xD,MAAJ,YAAsB;AACpB,+CADoB,OACpB;AArBqB;;AAwBvB,YAAIA,kBAAkBA,wBAAtB,GAAiD;AAC/CH,qBAAW,QAAQ,CAAR,aAAXA;AADF,eAEO,IAAIG,MAAJ,OAAiB;AACtBC,gCAAsBx9E,wBAAwBu9E,MADxB,KACAv9E,CAAtBw9E;AA3BqB;AAjBD;AA5Eb;;;WAoIb,4BAA0B;AACxB,UAAM1oE,6BAAsBk1D,mCADJ,GACIA,CAAtBl1D,MAAN;AACAk1D,uCAFwB,SAExBA;AACAA,8BAHwB,KAGxBA;AAvIW;;;;;;;;;;;;;;;;;;;;;;;;ACCf;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAtBA;;AAiCA,IAAM7Y,KAAKD,QAjCX,IAiCWA,CAAX;;AACA,IAAMusB,OAAOvsB,QAlCb,MAkCaA,CAAb;;AACA,IAAMwsB,QAAQxsB,QAnCd,OAmCcA,CAAd;;AACA,IAAMzxD,MAAMyxD,QApCZ,KAoCYA,CAAZ;;AAEA,IAAMysB,eAtCN,yBAsCA;;AAEA,6BAA6B;AAC3B,MAAMC,YAAYn+E,UADS,SACTA,CAAlB;;AACA,MAAIm+E,kCAAkCA,UAAtC,MAAsD;AACpD,WADoD,SACpD;AAHyB;;AAM3B,MAAI,qBAAJ,SAAI,CAAJ,EAAqC;AACnC,WAAOn+E,4BAD4B,SAC5BA,EAAP;AAPyB;;AAU3B,MAAI,CAACm+E,UAAL,MAAqB;AACnBA,yBADmB,OACnBA;AAXyB;;AAa3B,SAb2B,SAa3B;AArDF;;IAwDA,a;AACEj/E,iCAAoB;AAAA;;AAClB,kBADkB,MAClB;AACA,eAAWk/E,SAASn8D,OAFF,GAEPm8D,CAAX;AACA,kBACE,iCAAiC,sBAJjB,QAGlB;AAGA,mBAAe,sBANG,OAMlB;AACA,uBAAoB,eAAen8D,OAAhB,WAAC,IAPF,EAOlB;AAEA,8BATkB,IASlB;AACA,gCAVkB,EAUlB;AAXgB;;;;SAclB,eAA6B;AAAA;;AAC3B,gEAAO,uBAAP,2DAAO,8BAAP,yEAD2B,CAC3B;AAfgB;;;WAkBlB8nD,yBAAgB;AACdhpE,wBACE,CAAC,KADHA,oBADc,sDACdA;AAIA,gCAA0B,eACtB,8BADsB,IACtB,CADsB,GAEtB,4BAPU,IAOV,CAFJ;AAGA,aAAO,KARO,kBAQd;AA1BgB;;;WA6BlBkpE,oCAA2B;AACzB,UAAI1mE,OAAO,KAAX,wBAAwC;AACtC,eADsC,IACtC;AAFuB;;AAIzB,UAAMgpD,cAAc,eAChB,4CADgB,GAChB,CADgB,GAEhB,0CANqB,GAMrB,CAFJ;;AAGA,qCAPyB,WAOzB;;AACA,aARyB,WAQzB;AArCgB;;;WAwClB2d,mCAA0B;AACxB,UAAI,KAAJ,oBAA6B;AAC3B,uCAD2B,MAC3B;AAFsB;;AAAA,iDAIH,gCAArB,CAAqB,CAJG;AAAA;;AAAA;AAIxB,4DAAyD;AAAA,cAAzD,MAAyD;AACvDtoC,wBADuD,MACvDA;AALsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAxCR;;;;;;;;IAkDpB,c;AACE1iC,kCAAoB;AAAA;;AAClB,gBAAY2iC,OADM,GAClB;AACA,iBAFkB,KAElB;AACA,wBAHkB,IAGlB;AACA,sBAJkB,IAIlB;AACA,QAAM5f,SAAS4f,OALG,MAKlB;AACA,0BAAsB5f,OANJ,MAMlB;AACA,mBAPkB,CAOlB;AACA,qBARkB,IAQlB;AAEA,yBAAqBA,uBAVH,KAUlB;AACA,2BAAuBA,OAXL,cAWlB;;AACA,QAAI,CAAC,KAAD,mBAAyB,CAAC,KAA9B,eAAkD;AAChD,2BADgD,IAChD;AAbgB;;AAgBlB,iCAA6B,CAACA,OAhBZ,aAgBlB;AACA,6BAAyB,CAACA,OAjBR,YAiBlB;AAEA,2BAnBkB,IAmBlB;AACA,2BApBkB,oCAoBlB;AACA,8BArBkB,oCAqBlB;AAtBiB;;;;SAyBnB,eAAmB;AACjB,aAAO,wBADU,OACjB;AA1BiB;;;SA6BnB,eAAe;AACb,aAAO,KADM,SACb;AA9BiB;;;SAiCnB,eAAoB;AAClB,aAAO,KADW,cAClB;AAlCiB;;;SAqCnB,eAAuB;AACrB,aAAO,KADc,iBACrB;AAtCiB;;;SAyCnB,eAA2B;AACzB,aAAO,KADkB,qBACzB;AA1CiB;;;;+EA6CnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACQ,qBADK,OAAb;;AAAA;AAAA,qBAEM,KAAJ,KAFF;AAAA;AAAA;AAAA;;AAAA,iDAGW;AAAE7b,yBAAF;AAAoBgD,wBAApB;AAAA,iBAHX;;AAAA;AAAA,qBAKM,KAAJ,YALF;AAAA;AAAA;AAAA;;AAAA,sBAMU,KADe,YALzB;;AAAA;AASQyT,qBATR,GASgB,qBATH,IASG,EAThB;;AAAA,sBAUMA,UAAJ,IAVF;AAAA;AAAA;AAAA;;AAWI,uCADkB,oCAClB;AAXJ,iDAYW,KAFW,IAEX,EAZX;;AAAA;AAcE,gCAAgBA,MAdL,MAcX;;AACA,oBAAI,KAAJ,YAAqB;AACnB,kCAAgB;AACdivC,4BAAQ,KADM;AAEdC,2BAAO,KAFO;AAAA,mBAAhB;AAhBS;;AAsBL5rC,sBAtBR,GAsBiB,sBAtBJ,MAAb;AAAA,iDAuBS;AAAE/Z,yBAAF;AAAiBgD,wBAAjB;AAAA,iBAvBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WA0BAg8B,wBAAe;AAGb,UAAI,CAAC,KAAL,iBAA2B;AACzB,oBADyB,MACzB;;AADyB;AAHd;;AAOb,mCAPa,MAOb;AA9EiB;;;WAiFnBi5C,wBAAe;AACb,0BADa,MACb;;AACA,2BAFa,OAEb;AAnFiB;;;WAsFnBC,4CAAmC;AAAA;;AACjC,6BADiC,cACjC;AACA51B,oCAA8B,YAAM;AAClC,8BADkC,OAClC;AAH+B,OAEjCA;AAIAA,+BAAyB,YAAM;AAE7BA,uBAF6B,OAE7BA;AACA,sBAH6B,IAG7B;;AACA,8BAJ6B,OAI7B;AAV+B,OAMjCA;AAOAA,iCAA2BvoD,kBAAU;AACnC,qBADmC,MACnC;AAd+B,OAajCuoD;;AAMA,UAAI,CAAC,KAAD,yBAA+B,KAAnC,mBAA2D;AACzD,oBAAY,yBAD6C,uBAC7C,CAAZ;AApB+B;;AAwBjC,UAAI,KAAJ,cAAuB;AACrB,qCAA6B,KADR,YACrB;AAzB+B;AAtFhB;;;;;;IAoHrB,e;AACExpD,mCAAoB;AAAA;;AAClB,gBAAY2iC,OADM,GAClB;AACA,iBAFkB,KAElB;AACA,wBAHkB,IAGlB;AACA,sBAJkB,IAIlB;AACA,mBALkB,CAKlB;AACA,2BANkB,IAMlB;AACA,2BAPkB,oCAOlB;AACA,QAAM5f,SAAS4f,OARG,MAQlB;AACA,iCAA6B,CAAC5f,OATZ,aASlB;AAVkB;;;;SAapB,eAA2B;AACzB,aAAO,KADkB,qBACzB;AAdkB;;;;gFAiBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACQ,qBADK,OAAb;;AAAA;AAAA,qBAEM,KAAJ,KAFF;AAAA;AAAA;AAAA;;AAAA,kDAGW;AAAE7b,yBAAF;AAAoBgD,wBAApB;AAAA,iBAHX;;AAAA;AAAA,qBAKM,KAAJ,YALF;AAAA;AAAA;AAAA;;AAAA,sBAMU,KADe,YALzB;;AAAA;AASQyT,qBATR,GASgB,qBATH,IASG,EAThB;;AAAA,sBAUMA,UAAJ,IAVF;AAAA;AAAA;AAAA;;AAWI,uCADkB,oCAClB;AAXJ,kDAYW,KAFW,IAEX,EAZX;;AAAA;AAcE,gCAAgBA,MAdL,MAcX;;AACA,oBAAI,KAAJ,YAAqB;AACnB,kCAAgB;AAAEivC,4BAAQ,KADP;AACH,mBAAhB;AAhBS;;AAmBL3rC,sBAnBR,GAmBiB,sBAnBJ,MAAb;AAAA,kDAoBS;AAAE/Z,yBAAF;AAAiBgD,wBAAjB;AAAA,iBApBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAuBAg8B,wBAAe;AAGb,UAAI,CAAC,KAAL,iBAA2B;AACzB,oBADyB,MACzB;;AADyB;AAHd;;AAOb,mCAPa,MAOb;AA/CkB;;;WAkDpBi5C,wBAAe;AACb,0BADa,MACb;;AACA,2BAFa,OAEb;AApDkB;;;WAuDpBC,4CAAmC;AAAA;;AACjC,6BADiC,cACjC;AACA51B,oCAA8B,YAAM;AAClC,+BADkC,OAClC;AAH+B,OAEjCA;AAIAA,+BAAyB,YAAM;AAE7BA,uBAF6B,OAE7BA;AACA,uBAH6B,IAG7B;;AACA,+BAJ6B,OAI7B;AAV+B,OAMjCA;AAOAA,iCAA2BvoD,kBAAU;AACnC,sBADmC,MACnC;AAd+B,OAajCuoD;;AAKA,UAAI,KAAJ,cAAuB;AACrB,qCAA6B,KADR,YACrB;AAnB+B;AAvDf;;;;;;AA+EtB,kDAAkD;AAChD,SAAO;AACL/jD,cAAUw5E,UADL;AAELI,UAAMJ,UAFD;AAGL/kD,UAAM+kD,UAHD;AAILrlD,UAAMqlD,UAJD;AAKL31D,UAAM21D,UALD;AAMLp1E,YANK;AAOLy1E,WAPK,EAOLA;AAPK,GAAP;AA9SF;;IAyTA,uB;;;;;AACEt/E,2CAAoB;AAAA;;AAAA;;AAClB,+BADkB,MAClB;;AAEA,QAAMu/E,iBAAiBj+E,SAAjBi+E,cAAiBj+E,WAAY;AACjC,UAAIA,wBAAJ,KAAiC;AAC/B,YAAMqjB,QAAQ,sDAAwC,OADvB,IACjB,SAAd;AACA,8BAF+B,KAE/B;;AACA,yCAH+B,KAG/B;;AAH+B;AADA;;AAOjC,gCAPiC,OAOjC;;AACA,gCARiC,QAQjC;;AAEA,UAAM66D,oBAAoBx6E,SAApBw6E,iBAAoBx6E,OAAQ;AAGhC,eAAO,+BAA6BA,KAHJ,WAGIA,EAA7B,CAAP;AAb+B,OAUjC;;AAKA,kCACE,qDAAiC;AAC/Bw6E,yBAD+B,EAC/BA,iBAD+B;AAE/BC,gBAAQ98C,OAFuB;AAG/B8gB,wBAAgB,OAHe;AAI/BJ,sBAAc,OAJiB;AAAA,OAAjC,CADF;AAAA,UAAM,kBAAN,yBAAM,kBAAN;AAAA,UAAM,eAAN,yBAAM,eAAN;;AAQA,iCAvBiC,kBAuBjC;AAEA,8BAAsBq8B,mBAAmB,OAzBR,cAyBjC;AAEA,yBAAiBC,8CA3BgB,iBA2BhBA,CAAjB;AA9BgB,KAGlB;;AA8BA,sBAjCkB,IAiClB;;AACA,QAAI,yBAAJ,SAAoC;AAClC,wBAAgBb,aACdc,qBAAqB,OAArBA,MAAgCj9C,OADlBm8C,WACdc,CADcd,EADkB,cAClBA,CAAhB;AADF,WAKO;AACL,wBAAgBC,cACda,qBAAqB,OAArBA,MAAgCj9C,OADlBo8C,WACda,CADcb,EADX,cACWA,CAAhB;AAxCgB;;AA8ClB,gCAA0B99E,kBAAU;AAClC,4BADkC,MAClC;;AACA,uCAFkC,MAElC;AAhDgB,KA8ClB;;AAOA,oBArDkB,GAqDlB;;AArDkB;AAD+B;;;EAArD,c;;IA0DA,wB;;;;;AACEjB,wDAAgC;AAAA;;AAAA;;AAC9B,gCAD8B,MAC9B;AAEA,0BAH8B,EAG9B;;AACA,yBAAuB2iC,OAAvB,aAA2C;AACzC,UAAMz7B,QAAQy7B,mBAD2B,QAC3BA,CAAd;;AACA,UAAI,iBAAJ,aAAkC;AAAA;AAFO;;AAKzC,sCALyC,KAKzC;AAT4B;;AAW9B,gDAA0B,KAA1B,cAA4Ct+B,MAXd,CAW9B;;AAEA,QAAMk7E,iBAAiBj+E,SAAjBi+E,cAAiBj+E,WAAY;AACjC,UAAIA,wBAAJ,KAAiC;AAC/B,YAAMqjB,QAAQ,sDAAwC,OADvB,IACjB,SAAd;AACA,8BAF+B,KAE/B;AAF+B;AADA;;AAMjC,gCANiC,QAMjC;AAnB4B,KAa9B;;AASA,sBAtB8B,IAsB9B;;AACA,QAAI,yBAAJ,SAAoC;AAClC,wBAAgBm6D,aACdc,qBAAqB,OAArBA,MAAgC,OADlBd,YACdc,CADcd,EADkB,cAClBA,CAAhB;AADF,WAKO;AACL,wBAAgBC,cACda,qBAAqB,OAArBA,MAAgC,OADlBb,YACda,CADcb,EADX,cACWA,CAAhB;AA7B4B;;AAmC9B,gCAA0B99E,kBAAU;AAClC,4BADkC,MAClC;AApC4B,KAmC9B;;AAGA,oBAtC8B,GAsC9B;;AAtC8B;AADqB;;;EAAvD,e;;IA2CA,yB;;;;;AACEjB,6CAAoB;AAAA;;AAAA;;AAClB,gCADkB,MAClB;AAEA,QAAIspB,OAAOzkB,mBAAmB,YAHZ,IAGPA,CAAX;;AAGA,QAAIm6E,kBAAkB,YAAtB,IAAIA,CAAJ,EAAuC;AACrC11D,aAAOA,oBAD8B,EAC9BA,CAAPA;AAPgB;;AAUlBkpC,mBAAe,uBAAiB;AAC9B,iBAAW;AACT,YAAI7tC,eAAJ,UAA6B;AAC3BA,kBAAQ,sDADmB,IACnB,SAARA;AAFO;;AAIT,8BAJS,KAIT;;AACA,yCALS,KAKT;;AALS;AADmB;;AAU9B,8BAAsBvB,KAVQ,IAU9B;;AAEA,gCAAwBovC,oBAZM,IAYNA,CAAxB;;AACA,gCAb8B,OAa9B;AAvBgB,KAUlBA;AAVkB;AADiC;;;EAAvD,c;;IA6BA,0B;;;;;AACExyD,0DAAgC;AAAA;;AAAA;;AAC9B,gCAD8B,MAC9B;AAEA,QAAIspB,OAAOzkB,mBAAmB,YAHA,IAGnBA,CAAX;;AAGA,QAAIm6E,kBAAkB,YAAtB,IAAIA,CAAJ,EAAuC;AACrC11D,aAAOA,oBAD8B,EAC9BA,CAAPA;AAP4B;;AAU9B,8BAAwB,0BAA0B;AAAEnkB,WAAF,EAAEA,KAAF;AAASd,WAAKA,MAAd;AAAA,KAA1B,CAAxB;;AAV8B;AADuB;;;EAAzD,e;;;;;;;;;;;;;;;;;AC5aA;;AAfA;;AAAA;;AAuBA,gDAKG;AAAA,MALuC,iBAKvC,QALuC,iBAKvC;AAAA,MALuC,MAKvC,QALuC,MAKvC;AAAA,MALuC,cAKvC,QALuC,cAKvC;AAAA,MALH,YAKG,QALH,YAKG;AACDxC,oBAAO4hD,iBAAP5hD,GADC,2CACDA;AACA,MAAMg+E,eAAe;AACnBC,wBADmB;AAEnBJ,qBAFmB;AAAA,GAArB;AAKA,MAAMpiE,SAASrX,SAASu5E,kBAATv5E,gBAASu5E,CAATv5E,EAPd,EAOcA,CAAf;;AACA,MAAI,CAAC4W,iBAAL,MAAKA,CAAL,EAA+B;AAC7B,WAD6B,YAC7B;AATD;;AAYDgjE,iCAZC,MAYDA;;AAEA,MAAIviE,UAAU,IAAd,gBAAkC;AAGhC,WAHgC,YAGhC;AAjBD;;AAoBD,MAAI+lC,gBAAgB,CAApB,QAA6B;AAC3B,WAD2B,YAC3B;AArBD;;AAuBD,MAAIm8B,uCAAJ,SAAoD;AAClD,WADkD,YAClD;AAxBD;;AA2BD,MAAMO,kBAAkBP,yCA3BvB,UA2BD;;AACA,MAAIO,oBAAJ,YAAoC;AAClC,WADkC,YAClC;AA7BD;;AAgCDF,oCAhCC,IAgCDA;AACA,SAjCC,YAiCD;AA7DF;;AAgEA,sDAAsD;AACpD,MAAMG,qBAAqBR,kBADyB,qBACzBA,CAA3B;;AACA,0BAAwB;AACtB,QAAI/wB,WAAWwxB,kEADO,kBACPA,CAAf;;AACA,QAAIxxB,kBAAJ,GAAIA,CAAJ,EAA4B;AAC1B,UAAI;AACFA,mBAAW5pD,mBADT,QACSA,CAAX4pD;AADF,QAEE,WAAW,CAHa;AAFN;;AAOtB,QAAIwc,8BAAJ,QAAIA,CAAJ,EAAyB;AACvB,aADuB,QACvB;AARoB;AAF4B;;AAapD,SAboD,IAapD;AA7EF;;AAgFA,gDAAgD;AAC9C,MAAIjvC,kBAAmBA,gBAAgBl7B,eAAvC,OAAuCA,CAAvC,EAAiE;AAC/D,WAAO,8BAAwB,wBADgC,IACxD,CAAP;AAF4C;;AAI9C,SAAO,4EACL,MADK,mDAJuC,MAIvC,CAAP;AApFF;;AA0FA,wCAAwC;AACtC,SAAOk7B,kBAAkBA,WADa,GACtC;AA3FF,C;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;AA+BA,qEAAqE;AACnE,MAAIkkD,qBAD+D,IACnE;AAGA,MAAItd,MAAMud,uCAJyD,kBAIzDA,CAAV;;AACA,WAAS;AACPvd,UAAMA,IADC,CACDA,CAANA;AACA,QAAInU,WAAW2xB,eAFR,GAEQA,CAAf;AACA3xB,eAAW7tC,SAHJ,QAGIA,CAAX6tC;AACAA,eAAW4xB,cAJJ,QAIIA,CAAX5xB;AACAA,eAAW6xB,cALJ,QAKIA,CAAX7xB;AACA,WAAO8xB,cANA,QAMAA,CAAP;AAXiE;;AAiBnE3d,QAAM4d,gBAjB6D,kBAiB7DA,CAAN5d;;AACA,WAAS;AAEP,QAAMnU,YAAW6xB,cAFV,GAEUA,CAAjB;;AACA,WAAOC,cAHA,SAGAA,CAAP;AArBiE;;AAyBnE3d,QAAMud,oCAzB6D,kBAyB7DA,CAANvd;;AACA,WAAS;AACPA,UAAMA,IADC,CACDA,CAANA;;AACA,QAAInU,aAAW2xB,eAFR,GAEQA,CAAf;;AACA3xB,iBAAW6xB,cAHJ,UAGIA,CAAX7xB;AACA,WAAO8xB,cAJA,UAIAA,CAAP;AA9BiE;;AAoCnE,kDAAgD;AAC9C,WAAO,WACL,8GADK,KADuC,KACvC,CAAP;AArCiE;;AAmDnE,uCAAqC;AACnC,kBAAc;AACZ,UAAI,CAAC,sBAAL,KAAK,CAAL,EAAmC;AACjC,eADiC,KACjC;AAFU;;AAIZ,UAAI;AACF,YAAME,UAAU,0BAA0B;AAAEC,iBAD1C;AACwC,SAA1B,CAAhB;AACA,YAAMz/D,SAASzf,yBAFb,KAEaA,CAAf;AACA0F,gBAAQu5E,eAHN,MAGMA,CAARv5E;AACAg5E,6BAJE,KAIFA;AAJF,QAKE,UAAU;AAGV,YAAI,iBAAJ,QAAI,CAAJ,EAAgC;AAE9B,cAAI;AACFh5E,oBAAQrC,mBAAmB8b,OADzB,KACyBA,CAAnB9b,CAARqC;AACAg5E,iCAFE,KAEFA;AAFF,YAGE,YAAY,CALgB;AAHtB;AATA;AADqB;;AAsBnC,WAtBmC,KAsBnC;AAzEiE;;AA2EnE,gCAA8B;AAC5B,QAAIA,sBAAsB,mBAA1B,KAA0B,CAA1B,EAAqD;AAEnDh5E,cAAQy5E,oBAF2C,KAE3CA,CAARz5E;;AACA,8BAAwB;AAEtBA,gBAAQy5E,yBAFc,KAEdA,CAARz5E;AALiD;AADzB;;AAS5B,WAT4B,KAS5B;AApFiE;;AAsFnE,kDAAgD;AAC9C,QAAMnB,UADwC,EAC9C;AACA,QAF8C,KAE9C;AAGA,QAAM2D,OAAOy2E,iDALiC,IAKjCA,CAAb;;AACA,WAAQ,SAAQz2E,UAAT,qBAASA,CAAR,MAAR,MAA4D;AAC1D,mBAD0D,KAC1D;AAAA;AAAA,UAAI,CAAJ;AAAA,UAAI,IAAJ;AAAA,UAAI,IAAJ;;AACAkV,UAAI3Y,YAFsD,EAEtDA,CAAJ2Y;;AACA,UAAIA,KAAJ,SAAkB;AAEhB,YAAIA,MAAJ,GAAa;AAAA;AAFG;;AAAA;AAHwC;;AAU1D7Y,mBAAa,YAAbA;AAhB4C;;AAkB9C,QAAM66E,QAlBwC,EAkB9C;;AACA,SAAK,IAAIhiE,MAAT,GAAgBA,MAAI7Y,QAApB,QAAoC,EAApC,KAAyC;AACvC,UAAI,EAAE,OAAN,OAAI,CAAJ,EAAqB;AAAA;AADkB;;AAKvC,uCAAmBA,QALoB,GAKpBA,CAAnB;AAAA,UAAI,KAAJ;AAAA,UAAI,KAAJ;;AACA86E,cAAOT,eANgC,KAMhCA,CAAPS;;AACA,iBAAU;AACRA,gBAAOjgE,SADC,KACDA,CAAPigE;;AACA,YAAIjiE,QAAJ,GAAa;AACXiiE,kBAAOR,cADI,KACJA,CAAPQ;AAHM;AAP6B;;AAavCD,iBAbuC,KAavCA;AAhC4C;;AAkC9C,WAAOA,WAlCuC,EAkCvCA,CAAP;AAxHiE;;AA0HnE,iCAA+B;AAC7B,QAAI15E,iBAAJ,GAAIA,CAAJ,EAA2B;AACzB,UAAM05E,QAAQ15E,qBADW,KACXA,CAAd;;AAEA,WAAK,IAAIhD,IAAT,GAAgBA,IAAI08E,MAApB,QAAkC,EAAlC,GAAuC;AACrC,YAAME,YAAYF,iBADmB,GACnBA,CAAlB;;AACA,YAAIE,cAAc,CAAlB,GAAsB;AACpBF,qBAAWA,kBADS,SACTA,CAAXA;AACAA,yBAAe18E,IAFK,CAEpB08E;AAJmC;;AAMrCA,mBAAWA,2BAN0B,IAM1BA,CAAXA;AATuB;;AAWzB15E,cAAQ05E,WAXiB,GAWjBA,CAAR15E;AAZ2B;;AAc7B,WAd6B,KAc7B;AAxIiE;;AA0InE,mCAAiC;AAE/B,QAAM65E,cAAcC,iBAFW,GAEXA,CAApB;;AACA,QAAID,gBAAgB,CAApB,GAAwB;AAItB,aAJsB,QAItB;AAP6B;;AAS/B,QAAME,WAAWD,kBATc,WASdA,CAAjB;AACA,QAAME,YAAYF,eAAeD,cAVF,CAUbC,CAAlB;AAEA,QAAM95E,QAAQg6E,6BAZiB,EAYjBA,CAAd;AACA,WAAOP,qBAbwB,KAaxBA,CAAP;AAvJiE;;AAyJnE,gCAA8B;AAW5B,QAAI,CAACz5E,iBAAD,IAACA,CAAD,IAA2B,4BAA/B,KAA+B,CAA/B,EAAmE;AACjE,aADiE,KACjE;AAZ0B;;AAqB5B,WAAO,gEAEL,4CAA4C;AAC1C,UAAI+5E,oBAAoBA,aAAxB,KAA0C;AAExCE,eAAOA,mBAFiC,GAEjCA,CAAPA;AACAA,eAAO,mCAAmC,sBAAsB;AAC9D,iBAAO3jE,oBAAoBvX,cADmC,EACnCA,CAApBuX,CAAP;AAJsC,SAGjC,CAAP2jE;AAGA,eAAOR,oBANiC,IAMjCA,CAAP;AAPwC;;AAS1C,UAAI;AACFQ,eAAO3wB,KADL,IACKA,CAAP2wB;AADF,QAEE,UAAU,CAX8B;;AAY1C,aAAOR,oBAZmC,IAYnCA,CAAP;AAnCwB,KAqBrB,CAAP;AA9KiE;;AAiMnE,SAjMmE,EAiMnE;AAhOF,C;;;;;;;;;;;;;;;;ACeA;;AAKA;;;;;;;;;;;;;;;;;;;;AApBA;AAgCA,IAAMS,cAhCN,GAgCA;AACA,IAAMC,2BAjCN,GAiCA;;AAEA,6BAA6B;AAC3B,MAAMrjE,OAAOsjE,IADc,QAC3B;;AACA,MAAI,gBAAJ,UAA8B;AAC5B,WAD4B,IAC5B;AAHyB;;AAK3B,MAAMvX,QAAQvoE,yBALa,IAKbA,CAAd;AACA,SAAOuoE,MANoB,MAM3B;AAzCF;;IA4CA,c;AACE/pE,qCAAuB;AAAA;;AACrB,eADqB,GACrB;AACAm6B,WAAOA,QAFc,EAErBA;AACA,kBAAc,iBAHO,GAGP,CAAd;AACA,uBAAoB,eAAeA,KAAhB,WAAC,IAJC,EAIrB;AACA,2BAAuBA,wBALF,KAKrB;;AACA,kBACEA,eACA,iCAAiC;AAC/B,aAAO,IADwB,cACxB,EAAP;AATiB,KAMrB;;AAMA,qBAZqB,CAYrB;AACA,2BAAuBr1B,cAbF,IAaEA,CAAvB;AAdiB;;;;WAiBnBy8E,6CAAoC;AAClC,UAAMpnD,OAAO;AACXmwC,aADW,EACXA,KADW;AAEXjmE,WAFW,EAEXA;AAFW,OAAb;;AAIA,kCAA8B;AAC5B81B,qBAAaqnD,UADe,IACfA,CAAbrnD;AANgC;;AAQlC,aAAO,aAR2B,IAQ3B,CAAP;AAzBiB;;;WA4BnBsnD,gCAAuB;AACrB,aAAO,aADc,SACd,CAAP;AA7BiB;;;WAgCnBhgF,uBAAc;AACZ,UAAM6/E,MAAM,KADA,MACA,EAAZ;AACA,UAAMI,QAAQ,KAFF,SAEE,EAAd;AACA,UAAMC,iBAAkB,8BAA8B;AACpDL,WAJU,EAIVA;AADoD,OAAtD;AAIAA,sBAAgB,KAPJ,GAOZA;AACAA,4BAAsB,KARV,eAQZA;;AACA,2BAAuB,KAAvB,aAAyC;AACvC,YAAMp6E,QAAQ,iBADyB,QACzB,CAAd;;AACA,YAAI,iBAAJ,aAAkC;AAAA;AAFK;;AAKvCo6E,uCALuC,KAKvCA;AAdU;;AAgBZ,UAAI,eAAe,WAAf,QAAkC,SAAtC,MAAqD;AACnDA,sDAAuCnnD,KAAT,KAA9BmnD,cAAqDnnD,WADF,CACnDmnD;AACAK,wCAFmD,wBAEnDA;AAFF,aAGO;AACLA,wCADK,WACLA;AApBU;;AAsBZL,yBAtBY,aAsBZA;;AAEA,UAAInnD,KAAJ,SAAkB;AAChBmnD,sBAAc,eAAe;AAC3BnnD,uBAAamnD,IADc,MAC3BnnD;AAFc,SAChBmnD;AAzBU;;AA6BZA,+BAAyB,8BA7Bb,KA6Ba,CAAzBA;AACAA,uBAAiB,2BA9BL,KA8BK,CAAjBA;AAEAK,yCAAmCxnD,KAhCvB,iBAgCZwnD;AACAA,8BAAwBxnD,KAjCZ,MAiCZwnD;AACAA,+BAAyBxnD,KAlCb,OAkCZwnD;AACAA,kCAA4BxnD,KAnChB,UAmCZwnD;AAEAL,eArCY,IAqCZA;AAEA,aAvCY,KAuCZ;AAvEiB;;;WA0EnBM,gCAAuB;AACrB,UAAMD,iBAAiB,qBADF,KACE,CAAvB;;AACA,UAAI,CAAJ,gBAAqB;AAAA;AAFA;;AAOrB,UAAIA,eAAJ,YAA+B;AAC7BA,kCAD6B,GAC7BA;AARmB;AA1EJ;;;WAsFnBE,mCAA0B;AACxB,UAAMF,iBAAiB,qBADC,KACD,CAAvB;;AACA,UAAI,CAAJ,gBAAqB;AAAA;AAFG;;AAOxB,UAAML,MAAMK,eAPY,GAOxB;;AACA,UAAIL,uBAAuBK,eAA3B,mBAA6D;AAC3DA,uBAD2D,iBAC3DA;AACA,eAAOA,eAFoD,iBAE3D;AAVsB;;AAaxB,UAAIL,mBAAJ,GAA0B;AAAA;AAbF;;AAiBxB,UAAI,EAAE,SAAS,KAAf,eAAI,CAAJ,EAAsC;AAAA;AAjBd;;AAuBxB,aAAO,qBAvBiB,KAuBjB,CAAP;;AAGA,UAAIA,oBAAoB,KAAxB,QAAqC;AACnC,YAAIK,eAAJ,SAA4B;AAC1BA,iCAAuBL,IADG,MAC1BK;AAFiC;;AAAA;AA1Bb;;AAgCxB,UAAMG,YAAYR,cAhCM,WAgCxB;AAKA,UAAMS,+BACJD,6BACAH,kCAvCsB,wBAqCxB;;AAIA,UACE,iCACAG,cAAcH,eAFhB,gBAGE;AACA,YAAIA,eAAJ,SAA4B;AAC1BA,iCAAuBL,IADG,MAC1BK;AAFF;;AAAA;AA5CsB;;AAmDxB,UAAMhkE,QAAQqkE,eAnDU,GAmDVA,CAAd;;AACA,UAAIF,cAAJ,0BAA4C;AAC1C,YAAMG,cAAcX,sBADsB,eACtBA,CAApB;AACA,YAAMv7E,UAAU,gCAF0B,WAE1B,CAAhB;AACA47E,8BAAsB;AACpBrX,iBAAOrkE,SAASF,QAATE,CAASF,CAATE,EADa,EACbA,CADa;AAEpB0X,eAFoB,EAEpBA;AAFoB,SAAtBgkE;AAHF,aAOO,WAAW;AAChBA,8BAAsB;AACpBrX,iBADoB;AAEpB3sD,eAFoB,EAEpBA;AAFoB,SAAtBgkE;AADK,aAKA,IAAIA,eAAJ,SAA4B;AACjCA,+BAAuBL,IADU,MACjCK;AAjEsB;AAtFP;;;WA2JnBO,8BAAqB;AACnB,aAAO,4BADY,GACnB;AA5JiB;;;WA+JnBC,iCAAwB;AACtB,aAAOT,SAAS,KADM,eACtB;AAhKiB;;;WAmKnB3tC,6BAAoB;AAClB,UAAMutC,MAAM,4BADM,GAClB;AACA,aAAO,qBAFW,KAEX,CAAP;AACAA,UAHkB,KAGlBA;AAtKiB;;;;;;IA2KrB,gB;AACEthF,oCAAoB;AAAA;;AAClB,mBADkB,MAClB;AACA,oBAAgB,mBAAmB+iB,OAAnB,KAA+B;AAC7CwgC,mBAAaxgC,OADgC;AAE7CygC,uBAAiBzgC,OAF4B;AAAA,KAA/B,CAAhB;AAIA,2BAAuBA,OANL,cAMlB;AACA,8BAPkB,IAOlB;AACA,gCARkB,EAQlB;AATmB;;;;WAYrBq/D,6CAAoC;AAClC,UAAMl+E,IAAI,kCADwB,MACxB,CAAV;;AACA,UAAIA,KAAJ,GAAY;AACV,4CADU,CACV;AAHgC;AAZf;;;WAmBrB2mE,yBAAgB;AACdhpE,wBACE,CAAC,KADHA,oBADc,yDACdA;AAIA,gCAA0B,sCACxB,KADwB,UAExB,KAPY,OAKY,CAA1B;AAIA,aAAO,KATO,kBASd;AA5BmB;;;WA+BrBkpE,oCAA2B;AACzB,UAAMroC,SAAS,uCACb,KADa,iBADU,GACV,CAAf;AAKAA,wBAAkB,sCANO,IAMP,CAAlBA;;AACA,qCAPyB,MAOzB;;AACA,aARyB,MAQzB;AAvCmB;;;WA0CrBsoC,mCAA0B;AACxB,UAAI,KAAJ,oBAA6B;AAC3B,uCAD2B,MAC3B;AAFsB;;AAAA,iDAIH,gCAArB,CAAqB,CAJG;AAAA;;AAAA;AAIxB,4DAAyD;AAAA,cAAzD,MAAyD;AACvDtoC,wBADuD,MACvDA;AALsB;AAAA;AAAA;AAAA;AAAA;AAAA;AA1CL;;;;;;;;IAqDvB,iC;AACE1iC,8DAA6B;AAAA;;AAC3B,oBAD2B,OAC3B;AAEA,QAAMm6B,OAAO;AACXkoD,yBAAmB,6BADR,IACQ,CADR;AAEXC,cAAQ,kBAFG,IAEH,CAFG;AAGXC,eAAS,mBAHE,IAGF,CAHE;AAIXX,kBAAY,sBAJD,IAIC;AAJD,KAAb;AAMA,gBAAY7+D,OATe,GAS3B;AACA,0BAAsBy/D,oBAVK,IAULA,CAAtB;AACA,sCAX2B,oCAW3B;AACA,yBAAqBz/D,uBAZM,KAY3B;AACA,0BAAsBA,OAbK,MAa3B;AACA,2BAAuBA,OAdI,cAc3B;;AACA,QAAI,CAAC,KAAD,mBAAyB,CAAC,KAA9B,eAAkD;AAChD,2BADgD,IAChD;AAhByB;;AAmB3B,iCAnB2B,KAmB3B;AACA,6BApB2B,KAoB3B;AAEA,yBAtB2B,EAsB3B;AACA,qBAvB2B,EAuB3B;AACA,iBAxB2B,KAwB3B;AACA,wBAzB2B,SAyB3B;AACA,qBA1B2B,IA0B3B;AAEA,sBA5B2B,IA4B3B;AA7BoC;;;;WAgCtC0/D,8BAAqB;AACnB,UAAMC,mBAAmB,KADN,cACnB;;AACA,UAAMC,iBAAiB,4BAFJ,gBAEI,CAAvB;;AAEA,UAAMnD,oBAAoBx6E,SAApBw6E,iBAAoBx6E,OAAQ;AAChC,eAAO29E,iCADyB,IACzBA,CAAP;AALiB,OAInB;;AAGA,kCACE,qDAAiC;AAC/BnD,yBAD+B,EAC/BA,iBAD+B;AAE/BC,gBAAQ,cAFuB;AAG/Bh8B,wBAAgB,KAHe;AAI/BJ,sBAAc,KAJiB;AAAA,OAAjC,CADF;AAAA,UAAM,kBAAN,yBAAM,kBAAN;AAAA,UAAM,eAAN,yBAAM,eAAN;;AAQA,8BAAwB;AACtB,iCADsB,IACtB;AAhBiB;;AAmBnB,4BAAsBq8B,mBAAmB,KAnBtB,cAmBnB;AAEA,uBAAiBC,8CArBE,iBAqBFA,CAAjB;;AAEA,UAAI,KAAJ,mBAA4B;AAK1B,mCAL0B,gBAK1B;AA5BiB;;AA+BnB,sCA/BmB,OA+BnB;AA/DoC;;;WAkEtCiD,uBAAc;AACZ,gBAAU;AACR,YAAI,wBAAJ,GAA+B;AAC7B,cAAMzX,oBAAoB,eADG,KACH,EAA1B;;AACAA,oCAA0B;AAAEjkE,mBAAOizB,KAAT;AAAqBjwB,kBAArB;AAAA,WAA1BihE;AAFF,eAGO;AACL,kCAAwBhxC,KADnB,KACL;AALM;AADE;;AASZ,mBATY,IASZ;;AACA,UAAI,4BAAJ,GAAmC;AAAA;AAVvB;;AAAA,kDAaoB,KAAhC,SAbY;AAAA;;AAAA;AAaZ,+DAAgD;AAAA,cAAhD,kBAAgD;;AAC9CgxC,qCAA0B;AAAEjkE,mBAAF;AAAoBgD,kBAApB;AAAA,WAA1BihE;AAdU;AAAA;AAAA;AAAA;AAAA;AAAA;;AAgBZ,8BAhBY,CAgBZ;AAlFoC;;;WAqFtC0X,0BAAiB;AACf,UAAM/hF,MAAM,KADG,IACf;AACA,UAAM2sD,YAAYq1B,sDAFH,GAEGA,CAAlB;AACA,0BAHe,SAGf;;AACA,6CAJe,SAIf;;AAJe,kDAKiB,KAAhC,SALe;AAAA;;AAAA;AAKf,+DAAgD;AAAA,cAAhD,iBAAgD;AAC9C3X,mCAD8C,SAC9CA;AANa;AAAA;AAAA;AAAA;AAAA;AAAA;;AAQf,8BARe,CAQf;AACA,kCATe,CASf;AA9FoC;;;WAiGtCV,2BAAkB;AAChB,UAAI,KAAJ,YAAqB;AACnB,wBAAgB;AACd7d,kBAAQ5uC,KADM;AAEd6uC,iBAAO7uC,wBAAwBA,KAAxBA,QAAqC,KAF9B;AAAA,SAAhB;AAFc;AAjGoB;;;SA0GtC,eAAe;AACb,aAAO,KADM,SACb;AA3GoC;;;SA8GtC,eAAuB;AACrB,aAAO,KADc,iBACrB;AA/GoC;;;SAkHtC,eAA2B;AACzB,aAAO,KADkB,qBACzB;AAnHoC;;;SAsHtC,eAAoB;AAClB,aAAO,KADW,cAClB;AAvHoC;;;SA0HtC,eAAmB;AACjB,aAAO,gCADU,OACjB;AA3HoC;;;;+EA8HtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBACM,KAAJ,YADF;AAAA;AAAA;AAAA;;AAAA,sBAEU,KADe,YADzB;;AAAA;AAAA,sBAIM,4BAAJ,CAJF;AAAA;AAAA;AAAA;;AAKUL,qBALV,GAKkB,mBADmB,KACnB,EALlB;AAAA,iDAMW;AAAEzW,yBAAF;AAAgBgD,wBAAhB;AAAA,iBANX;;AAAA;AAAA,qBAQM,KAAJ,KARF;AAAA;AAAA;AAAA;;AAAA,iDASW;AAAEhD,yBAAF;AAAoBgD,wBAApB;AAAA,iBATX;;AAAA;AAWQihE,iCAXR,GAAa,oCAAb;;AAYE,oCAZW,iBAYX;;AAZF,iDAaSA,kBAbI,OAAb;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAgBAjlC,wBAAe;AACb,mBADa,IACb;;AACA,6CAFa,MAEb;;AAFa,kDAGmB,KAAhC,SAHa;AAAA;;AAAA;AAGb,+DAAgD;AAAA,cAAhD,iBAAgD;AAC9CilC,oCAA0B;AAAEjkE,mBAAF;AAAoBgD,kBAApB;AAAA,WAA1BihE;AAJW;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMb,8BANa,CAMb;;AACA,UAAI,+BAA+B,KAAnC,cAAI,CAAJ,EAAyD;AACvD,mCAA2B,KAD4B,cACvD;AARW;;AAUb,gCAVa,IAUb;AAxJoC;;;;;;IA6JxC,kC;AACEnrE,mEAAiC;AAAA;;AAC/B,oBAD+B,OAC/B;AACA,QAAMm6B,OAAO;AACXmoD,cAAQ,kBADG,IACH,CADG;AAEXV,kBAAY,sBAFD,IAEC;AAFD,KAAb;AAIA,sBAAkBY,iCANa,IAMbA,CAAlB;AACA,qBAP+B,EAO/B;AACA,wBAR+B,IAQ/B;AACA,iBAT+B,KAS/B;AAEA,sBAX+B,IAW/B;AACA,oBAZ+B,IAY/B;AAbqC;;;;WAgBvCO,kBAAS;AACP,UAAI,KAAJ,UAAmB;AACjB,sBADiB,IACjB;AAFK;AAhB8B;;;WAsBvCH,uBAAc;AACZ,UAAMjlE,QAAQK,KADF,KACZ;;AACA,UAAI,wBAAJ,GAA+B;AAC7B,YAAMmtD,oBAAoB,eADG,KACH,EAA1B;;AACAA,kCAA0B;AAAEjkE,iBAAF;AAAgBgD,gBAAhB;AAAA,SAA1BihE;AAFF,aAGO;AACL,4BADK,KACL;AANU;;AAQZ,mBARY,IAQZ;;AARY,kDASoB,KAAhC,SATY;AAAA;;AAAA;AASZ,+DAAgD;AAAA,cAAhD,mBAAgD;;AAC9CA,sCAA0B;AAAEjkE,mBAAF;AAAoBgD,kBAApB;AAAA,WAA1BihE;AAVU;AAAA;AAAA;AAAA;AAAA;AAAA;;AAYZ,8BAZY,CAYZ;;AACA,WAbY,MAaZ;AAnCqC;;;WAsCvCV,0BAAiB;AACf,UAAI,CAAC,KAAD,wBAA8B,KAAlC,YAAmD;AACjD,wBAAgB;AACd7d,kBAAQD,IAFuC;AACjC,SAAhB;AAFa;AAtCsB;;;SA8CvC,eAA2B;AACzB,aADyB,KACzB;AA/CqC;;;;gFAkDvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBACM,sBAAJ,IADF;AAAA;AAAA;AAAA;;AAEUhvC,qBAFV,GAEkB,KADgB,YADlC;AAGI,oCAF8B,IAE9B;AAHJ,kDAIW;AAAEzW,yBAAF;AAAgBgD,wBAAhB;AAAA,iBAJX;;AAAA;AAAA,qBAMM,KAAJ,KANF;AAAA;AAAA;AAAA;;AAAA,kDAOW;AAAEhD,yBAAF;AAAoBgD,wBAApB;AAAA,iBAPX;;AAAA;AASQihE,iCATR,GAAa,oCAAb;;AAUE,oCAVW,iBAUX;;AAVF,kDAWSA,kBAXI,OAAb;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAcAjlC,wBAAe;AACb,mBADa,IACb;;AADa,kDAEmB,KAAhC,SAFa;AAAA;;AAAA;AAEb,+DAAgD;AAAA,cAAhD,iBAAgD;AAC9CilC,oCAA0B;AAAEjkE,mBAAF;AAAoBgD,kBAApB;AAAA,WAA1BihE;AAHW;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKb,8BALa,CAKb;;AACA,UAAI,+BAA+B,KAAnC,UAAI,CAAJ,EAAqD;AACnD,mCAA2B,KADwB,UACnD;AAPW;;AASb,WATa,MASb;AAzEqC;;;;;;;;;;;;;;;;;;;;AC1ZzC;;AAKA;;;;;;;;;;;;;;;;;;;;AApBA;;AAiCA,uEAAuE;AACrE,SAAO;AACLthE,YADK;AAELy1E,WAFK,EAELA,OAFK;AAGL/mC,YAAQyqC,eAARzqC,aAAQyqC,eAARzqC,uBAAQyqC,gBAHH;AAILt6D,UAJK;AAKLu6D,iBAAaz/B,8BALR;AAML0/B,cANK;AAAA,GAAP;AAlCF;;AA4CA,oCAAoC;AAClC,MAAM5D,UAAU,IADkB,OAClB,EAAhB;;AACA,oCAAoC;AAClC,QAAMp4E,QAAQq8C,YADoB,QACpBA,CAAd;;AACA,QAAI,iBAAJ,aAAkC;AAAA;AAFA;;AAKlC+7B,6BALkC,KAKlCA;AAPgC;;AASlC,SATkC,OASlC;AArDF;;IAyDA,c;AACEt/E,kCAAoB;AAAA;;AAClB,kBADkB,MAClB;AACA,kBAAc,iBAAiB+iB,OAFb,GAEJ,CAAd;AACA,uBAAoB,eAAeA,OAAhB,WAAC,IAHF,EAGlB;AAEA,8BALkB,IAKlB;AACA,gCANkB,EAMlB;AAPiB;;;;SAUnB,eAA6B;AAAA;;AAC3B,gEAAO,uBAAP,2DAAO,8BAAP,yEAD2B,CAC3B;AAXiB;;;WAcnB8nD,yBAAgB;AACdhpE,wBACE,CAAC,KADHA,oBADc,uDACdA;AAIA,gCAA0B,yBALZ,IAKY,CAA1B;AACA,aAAO,KANO,kBAMd;AApBiB;;;WAuBnBkpE,oCAA2B;AACzB,UAAI1mE,OAAO,KAAX,wBAAwC;AACtC,eADsC,IACtC;AAFuB;;AAIzB,UAAMq+B,SAAS,2CAJU,GAIV,CAAf;;AACA,qCALyB,MAKzB;;AACA,aANyB,MAMzB;AA7BiB;;;WAgCnBsoC,mCAA0B;AACxB,UAAI,KAAJ,oBAA6B;AAC3B,uCAD2B,MAC3B;AAFsB;;AAAA,iDAIH,gCAArB,CAAqB,CAJG;AAAA;;AAAA;AAIxB,4DAAyD;AAAA,cAAzD,MAAyD;AACvDtoC,wBADuD,MACvDA;AALsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAhCP;;;;;;;;IA2CrB,oB;AACE1iC,wCAAoB;AAAA;;AAAA;;AAClB,mBADkB,MAClB;AACA,mBAFkB,IAElB;AACA,mBAHkB,CAGlB;AACA,qBAJkB,IAIlB;AACA,QAAM+iB,SAAS4f,OALG,MAKlB;AACA,4BAAwB5f,0BANN,KAMlB;AACA,0BAAsBA,OAPJ,MAOlB;AACA,8BARkB,oCAQlB;AACA,yBAAqBA,uBATH,KASlB;AACA,2BAAuBA,OAVL,cAUlB;;AACA,QAAI,CAAC,KAAD,mBAAyB,CAAC,KAA9B,eAAkD;AAChD,2BADgD,IAChD;AAZgB;;AAelB,QAAI,2BAAJ,aAA4C;AAC1C,8BAAwB,IADkB,eAClB,EAAxB;AAhBgB;;AAkBlB,iCAA6B,CAACA,OAlBZ,aAkBlB;AACA,6BAAyB,CAACA,OAnBR,YAmBlB;AAEA,oBAAgBogE,cAAc,aArBZ,WAqBFA,CAAhB;AAEA,QAAMriF,MAAMiiB,OAvBM,GAuBlB;AACAqgE,eAEEC,mBACE,KADFA,UAEE,KAFFA,kBAGE,KALJD,gBAEEC,CAFFD,OAQQ9hF,oBAAY;AAChB,UAAI,CAACgiF,2CAAuBhiF,SAA5B,MAAKgiF,CAAL,EAA8C;AAC5C,cAAMR,8CAA0BxhF,SAA1BwhF,QADsC,GACtCA,CAAN;AAFc;;AAIhB,sBAAexhF,cAJC,SAIDA,EAAf;;AACA,+BALgB,OAKhB;;AAEA,UAAMk+E,oBAAoBx6E,SAApBw6E,iBAAoBx6E,OAAQ;AAChC,eAAO1D,qBADyB,IACzBA,CAAP;AARc,OAOhB;;AAGA,kCACE,qDAAiC;AAC/Bk+E,yBAD+B,EAC/BA,iBAD+B;AAE/BC,gBAAQ,cAFuB;AAG/Bh8B,wBAAgB,MAHe;AAI/BJ,sBAAc,MAJiB;AAAA,OAAjC,CADF;AAAA,UAAM,kBAAN,yBAAM,kBAAN;AAAA,UAAM,eAAN,yBAAM,eAAN;;AAQA,gCAlBgB,kBAkBhB;AAEA,6BAAsBq8B,mBAAmB,MApBzB,cAoBhB;AAEA,wBAAiBC,8CAtBD,iBAsBCA,CAAjB;;AAIA,UAAI,CAAC,MAAD,yBAA+B,MAAnC,mBAA2D;AACzD,qBAAY,yBAD6C,wBAC7C,CAAZ;AA3Bc;AARpByD,gBAsCS,wBA9DS,MAwBlBA;AAwCA,sBAhEkB,IAgElB;AAjEuB;;;;SAoEzB,eAAmB;AACjB,aAAO,wBADU,OACjB;AArEuB;;;SAwEzB,eAAe;AACb,aAAO,KADM,SACb;AAzEuB;;;SA4EzB,eAAoB;AAClB,aAAO,KADW,cAClB;AA7EuB;;;SAgFzB,eAAuB;AACrB,aAAO,KADc,iBACrB;AAjFuB;;;SAoFzB,eAA2B;AACzB,aAAO,KADkB,qBACzB;AArFuB;;;;+EAwFzB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACQ,wBADK,OAAb;;AAAA;AAAA;AAAA,uBAEgC,aAFnB,IAEmB,EAFhC;;AAAA;AAAA;AAEQ,qBAFR,yBAEQ,KAFR;AAEQ,oBAFR,yBAEQ,IAFR;;AAAA,qBAGE,IAHF;AAAA;AAAA;AAAA;;AAAA,iDAIW;AAAEl8E,uBAAF,EAAEA,KAAF;AAASgD,sBAAT,EAASA;AAAT,iBAJX;;AAAA;AAME,gCAAgBhD,MANL,UAMX;;AACA,oBAAI,KAAJ,YAAqB;AACnB,kCAAgB;AACd0lD,4BAAQ,KADM;AAEdC,2BAAO,KAFO;AAAA,mBAAhB;AARS;;AAaL5rC,sBAbR,GAaiB,sBAbJ,MAAb;AAAA,iDAcS;AAAE/Z,yBAAF;AAAiBgD,wBAAjB;AAAA,iBAdT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAiBAg8B,wBAAe;AACb,UAAI,KAAJ,SAAkB;AAChB,4BADgB,MAChB;AAFW;;AAIb,UAAI,KAAJ,kBAA2B;AACzB,8BADyB,KACzB;AALW;AAzGU;;;;;;IAoH3B,yB;AACElmC,yDAAgC;AAAA;;AAAA;;AAC9B,mBAD8B,MAC9B;AACA,mBAF8B,IAE9B;AACA,mBAH8B,CAG9B;AACA,QAAM+iB,SAAS4f,OAJe,MAI9B;AACA,4BAAwB5f,0BALM,KAK9B;AACA,2BAN8B,oCAM9B;AACA,iCAA6B,CAACA,OAPA,aAO9B;;AAEA,QAAI,2BAAJ,aAA4C;AAC1C,8BAAwB,IADkB,eAClB,EAAxB;AAV4B;;AAa9B,oBAAgBogE,cAAc,aAbA,WAadA,CAAhB;;AACA,kDAA8B,KAA9B,cAAgD9+E,MAdlB,CAc9B;;AAEA,QAAMvD,MAAMiiB,OAhBkB,GAgB9B;AACAqgE,eAEEC,mBACE,KADFA,UAEE,KAFFA,kBAGE,KALJD,gBAEEC,CAFFD,OAQQ9hF,oBAAY;AAChB,UAAI,CAACgiF,2CAAuBhiF,SAA5B,MAAKgiF,CAAL,EAA8C;AAC5C,cAAMR,8CAA0BxhF,SAA1BwhF,QADsC,GACtCA,CAAN;AAFc;;AAIhB,6BAJgB,OAIhB;;AACA,uBAAexhF,cALC,SAKDA,EAAf;AAbJ8hF,gBAeSniF,kBAAU;AACf,UAAIA,kEAAJ,cAAmC;AAAA;AADpB;;AAIf,YAJe,MAIf;AApC0B,KAiB9BmiF;AAsBA,sBAvC8B,IAuC9B;AAxC4B;;;;SA2C9B,eAA2B;AACzB,aAAO,KADkB,qBACzB;AA5C4B;;;;gFA+C9B;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACQ,qBADK,OAAb;;AAAA;AAAA;AAAA,uBAEgC,aAFnB,IAEmB,EAFhC;;AAAA;AAAA;AAEQ,qBAFR,0BAEQ,KAFR;AAEQ,oBAFR,0BAEQ,IAFR;;AAAA,qBAGE,IAHF;AAAA;AAAA;AAAA;;AAAA,kDAIW;AAAEl8E,uBAAF,EAAEA,KAAF;AAASgD,sBAAT,EAASA;AAAT,iBAJX;;AAAA;AAME,gCAAgBhD,MANL,UAMX;;AACA,oBAAI,KAAJ,YAAqB;AACnB,kCAAgB;AAAE0lD,4BAAQ,KADP;AACH,mBAAhB;AARS;;AAUL3rC,sBAVR,GAUiB,sBAVJ,MAAb;AAAA,kDAWS;AAAE/Z,yBAAF;AAAiBgD,wBAAjB;AAAA,iBAXT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAcAg8B,wBAAe;AACb,UAAI,KAAJ,SAAkB;AAChB,4BADgB,MAChB;AAFW;;AAIb,UAAI,KAAJ,kBAA2B;AACzB,8BADyB,KACzB;AALW;AA7De;;;;;;;;;UCxNhC;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACYA;;AAYA;;AASA;;AArCA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AA8DA,IAAMq9C,eA9DN,SA8DA;AAGA,IAAMC,aAjEN,WAiEA;AAiBqC;AACnC,iBAAqBxhE,oBADc,CACdA,CAArB;AAAA,MAAM,QAAN,YAAM,QAAN;;AACA,gBAAc;AACZ,QAAMyhE,gBAAgBzhE,sCAAtB;;AACA0hE,yCAA2BrhC,kBAAU;AACnC,aAAO,kBAD4B,MAC5B,CAAP;AAHU,KAEZqhC;AAFF,SAKO;AACL,QAAMC,mBAAmB3hE,yCAAzB;;AACA,QAFK,cAEL;;AACA,gDAAwB;AACtB4hE,uBAAiB5hE,uCAAjB4hE;AAJG;;AAMLF,yCAA2BrhC,kBAAU;AACnC,UAAIuhC,kBAAkBxiF,oCAAgBihD,OAAtC,GAAsBjhD,CAAtB,EAAmD;AACjD,eAAO,mBAD0C,MAC1C,CAAP;AAFiC;;AAInC,aAAO,qBAJ4B,MAI5B,CAAP;AAVG,KAMLsiF;AAbiC;AAlFrC,C","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 ","/* Copyright 2015 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n assert,\n BaseException,\n CMapCompressionType,\n isString,\n removeNullCharacters,\n stringToBytes,\n unreachable,\n Util,\n warn,\n} from \"../shared/util.js\";\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n unreachable(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n create(width, height) {\n unreachable(\"Abstract method `create` called.\");\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n // Zeroing the width and height cause Firefox to release graphics\n // resources immediately, which can greatly reduce memory consumption.\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n}\n\nclass DOMCanvasFactory extends BaseCanvasFactory {\n constructor({ ownerDocument = globalThis.document } = {}) {\n super();\n this._document = ownerDocument;\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas,\n context,\n };\n }\n}\n\nclass BaseCMapReaderFactory {\n constructor({ baseUrl = null, isCompressed = false }) {\n if (this.constructor === BaseCMapReaderFactory) {\n unreachable(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({ name }) {\n if (!this.baseUrl) {\n throw new Error(\n 'The CMap \"baseUrl\" parameter must be specified, ensure that ' +\n 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.'\n );\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed\n ? CMapCompressionType.BINARY\n : CMapCompressionType.NONE;\n\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(\n `Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`\n );\n });\n }\n\n /**\n * @private\n */\n _fetchData(url, compressionType) {\n unreachable(\"Abstract method `_fetchData` called.\");\n }\n}\n\nclass DOMCMapReaderFactory extends BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n if (\n (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"MOZCENTRAL\")) ||\n (isFetchSupported() && isValidFetchUrl(url, document.baseURI))\n ) {\n return fetch(url).then(async response => {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n let cMapData;\n if (this.isCompressed) {\n cMapData = new Uint8Array(await response.arrayBuffer());\n } else {\n cMapData = stringToBytes(await response.text());\n }\n return { cMapData, compressionType };\n });\n }\n\n // The Fetch API is not supported.\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let cMapData;\n if (this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!this.isCompressed && request.responseText) {\n cMapData = stringToBytes(request.responseText);\n }\n if (cMapData) {\n resolve({ cMapData, compressionType });\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n }\n}\n\nclass DOMSVGFactory {\n create(width, height) {\n assert(width > 0 && height > 0, \"Invalid SVG dimensions\");\n\n const svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n\n return svg;\n }\n\n createElement(type) {\n assert(typeof type === \"string\", \"Invalid SVG element type\");\n\n return document.createElementNS(SVG_NS, type);\n }\n}\n\n/**\n * @typedef {Object} PageViewportParameters\n * @property {Array} viewBox - The xMin, yMin, xMax and\n * yMax coordinates.\n * @property {number} scale - The scale of the viewport.\n * @property {number} rotation - The rotation, in degrees, of the viewport.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset. The\n * default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset. The\n * default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be flipped.\n * The default value is `false`.\n */\n\n/**\n * @typedef {Object} PageViewportCloneParameters\n * @property {number} [scale] - The scale, overriding the one in the cloned\n * viewport. The default value is `this.scale`.\n * @property {number} [rotation] - The rotation, in degrees, overriding the one\n * in the cloned viewport. The default value is `this.rotation`.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `this.offsetX`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `this.offsetY`.\n * @property {boolean} [dontFlip] - If true, the x-axis will not be flipped.\n * The default value is `false`.\n */\n\n/**\n * PDF page viewport created based on scale, rotation and offset.\n */\nclass PageViewport {\n /**\n * @param {PageViewportParameters}\n */\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n\n // creating transform to convert pdf coordinate system to the normal\n // canvas like coordinates taking in account scale and rotation\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n // Normalize the rotation, by clamping it to the [0, 360) range.\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\n \"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\"\n );\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n // creating transform for the following operations:\n // translate(-centerX, -centerY), rotate and flip vertically,\n // scale, and translate(offsetCanvasX, offsetCanvasY)\n this.transform = [\n rotateA * scale,\n rotateB * scale,\n rotateC * scale,\n rotateD * scale,\n offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY,\n offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY,\n ];\n\n this.width = width;\n this.height = height;\n }\n\n /**\n * Clones viewport, with optional additional properties.\n * @param {PageViewportCloneParameters} [params]\n * @returns {PageViewport} Cloned viewport.\n */\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * Converts PDF point to the viewport coordinates. For examples, useful for\n * converting PDF location into canvas pixel coordinates.\n * @param {number} x - The x-coordinate.\n * @param {number} y - The y-coordinate.\n * @returns {Object} Object containing `x` and `y` properties of the\n * point in the viewport coordinate space.\n * @see {@link convertToPdfPoint}\n * @see {@link convertToViewportRectangle}\n */\n convertToViewportPoint(x, y) {\n return Util.applyTransform([x, y], this.transform);\n }\n\n /**\n * Converts PDF rectangle to the viewport coordinates.\n * @param {Array} rect - The xMin, yMin, xMax and yMax coordinates.\n * @returns {Array} Array containing corresponding coordinates of the\n * rectangle in the viewport coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToViewportRectangle(rect) {\n const topLeft = Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n /**\n * Converts viewport coordinates to the PDF location. For examples, useful\n * for converting canvas pixel location into PDF one.\n * @param {number} x - The x-coordinate.\n * @param {number} y - The y-coordinate.\n * @returns {Object} Object containing `x` and `y` properties of the\n * point in the PDF coordinate space.\n * @see {@link convertToViewportPoint}\n */\n convertToPdfPoint(x, y) {\n return Util.applyInverseTransform([x, y], this.transform);\n }\n}\n\nclass RenderingCancelledException extends BaseException {\n constructor(msg, type) {\n super(msg);\n this.type = type;\n }\n}\n\nconst LinkTarget = {\n NONE: 0, // Default value.\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4,\n};\n\n/**\n * @typedef ExternalLinkParameters\n * @typedef {Object} ExternalLinkParameters\n * @property {string} url - An absolute URL.\n * @property {LinkTarget} [target] - The link target. The default value is\n * `LinkTarget.NONE`.\n * @property {string} [rel] - The link relationship. The default value is\n * `DEFAULT_LINK_REL`.\n * @property {boolean} [enabled] - Whether the link should be enabled. The\n * default value is true.\n */\n\n/**\n * Adds various attributes (href, title, target, rel) to hyperlinks.\n * @param {HTMLLinkElement} link - The link element.\n * @param {ExternalLinkParameters} params\n */\nfunction addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {\n assert(\n url && typeof url === \"string\",\n 'addLinkAttributes: A valid \"url\" parameter must provided.'\n );\n\n const urlNullRemoved = removeNullCharacters(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\"; // LinkTarget.NONE\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\n/**\n * Gets the filename from a given URL.\n * @param {string} url\n * @returns {string}\n */\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(\n anchor > 0 ? anchor : url.length,\n query > 0 ? query : url.length\n );\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\n/**\n * Returns the filename or guessed filename from the url (see issue 3455).\n * @param {string} url - The original PDF location.\n * @param {string} defaultFilename - The value returned if the filename is\n * unknown, or the protocol is unsupported.\n * @returns {string} Guessed PDF filename.\n */\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n warn('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n // SCHEME HOST 1.PATH 2.QUERY 3.REF\n // Pattern to get last matching NAME.pdf\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename =\n reFilename.exec(splitURI[1]) ||\n reFilename.exec(splitURI[2]) ||\n reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n // URL-encoded %2Fpath%2Fto%2Ffile.pdf should be file.pdf\n try {\n suggestedFilename = reFilename.exec(\n decodeURIComponent(suggestedFilename)\n )[0];\n } catch (ex) {\n // Possible (extremely rare) errors:\n // URIError \"Malformed URI\", e.g. for \"%AA.pdf\"\n // TypeError \"null has no properties\", e.g. for \"%2F.pdf\"\n }\n }\n }\n return suggestedFilename || defaultFilename;\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n warn(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n warn(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now(),\n });\n // Remove timer from started so it can be called again.\n delete this.started[name];\n }\n\n toString() {\n // Find the longest name for padding purposes.\n const outBuf = [];\n let longest = 0;\n for (const time of this.times) {\n const name = time.name;\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\n\nfunction isFetchSupported() {\n return (\n typeof fetch !== \"undefined\" &&\n typeof Response !== \"undefined\" &&\n \"body\" in Response.prototype &&\n typeof ReadableStream !== \"undefined\"\n );\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const { protocol } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n // The Fetch API only supports the http/https protocols, and not file/ftp.\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false; // `new URL()` will throw on incorrect data.\n }\n}\n\n/**\n * @param {string} src\n * @param {boolean} [removeScriptElement]\n * @returns {Promise}\n */\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\n// Deprecated API function -- display regardless of the `verbosity` setting.\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n /**\n * Convert a PDF date string to a JavaScript `Date` object.\n *\n * The PDF date string format is described in section 7.9.4 of the official\n * PDF 32000-1:2008 specification. However, in the PDF 1.7 reference (sixth\n * edition) Adobe describes the same format including a trailing apostrophe.\n * This syntax in incorrect, but Adobe Acrobat creates PDF files that contain\n * them. We ignore all apostrophes as they are not necessary for date parsing.\n *\n * Moreover, Adobe Acrobat doesn't handle changing the date to universal time\n * and doesn't use the user's time zone (effectively ignoring the HH' and mm'\n * parts of the date string).\n *\n * @param {string} input\n * @returns {Date|null}\n */\n static toDateObject(input) {\n if (!input || !isString(input)) {\n return null;\n }\n\n // Lazily initialize the regular expression.\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\n \"^D:\" + // Prefix (required)\n \"(\\\\d{4})\" + // Year (required)\n \"(\\\\d{2})?\" + // Month (optional)\n \"(\\\\d{2})?\" + // Day (optional)\n \"(\\\\d{2})?\" + // Hour (optional)\n \"(\\\\d{2})?\" + // Minute (optional)\n \"(\\\\d{2})?\" + // Second (optional)\n \"([Z|+|-])?\" + // Universal time relation (optional)\n \"(\\\\d{2})?\" + // Offset hour (optional)\n \"'?\" + // Splitting apostrophe (optional)\n \"(\\\\d{2})?\" + // Offset minute (optional)\n \"'?\" // Trailing apostrophe (optional)\n );\n }\n\n // Optional fields that don't satisfy the requirements from the regular\n // expression (such as incorrect digit counts or numbers that are out of\n // range) will fall back the defaults from the specification.\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n\n // JavaScript's `Date` object expects the month to be between 0 and 11\n // instead of 1 and 12, so we have to correct for that.\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n // Universal time relation 'Z' means that the local time is equal to the\n // universal time, whereas the relations '+'/'-' indicate that the local\n // time is later respectively earlier than the universal time. Every date\n // is normalized to universal time.\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\n\nexport {\n addLinkAttributes,\n BaseCanvasFactory,\n BaseCMapReaderFactory,\n DEFAULT_LINK_REL,\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMSVGFactory,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n isDataScheme,\n isFetchSupported,\n isPdfFile,\n isValidFetchUrl,\n LinkTarget,\n loadScript,\n PageViewport,\n PDFDateString,\n RenderingCancelledException,\n StatTimer,\n};\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","/* Copyright 2012 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\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 AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst 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 /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\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 allowed 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) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\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\n/**\n * @param {string} str\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(\n bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined,\n \"Invalid argument for bytesToString\"\n );\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n 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, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (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(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\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}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // 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 [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // 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) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns '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 (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\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 (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\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, 0x2d8,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n // UTF16BE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i) << 8) | str.charCodeAt(i + 1))\n );\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n // UTF16LE BOM\n for (let i = 2; i < length; i += 2) {\n strBuf.push(\n String.fromCharCode((str.charCodeAt(i + 1) << 8) | str.charCodeAt(i))\n );\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 escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\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 for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\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 * @returns {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\nfunction createObjectURL(data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], { type: contentType }));\n }\n // Blob/createObjectURL is not available, falling back to data schema.\n const digits =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\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,\n d2 = ((b1 & 3) << 4) | (b2 >> 4);\n const d3 = i + 1 < ii ? ((b2 & 0xf) << 2) | (b3 >> 6) : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createObjectURL,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n isBool,\n IsEvalSupportedCached,\n IsLittleEndianCached,\n isNum,\n isSameOrigin,\n isString,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n removeNullCharacters,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\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\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked)\n) {\n // Provides support for globalThis in legacy browsers.\n // Support: Firefox<65, Chrome<71, Safari<12.1\n if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n // eslint-disable-next-line no-global-assign\n globalThis = require(\"core-js/es/global-this\");\n }\n globalThis._pdfjsCompatibilityChecked = true;\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.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 (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.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 Object.fromEntries in legacy browsers.\n // Support: Firefox<63, Chrome<73, Safari<12.1, Node.js<12.0.0\n (function checkObjectFromEntries() {\n if (Object.fromEntries) {\n return;\n }\n require(\"core-js/es/object/from-entries.js\");\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\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 (globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `ReadableStream`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n let isReadableStreamSupported = false;\n\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 return;\n }\n globalThis.ReadableStream =\n require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n })();\n}\n","/* Copyright 2018 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","require('../modules/es.global-this');\n\nmodule.exports = require('../internals/global');\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true }, {\n globalThis: global\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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 createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || 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\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(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// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","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 -- safe\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.es/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.es/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 toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\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 // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\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\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","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 createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\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 var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\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 createNonEnumerableProperty(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 || inspectSource(this);\n});\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\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 if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return 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 inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(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 IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.13.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = false;\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","var global = require('../internals/global');\n\nmodule.exports = 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.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","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 -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(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.es/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(integer, 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","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.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","require('../../modules/es.array.iterator');\nrequire('../../modules/es.object.from-entries');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.fromEntries;\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.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/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.es/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.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\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');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\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.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\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.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = {};\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 createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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 createNonEnumerableProperty(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.prototype.{ 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 createNonEnumerableProperty(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 fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\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.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n 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 fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","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","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\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 iterate = require('../internals/iterate');\nvar createProperty = require('../internals/create-property');\n\n// `Object.fromEntries` method\n// https://github.com/tc39/proposal-object-from-entries\n$({ target: 'Object', stat: true }, {\n fromEntries: function fromEntries(iterable) {\n var obj = {};\n iterate(iterable, function (k, v) {\n createProperty(obj, k, v);\n }, { AS_ENTRIES: true });\n return obj;\n }\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/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_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 = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\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","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","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 TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar 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 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\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","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","'use strict';\nvar $ = require('../internals/export');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n // eslint-disable-next-line unicorn/error-message -- expected\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\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 inspectSource = require('../internals/inspect-source');\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 InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\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 if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\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 (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(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(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 (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\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 (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (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(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === 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, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ 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, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\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(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/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(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/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, state);\n this.reject = bind(internalReject, 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' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, '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 // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\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 = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/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.es/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.es/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.es/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 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 es/no-array-from, no-throw-literal -- required for testing\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","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.es/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 bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\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 -- safe\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 -- spec requirement\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 (IS_NODE) {\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 // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\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 (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\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 // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\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 // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(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 userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(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// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\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","module.exports = typeof window == 'object';\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://tc39.es/ecma262/#sec-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 (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\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 aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(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 errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\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 fails = require('../internals/fails');\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// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\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// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && typeof NativePromise == 'function') {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\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.es/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.es/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.es/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","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\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 createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\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 createNonEnumerableProperty(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","/**\n * web-streams-polyfill v3.0.3\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.WebStreamsPolyfill = {}));\n}(this, (function (exports) { 'use strict';\n\n /// \n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n Symbol :\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n /// \n function noop() {\n return undefined;\n }\n function getGlobals() {\n if (typeof self !== 'undefined') {\n return self;\n }\n else if (typeof window !== 'undefined') {\n return window;\n }\n else if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n }\n var globals = getGlobals();\n\n function typeIsObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n }\n var rethrowAssertionErrorRejection = noop;\n\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n // approximation.\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var queueMicrotask = (function () {\n var globalQueueMicrotask = globals && globals.queueMicrotask;\n if (typeof globalQueueMicrotask === 'function') {\n return globalQueueMicrotask;\n }\n var resolvedPromise = promiseResolvedWith(undefined);\n return function (fn) { return PerformPromiseThen(resolvedPromise, fn); };\n })();\n function reflectCall(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function promiseCall(F, V, args) {\n try {\n return promiseResolvedWith(reflectCall(F, V, args));\n }\n catch (value) {\n return promiseRejectedWith(value);\n }\n }\n\n // Original from Chromium\n // https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n /**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\n var SimpleQueue = /** @class */ (function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n // _front and _back are always defined.\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n // The cursor is used to avoid calling Array.shift().\n // It contains the index of the front element of the array inside the\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n this._cursor = 0;\n // When there is only one node, size === elements.length - cursor.\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n // For exception safety, this method is structured in order:\n // 1. Read state\n // 2. Calculate required state mutations\n // 3. Perform state mutations\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n // push() is the mutation most likely to throw an exception, so it\n // goes first.\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\n // exception safety.\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n // No mutations before this point.\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n // Permit shifted element to be garbage collected.\n elements[oldCursor] = undefined;\n return element;\n };\n // The tricky thing about forEach() is that it can be called\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\n // see that push() within the callback has no negative effects since the end\n // of the queue is checked for on every iteration. If shift() is called\n // repeatedly within the callback then the next iteration may return an\n // element that has been removed. In this case the callback will be called\n // with undefined values until we either \"catch up\" with elements that still\n // exist or reach the back of the queue.\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n // Return the element that would be returned if shift() was called now,\n // without modifying the queue.\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }());\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n }\n else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n }\n else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n // A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n // check.\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n }\n else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n // Helper functions for the readers.\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n // Helper functions for the ReadableStreamDefaultReader.\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n if (reader._closedPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n if (reader._closedPromise_resolve === undefined) {\n return;\n }\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n /// \n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite#Polyfill\n var NumberIsFinite = Number.isFinite || function (x) {\n return typeof x === 'number' && isFinite(x);\n };\n\n /// \n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc#Polyfill\n var MathTrunc = Math.trunc || function (v) {\n return v < 0 ? Math.ceil(v) : Math.floor(v);\n };\n\n // https://heycam.github.io/webidl/#idl-dictionaries\n function isDictionary(x) {\n return typeof x === 'object' || typeof x === 'function';\n }\n function assertDictionary(obj, context) {\n if (obj !== undefined && !isDictionary(obj)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n // https://heycam.github.io/webidl/#idl-callback-functions\n function assertFunction(x, context) {\n if (typeof x !== 'function') {\n throw new TypeError(context + \" is not a function.\");\n }\n }\n // https://heycam.github.io/webidl/#idl-object\n function isObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n }\n function assertObject(x, context) {\n if (!isObject(x)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n function assertRequiredArgument(x, position, context) {\n if (x === undefined) {\n throw new TypeError(\"Parameter \" + position + \" is required in '\" + context + \"'.\");\n }\n }\n function assertRequiredField(x, field, context) {\n if (x === undefined) {\n throw new TypeError(field + \" is required in '\" + context + \"'.\");\n }\n }\n // https://heycam.github.io/webidl/#idl-unrestricted-double\n function convertUnrestrictedDouble(value) {\n return Number(value);\n }\n function censorNegativeZero(x) {\n return x === 0 ? 0 : x;\n }\n function integerPart(x) {\n return censorNegativeZero(MathTrunc(x));\n }\n // https://heycam.github.io/webidl/#idl-unsigned-long-long\n function convertUnsignedLongLongWithEnforceRange(value, context) {\n var lowerBound = 0;\n var upperBound = Number.MAX_SAFE_INTEGER;\n var x = Number(value);\n x = censorNegativeZero(x);\n if (!NumberIsFinite(x)) {\n throw new TypeError(context + \" is not a finite number\");\n }\n x = integerPart(x);\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(context + \" is outside the accepted range of \" + lowerBound + \" to \" + upperBound + \", inclusive\");\n }\n if (!NumberIsFinite(x) || x === 0) {\n return 0;\n }\n // TODO Use BigInt if supported?\n // let xBigInt = BigInt(integerPart(x));\n // xBigInt = BigInt.asUintN(64, xBigInt);\n // return Number(xBigInt);\n return x;\n }\n\n function assertReadableStream(x, context) {\n if (!IsReadableStream(x)) {\n throw new TypeError(context + \" is not a ReadableStream.\");\n }\n }\n\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n // ReadableStream API exposed for controllers.\n function ReadableStreamAddReadRequest(stream, readRequest) {\n stream._reader._readRequests.push(readRequest);\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n if (done) {\n readRequest._closeSteps();\n }\n else {\n readRequest._chunkSteps(chunk);\n }\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n /**\n * A default reader vended by a {@link ReadableStream}.\n *\n * @public\n */\n var ReadableStreamDefaultReader = /** @class */ (function () {\n function ReadableStreamDefaultReader(stream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed,\n * or rejected if the stream ever errors or the reader's lock is released before the stream finishes closing.\n */\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n */\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n /**\n * Returns a promise that allows access to the next chunk from the stream's internal queue, if available.\n *\n * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n */\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) { return resolvePromise({ value: chunk, done: false }); },\n _closeSteps: function () { return resolvePromise({ value: undefined, done: true }); },\n _errorSteps: function (e) { return rejectPromise(e); }\n };\n ReadableStreamDefaultReaderRead(this, readRequest);\n return promise;\n };\n /**\n * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n * from now on; otherwise, the reader will appear closed.\n *\n * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n * the reader's {@link ReadableStreamDefaultReader.read | read()} method has not yet been settled. Attempting to\n * do so will throw a `TypeError` and leave the reader locked to the stream.\n */\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }());\n Object.defineProperties(ReadableStreamDefaultReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultReader',\n configurable: true\n });\n }\n // Abstract operations for the readers.\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultReaderRead(reader, readRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n readRequest._closeSteps();\n }\n else if (stream._state === 'errored') {\n readRequest._errorSteps(stream._storedError);\n }\n else {\n stream._readableStreamController[PullSteps](readRequest);\n }\n }\n // Helper functions for the ReadableStreamDefaultReader.\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n\n /// \n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\n AsyncIteratorPrototype = (_a = {},\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\n _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n },\n _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n\n /// \n var ReadableStreamAsyncIteratorImpl = /** @class */ (function () {\n function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {\n this._ongoingPromise = undefined;\n this._isFinished = false;\n this._reader = reader;\n this._preventCancel = preventCancel;\n }\n ReadableStreamAsyncIteratorImpl.prototype.next = function () {\n var _this = this;\n var nextSteps = function () { return _this._nextSteps(); };\n this._ongoingPromise = this._ongoingPromise ?\n transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) :\n nextSteps();\n return this._ongoingPromise;\n };\n ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {\n var _this = this;\n var returnSteps = function () { return _this._returnSteps(value); };\n return this._ongoingPromise ?\n transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) :\n returnSteps();\n };\n ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {\n var _this = this;\n if (this._isFinished) {\n return Promise.resolve({ value: undefined, done: true });\n }\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) {\n _this._ongoingPromise = undefined;\n // This needs to be delayed by one microtask, otherwise we stop pulling too early which breaks a test.\n // FIXME Is this a bug in the specification, or in the test?\n queueMicrotask(function () { return resolvePromise({ value: chunk, done: false }); });\n },\n _closeSteps: function () {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n resolvePromise({ value: undefined, done: true });\n },\n _errorSteps: function (reason) {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n rejectPromise(reason);\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promise;\n };\n ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {\n if (this._isFinished) {\n return Promise.resolve({ value: value, done: true });\n }\n this._isFinished = true;\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (!this._preventCancel) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () { return ({ value: value, done: true }); });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith({ value: value, done: true });\n };\n return ReadableStreamAsyncIteratorImpl;\n }());\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n return this._asyncIteratorImpl.next();\n },\n return: function (value) {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n }\n return this._asyncIteratorImpl.return(value);\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorImpl = impl;\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\n return false;\n }\n return true;\n }\n // Helper functions for the ReadableStream.\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n\n /// \n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\n var NumberIsNaN = Number.isNaN || function (x) {\n // eslint-disable-next-line no-self-compare\n return x !== x;\n };\n\n function IsFiniteNonNegativeNumber(v) {\n if (!IsNonNegativeNumber(v)) {\n return false;\n }\n if (v === Infinity) {\n return false;\n }\n return true;\n }\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n size = Number(size);\n if (!IsFiniteNonNegativeNumber(size)) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({ value: value, size: size });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n\n function CreateArrayFromList(elements) {\n // We use arrays to represent lists, so this is basically a no-op.\n // Do a slice though just in case we happen to depend on the unique-ness.\n return elements.slice();\n }\n function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n // Not implemented correctly\n function TransferArrayBuffer(O) {\n return O;\n }\n // Not implemented correctly\n function IsDetachedBuffer(O) {\n return false;\n }\n\n /**\n * A pull-into request in a {@link ReadableByteStreamController}.\n *\n * @public\n */\n var ReadableStreamBYOBRequest = /** @class */ (function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n /**\n * Returns the view for writing in to, or `null` if the BYOB request has already been responded to.\n */\n get: function () {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respond');\n }\n assertRequiredArgument(bytesWritten, 1, 'respond');\n bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer)) ;\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respondWithNewView');\n }\n assertRequiredArgument(view, 1, 'respondWithNewView');\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (view.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (view.buffer.byteLength === 0) {\n throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }());\n Object.defineProperties(ReadableStreamBYOBRequest.prototype, {\n respond: { enumerable: true },\n respondWithNewView: { enumerable: true },\n view: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBRequest',\n configurable: true\n });\n }\n /**\n * Allows control of a {@link ReadableStream | readable byte stream}'s state and internal queue.\n *\n * @public\n */\n var ReadableByteStreamController = /** @class */ (function () {\n function ReadableByteStreamController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n /**\n * Returns the current BYOB pull request, or `null` if there isn't one.\n */\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n if (this._byobRequest === null && this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n this._byobRequest = byobRequest;\n }\n return this._byobRequest;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n * over-full. An underlying byte source ought to use this information to determine when and how to apply backpressure.\n */\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n * the stream, but once those are read, the stream will become closed.\n */\n ReadableByteStreamController.prototype.close = function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n assertRequiredArgument(chunk, 1, 'enqueue');\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('chunk must be an array buffer view');\n }\n if (chunk.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (chunk.buffer.byteLength === 0) {\n throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n }\n if (this._closeRequested) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n /**\n * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n */\n ReadableByteStreamController.prototype.error = function (e) {\n if (e === void 0) { e = undefined; }\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n /** @internal */\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n if (this._pendingPullIntos.length > 0) {\n var firstDescriptor = this._pendingPullIntos.peek();\n firstDescriptor.bytesFilled = 0;\n }\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableByteStreamController.prototype[PullSteps] = function (readRequest) {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n readRequest._chunkSteps(view);\n return;\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n }\n catch (bufferE) {\n readRequest._errorSteps(bufferE);\n return;\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n viewConstructor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n };\n return ReadableByteStreamController;\n }());\n Object.defineProperties(ReadableByteStreamController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n byobRequest: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableByteStreamController',\n configurable: true\n });\n }\n // Abstract operations for the ReadableByteStreamController.\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n // TODO: Test controller argument\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n }\n else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n }\n else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n }\n else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === null) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = null;\n controller._byobRequest = null;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n var buffer = TransferArrayBuffer(view.buffer);\n var pullIntoDescriptor = {\n buffer: buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n viewConstructor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n // - No change happens on desiredSize\n // - The source has already been notified of that there's at least 1 pending read(view)\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n return;\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n readIntoRequest._closeSteps(emptyView);\n return;\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n readIntoRequest._chunkSteps(filledView);\n return;\n }\n if (controller._closeRequested) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n readIntoRequest._errorSteps(e);\n return;\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream)) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n // TODO: Figure out whether we should detach the buffer or not here.\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n }\n else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n // A client of ReadableByteStreamController may use these functions directly to bypass state check.\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (ReadableStreamHasDefaultReader(stream)) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n else {\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n }\n else if (ReadableStreamHasBYOBReader(stream)) {\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var state = controller._controlledReadableByteStream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n bytesWritten = Number(bytesWritten);\n if (!IsFiniteNonNegativeNumber(bytesWritten)) {\n throw new RangeError('bytesWritten must be a finite');\n }\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.byteLength !== view.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n firstDescriptor.buffer = view.buffer;\n ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = null;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n var startAlgorithm = function () { return undefined; };\n var pullAlgorithm = function () { return promiseResolvedWith(undefined); };\n var cancelAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (underlyingByteSource.start !== undefined) {\n startAlgorithm = function () { return underlyingByteSource.start(controller); };\n }\n if (underlyingByteSource.pull !== undefined) {\n pullAlgorithm = function () { return underlyingByteSource.pull(controller); };\n }\n if (underlyingByteSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) { return underlyingByteSource.cancel(reason); };\n }\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize === 0) {\n throw new TypeError('autoAllocateChunkSize must be greater than 0');\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n // Helper functions for the ReadableStreamBYOBRequest.\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n // Helper functions for the ReadableByteStreamController.\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n // ReadableStream API exposed for controllers.\n function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {\n stream._reader._readIntoRequests.push(readIntoRequest);\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n if (done) {\n readIntoRequest._closeSteps(chunk);\n }\n else {\n readIntoRequest._chunkSteps(chunk);\n }\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n /**\n * A BYOB reader vended by a {@link ReadableStream}.\n *\n * @public\n */\n var ReadableStreamBYOBReader = /** @class */ (function () {\n function ReadableStreamBYOBReader(stream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n if (!IsReadableByteStreamController(stream._readableStreamController)) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\n 'source');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n * the reader's lock is released before the stream finishes closing.\n */\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n */\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n /**\n * Attempts to reads bytes into view, and returns a promise resolved with the result.\n *\n * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n */\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n if (view.buffer.byteLength === 0) {\n return promiseRejectedWith(new TypeError(\"view's buffer must have non-zero byteLength\"));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readIntoRequest = {\n _chunkSteps: function (chunk) { return resolvePromise({ value: chunk, done: false }); },\n _closeSteps: function (chunk) { return resolvePromise({ value: chunk, done: true }); },\n _errorSteps: function (e) { return rejectPromise(e); }\n };\n ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n return promise;\n };\n /**\n * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n * from now on; otherwise, the reader will appear closed.\n *\n * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n * the reader's {@link ReadableStreamBYOBReader.read | read()} method has not yet been settled. Attempting to\n * do so will throw a `TypeError` and leave the reader locked to the stream.\n */\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }());\n Object.defineProperties(ReadableStreamBYOBReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBReader',\n configurable: true\n });\n }\n // Abstract operations for the readers.\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n readIntoRequest._errorSteps(stream._storedError);\n }\n else {\n ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);\n }\n }\n // Helper functions for the ReadableStreamBYOBReader.\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n\n function ExtractHighWaterMark(strategy, defaultHWM) {\n var highWaterMark = strategy.highWaterMark;\n if (highWaterMark === undefined) {\n return defaultHWM;\n }\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('Invalid highWaterMark');\n }\n return highWaterMark;\n }\n function ExtractSizeAlgorithm(strategy) {\n var size = strategy.size;\n if (!size) {\n return function () { return 1; };\n }\n return size;\n }\n\n function convertQueuingStrategy(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n var size = init === null || init === void 0 ? void 0 : init.size;\n return {\n highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n size: size === undefined ? undefined : convertQueuingStrategySize(size, context + \" has member 'size' that\")\n };\n }\n function convertQueuingStrategySize(fn, context) {\n assertFunction(fn, context);\n return function (chunk) { return convertUnrestrictedDouble(fn(chunk)); };\n }\n\n function convertUnderlyingSink(original, context) {\n assertDictionary(original, context);\n var abort = original === null || original === void 0 ? void 0 : original.abort;\n var close = original === null || original === void 0 ? void 0 : original.close;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n var write = original === null || original === void 0 ? void 0 : original.write;\n return {\n abort: abort === undefined ?\n undefined :\n convertUnderlyingSinkAbortCallback(abort, original, context + \" has member 'abort' that\"),\n close: close === undefined ?\n undefined :\n convertUnderlyingSinkCloseCallback(close, original, context + \" has member 'close' that\"),\n start: start === undefined ?\n undefined :\n convertUnderlyingSinkStartCallback(start, original, context + \" has member 'start' that\"),\n write: write === undefined ?\n undefined :\n convertUnderlyingSinkWriteCallback(write, original, context + \" has member 'write' that\"),\n type: type\n };\n }\n function convertUnderlyingSinkAbortCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) { return promiseCall(fn, original, [reason]); };\n }\n function convertUnderlyingSinkCloseCallback(fn, original, context) {\n assertFunction(fn, context);\n return function () { return promiseCall(fn, original, []); };\n }\n function convertUnderlyingSinkStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return reflectCall(fn, original, [controller]); };\n }\n function convertUnderlyingSinkWriteCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) { return promiseCall(fn, original, [chunk, controller]); };\n }\n\n function assertWritableStream(x, context) {\n if (!IsWritableStream(x)) {\n throw new TypeError(context + \" is not a WritableStream.\");\n }\n }\n\n /**\n * A writable stream represents a destination for data, into which you can write.\n *\n * @public\n */\n var WritableStream = /** @class */ (function () {\n function WritableStream(rawUnderlyingSink, rawStrategy) {\n if (rawUnderlyingSink === void 0) { rawUnderlyingSink = {}; }\n if (rawStrategy === void 0) { rawStrategy = {}; }\n if (rawUnderlyingSink === undefined) {\n rawUnderlyingSink = null;\n }\n else {\n assertObject(rawUnderlyingSink, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n InitializeWritableStream(this);\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n /**\n * Returns whether or not the writable stream is locked to a writer.\n */\n get: function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException$2('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Aborts the stream, signaling that the producer can no longer successfully write to the stream and it is to be\n * immediately moved to an errored state, with any queued-up writes discarded. This will also execute any abort\n * mechanism of the underlying sink.\n *\n * The returned promise will fulfill if the stream shuts down successfully, or reject if the underlying sink signaled\n * that there was an error doing so. Additionally, it will reject with a `TypeError` (without attempting to cancel\n * the stream) if the stream is currently locked.\n */\n WritableStream.prototype.abort = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$2('abort'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n /**\n * Closes the stream. The underlying sink will finish processing any previously-written chunks, before invoking its\n * close behavior. During this time any further attempts to write will fail (without erroring the stream).\n *\n * The method returns a promise that will fulfill if all remaining chunks are successfully written and the stream\n * successfully closes, or rejects if an error is encountered during this process. Additionally, it will reject with\n * a `TypeError` (without attempting to cancel the stream) if the stream is currently locked.\n */\n WritableStream.prototype.close = function () {\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$2('close'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n /**\n * Creates a {@link WritableStreamDefaultWriter | writer} and locks the stream to the new writer. While the stream\n * is locked, no other writer can be acquired until this one is released.\n *\n * This functionality is especially useful for creating abstractions that desire the ability to write to a stream\n * without interruption or interleaving. By getting a writer for the stream, you can ensure nobody else can write at\n * the same time, which would cause the resulting written data to be unpredictable and probably useless.\n */\n WritableStream.prototype.getWriter = function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException$2('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }());\n Object.defineProperties(WritableStream.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n getWriter: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStream',\n configurable: true\n });\n }\n // Abstract operations for the WritableStream.\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n // Throws if and only if startAlgorithm throws.\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n // 'erroring' or 'errored'. May be set to an undefined value.\n stream._storedError = undefined;\n stream._writer = undefined;\n // Initialize to undefined first because the constructor of the controller checks this\n // variable to validate the caller.\n stream._writableStreamController = undefined;\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n // producer without waiting for the queued writes to finish.\n stream._writeRequests = new SimpleQueue();\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n stream._inFlightWriteRequest = undefined;\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n // has been detached.\n stream._closeRequest = undefined;\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n stream._inFlightCloseRequest = undefined;\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n stream._pendingAbortRequest = undefined;\n // The backpressure signal set by the controller.\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return true;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n // reason will not be used, so don't keep a reference to it.\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (!wasAlreadyErroring) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n // WritableStream API exposed for controllers.\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n // The error was too late to do anything, so it is ignored.\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n // Never execute sink abort() after sink close().\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n // TODO(ricea): Fix alphabetical order.\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure) {\n defaultWriterReadyPromiseReset(writer);\n }\n else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n /**\n * A default writer vended by a {@link WritableStream}.\n *\n * @public\n */\n var WritableStreamDefaultWriter = /** @class */ (function () {\n function WritableStreamDefaultWriter(stream) {\n assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n assertWritableStream(stream, 'First parameter');\n if (IsWritableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {\n defaultWriterReadyPromiseInitialize(this);\n }\n else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n }\n else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n * the writer’s lock is released before the stream finishes closing.\n */\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the stream’s internal queue. It can be negative, if the queue is over-full.\n * A producer can use this information to determine the right amount of data to write.\n *\n * It will be `null` if the stream cannot be successfully written to (due to either being errored, or having an abort\n * queued up). It will return zero if the stream is closed. And the getter will throw an exception if invoked when\n * the writer’s lock is released.\n */\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n /**\n * Returns a promise that will be fulfilled when the desired size to fill the stream’s internal queue transitions\n * from non-positive to positive, signaling that it is no longer applying backpressure. Once the desired size dips\n * back to zero or below, the getter will return a new promise that stays pending until the next transition.\n *\n * If the stream becomes errored or aborted, or the writer’s lock is released, the returned promise will become\n * rejected.\n */\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If the reader is active, behaves the same as {@link WritableStream.abort | stream.abort(reason)}.\n */\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n /**\n * If the reader is active, behaves the same as {@link WritableStream.close | stream.close()}.\n */\n WritableStreamDefaultWriter.prototype.close = function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n /**\n * Releases the writer’s lock on the corresponding stream. After the lock is released, the writer is no longer active.\n * If the associated stream is errored when the lock is released, the writer will appear errored in the same way from\n * now on; otherwise, the writer will appear closed.\n *\n * Note that the lock can still be released even if some ongoing writes have not yet finished (i.e. even if the\n * promises returned from previous calls to {@link WritableStreamDefaultWriter.write | write()} have not yet settled).\n * It’s not necessary to hold the lock on the writer for the duration of the write; the lock instead simply prevents\n * other producers from writing in an interleaved manner.\n */\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (chunk === void 0) { chunk = undefined; }\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }());\n Object.defineProperties(WritableStreamDefaultWriter.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n releaseLock: { enumerable: true },\n write: { enumerable: true },\n closed: { enumerable: true },\n desiredSize: { enumerable: true },\n ready: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultWriter',\n configurable: true\n });\n }\n // Abstract operations for the WritableStreamDefaultWriter.\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return true;\n }\n // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n }\n else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n }\n else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n // rejected until afterwards. This means that simply testing state will not work.\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var closeSentinel = {};\n /**\n * Allows control of a {@link WritableStream | writable stream}'s state and internal queue.\n *\n * @public\n */\n var WritableStreamDefaultController = /** @class */ (function () {\n function WritableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n /**\n * Closes the controlled writable stream, making all future interactions with it fail with the given error `e`.\n *\n * This method is rarely used, since usually it suffices to return a rejected promise from one of the underlying\n * sink's methods. However, it can be useful for suddenly shutting down a stream in response to an event outside the\n * normal lifecycle of interactions with the underlying sink.\n */\n WritableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) { e = undefined; }\n if (!IsWritableStreamDefaultController(this)) {\n throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n // just treat it as a no-op.\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }());\n Object.defineProperties(WritableStreamDefaultController.prototype, {\n error: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultController',\n configurable: true\n });\n }\n // Abstract operations implementing interface required by the WritableStream.\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n var startAlgorithm = function () { return undefined; };\n var writeAlgorithm = function () { return promiseResolvedWith(undefined); };\n var closeAlgorithm = function () { return promiseResolvedWith(undefined); };\n var abortAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (underlyingSink.start !== undefined) {\n startAlgorithm = function () { return underlyingSink.start(controller); };\n }\n if (underlyingSink.write !== undefined) {\n writeAlgorithm = function (chunk) { return underlyingSink.write(chunk, controller); };\n }\n if (underlyingSink.close !== undefined) {\n closeAlgorithm = function () { return underlyingSink.close(); };\n }\n if (underlyingSink.abort !== undefined) {\n abortAlgorithm = function (reason) { return underlyingSink.abort(reason); };\n }\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n // ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, closeSentinel, 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\n catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n // Abstract operations for the WritableStreamDefaultController.\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (!controller._started) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var value = PeekQueueValue(controller);\n if (value === closeSentinel) {\n WritableStreamDefaultControllerProcessClose(controller);\n }\n else {\n WritableStreamDefaultControllerProcessWrite(controller, value);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n // A client of WritableStreamDefaultController may use these functions directly to bypass state check.\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n // Helper functions for the WritableStream.\n function streamBrandCheckException$2(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n // Helper functions for the WritableStreamDefaultWriter.\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n if (writer._closedPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n if (writer._closedPromise_resolve === undefined) {\n return;\n }\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n if (writer._readyPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n if (writer._readyPromise_resolve === undefined) {\n return;\n }\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n }\n catch (_a) {\n // AbortSignal.prototype.aborted throws if its brand check fails\n return false;\n }\n }\n\n /// \n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n /// \n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n }\n catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n // eslint-disable-next-line no-shadow\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\n return ctor;\n }\n // eslint-disable-next-line no-redeclare\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (!preventAbort) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (!preventCancel) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\n };\n if (signal.aborted) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n // Using reader and writer, read all chunks from this and write them to dest\n // - Backpressure must be enforced\n // - Shutdown must stop all activity\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n }\n else {\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return newPromise(function (resolveRead, rejectRead) {\n ReadableStreamDefaultReaderRead(reader, {\n _chunkSteps: function (chunk) {\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n resolveRead(false);\n },\n _closeSteps: function () { return resolveRead(true); },\n _errorSteps: rejectRead\n });\n });\n });\n }\n // Errors must be propagated forward\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (!preventAbort) {\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Errors must be propagated backward\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (!preventCancel) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Closing must be propagated forward\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (!preventClose) {\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\n }\n else {\n shutdown();\n }\n });\n // Closing must be propagated backward\n if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (!preventCancel) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\n }\n else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n // for that too.\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n }\n else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n }\n else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n }\n else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\n }\n else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n }\n else {\n resolve(undefined);\n }\n }\n });\n }\n\n /**\n * Allows control of a {@link ReadableStream | readable stream}'s state and internal queue.\n *\n * @public\n */\n var ReadableStreamDefaultController = /** @class */ (function () {\n function ReadableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n * over-full. An underlying source ought to use this information to determine when and how to apply backpressure.\n */\n get: function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n * the stream, but once those are read, the stream will become closed.\n */\n ReadableStreamDefaultController.prototype.close = function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('close');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) { chunk = undefined; }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n /**\n * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n */\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) { e = undefined; }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n }\n else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n readRequest._chunkSteps(chunk);\n }\n else {\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n };\n return ReadableStreamDefaultController;\n }());\n Object.defineProperties(ReadableStreamDefaultController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultController',\n configurable: true\n });\n }\n // Abstract operations for the ReadableStreamDefaultController.\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n // A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\n function ReadableStreamDefaultControllerClose(controller) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n }\n else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\n catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var state = controller._controlledReadableStream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n // This is used in the implementation of TransformStream.\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller)) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (!controller._closeRequested && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n var startAlgorithm = function () { return undefined; };\n var pullAlgorithm = function () { return promiseResolvedWith(undefined); };\n var cancelAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (underlyingSource.start !== undefined) {\n startAlgorithm = function () { return underlyingSource.start(controller); };\n }\n if (underlyingSource.pull !== undefined) {\n pullAlgorithm = function () { return underlyingSource.pull(controller); };\n }\n if (underlyingSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) { return underlyingSource.cancel(reason); };\n }\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n // Helper functions for the ReadableStreamDefaultController.\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading) {\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readRequest = {\n _chunkSteps: function (value) {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(function () {\n reading = false;\n var value1 = value;\n var value2 = value;\n // There is no way to access the cloning code right now in the reference implementation.\n // If we add one then we'll need an implementation for serializable objects.\n // if (!canceled2 && cloneForBranch2) {\n // value2 = StructuredDeserialize(StructuredSerialize(value2));\n // }\n if (!canceled1) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n }\n });\n },\n _closeSteps: function () {\n reading = false;\n if (!canceled1) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n var compositeReason = CreateArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n var compositeReason = CreateArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n // do nothing\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n return [branch1, branch2];\n }\n\n function convertUnderlyingDefaultOrByteSource(source, context) {\n assertDictionary(source, context);\n var original = source;\n var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;\n var cancel = original === null || original === void 0 ? void 0 : original.cancel;\n var pull = original === null || original === void 0 ? void 0 : original.pull;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n return {\n autoAllocateChunkSize: autoAllocateChunkSize === undefined ?\n undefined :\n convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + \" has member 'autoAllocateChunkSize' that\"),\n cancel: cancel === undefined ?\n undefined :\n convertUnderlyingSourceCancelCallback(cancel, original, context + \" has member 'cancel' that\"),\n pull: pull === undefined ?\n undefined :\n convertUnderlyingSourcePullCallback(pull, original, context + \" has member 'pull' that\"),\n start: start === undefined ?\n undefined :\n convertUnderlyingSourceStartCallback(start, original, context + \" has member 'start' that\"),\n type: type === undefined ? undefined : convertReadableStreamType(type, context + \" has member 'type' that\")\n };\n }\n function convertUnderlyingSourceCancelCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) { return promiseCall(fn, original, [reason]); };\n }\n function convertUnderlyingSourcePullCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return promiseCall(fn, original, [controller]); };\n }\n function convertUnderlyingSourceStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return reflectCall(fn, original, [controller]); };\n }\n function convertReadableStreamType(type, context) {\n type = \"\" + type;\n if (type !== 'bytes') {\n throw new TypeError(context + \" '\" + type + \"' is not a valid enumeration value for ReadableStreamType\");\n }\n return type;\n }\n\n function convertReaderOptions(options, context) {\n assertDictionary(options, context);\n var mode = options === null || options === void 0 ? void 0 : options.mode;\n return {\n mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + \" has member 'mode' that\")\n };\n }\n function convertReadableStreamReaderMode(mode, context) {\n mode = \"\" + mode;\n if (mode !== 'byob') {\n throw new TypeError(context + \" '\" + mode + \"' is not a valid enumeration value for ReadableStreamReaderMode\");\n }\n return mode;\n }\n\n function convertIteratorOptions(options, context) {\n assertDictionary(options, context);\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n return { preventCancel: Boolean(preventCancel) };\n }\n\n function convertPipeOptions(options, context) {\n assertDictionary(options, context);\n var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;\n var signal = options === null || options === void 0 ? void 0 : options.signal;\n if (signal !== undefined) {\n assertAbortSignal(signal, context + \" has member 'signal' that\");\n }\n return {\n preventAbort: Boolean(preventAbort),\n preventCancel: Boolean(preventCancel),\n preventClose: Boolean(preventClose),\n signal: signal\n };\n }\n function assertAbortSignal(signal, context) {\n if (!isAbortSignal(signal)) {\n throw new TypeError(context + \" is not an AbortSignal.\");\n }\n }\n\n function convertReadableWritablePair(pair, context) {\n assertDictionary(pair, context);\n var readable = pair === null || pair === void 0 ? void 0 : pair.readable;\n assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n assertReadableStream(readable, context + \" has member 'readable' that\");\n var writable = pair === null || pair === void 0 ? void 0 : pair.writable;\n assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n assertWritableStream(writable, context + \" has member 'writable' that\");\n return { readable: readable, writable: writable };\n }\n\n /**\n * A readable stream represents a source of data, from which you can read.\n *\n * @public\n */\n var ReadableStream = /** @class */ (function () {\n function ReadableStream(rawUnderlyingSource, rawStrategy) {\n if (rawUnderlyingSource === void 0) { rawUnderlyingSource = {}; }\n if (rawStrategy === void 0) { rawStrategy = {}; }\n if (rawUnderlyingSource === undefined) {\n rawUnderlyingSource = null;\n }\n else {\n assertObject(rawUnderlyingSource, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n InitializeReadableStream(this);\n if (underlyingSource.type === 'bytes') {\n if (strategy.size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n var highWaterMark = ExtractHighWaterMark(strategy, 0);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n }\n else {\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n /**\n * Whether or not the readable stream is locked to a {@link ReadableStreamDefaultReader | reader}.\n */\n get: function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Cancels the stream, signaling a loss of interest in the stream by a consumer.\n *\n * The supplied `reason` argument will be given to the underlying source's {@link UnderlyingSource.cancel | cancel()}\n * method, which might or might not use it.\n */\n ReadableStream.prototype.cancel = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (rawOptions) {\n if (rawOptions === void 0) { rawOptions = undefined; }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('getReader');\n }\n var options = convertReaderOptions(rawOptions, 'First parameter');\n if (options.mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n return AcquireReadableStreamBYOBReader(this);\n };\n ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {\n if (rawOptions === void 0) { rawOptions = {}; }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n var transform = convertReadableWritablePair(rawTransform, 'First parameter');\n var options = convertPipeOptions(rawOptions, 'Second parameter');\n if (IsReadableStreamLocked(this)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(transform.writable)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n setPromiseIsHandledToTrue(promise);\n return transform.readable;\n };\n ReadableStream.prototype.pipeTo = function (destination, rawOptions) {\n if (rawOptions === void 0) { rawOptions = {}; }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (destination === undefined) {\n return promiseRejectedWith(\"Parameter 1 is required in 'pipeTo'.\");\n }\n if (!IsWritableStream(destination)) {\n return promiseRejectedWith(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));\n }\n var options;\n try {\n options = convertPipeOptions(rawOptions, 'Second parameter');\n }\n catch (e) {\n return promiseRejectedWith(e);\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(destination)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n };\n /**\n * Tees this readable stream, returning a two-element array containing the two resulting branches as\n * new {@link ReadableStream} instances.\n *\n * Teeing a stream will lock it, preventing any other consumer from acquiring a reader.\n * To cancel the stream, cancel both of the resulting branches; a composite cancellation reason will then be\n * propagated to the stream's underlying source.\n *\n * Note that the chunks seen in each branch will be the same object. If the chunks are not immutable,\n * this could allow interference between the two branches.\n */\n ReadableStream.prototype.tee = function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return CreateArrayFromList(branches);\n };\n ReadableStream.prototype.values = function (rawOptions) {\n if (rawOptions === void 0) { rawOptions = undefined; }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('values');\n }\n var options = convertIteratorOptions(rawOptions, 'First parameter');\n return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n };\n return ReadableStream;\n }());\n Object.defineProperties(ReadableStream.prototype, {\n cancel: { enumerable: true },\n getReader: { enumerable: true },\n pipeThrough: { enumerable: true },\n pipeTo: { enumerable: true },\n tee: { enumerable: true },\n values: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStream',\n configurable: true\n });\n }\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.values,\n writable: true,\n configurable: true\n });\n }\n // Abstract operations for the ReadableStream.\n // Throws if and only if startAlgorithm throws.\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return true;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n // ReadableStream API exposed for controllers.\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n defaultReaderClosedPromiseResolve(reader);\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._closeSteps();\n });\n reader._readRequests = new SimpleQueue();\n }\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n defaultReaderClosedPromiseReject(reader, e);\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._errorSteps(e);\n });\n reader._readRequests = new SimpleQueue();\n }\n else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._errorSteps(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n }\n // Helper functions for the ReadableStream.\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n\n function convertQueuingStrategyInit(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n return {\n highWaterMark: convertUnrestrictedDouble(highWaterMark)\n };\n }\n\n var byteLengthSizeFunction = function size(chunk) {\n return chunk.byteLength;\n };\n /**\n * A queuing strategy that counts the number of bytes in each chunk.\n *\n * @public\n */\n var ByteLengthQueuingStrategy = /** @class */ (function () {\n function ByteLengthQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"highWaterMark\", {\n /**\n * Returns the high water mark provided to the constructor.\n */\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('highWaterMark');\n }\n return this._byteLengthQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"size\", {\n /**\n * Measures the size of `chunk` by returning the value of its `byteLength` property.\n */\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('size');\n }\n return byteLengthSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return ByteLengthQueuingStrategy;\n }());\n Object.defineProperties(ByteLengthQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'ByteLengthQueuingStrategy',\n configurable: true\n });\n }\n // Helper functions for the ByteLengthQueuingStrategy.\n function byteLengthBrandCheckException(name) {\n return new TypeError(\"ByteLengthQueuingStrategy.prototype.\" + name + \" can only be used on a ByteLengthQueuingStrategy\");\n }\n function IsByteLengthQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n return false;\n }\n return true;\n }\n\n var countSizeFunction = function size() {\n return 1;\n };\n /**\n * A queuing strategy that counts the number of chunks.\n *\n * @public\n */\n var CountQueuingStrategy = /** @class */ (function () {\n function CountQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(CountQueuingStrategy.prototype, \"highWaterMark\", {\n /**\n * Returns the high water mark provided to the constructor.\n */\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('highWaterMark');\n }\n return this._countQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CountQueuingStrategy.prototype, \"size\", {\n /**\n * Measures the size of `chunk` by always returning 1.\n * This ensures that the total queue size is a count of the number of chunks in the queue.\n */\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('size');\n }\n return countSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return CountQueuingStrategy;\n }());\n Object.defineProperties(CountQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'CountQueuingStrategy',\n configurable: true\n });\n }\n // Helper functions for the CountQueuingStrategy.\n function countBrandCheckException(name) {\n return new TypeError(\"CountQueuingStrategy.prototype.\" + name + \" can only be used on a CountQueuingStrategy\");\n }\n function IsCountQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n return false;\n }\n return true;\n }\n\n function convertTransformer(original, context) {\n assertDictionary(original, context);\n var flush = original === null || original === void 0 ? void 0 : original.flush;\n var readableType = original === null || original === void 0 ? void 0 : original.readableType;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var transform = original === null || original === void 0 ? void 0 : original.transform;\n var writableType = original === null || original === void 0 ? void 0 : original.writableType;\n return {\n flush: flush === undefined ?\n undefined :\n convertTransformerFlushCallback(flush, original, context + \" has member 'flush' that\"),\n readableType: readableType,\n start: start === undefined ?\n undefined :\n convertTransformerStartCallback(start, original, context + \" has member 'start' that\"),\n transform: transform === undefined ?\n undefined :\n convertTransformerTransformCallback(transform, original, context + \" has member 'transform' that\"),\n writableType: writableType\n };\n }\n function convertTransformerFlushCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return promiseCall(fn, original, [controller]); };\n }\n function convertTransformerStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return reflectCall(fn, original, [controller]); };\n }\n function convertTransformerTransformCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) { return promiseCall(fn, original, [chunk, controller]); };\n }\n\n // Class TransformStream\n /**\n * A transform stream consists of a pair of streams: a {@link WritableStream | writable stream},\n * known as its writable side, and a {@link ReadableStream | readable stream}, known as its readable side.\n * In a manner specific to the transform stream in question, writes to the writable side result in new data being\n * made available for reading from the readable side.\n *\n * @public\n */\n var TransformStream = /** @class */ (function () {\n function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {\n if (rawTransformer === void 0) { rawTransformer = {}; }\n if (rawWritableStrategy === void 0) { rawWritableStrategy = {}; }\n if (rawReadableStrategy === void 0) { rawReadableStrategy = {}; }\n if (rawTransformer === undefined) {\n rawTransformer = null;\n }\n var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n var transformer = convertTransformer(rawTransformer, 'First parameter');\n if (transformer.readableType !== undefined) {\n throw new RangeError('Invalid readableType specified');\n }\n if (transformer.writableType !== undefined) {\n throw new RangeError('Invalid writableType specified');\n }\n var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n if (transformer.start !== undefined) {\n startPromise_resolve(transformer.start(this._transformStreamController));\n }\n else {\n startPromise_resolve(undefined);\n }\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n /**\n * The readable side of the transform stream.\n */\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n /**\n * The writable side of the transform stream.\n */\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n },\n enumerable: false,\n configurable: true\n });\n return TransformStream;\n }());\n Object.defineProperties(TransformStream.prototype, {\n readable: { enumerable: true },\n writable: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStream',\n configurable: true\n });\n }\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return true;\n }\n // This is a no-op if both sides are already errored.\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure) {\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n // _backpressure is set.\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n // Passes also when called during construction.\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n // Class TransformStreamDefaultController\n /**\n * Allows control of the {@link ReadableStream} and {@link WritableStream} of the associated {@link TransformStream}.\n *\n * @public\n */\n var TransformStreamDefaultController = /** @class */ (function () {\n function TransformStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the readable side’s internal queue. It can be negative, if the queue is over-full.\n */\n get: function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: false,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) { chunk = undefined; }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n /**\n * Errors both the readable side and the writable side of the controlled transform stream, making all future\n * interactions with it fail with the given error `e`. Any chunks queued for transformation will be discarded.\n */\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n /**\n * Closes the readable side and errors the writable side of the controlled transform stream. This is useful when the\n * transformer only needs to consume a portion of the chunks written to the writable side.\n */\n TransformStreamDefaultController.prototype.terminate = function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }());\n Object.defineProperties(TransformStreamDefaultController.prototype, {\n enqueue: { enumerable: true },\n error: { enumerable: true },\n terminate: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStreamDefaultController',\n configurable: true\n });\n }\n // Transform Stream Default Controller Abstract Operations\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n }\n catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var flushAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (transformer.transform !== undefined) {\n transformAlgorithm = function (chunk) { return transformer.transform(chunk, controller); };\n }\n if (transformer.flush !== undefined) {\n flushAlgorithm = function () { return transformer.flush(controller); };\n }\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n // accept TransformStreamDefaultControllerEnqueue() calls.\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n }\n catch (e) {\n // This happens when readableStrategy.size() throws.\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n ReadableStreamDefaultControllerClose(readableController);\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n // TransformStreamDefaultSink Algorithms\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n // errored.\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n // Return a promise that is fulfilled with undefined on success.\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n ReadableStreamDefaultControllerClose(readable._readableStreamController);\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n // TransformStreamDefaultSource Algorithms\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n // Invariant. Enforced by the promises returned by start() and pull().\n TransformStreamSetBackpressure(stream, false);\n // Prevent the next pull() call until there is backpressure.\n return stream._backpressureChangePromise;\n }\n // Helper functions for the TransformStreamDefaultController.\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n // Helper functions for the TransformStream.\n function streamBrandCheckException(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableByteStreamController = ReadableByteStreamController;\n exports.ReadableStream = ReadableStream;\n exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;\n exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;\n exports.ReadableStreamDefaultController = ReadableStreamDefaultController;\n exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;\n exports.TransformStream = TransformStream;\n exports.TransformStreamDefaultController = TransformStreamDefaultController;\n exports.WritableStream = WritableStream;\n exports.WritableStreamDefaultController = WritableStreamDefaultController;\n exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=ponyfill.js.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\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport { NodeCanvasFactory, NodeCMapReaderFactory } from \"./node_utils.js\";\nimport { AnnotationStorage } from \"./annotation_storage.js\";\nimport { apiCompatibilityParams } from \"./api_compatibility.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nconst DefaultCanvasFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type IPDFStreamFactory\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, 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\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or 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] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via `@font-face` rules. If disabled, fonts will\n * be rendered using a built-in font renderer that constructs the glyphs with\n * primitive path commands. The default value is `false`.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\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(\n \"Invalid parameter in getDocument, \" +\n \"need either string, URL, Uint8Array, or parameter object.\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\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 if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\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\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\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\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 resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of the\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 source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n return worker.messageHandler\n .sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length,\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n })\n .then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n });\n}\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n *\n * @typedef {Object} PDFDocumentLoadingTask\n * @property {string} docId - Unique identifier for the document loading task.\n * @property {boolean} destroyed - Whether the loading task is destroyed or not.\n * @property {function} [onPassword] - Callback to request a password if a wrong\n * or no password was provided. The callback receives two parameters: a\n * function that should be called with the new password, and a reason (see\n * {@link PasswordResponses}).\n * @property {function} [onProgress] - Callback to be able to monitor the\n * loading progress of the PDF file (necessary to implement e.g. a loading\n * bar). The callback receives an {Object} with the properties `loaded`\n * ({number}) and `total` ({number}) that indicate how many bytes are loaded.\n * @property {function} [onUnsupportedFeature] - Callback for when an\n * unsupported feature is used in the PDF document. The callback receives an\n * {@link UNSUPPORTED_FEATURES} argument.\n * @property {Promise} promise - Promise for document loading\n * task completion.\n * @property {function} destroy - Abort all network requests and destroy\n * the worker. Returns a promise that is resolved when destruction is\n * completed.\n */\n\n/**\n * @type {any}\n * @ignore\n */\nconst PDFDocumentLoadingTask = (function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n /**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\n // eslint-disable-next-line no-shadow\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = \"d\" + nextDocumentId++;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar). The callback receives\n * an {Object} with the properties `loaded` ({number}) and `total`\n * ({number}) that indicate how many bytes are loaded.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n destroy() {\n this.destroyed = true;\n\n const transportDestroyed = !this._transport\n ? 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 return PDFDocumentLoadingTask;\n})();\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = 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.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {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 * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return this._pdfInfo.isPureXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @returns {Promise} A promise this is resolved with\n * current statistics about document structures (see\n * {@link PDFDocumentStats}).\n */\n getStats() {\n return this._transport.getStats();\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are either needed in the viewer and/or\n * whose default values may be affected by the `apiCompatibilityParams`.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n arguments.length > 0\n ) {\n deprecated(\"saveDocument no longer accepts any options.\");\n }\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing /AcroForm field data for the JS sandbox,\n * or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} 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 * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n *\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} intent - Determines the annotations that will be fetched,\n * can be either 'display' (viewable annotations) or 'print' (printable\n * annotations). 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 calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display' or 'print'.\n * The default value is 'display'.\n * @property {boolean} [renderInteractiveForms] - Whether or not interactive\n * form elements are rendered in the display layer. If so, we do not render\n * them on the canvas as well. The default value is `false`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n * @property {boolean} [includeAnnotationStorage] - Render stored interactive\n * form element data, from the {@link AnnotationStorage}-instance, onto the\n * canvas itself; useful e.g. for printing. The default value is `false`.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\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 = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {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 * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = null } = {}) {\n if (!this._annotationsPromise || this._annotationsIntent !== intent) {\n this._annotationsPromise = this._transport.getAnnotations(\n this._pageIndex,\n intent\n );\n this._annotationsIntent = intent;\n }\n return this._annotationsPromise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n getXfa() {\n return (this._xfaPromise ||= this._transport.getPageXfa(this._pageIndex));\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n includeAnnotationStorage = false,\n optionalContentConfigPromise = null,\n }) {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n arguments[0]?.annotationStorage !== undefined\n ) {\n deprecated(\n \"render no longer accepts an `annotationStorage` option, \" +\n \"please use the `includeAnnotationStorage`-boolean instead.\"\n );\n includeAnnotationStorage ||= !!arguments[0].annotationStorage;\n }\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\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 (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(renderingIntent);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(renderingIntent, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const annotationStorage = includeAnnotationStorage\n ? this._transport.annotationStorage.serializable\n : null;\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 if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n annotationStorage,\n });\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup 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 if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} 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 intentState.renderTasks.delete(opListTask);\n }\n }\n\n const renderingIntent = \"oplist\";\n let intentState = this._intentStates.get(renderingIntent);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(renderingIntent, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n 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 * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n\n const waitOn = [];\n for (const [intent, intentState] of this._intentStates) {\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 continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this._annotationsPromise = null;\n this._jsActionsPromise = null;\n this._xfaPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationsPromise = null;\n this._jsActionsPromise = null;\n this._xfaPromise = null;\n this._structTreePromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, intent) {\n const intentState = this._intentStates.get(intent);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\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 * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList(args) {\n assert(\n args.intent,\n 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.'\n );\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n args\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(args.intent);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n }\n );\n };\n pump();\n }\n\n /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n assert(\n reason instanceof Error ||\n (typeof reason === \"object\" && reason !== null),\n 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.'\n );\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.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n 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(new AbortException(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 for (const [intent, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(intent);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\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)) {\n // 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 if (transfers?.includes(buffer)) {\n result = new value.constructor(\n buffer,\n value.byteOffset,\n value.byteLength\n );\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n if (value instanceof Map) {\n result = new Map();\n cloned.set(value, result); // Adding to cache now for cyclic references.\n for (const [key, val] of value) {\n result.set(key, cloneValue(val));\n }\n return result;\n }\n if (value instanceof Set) {\n result = new Set();\n cloned.set(value, result); // Adding to cache now for cyclic references.\n for (const val of value) {\n result.add(cloneValue(val));\n }\n return result;\n }\n if (value instanceof URL) {\n throw new Error(`LoopbackPort.postMessage - cannot clone: ${value}`);\n }\n result = Array.isArray(value) ? [] : Object.create(null);\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,\n 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?.(i)) {\n throw new Error(\n `LoopbackPort.postMessage - cannot clone: ${value[i]}`\n );\n }\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n\n const cloned = new WeakMap();\n const event = { data: cloneValue(obj) };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.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] - The name of the worker.\n * @property {Object} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level; the\n * constants from {@link VerbosityLevel} should be used.\n */\n\n/** @type {any} */\nconst PDFWorker = (function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n isWorkerDisabled = true;\n\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"LIB\")) {\n fallbackWorkerSrc = \"../pdf.worker.js\";\n } else {\n fallbackWorkerSrc = \"./pdf.worker.js\";\n }\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath = document.currentScript?.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n }\n\n function getWorkerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker?.WorkerMessageHandler;\n } catch (ex) {\n /* Ignore errors. */\n }\n return mainWorkerMessageHandler || null;\n }\n\n // Loads worker code into main thread.\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n fakeWorkerCapability = createPromiseCapability();\n\n const loader = async function () {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a ` + + + + + + + +
+ +
+
+
+
+ + + + +
+
+ +
+ +
+
+
+
+
+ + + +
+
+
+ +
+ + + + +
+
+
+
+ +
+ +
+ +
+ +
+ + +
+
+ + + + + + + + + Current View + + +
+ + +
+
+
+ +
+ +
+ + + +
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + +
+ + + +
+
+ + diff --git a/fluidbook/compile/pdfjs-legacy/web/viewer.js b/fluidbook/compile/pdfjs-legacy/web/viewer.js new file mode 100644 index 000000000..d97632fdb --- /dev/null +++ b/fluidbook/compile/pdfjs-legacy/web/viewer.js @@ -0,0 +1,20034 @@ +/** + * @licstart The following is the entire license notice for the + * Javascript code in this page + * + * Copyright 2021 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * @licend The above is the entire license notice for the + * Javascript code in this page + */ + +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OptionKind = exports.AppOptions = void 0; + +var _viewer_compatibility = __webpack_require__(2); + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +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 OptionKind = { + VIEWER: 0x02, + API: 0x04, + WORKER: 0x08, + PREFERENCE: 0x80 +}; +exports.OptionKind = OptionKind; +var defaultOptions = { + cursorToolOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + defaultUrl: { + value: "compressed.tracemonkey-pldi-09.pdf", + kind: OptionKind.VIEWER + }, + defaultZoomValue: { + value: "", + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + disableHistory: { + value: false, + kind: OptionKind.VIEWER + }, + disablePageLabels: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enablePermissions: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enablePrintAutoRotate: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + enableScripting: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + externalLinkRel: { + value: "noopener noreferrer nofollow", + kind: OptionKind.VIEWER + }, + externalLinkTarget: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + historyUpdateUrl: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + ignoreDestinationZoom: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + imageResourcesPath: { + value: "./images/", + kind: OptionKind.VIEWER + }, + maxCanvasPixels: { + value: 16777216, + compatibility: _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels, + kind: OptionKind.VIEWER + }, + pdfBugEnabled: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + printResolution: { + value: 150, + kind: OptionKind.VIEWER + }, + renderer: { + value: "canvas", + kind: OptionKind.VIEWER + }, + renderInteractiveForms: { + value: true, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + sidebarViewOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + scrollModeOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + spreadModeOnLoad: { + value: -1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + textLayerMode: { + value: 1, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + useOnlyCssZoom: { + value: false, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + viewerCssTheme: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + viewOnLoad: { + value: 0, + kind: OptionKind.VIEWER + OptionKind.PREFERENCE + }, + cMapPacked: { + value: true, + kind: OptionKind.API + }, + cMapUrl: { + value: "../web/cmaps/", + kind: OptionKind.API + }, + disableAutoFetch: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableFontFace: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableRange: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + disableStream: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + docBaseUrl: { + value: "", + kind: OptionKind.API + }, + enableXfa: { + value: false, + kind: OptionKind.API + OptionKind.PREFERENCE + }, + fontExtraProperties: { + value: false, + kind: OptionKind.API + }, + isEvalSupported: { + value: true, + kind: OptionKind.API + }, + maxImageSize: { + value: -1, + kind: OptionKind.API + }, + pdfBug: { + value: false, + kind: OptionKind.API + }, + verbosity: { + value: 1, + kind: OptionKind.API + }, + workerPort: { + value: null, + kind: OptionKind.WORKER + }, + workerSrc: { + value: "../build/pdf.worker.js", + kind: OptionKind.WORKER + } +}; +{ + defaultOptions.disablePreferences = { + value: false, + kind: OptionKind.VIEWER + }; + defaultOptions.locale = { + value: typeof navigator !== "undefined" ? navigator.language : "en-US", + kind: OptionKind.VIEWER + }; + defaultOptions.sandboxBundleSrc = { + value: "../build/pdf.sandbox.js", + kind: OptionKind.VIEWER + }; + defaultOptions.renderer.kind += OptionKind.PREFERENCE; +} +var userOptions = Object.create(null); + +var AppOptions = /*#__PURE__*/function () { + function AppOptions() { + _classCallCheck(this, AppOptions); + + throw new Error("Cannot initialize AppOptions."); + } + + _createClass(AppOptions, null, [{ + key: "get", + value: function get(name) { + var userOption = userOptions[name]; + + if (userOption !== undefined) { + return userOption; + } + + var defaultOption = defaultOptions[name]; + + if (defaultOption !== undefined) { + var _defaultOption$compat; + + return (_defaultOption$compat = defaultOption.compatibility) !== null && _defaultOption$compat !== void 0 ? _defaultOption$compat : defaultOption.value; + } + + return undefined; + } + }, { + key: "getAll", + value: function getAll() { + var kind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var options = Object.create(null); + + for (var name in defaultOptions) { + var _defaultOption$compat2; + + var defaultOption = defaultOptions[name]; + + if (kind) { + if ((kind & defaultOption.kind) === 0) { + continue; + } + + if (kind === OptionKind.PREFERENCE) { + var value = defaultOption.value, + valueType = _typeof(value); + + if (valueType === "boolean" || valueType === "string" || valueType === "number" && Number.isInteger(value)) { + options[name] = value; + continue; + } + + throw new Error("Invalid type for preference: ".concat(name)); + } + } + + var userOption = userOptions[name]; + options[name] = userOption !== undefined ? userOption : (_defaultOption$compat2 = defaultOption.compatibility) !== null && _defaultOption$compat2 !== void 0 ? _defaultOption$compat2 : defaultOption.value; + } + + return options; + } + }, { + key: "set", + value: function set(name, value) { + userOptions[name] = value; + } + }, { + key: "setAll", + value: function setAll(options) { + for (var name in options) { + userOptions[name] = options[name]; + } + } + }, { + key: "remove", + value: function remove(name) { + delete userOptions[name]; + } + }]); + + return AppOptions; +}(); + +exports.AppOptions = AppOptions; + +/***/ }), +/* 2 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.viewerCompatibilityParams = void 0; +var compatibilityParams = Object.create(null); +{ + var userAgent = typeof navigator !== "undefined" && navigator.userAgent || ""; + var platform = typeof navigator !== "undefined" && navigator.platform || ""; + var maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1; + var isAndroid = /Android/.test(userAgent); + var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1; + var isIOSChrome = /CriOS/.test(userAgent); + + (function checkOnBlobSupport() { + if (isIOSChrome) { + compatibilityParams.disableCreateObjectURL = true; + } + })(); + + (function checkCanvasSizeLimitation() { + if (isIOS || isAndroid) { + compatibilityParams.maxCanvasPixels = 5242880; + } + })(); +} +var viewerCompatibilityParams = Object.freeze(compatibilityParams); +exports.viewerCompatibilityParams = viewerCompatibilityParams; + +/***/ }), +/* 3 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFViewerApplication = exports.PDFPrintServiceFactory = exports.DefaultExternalServices = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _ui_utils = __webpack_require__(6); + +var _app_options = __webpack_require__(1); + +var _pdfjsLib = __webpack_require__(7); + +var _pdf_cursor_tools = __webpack_require__(8); + +var _pdf_rendering_queue = __webpack_require__(10); + +var _overlay_manager = __webpack_require__(11); + +var _password_prompt = __webpack_require__(12); + +var _pdf_attachment_viewer = __webpack_require__(13); + +var _pdf_document_properties = __webpack_require__(15); + +var _pdf_find_bar = __webpack_require__(16); + +var _pdf_find_controller = __webpack_require__(17); + +var _pdf_history = __webpack_require__(19); + +var _pdf_layer_viewer = __webpack_require__(20); + +var _pdf_link_service = __webpack_require__(21); + +var _pdf_outline_viewer = __webpack_require__(22); + +var _pdf_presentation_mode = __webpack_require__(23); + +var _pdf_scripting_manager = __webpack_require__(24); + +var _pdf_sidebar = __webpack_require__(25); + +var _pdf_sidebar_resizer = __webpack_require__(26); + +var _pdf_thumbnail_viewer = __webpack_require__(27); + +var _pdf_viewer = __webpack_require__(29); + +var _secondary_toolbar = __webpack_require__(37); + +var _toolbar = __webpack_require__(39); + +var _viewer_compatibility = __webpack_require__(2); + +var _view_history = __webpack_require__(40); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +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_SCALE_DELTA = 1.1; +var DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; +var FORCE_PAGES_LOADED_TIMEOUT = 10000; +var WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; +var ENABLE_PERMISSIONS_CLASS = "enablePermissions"; +var ViewOnLoad = { + UNKNOWN: -1, + PREVIOUS: 0, + INITIAL: 1 +}; +var ViewerCssTheme = { + AUTOMATIC: 0, + LIGHT: 1, + DARK: 2 +}; +var KNOWN_VERSIONS = ["1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "2.0", "2.1", "2.2", "2.3"]; +var KNOWN_GENERATORS = ["acrobat distiller", "acrobat pdfwriter", "adobe livecycle", "adobe pdf library", "adobe photoshop", "ghostscript", "tcpdf", "cairo", "dvipdfm", "dvips", "pdftex", "pdfkit", "itext", "prince", "quarkxpress", "mac os x", "microsoft", "openoffice", "oracle", "luradocument", "pdf-xchange", "antenna house", "aspose.cells", "fpdf"]; + +var DefaultExternalServices = /*#__PURE__*/function () { + function DefaultExternalServices() { + _classCallCheck(this, DefaultExternalServices); + + throw new Error("Cannot initialize DefaultExternalServices."); + } + + _createClass(DefaultExternalServices, null, [{ + key: "updateFindControlState", + value: function updateFindControlState(data) {} + }, { + key: "updateFindMatchesCount", + value: function updateFindMatchesCount(data) {} + }, { + key: "initPassiveLoading", + value: function initPassiveLoading(callbacks) {} + }, { + key: "fallback", + value: function () { + var _fallback = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + function fallback(_x) { + return _fallback.apply(this, arguments); + } + + return fallback; + }() + }, { + key: "reportTelemetry", + value: function reportTelemetry(data) {} + }, { + key: "createDownloadManager", + value: function createDownloadManager(options) { + throw new Error("Not implemented: createDownloadManager"); + } + }, { + key: "createPreferences", + value: function createPreferences() { + throw new Error("Not implemented: createPreferences"); + } + }, { + key: "createL10n", + value: function createL10n(options) { + throw new Error("Not implemented: createL10n"); + } + }, { + key: "createScripting", + value: function createScripting(options) { + throw new Error("Not implemented: createScripting"); + } + }, { + key: "supportsIntegratedFind", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "supportsIntegratedFind", false); + } + }, { + key: "supportsDocumentFonts", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "supportsDocumentFonts", true); + } + }, { + key: "supportedMouseWheelZoomModifierKeys", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "supportedMouseWheelZoomModifierKeys", { + ctrlKey: true, + metaKey: true + }); + } + }, { + key: "isInAutomation", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "isInAutomation", false); + } + }]); + + return DefaultExternalServices; +}(); + +exports.DefaultExternalServices = DefaultExternalServices; +var PDFViewerApplication = { + initialBookmark: document.location.hash.substring(1), + _initializedCapability: (0, _pdfjsLib.createPromiseCapability)(), + _fellback: false, + appConfig: null, + pdfDocument: null, + pdfLoadingTask: null, + printService: null, + pdfViewer: null, + pdfThumbnailViewer: null, + pdfRenderingQueue: null, + pdfPresentationMode: null, + pdfDocumentProperties: null, + pdfLinkService: null, + pdfHistory: null, + pdfSidebar: null, + pdfSidebarResizer: null, + pdfOutlineViewer: null, + pdfAttachmentViewer: null, + pdfLayerViewer: null, + pdfCursorTools: null, + pdfScriptingManager: null, + store: null, + downloadManager: null, + overlayManager: null, + preferences: null, + toolbar: null, + secondaryToolbar: null, + eventBus: null, + l10n: null, + isInitialViewSet: false, + downloadComplete: false, + isViewerEmbedded: window.parent !== window, + url: "", + baseUrl: "", + externalServices: DefaultExternalServices, + _boundEvents: Object.create(null), + documentInfo: null, + metadata: null, + _contentDispositionFilename: null, + _contentLength: null, + _saveInProgress: false, + _wheelUnusedTicks: 0, + _idleCallbacks: new Set(), + initialize: function initialize(appConfig) { + var _this = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var appContainer; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _this.preferences = _this.externalServices.createPreferences(); + _this.appConfig = appConfig; + _context2.next = 4; + return _this._readPreferences(); + + case 4: + _context2.next = 6; + return _this._parseHashParameters(); + + case 6: + _this._forceCssTheme(); + + _context2.next = 9; + return _this._initializeL10n(); + + case 9: + if (_this.isViewerEmbedded && _app_options.AppOptions.get("externalLinkTarget") === _pdfjsLib.LinkTarget.NONE) { + _app_options.AppOptions.set("externalLinkTarget", _pdfjsLib.LinkTarget.TOP); + } + + _context2.next = 12; + return _this._initializeViewerComponents(); + + case 12: + _this.bindEvents(); + + _this.bindWindowEvents(); + + appContainer = appConfig.appContainer || document.documentElement; + + _this.l10n.translate(appContainer).then(function () { + _this.eventBus.dispatch("localized", { + source: _this + }); + }); + + _this._initializedCapability.resolve(); + + case 17: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))(); + }, + _readPreferences: function _readPreferences() { + var _this2 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!_app_options.AppOptions.get("disablePreferences")) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return"); + + case 2: + _context3.prev = 2; + _context3.t0 = _app_options.AppOptions; + _context3.next = 6; + return _this2.preferences.getAll(); + + case 6: + _context3.t1 = _context3.sent; + + _context3.t0.setAll.call(_context3.t0, _context3.t1); + + _context3.next = 13; + break; + + case 10: + _context3.prev = 10; + _context3.t2 = _context3["catch"](2); + console.error("_readPreferences: \"".concat(_context3.t2 === null || _context3.t2 === void 0 ? void 0 : _context3.t2.message, "\".")); + + case 13: + case "end": + return _context3.stop(); + } + } + }, _callee3, null, [[2, 10]]); + }))(); + }, + _parseHashParameters: function _parseHashParameters() { + var _this3 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + var hash, hashParams, waitOn, viewer, enabled; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + if (_app_options.AppOptions.get("pdfBugEnabled")) { + _context4.next = 2; + break; + } + + return _context4.abrupt("return", undefined); + + case 2: + hash = document.location.hash.substring(1); + + if (hash) { + _context4.next = 5; + break; + } + + return _context4.abrupt("return", undefined); + + case 5: + hashParams = (0, _ui_utils.parseQueryString)(hash), waitOn = []; + + if ("disableworker" in hashParams && hashParams.disableworker === "true") { + waitOn.push(loadFakeWorker()); + } + + if ("disablerange" in hashParams) { + _app_options.AppOptions.set("disableRange", hashParams.disablerange === "true"); + } + + if ("disablestream" in hashParams) { + _app_options.AppOptions.set("disableStream", hashParams.disablestream === "true"); + } + + if ("disableautofetch" in hashParams) { + _app_options.AppOptions.set("disableAutoFetch", hashParams.disableautofetch === "true"); + } + + if ("disablefontface" in hashParams) { + _app_options.AppOptions.set("disableFontFace", hashParams.disablefontface === "true"); + } + + if ("disablehistory" in hashParams) { + _app_options.AppOptions.set("disableHistory", hashParams.disablehistory === "true"); + } + + if ("verbosity" in hashParams) { + _app_options.AppOptions.set("verbosity", hashParams.verbosity | 0); + } + + if (!("textlayer" in hashParams)) { + _context4.next = 22; + break; + } + + _context4.t0 = hashParams.textlayer; + _context4.next = _context4.t0 === "off" ? 17 : _context4.t0 === "visible" ? 19 : _context4.t0 === "shadow" ? 19 : _context4.t0 === "hover" ? 19 : 22; + break; + + case 17: + _app_options.AppOptions.set("textLayerMode", _ui_utils.TextLayerMode.DISABLE); + + return _context4.abrupt("break", 22); + + case 19: + viewer = _this3.appConfig.viewerContainer; + viewer.classList.add("textLayer-" + hashParams.textlayer); + return _context4.abrupt("break", 22); + + case 22: + if ("pdfbug" in hashParams) { + _app_options.AppOptions.set("pdfBug", true); + + _app_options.AppOptions.set("fontExtraProperties", true); + + enabled = hashParams.pdfbug.split(","); + waitOn.push(loadAndEnablePDFBug(enabled)); + } + + if ("locale" in hashParams) { + _app_options.AppOptions.set("locale", hashParams.locale); + } + + if (!(waitOn.length === 0)) { + _context4.next = 26; + break; + } + + return _context4.abrupt("return", undefined); + + case 26: + return _context4.abrupt("return", Promise.all(waitOn)["catch"](function (reason) { + console.error("_parseHashParameters: \"".concat(reason.message, "\".")); + })); + + case 27: + case "end": + return _context4.stop(); + } + } + }, _callee4); + }))(); + }, + _initializeL10n: function _initializeL10n() { + var _this4 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { + var dir; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _this4.l10n = _this4.externalServices.createL10n({ + locale: _app_options.AppOptions.get("locale") + }); + _context5.next = 3; + return _this4.l10n.getDirection(); + + case 3: + dir = _context5.sent; + document.getElementsByTagName("html")[0].dir = dir; + + case 5: + case "end": + return _context5.stop(); + } + } + }, _callee5); + }))(); + }, + _forceCssTheme: function _forceCssTheme() { + var cssTheme = _app_options.AppOptions.get("viewerCssTheme"); + + if (cssTheme === ViewerCssTheme.AUTOMATIC || !Object.values(ViewerCssTheme).includes(cssTheme)) { + return; + } + + try { + var styleSheet = document.styleSheets[0]; + var cssRules = (styleSheet === null || styleSheet === void 0 ? void 0 : styleSheet.cssRules) || []; + var mediaMatcher = "prefers-color-scheme"; + var mediaRule = "(".concat(mediaMatcher, ": dark)"); + var mediaRegex = new RegExp("^@media \\(".concat(mediaMatcher, ": dark\\) {\\n\\s*([\\w\\s-.,:;/\\\\{}()]+)\\n}$")); + + for (var i = 0, ii = cssRules.length; i < ii; i++) { + var _rule$media; + + var rule = cssRules[i]; + + if (rule instanceof CSSMediaRule && ((_rule$media = rule.media) === null || _rule$media === void 0 ? void 0 : _rule$media[0]) === mediaRule) { + if (cssTheme === ViewerCssTheme.LIGHT) { + styleSheet.deleteRule(i); + return; + } + + var darkRules = mediaRegex.exec(rule.cssText); + + if (darkRules !== null && darkRules !== void 0 && darkRules[1]) { + styleSheet.deleteRule(i); + styleSheet.insertRule(darkRules[1], i); + } + + return; + } + } + } catch (reason) { + console.error("_forceCssTheme: \"".concat(reason === null || reason === void 0 ? void 0 : reason.message, "\".")); + } + }, + _initializeViewerComponents: function _initializeViewerComponents() { + var _this5 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + var appConfig, eventBus, pdfRenderingQueue, pdfLinkService, downloadManager, findController, pdfScriptingManager, container, viewer; + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + appConfig = _this5.appConfig; + eventBus = appConfig.eventBus || new _ui_utils.EventBus({ + isInAutomation: _this5.externalServices.isInAutomation + }); + _this5.eventBus = eventBus; + _this5.overlayManager = new _overlay_manager.OverlayManager(); + pdfRenderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); + pdfRenderingQueue.onIdle = _this5._cleanup.bind(_this5); + _this5.pdfRenderingQueue = pdfRenderingQueue; + pdfLinkService = new _pdf_link_service.PDFLinkService({ + eventBus: eventBus, + externalLinkTarget: _app_options.AppOptions.get("externalLinkTarget"), + externalLinkRel: _app_options.AppOptions.get("externalLinkRel"), + ignoreDestinationZoom: _app_options.AppOptions.get("ignoreDestinationZoom") + }); + _this5.pdfLinkService = pdfLinkService; + downloadManager = _this5.externalServices.createDownloadManager(); + _this5.downloadManager = downloadManager; + findController = new _pdf_find_controller.PDFFindController({ + linkService: pdfLinkService, + eventBus: eventBus + }); + _this5.findController = findController; + pdfScriptingManager = new _pdf_scripting_manager.PDFScriptingManager({ + eventBus: eventBus, + sandboxBundleSrc: _app_options.AppOptions.get("sandboxBundleSrc"), + scriptingFactory: _this5.externalServices, + docPropertiesLookup: _this5._scriptingDocProperties.bind(_this5) + }); + _this5.pdfScriptingManager = pdfScriptingManager; + container = appConfig.mainContainer; + viewer = appConfig.viewerContainer; + _this5.pdfViewer = new _pdf_viewer.PDFViewer({ + container: container, + viewer: viewer, + eventBus: eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + downloadManager: downloadManager, + findController: findController, + scriptingManager: pdfScriptingManager, + renderer: _app_options.AppOptions.get("renderer"), + l10n: _this5.l10n, + textLayerMode: _app_options.AppOptions.get("textLayerMode"), + imageResourcesPath: _app_options.AppOptions.get("imageResourcesPath"), + renderInteractiveForms: _app_options.AppOptions.get("renderInteractiveForms"), + enablePrintAutoRotate: _app_options.AppOptions.get("enablePrintAutoRotate"), + useOnlyCssZoom: _app_options.AppOptions.get("useOnlyCssZoom"), + maxCanvasPixels: _app_options.AppOptions.get("maxCanvasPixels"), + enableScripting: _app_options.AppOptions.get("enableScripting") + }); + pdfRenderingQueue.setViewer(_this5.pdfViewer); + pdfLinkService.setViewer(_this5.pdfViewer); + pdfScriptingManager.setViewer(_this5.pdfViewer); + _this5.pdfThumbnailViewer = new _pdf_thumbnail_viewer.PDFThumbnailViewer({ + container: appConfig.sidebar.thumbnailView, + eventBus: eventBus, + renderingQueue: pdfRenderingQueue, + linkService: pdfLinkService, + l10n: _this5.l10n + }); + pdfRenderingQueue.setThumbnailViewer(_this5.pdfThumbnailViewer); + _this5.pdfHistory = new _pdf_history.PDFHistory({ + linkService: pdfLinkService, + eventBus: eventBus + }); + pdfLinkService.setHistory(_this5.pdfHistory); + + if (!_this5.supportsIntegratedFind) { + _this5.findBar = new _pdf_find_bar.PDFFindBar(appConfig.findBar, eventBus, _this5.l10n); + } + + _this5.pdfDocumentProperties = new _pdf_document_properties.PDFDocumentProperties(appConfig.documentProperties, _this5.overlayManager, eventBus, _this5.l10n); + _this5.pdfCursorTools = new _pdf_cursor_tools.PDFCursorTools({ + container: container, + eventBus: eventBus, + cursorToolOnLoad: _app_options.AppOptions.get("cursorToolOnLoad") + }); + _this5.toolbar = new _toolbar.Toolbar(appConfig.toolbar, eventBus, _this5.l10n); + _this5.secondaryToolbar = new _secondary_toolbar.SecondaryToolbar(appConfig.secondaryToolbar, container, eventBus); + + if (_this5.supportsFullscreen) { + _this5.pdfPresentationMode = new _pdf_presentation_mode.PDFPresentationMode({ + container: container, + pdfViewer: _this5.pdfViewer, + eventBus: eventBus + }); + } + + _this5.passwordPrompt = new _password_prompt.PasswordPrompt(appConfig.passwordOverlay, _this5.overlayManager, _this5.l10n, _this5.isViewerEmbedded); + _this5.pdfOutlineViewer = new _pdf_outline_viewer.PDFOutlineViewer({ + container: appConfig.sidebar.outlineView, + eventBus: eventBus, + linkService: pdfLinkService + }); + _this5.pdfAttachmentViewer = new _pdf_attachment_viewer.PDFAttachmentViewer({ + container: appConfig.sidebar.attachmentsView, + eventBus: eventBus, + downloadManager: downloadManager + }); + _this5.pdfLayerViewer = new _pdf_layer_viewer.PDFLayerViewer({ + container: appConfig.sidebar.layersView, + eventBus: eventBus, + l10n: _this5.l10n + }); + _this5.pdfSidebar = new _pdf_sidebar.PDFSidebar({ + elements: appConfig.sidebar, + pdfViewer: _this5.pdfViewer, + pdfThumbnailViewer: _this5.pdfThumbnailViewer, + eventBus: eventBus, + l10n: _this5.l10n + }); + _this5.pdfSidebar.onToggled = _this5.forceRendering.bind(_this5); + _this5.pdfSidebarResizer = new _pdf_sidebar_resizer.PDFSidebarResizer(appConfig.sidebarResizer, eventBus, _this5.l10n); + + case 38: + case "end": + return _context6.stop(); + } + } + }, _callee6); + }))(); + }, + run: function run(config) { + this.initialize(config).then(webViewerInitialized); + }, + + get initialized() { + return this._initializedCapability.settled; + }, + + get initializedPromise() { + return this._initializedCapability.promise; + }, + + zoomIn: function zoomIn(ticks) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + + var newScale = this.pdfViewer.currentScale; + + do { + newScale = (newScale * DEFAULT_SCALE_DELTA).toFixed(2); + newScale = Math.ceil(newScale * 10) / 10; + newScale = Math.min(_ui_utils.MAX_SCALE, newScale); + } while (--ticks > 0 && newScale < _ui_utils.MAX_SCALE); + + this.pdfViewer.currentScaleValue = newScale; + }, + zoomOut: function zoomOut(ticks) { + if (this.pdfViewer.isInPresentationMode) { + return; + } + + var newScale = this.pdfViewer.currentScale; + + do { + newScale = (newScale / DEFAULT_SCALE_DELTA).toFixed(2); + newScale = Math.floor(newScale * 10) / 10; + newScale = Math.max(_ui_utils.MIN_SCALE, newScale); + } while (--ticks > 0 && newScale > _ui_utils.MIN_SCALE); + + this.pdfViewer.currentScaleValue = newScale; + }, + zoomReset: function zoomReset() { + if (this.pdfViewer.isInPresentationMode) { + return; + } + + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + }, + + get pagesCount() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + }, + + get page() { + return this.pdfViewer.currentPageNumber; + }, + + set page(val) { + this.pdfViewer.currentPageNumber = val; + }, + + get supportsPrinting() { + return PDFPrintServiceFactory.instance.supportsPrinting; + }, + + get supportsFullscreen() { + var doc = document.documentElement; + var support = !!(doc.requestFullscreen || doc.mozRequestFullScreen || doc.webkitRequestFullScreen); + + if (document.fullscreenEnabled === false || document.mozFullScreenEnabled === false || document.webkitFullscreenEnabled === false) { + support = false; + } + + return (0, _pdfjsLib.shadow)(this, "supportsFullscreen", support); + }, + + get supportsIntegratedFind() { + return this.externalServices.supportsIntegratedFind; + }, + + get supportsDocumentFonts() { + return this.externalServices.supportsDocumentFonts; + }, + + get loadingBar() { + var bar = new _ui_utils.ProgressBar("#loadingBar"); + return (0, _pdfjsLib.shadow)(this, "loadingBar", bar); + }, + + get supportedMouseWheelZoomModifierKeys() { + return this.externalServices.supportedMouseWheelZoomModifierKeys; + }, + + initPassiveLoading: function initPassiveLoading() { + throw new Error("Not implemented: initPassiveLoading"); + }, + setTitleUsingUrl: function setTitleUsingUrl() { + var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; + this.url = url; + this.baseUrl = url.split("#")[0]; + var title = (0, _pdfjsLib.getPdfFilenameFromUrl)(url, ""); + + if (!title) { + try { + title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url; + } catch (ex) { + title = url; + } + } + + this.setTitle(title); + }, + setTitle: function setTitle(title) { + if (this.isViewerEmbedded) { + return; + } + + document.title = title; + }, + + get _docFilename() { + return this._contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url); + }, + + _cancelIdleCallbacks: function _cancelIdleCallbacks() { + if (!this._idleCallbacks.size) { + return; + } + + var _iterator = _createForOfIteratorHelper(this._idleCallbacks), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var callback = _step.value; + window.cancelIdleCallback(callback); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._idleCallbacks.clear(); + }, + close: function close() { + var _this6 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7() { + var _this6$pdfDocument; + + var container, promises; + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + _this6._unblockDocumentLoadEvent(); + + container = _this6.appConfig.errorWrapper.container; + container.hidden = true; + + if (_this6.pdfLoadingTask) { + _context7.next = 5; + break; + } + + return _context7.abrupt("return"); + + case 5: + if (!(((_this6$pdfDocument = _this6.pdfDocument) === null || _this6$pdfDocument === void 0 ? void 0 : _this6$pdfDocument.annotationStorage.size) > 0 && _this6._annotationStorageModified)) { + _context7.next = 13; + break; + } + + _context7.prev = 6; + _context7.next = 9; + return _this6.save({ + sourceEventType: "save" + }); + + case 9: + _context7.next = 13; + break; + + case 11: + _context7.prev = 11; + _context7.t0 = _context7["catch"](6); + + case 13: + promises = []; + promises.push(_this6.pdfLoadingTask.destroy()); + _this6.pdfLoadingTask = null; + + if (_this6.pdfDocument) { + _this6.pdfDocument = null; + + _this6.pdfThumbnailViewer.setDocument(null); + + _this6.pdfViewer.setDocument(null); + + _this6.pdfLinkService.setDocument(null); + + _this6.pdfDocumentProperties.setDocument(null); + } + + webViewerResetPermissions(); + _this6._fellback = false; + _this6.store = null; + _this6.isInitialViewSet = false; + _this6.downloadComplete = false; + _this6.url = ""; + _this6.baseUrl = ""; + _this6.documentInfo = null; + _this6.metadata = null; + _this6._contentDispositionFilename = null; + _this6._contentLength = null; + _this6._saveInProgress = false; + + _this6._cancelIdleCallbacks(); + + promises.push(_this6.pdfScriptingManager.destroyPromise); + + _this6.pdfSidebar.reset(); + + _this6.pdfOutlineViewer.reset(); + + _this6.pdfAttachmentViewer.reset(); + + _this6.pdfLayerViewer.reset(); + + if (_this6.pdfHistory) { + _this6.pdfHistory.reset(); + } + + if (_this6.findBar) { + _this6.findBar.reset(); + } + + _this6.toolbar.reset(); + + _this6.secondaryToolbar.reset(); + + if (typeof PDFBug !== "undefined") { + PDFBug.cleanup(); + } + + _context7.next = 42; + return Promise.all(promises); + + case 42: + case "end": + return _context7.stop(); + } + } + }, _callee7, null, [[6, 11]]); + }))(); + }, + open: function open(file, args) { + var _this7 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { + var workerParameters, key, parameters, apiParameters, _key, value, _key2, loadingTask; + + return _regenerator["default"].wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + if (!_this7.pdfLoadingTask) { + _context8.next = 3; + break; + } + + _context8.next = 3; + return _this7.close(); + + case 3: + workerParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.WORKER); + + for (key in workerParameters) { + _pdfjsLib.GlobalWorkerOptions[key] = workerParameters[key]; + } + + parameters = Object.create(null); + + if (typeof file === "string") { + _this7.setTitleUsingUrl(file); + + parameters.url = file; + } else if (file && "byteLength" in file) { + parameters.data = file; + } else if (file.url && file.originalUrl) { + _this7.setTitleUsingUrl(file.originalUrl); + + parameters.url = file.url; + } + + apiParameters = _app_options.AppOptions.getAll(_app_options.OptionKind.API); + + for (_key in apiParameters) { + value = apiParameters[_key]; + + if (_key === "docBaseUrl" && !value) {} + + parameters[_key] = value; + } + + if (args) { + for (_key2 in args) { + parameters[_key2] = args[_key2]; + } + } + + loadingTask = (0, _pdfjsLib.getDocument)(parameters); + _this7.pdfLoadingTask = loadingTask; + + loadingTask.onPassword = function (updateCallback, reason) { + _this7.pdfLinkService.externalLinkEnabled = false; + + _this7.passwordPrompt.setUpdateCallback(updateCallback, reason); + + _this7.passwordPrompt.open(); + }; + + loadingTask.onProgress = function (_ref) { + var loaded = _ref.loaded, + total = _ref.total; + + _this7.progress(loaded / total); + }; + + loadingTask.onUnsupportedFeature = _this7.fallback.bind(_this7); + return _context8.abrupt("return", loadingTask.promise.then(function (pdfDocument) { + _this7.load(pdfDocument); + }, function (exception) { + if (loadingTask !== _this7.pdfLoadingTask) { + return undefined; + } + + var key = "loading_error"; + + if (exception instanceof _pdfjsLib.InvalidPDFException) { + key = "invalid_file_error"; + } else if (exception instanceof _pdfjsLib.MissingPDFException) { + key = "missing_file_error"; + } else if (exception instanceof _pdfjsLib.UnexpectedResponseException) { + key = "unexpected_response_error"; + } + + return _this7.l10n.get(key).then(function (msg) { + _this7._documentError(msg, { + message: exception === null || exception === void 0 ? void 0 : exception.message + }); + + throw exception; + }); + })); + + case 16: + case "end": + return _context8.stop(); + } + } + }, _callee8); + }))(); + }, + _ensureDownloadComplete: function _ensureDownloadComplete() { + if (this.pdfDocument && this.downloadComplete) { + return; + } + + throw new Error("PDF document not downloaded."); + }, + download: function download() { + var _arguments = arguments, + _this8 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9() { + var _ref2, _ref2$sourceEventType, sourceEventType, url, filename, data, blob; + + return _regenerator["default"].wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _ref2 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref2$sourceEventType = _ref2.sourceEventType, sourceEventType = _ref2$sourceEventType === void 0 ? "download" : _ref2$sourceEventType; + url = _this8.baseUrl, filename = _this8._docFilename; + _context9.prev = 2; + + _this8._ensureDownloadComplete(); + + _context9.next = 6; + return _this8.pdfDocument.getData(); + + case 6: + data = _context9.sent; + blob = new Blob([data], { + type: "application/pdf" + }); + _context9.next = 10; + return _this8.downloadManager.download(blob, url, filename, sourceEventType); + + case 10: + _context9.next = 16; + break; + + case 12: + _context9.prev = 12; + _context9.t0 = _context9["catch"](2); + _context9.next = 16; + return _this8.downloadManager.downloadUrl(url, filename); + + case 16: + case "end": + return _context9.stop(); + } + } + }, _callee9, null, [[2, 12]]); + }))(); + }, + save: function save() { + var _arguments2 = arguments, + _this9 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10() { + var _ref3, _ref3$sourceEventType, sourceEventType, url, filename, data, blob; + + return _regenerator["default"].wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + _ref3 = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {}, _ref3$sourceEventType = _ref3.sourceEventType, sourceEventType = _ref3$sourceEventType === void 0 ? "download" : _ref3$sourceEventType; + + if (!_this9._saveInProgress) { + _context10.next = 3; + break; + } + + return _context10.abrupt("return"); + + case 3: + _this9._saveInProgress = true; + _context10.next = 6; + return _this9.pdfScriptingManager.dispatchWillSave(); + + case 6: + url = _this9.baseUrl, filename = _this9._docFilename; + _context10.prev = 7; + + _this9._ensureDownloadComplete(); + + _context10.next = 11; + return _this9.pdfDocument.saveDocument(); + + case 11: + data = _context10.sent; + blob = new Blob([data], { + type: "application/pdf" + }); + _context10.next = 15; + return _this9.downloadManager.download(blob, url, filename, sourceEventType); + + case 15: + _context10.next = 21; + break; + + case 17: + _context10.prev = 17; + _context10.t0 = _context10["catch"](7); + _context10.next = 21; + return _this9.download({ + sourceEventType: sourceEventType + }); + + case 21: + _context10.prev = 21; + _context10.next = 24; + return _this9.pdfScriptingManager.dispatchDidSave(); + + case 24: + _this9._saveInProgress = false; + return _context10.finish(21); + + case 26: + case "end": + return _context10.stop(); + } + } + }, _callee10, null, [[7, 17, 21, 26]]); + }))(); + }, + downloadOrSave: function downloadOrSave(options) { + var _this$pdfDocument; + + if (((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage.size) > 0) { + this.save(options); + } else { + this.download(options); + } + }, + fallback: function fallback(featureId) { + var _this10 = this; + + this.externalServices.reportTelemetry({ + type: "unsupportedFeature", + featureId: featureId + }); + + if (this._fellback) { + return; + } + + this._fellback = true; + this.externalServices.fallback({ + featureId: featureId, + url: this.baseUrl + }).then(function (download) { + if (!download) { + return; + } + + _this10.download({ + sourceEventType: "download" + }); + }); + }, + _documentError: function _documentError(message) { + var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + this._unblockDocumentLoadEvent(); + + this._otherError(message, moreInfo); + }, + _otherError: function _otherError(message) { + var moreInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var moreInfoText = [this.l10n.get("error_version_info", { + version: _pdfjsLib.version || "?", + build: _pdfjsLib.build || "?" + })]; + + if (moreInfo) { + moreInfoText.push(this.l10n.get("error_message", { + message: moreInfo.message + })); + + if (moreInfo.stack) { + moreInfoText.push(this.l10n.get("error_stack", { + stack: moreInfo.stack + })); + } else { + if (moreInfo.filename) { + moreInfoText.push(this.l10n.get("error_file", { + file: moreInfo.filename + })); + } + + if (moreInfo.lineNumber) { + moreInfoText.push(this.l10n.get("error_line", { + line: moreInfo.lineNumber + })); + } + } + } + + var errorWrapperConfig = this.appConfig.errorWrapper; + var errorWrapper = errorWrapperConfig.container; + errorWrapper.hidden = false; + var errorMessage = errorWrapperConfig.errorMessage; + errorMessage.textContent = message; + var closeButton = errorWrapperConfig.closeButton; + + closeButton.onclick = function () { + errorWrapper.hidden = true; + }; + + var errorMoreInfo = errorWrapperConfig.errorMoreInfo; + var moreInfoButton = errorWrapperConfig.moreInfoButton; + var lessInfoButton = errorWrapperConfig.lessInfoButton; + + moreInfoButton.onclick = function () { + errorMoreInfo.hidden = false; + moreInfoButton.hidden = true; + lessInfoButton.hidden = false; + errorMoreInfo.style.height = errorMoreInfo.scrollHeight + "px"; + }; + + lessInfoButton.onclick = function () { + errorMoreInfo.hidden = true; + moreInfoButton.hidden = false; + lessInfoButton.hidden = true; + }; + + moreInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; + lessInfoButton.oncontextmenu = _ui_utils.noContextMenuHandler; + closeButton.oncontextmenu = _ui_utils.noContextMenuHandler; + moreInfoButton.hidden = false; + lessInfoButton.hidden = true; + Promise.all(moreInfoText).then(function (parts) { + errorMoreInfo.value = parts.join("\n"); + }); + }, + progress: function progress(level) { + var _this11 = this; + + if (this.downloadComplete) { + return; + } + + var percent = Math.round(level * 100); + + if (percent > this.loadingBar.percent || isNaN(percent)) { + this.loadingBar.percent = percent; + var disableAutoFetch = this.pdfDocument ? this.pdfDocument.loadingParams.disableAutoFetch : _app_options.AppOptions.get("disableAutoFetch"); + + if (disableAutoFetch && percent) { + if (this.disableAutoFetchLoadingBarTimeout) { + clearTimeout(this.disableAutoFetchLoadingBarTimeout); + this.disableAutoFetchLoadingBarTimeout = null; + } + + this.loadingBar.show(); + this.disableAutoFetchLoadingBarTimeout = setTimeout(function () { + _this11.loadingBar.hide(); + + _this11.disableAutoFetchLoadingBarTimeout = null; + }, DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT); + } + } + }, + load: function load(pdfDocument) { + var _this12 = this; + + this.pdfDocument = pdfDocument; + pdfDocument.getDownloadInfo().then(function (_ref4) { + var length = _ref4.length; + _this12._contentLength = length; + _this12.downloadComplete = true; + + _this12.loadingBar.hide(); + + firstPagePromise.then(function () { + _this12.eventBus.dispatch("documentloaded", { + source: _this12 + }); + }); + }); + var pageLayoutPromise = pdfDocument.getPageLayout()["catch"](function () {}); + var pageModePromise = pdfDocument.getPageMode()["catch"](function () {}); + var openActionPromise = pdfDocument.getOpenAction()["catch"](function () {}); + this.toolbar.setPagesCount(pdfDocument.numPages, false); + this.secondaryToolbar.setPagesCount(pdfDocument.numPages); + var baseDocumentUrl; + baseDocumentUrl = null; + this.pdfLinkService.setDocument(pdfDocument, baseDocumentUrl); + this.pdfDocumentProperties.setDocument(pdfDocument, this.url); + var pdfViewer = this.pdfViewer; + pdfViewer.setDocument(pdfDocument); + var firstPagePromise = pdfViewer.firstPagePromise, + onePageRendered = pdfViewer.onePageRendered, + pagesPromise = pdfViewer.pagesPromise; + var pdfThumbnailViewer = this.pdfThumbnailViewer; + pdfThumbnailViewer.setDocument(pdfDocument); + var storedPromise = (this.store = new _view_history.ViewHistory(pdfDocument.fingerprint)).getMultiple({ + page: null, + zoom: _ui_utils.DEFAULT_SCALE_VALUE, + scrollLeft: "0", + scrollTop: "0", + rotation: null, + sidebarView: _ui_utils.SidebarView.UNKNOWN, + scrollMode: _ui_utils.ScrollMode.UNKNOWN, + spreadMode: _ui_utils.SpreadMode.UNKNOWN + })["catch"](function () { + return Object.create(null); + }); + firstPagePromise.then(function (pdfPage) { + _this12.loadingBar.setWidth(_this12.appConfig.viewerContainer); + + _this12._initializeAnnotationStorageCallbacks(pdfDocument); + + Promise.all([_ui_utils.animationStarted, storedPromise, pageLayoutPromise, pageModePromise, openActionPromise]).then( /*#__PURE__*/function () { + var _ref6 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11(_ref5) { + var _ref7, timeStamp, stored, pageLayout, pageMode, openAction, viewOnLoad, initialBookmark, zoom, hash, rotation, sidebarView, scrollMode, spreadMode; + + return _regenerator["default"].wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + _ref7 = _slicedToArray(_ref5, 5), timeStamp = _ref7[0], stored = _ref7[1], pageLayout = _ref7[2], pageMode = _ref7[3], openAction = _ref7[4]; + viewOnLoad = _app_options.AppOptions.get("viewOnLoad"); + + _this12._initializePdfHistory({ + fingerprint: pdfDocument.fingerprint, + viewOnLoad: viewOnLoad, + initialDest: openAction === null || openAction === void 0 ? void 0 : openAction.dest + }); + + initialBookmark = _this12.initialBookmark; + zoom = _app_options.AppOptions.get("defaultZoomValue"); + hash = zoom ? "zoom=".concat(zoom) : null; + rotation = null; + sidebarView = _app_options.AppOptions.get("sidebarViewOnLoad"); + scrollMode = _app_options.AppOptions.get("scrollModeOnLoad"); + spreadMode = _app_options.AppOptions.get("spreadModeOnLoad"); + + if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) { + hash = "page=".concat(stored.page, "&zoom=").concat(zoom || stored.zoom, ",") + "".concat(stored.scrollLeft, ",").concat(stored.scrollTop); + rotation = parseInt(stored.rotation, 10); + + if (sidebarView === _ui_utils.SidebarView.UNKNOWN) { + sidebarView = stored.sidebarView | 0; + } + + if (scrollMode === _ui_utils.ScrollMode.UNKNOWN) { + scrollMode = stored.scrollMode | 0; + } + + if (spreadMode === _ui_utils.SpreadMode.UNKNOWN) { + spreadMode = stored.spreadMode | 0; + } + } + + if (pageMode && sidebarView === _ui_utils.SidebarView.UNKNOWN) { + sidebarView = (0, _ui_utils.apiPageModeToSidebarView)(pageMode); + } + + if (pageLayout && spreadMode === _ui_utils.SpreadMode.UNKNOWN) { + spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(pageLayout); + } + + _this12.setInitialView(hash, { + rotation: rotation, + sidebarView: sidebarView, + scrollMode: scrollMode, + spreadMode: spreadMode + }); + + _this12.eventBus.dispatch("documentinit", { + source: _this12 + }); + + if (!_this12.isViewerEmbedded) { + pdfViewer.focus(); + } + + _this12._initializePermissions(pdfDocument); + + _context11.next = 19; + return Promise.race([pagesPromise, new Promise(function (resolve) { + setTimeout(resolve, FORCE_PAGES_LOADED_TIMEOUT); + })]); + + case 19: + if (!(!initialBookmark && !hash)) { + _context11.next = 21; + break; + } + + return _context11.abrupt("return"); + + case 21: + if (!pdfViewer.hasEqualPageSizes) { + _context11.next = 23; + break; + } + + return _context11.abrupt("return"); + + case 23: + _this12.initialBookmark = initialBookmark; + pdfViewer.currentScaleValue = pdfViewer.currentScaleValue; + + _this12.setInitialView(hash); + + case 26: + case "end": + return _context11.stop(); + } + } + }, _callee11); + })); + + return function (_x2) { + return _ref6.apply(this, arguments); + }; + }())["catch"](function () { + _this12.setInitialView(); + }).then(function () { + pdfViewer.update(); + }); + }); + pagesPromise.then(function () { + _this12._unblockDocumentLoadEvent(); + + _this12._initializeAutoPrint(pdfDocument, openActionPromise); + }); + onePageRendered.then(function () { + pdfDocument.getOutline().then(function (outline) { + if (pdfDocument !== _this12.pdfDocument) { + return; + } + + _this12.pdfOutlineViewer.render({ + outline: outline, + pdfDocument: pdfDocument + }); + }); + pdfDocument.getAttachments().then(function (attachments) { + if (pdfDocument !== _this12.pdfDocument) { + return; + } + + _this12.pdfAttachmentViewer.render({ + attachments: attachments + }); + }); + pdfViewer.optionalContentConfigPromise.then(function (optionalContentConfig) { + if (pdfDocument !== _this12.pdfDocument) { + return; + } + + _this12.pdfLayerViewer.render({ + optionalContentConfig: optionalContentConfig, + pdfDocument: pdfDocument + }); + }); + + if ("requestIdleCallback" in window) { + var callback = window.requestIdleCallback(function () { + _this12._collectTelemetry(pdfDocument); + + _this12._idleCallbacks["delete"](callback); + }, { + timeout: 1000 + }); + + _this12._idleCallbacks.add(callback); + } + }); + + this._initializePageLabels(pdfDocument); + + this._initializeMetadata(pdfDocument); + }, + _scriptingDocProperties: function _scriptingDocProperties(pdfDocument) { + var _this13 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { + var _this13$metadata, _this13$metadata2; + + return _regenerator["default"].wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + if (_this13.documentInfo) { + _context12.next = 5; + break; + } + + _context12.next = 3; + return new Promise(function (resolve) { + _this13.eventBus._on("metadataloaded", resolve, { + once: true + }); + }); + + case 3: + if (!(pdfDocument !== _this13.pdfDocument)) { + _context12.next = 5; + break; + } + + return _context12.abrupt("return", null); + + case 5: + if (_this13._contentLength) { + _context12.next = 10; + break; + } + + _context12.next = 8; + return new Promise(function (resolve) { + _this13.eventBus._on("documentloaded", resolve, { + once: true + }); + }); + + case 8: + if (!(pdfDocument !== _this13.pdfDocument)) { + _context12.next = 10; + break; + } + + return _context12.abrupt("return", null); + + case 10: + return _context12.abrupt("return", _objectSpread(_objectSpread({}, _this13.documentInfo), {}, { + baseURL: _this13.baseUrl, + filesize: _this13._contentLength, + filename: _this13._docFilename, + metadata: (_this13$metadata = _this13.metadata) === null || _this13$metadata === void 0 ? void 0 : _this13$metadata.getRaw(), + authors: (_this13$metadata2 = _this13.metadata) === null || _this13$metadata2 === void 0 ? void 0 : _this13$metadata2.get("dc:creator"), + numPages: _this13.pagesCount, + URL: _this13.url + })); + + case 11: + case "end": + return _context12.stop(); + } + } + }, _callee12); + }))(); + }, + _collectTelemetry: function _collectTelemetry(pdfDocument) { + var _this14 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee13() { + var markInfo, tagged; + return _regenerator["default"].wrap(function _callee13$(_context13) { + while (1) { + switch (_context13.prev = _context13.next) { + case 0: + _context13.next = 2; + return _this14.pdfDocument.getMarkInfo(); + + case 2: + markInfo = _context13.sent; + + if (!(pdfDocument !== _this14.pdfDocument)) { + _context13.next = 5; + break; + } + + return _context13.abrupt("return"); + + case 5: + tagged = (markInfo === null || markInfo === void 0 ? void 0 : markInfo.Marked) || false; + + _this14.externalServices.reportTelemetry({ + type: "tagged", + tagged: tagged + }); + + case 7: + case "end": + return _context13.stop(); + } + } + }, _callee13); + }))(); + }, + _initializeAutoPrint: function _initializeAutoPrint(pdfDocument, openActionPromise) { + var _this15 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee14() { + var _yield$Promise$all, _yield$Promise$all2, openAction, javaScript, triggerAutoPrint, _iterator2, _step2, js; + + return _regenerator["default"].wrap(function _callee14$(_context14) { + while (1) { + switch (_context14.prev = _context14.next) { + case 0: + _context14.next = 2; + return Promise.all([openActionPromise, !_this15.pdfViewer.enableScripting ? pdfDocument.getJavaScript() : null]); + + case 2: + _yield$Promise$all = _context14.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2); + openAction = _yield$Promise$all2[0]; + javaScript = _yield$Promise$all2[1]; + + if (!(pdfDocument !== _this15.pdfDocument)) { + _context14.next = 8; + break; + } + + return _context14.abrupt("return"); + + case 8: + triggerAutoPrint = false; + + if ((openAction === null || openAction === void 0 ? void 0 : openAction.action) === "Print") { + triggerAutoPrint = true; + } + + if (!javaScript) { + _context14.next = 31; + break; + } + + javaScript.some(function (js) { + if (!js) { + return false; + } + + console.warn("Warning: JavaScript support is not enabled"); + + _this15.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.javaScript); + + return true; + }); + + if (triggerAutoPrint) { + _context14.next = 31; + break; + } + + _iterator2 = _createForOfIteratorHelper(javaScript); + _context14.prev = 14; + + _iterator2.s(); + + case 16: + if ((_step2 = _iterator2.n()).done) { + _context14.next = 23; + break; + } + + js = _step2.value; + + if (!(js && _ui_utils.AutoPrintRegExp.test(js))) { + _context14.next = 21; + break; + } + + triggerAutoPrint = true; + return _context14.abrupt("break", 23); + + case 21: + _context14.next = 16; + break; + + case 23: + _context14.next = 28; + break; + + case 25: + _context14.prev = 25; + _context14.t0 = _context14["catch"](14); + + _iterator2.e(_context14.t0); + + case 28: + _context14.prev = 28; + + _iterator2.f(); + + return _context14.finish(28); + + case 31: + if (triggerAutoPrint) { + _this15.triggerPrinting(); + } + + case 32: + case "end": + return _context14.stop(); + } + } + }, _callee14, null, [[14, 25, 28, 31]]); + }))(); + }, + _initializeMetadata: function _initializeMetadata(pdfDocument) { + var _this16 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee15() { + var _this16$_contentDispo, _this16$_contentLengt; + + var _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, pdfTitle, metadataTitle, versionId, generatorId, producer, formType; + + return _regenerator["default"].wrap(function _callee15$(_context15) { + while (1) { + switch (_context15.prev = _context15.next) { + case 0: + _context15.next = 2; + return pdfDocument.getMetadata(); + + case 2: + _yield$pdfDocument$ge = _context15.sent; + info = _yield$pdfDocument$ge.info; + metadata = _yield$pdfDocument$ge.metadata; + contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename; + contentLength = _yield$pdfDocument$ge.contentLength; + + if (!(pdfDocument !== _this16.pdfDocument)) { + _context15.next = 9; + break; + } + + return _context15.abrupt("return"); + + case 9: + _this16.documentInfo = info; + _this16.metadata = metadata; + (_this16$_contentDispo = _this16._contentDispositionFilename) !== null && _this16$_contentDispo !== void 0 ? _this16$_contentDispo : _this16._contentDispositionFilename = contentDispositionFilename; + (_this16$_contentLengt = _this16._contentLength) !== null && _this16$_contentLengt !== void 0 ? _this16$_contentLengt : _this16._contentLength = contentLength; + console.log("PDF ".concat(pdfDocument.fingerprint, " [").concat(info.PDFFormatVersion, " ") + "".concat((info.Producer || "-").trim(), " / ").concat((info.Creator || "-").trim(), "] ") + "(PDF.js: ".concat(_pdfjsLib.version || "-", ")")); + pdfTitle = info === null || info === void 0 ? void 0 : info.Title; + metadataTitle = metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:title"); + + if (metadataTitle) { + if (metadataTitle !== "Untitled" && !/[\uFFF0-\uFFFF]/g.test(metadataTitle)) { + pdfTitle = metadataTitle; + } + } + + if (pdfTitle) { + _this16.setTitle("".concat(pdfTitle, " - ").concat(contentDispositionFilename || document.title)); + } else if (contentDispositionFilename) { + _this16.setTitle(contentDispositionFilename); + } + + if (info.IsXFAPresent && !info.IsAcroFormPresent && !pdfDocument.isPureXfa) { + console.warn("Warning: XFA is not enabled"); + + _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); + } else if ((info.IsAcroFormPresent || info.IsXFAPresent) && !_this16.pdfViewer.renderInteractiveForms) { + console.warn("Warning: Interactive form support is not enabled"); + + _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.forms); + } + + if (info.IsSignaturesPresent) { + console.warn("Warning: Digital signatures validation is not supported"); + + _this16.fallback(_pdfjsLib.UNSUPPORTED_FEATURES.signatures); + } + + versionId = "other"; + + if (KNOWN_VERSIONS.includes(info.PDFFormatVersion)) { + versionId = "v".concat(info.PDFFormatVersion.replace(".", "_")); + } + + generatorId = "other"; + + if (info.Producer) { + producer = info.Producer.toLowerCase(); + KNOWN_GENERATORS.some(function (generator) { + if (!producer.includes(generator)) { + return false; + } + + generatorId = generator.replace(/[ .-]/g, "_"); + return true; + }); + } + + formType = null; + + if (info.IsXFAPresent) { + formType = "xfa"; + } else if (info.IsAcroFormPresent) { + formType = "acroform"; + } + + _this16.externalServices.reportTelemetry({ + type: "documentInfo", + version: versionId, + generator: generatorId, + formType: formType + }); + + _this16.eventBus.dispatch("metadataloaded", { + source: _this16 + }); + + case 28: + case "end": + return _context15.stop(); + } + } + }, _callee15); + }))(); + }, + _initializePageLabels: function _initializePageLabels(pdfDocument) { + var _this17 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee16() { + var labels, numLabels, i, pdfViewer, pdfThumbnailViewer, toolbar; + return _regenerator["default"].wrap(function _callee16$(_context16) { + while (1) { + switch (_context16.prev = _context16.next) { + case 0: + _context16.next = 2; + return pdfDocument.getPageLabels(); + + case 2: + labels = _context16.sent; + + if (!(pdfDocument !== _this17.pdfDocument)) { + _context16.next = 5; + break; + } + + return _context16.abrupt("return"); + + case 5: + if (!(!labels || _app_options.AppOptions.get("disablePageLabels"))) { + _context16.next = 7; + break; + } + + return _context16.abrupt("return"); + + case 7: + numLabels = labels.length; + + if (!(numLabels !== _this17.pagesCount)) { + _context16.next = 11; + break; + } + + console.error("The number of Page Labels does not match the number of pages in the document."); + return _context16.abrupt("return"); + + case 11: + i = 0; + + while (i < numLabels && labels[i] === (i + 1).toString()) { + i++; + } + + if (!(i === numLabels)) { + _context16.next = 15; + break; + } + + return _context16.abrupt("return"); + + case 15: + pdfViewer = _this17.pdfViewer, pdfThumbnailViewer = _this17.pdfThumbnailViewer, toolbar = _this17.toolbar; + pdfViewer.setPageLabels(labels); + pdfThumbnailViewer.setPageLabels(labels); + toolbar.setPagesCount(numLabels, true); + toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); + + case 20: + case "end": + return _context16.stop(); + } + } + }, _callee16); + }))(); + }, + _initializePdfHistory: function _initializePdfHistory(_ref8) { + var fingerprint = _ref8.fingerprint, + viewOnLoad = _ref8.viewOnLoad, + _ref8$initialDest = _ref8.initialDest, + initialDest = _ref8$initialDest === void 0 ? null : _ref8$initialDest; + + if (this.isViewerEmbedded || _app_options.AppOptions.get("disableHistory")) { + return; + } + + this.pdfHistory.initialize({ + fingerprint: fingerprint, + resetHistory: viewOnLoad === ViewOnLoad.INITIAL, + updateUrl: _app_options.AppOptions.get("historyUpdateUrl") + }); + + if (this.pdfHistory.initialBookmark) { + this.initialBookmark = this.pdfHistory.initialBookmark; + this.initialRotation = this.pdfHistory.initialRotation; + } + + if (initialDest && !this.initialBookmark && viewOnLoad === ViewOnLoad.UNKNOWN) { + this.initialBookmark = JSON.stringify(initialDest); + this.pdfHistory.push({ + explicitDest: initialDest, + pageNumber: null + }); + } + }, + _initializePermissions: function _initializePermissions(pdfDocument) { + var _this18 = this; + + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee17() { + var permissions; + return _regenerator["default"].wrap(function _callee17$(_context17) { + while (1) { + switch (_context17.prev = _context17.next) { + case 0: + _context17.next = 2; + return pdfDocument.getPermissions(); + + case 2: + permissions = _context17.sent; + + if (!(pdfDocument !== _this18.pdfDocument)) { + _context17.next = 5; + break; + } + + return _context17.abrupt("return"); + + case 5: + if (!(!permissions || !_app_options.AppOptions.get("enablePermissions"))) { + _context17.next = 7; + break; + } + + return _context17.abrupt("return"); + + case 7: + if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY)) { + _this18.appConfig.viewerContainer.classList.add(ENABLE_PERMISSIONS_CLASS); + } + + case 8: + case "end": + return _context17.stop(); + } + } + }, _callee17); + }))(); + }, + _initializeAnnotationStorageCallbacks: function _initializeAnnotationStorageCallbacks(pdfDocument) { + var _this19 = this; + + if (pdfDocument !== this.pdfDocument) { + return; + } + + var annotationStorage = pdfDocument.annotationStorage; + + annotationStorage.onSetModified = function () { + window.addEventListener("beforeunload", beforeUnload); + _this19._annotationStorageModified = true; + }; + + annotationStorage.onResetModified = function () { + window.removeEventListener("beforeunload", beforeUnload); + delete _this19._annotationStorageModified; + }; + }, + setInitialView: function setInitialView(storedHash) { + var _this20 = this; + + var _ref9 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + rotation = _ref9.rotation, + sidebarView = _ref9.sidebarView, + scrollMode = _ref9.scrollMode, + spreadMode = _ref9.spreadMode; + + var setRotation = function setRotation(angle) { + if ((0, _ui_utils.isValidRotation)(angle)) { + _this20.pdfViewer.pagesRotation = angle; + } + }; + + var setViewerModes = function setViewerModes(scroll, spread) { + if ((0, _ui_utils.isValidScrollMode)(scroll)) { + _this20.pdfViewer.scrollMode = scroll; + } + + if ((0, _ui_utils.isValidSpreadMode)(spread)) { + _this20.pdfViewer.spreadMode = spread; + } + }; + + this.isInitialViewSet = true; + this.pdfSidebar.setInitialView(sidebarView); + setViewerModes(scrollMode, spreadMode); + + if (this.initialBookmark) { + setRotation(this.initialRotation); + delete this.initialRotation; + this.pdfLinkService.setHash(this.initialBookmark); + this.initialBookmark = null; + } else if (storedHash) { + setRotation(rotation); + this.pdfLinkService.setHash(storedHash); + } + + this.toolbar.setPageNumber(this.pdfViewer.currentPageNumber, this.pdfViewer.currentPageLabel); + this.secondaryToolbar.setPageNumber(this.pdfViewer.currentPageNumber); + + if (!this.pdfViewer.currentScaleValue) { + this.pdfViewer.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + } + }, + _cleanup: function _cleanup() { + if (!this.pdfDocument) { + return; + } + + this.pdfViewer.cleanup(); + this.pdfThumbnailViewer.cleanup(); + this.pdfDocument.cleanup(this.pdfViewer.renderer === _ui_utils.RendererType.SVG); + }, + forceRendering: function forceRendering() { + this.pdfRenderingQueue.printing = !!this.printService; + this.pdfRenderingQueue.isThumbnailViewEnabled = this.pdfSidebar.isThumbnailViewVisible; + this.pdfRenderingQueue.renderHighestPriority(); + }, + beforePrint: function beforePrint() { + var _this21 = this; + + this.pdfScriptingManager.dispatchWillPrint(); + + if (this.printService) { + return; + } + + if (!this.supportsPrinting) { + this.l10n.get("printing_not_supported").then(function (msg) { + _this21._otherError(msg); + }); + return; + } + + if (!this.pdfViewer.pageViewsReady) { + this.l10n.get("printing_not_ready").then(function (msg) { + window.alert(msg); + }); + return; + } + + var pagesOverview = this.pdfViewer.getPagesOverview(); + var printContainer = this.appConfig.printContainer; + + var printResolution = _app_options.AppOptions.get("printResolution"); + + var optionalContentConfigPromise = this.pdfViewer.optionalContentConfigPromise; + var printService = PDFPrintServiceFactory.instance.createPrintService(this.pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, this.l10n); + this.printService = printService; + this.forceRendering(); + printService.layout(); + this.externalServices.reportTelemetry({ + type: "print" + }); + }, + afterPrint: function afterPrint() { + this.pdfScriptingManager.dispatchDidPrint(); + + if (this.printService) { + this.printService.destroy(); + this.printService = null; + + if (this.pdfDocument) { + this.pdfDocument.annotationStorage.resetModified(); + } + } + + this.forceRendering(); + }, + rotatePages: function rotatePages(delta) { + this.pdfViewer.pagesRotation += delta; + }, + requestPresentationMode: function requestPresentationMode() { + if (!this.pdfPresentationMode) { + return; + } + + this.pdfPresentationMode.request(); + }, + triggerPrinting: function triggerPrinting() { + if (!this.supportsPrinting) { + return; + } + + window.print(); + }, + bindEvents: function bindEvents() { + var eventBus = this.eventBus, + _boundEvents = this._boundEvents; + _boundEvents.beforePrint = this.beforePrint.bind(this); + _boundEvents.afterPrint = this.afterPrint.bind(this); + + eventBus._on("resize", webViewerResize); + + eventBus._on("hashchange", webViewerHashchange); + + eventBus._on("beforeprint", _boundEvents.beforePrint); + + eventBus._on("afterprint", _boundEvents.afterPrint); + + eventBus._on("pagerendered", webViewerPageRendered); + + eventBus._on("updateviewarea", webViewerUpdateViewarea); + + eventBus._on("pagechanging", webViewerPageChanging); + + eventBus._on("scalechanging", webViewerScaleChanging); + + eventBus._on("rotationchanging", webViewerRotationChanging); + + eventBus._on("sidebarviewchanged", webViewerSidebarViewChanged); + + eventBus._on("pagemode", webViewerPageMode); + + eventBus._on("namedaction", webViewerNamedAction); + + eventBus._on("presentationmodechanged", webViewerPresentationModeChanged); + + eventBus._on("presentationmode", webViewerPresentationMode); + + eventBus._on("print", webViewerPrint); + + eventBus._on("download", webViewerDownload); + + eventBus._on("save", webViewerSave); + + eventBus._on("firstpage", webViewerFirstPage); + + eventBus._on("lastpage", webViewerLastPage); + + eventBus._on("nextpage", webViewerNextPage); + + eventBus._on("previouspage", webViewerPreviousPage); + + eventBus._on("zoomin", webViewerZoomIn); + + eventBus._on("zoomout", webViewerZoomOut); + + eventBus._on("zoomreset", webViewerZoomReset); + + eventBus._on("pagenumberchanged", webViewerPageNumberChanged); + + eventBus._on("scalechanged", webViewerScaleChanged); + + eventBus._on("rotatecw", webViewerRotateCw); + + eventBus._on("rotateccw", webViewerRotateCcw); + + eventBus._on("optionalcontentconfig", webViewerOptionalContentConfig); + + eventBus._on("switchscrollmode", webViewerSwitchScrollMode); + + eventBus._on("scrollmodechanged", webViewerScrollModeChanged); + + eventBus._on("switchspreadmode", webViewerSwitchSpreadMode); + + eventBus._on("spreadmodechanged", webViewerSpreadModeChanged); + + eventBus._on("documentproperties", webViewerDocumentProperties); + + eventBus._on("find", webViewerFind); + + eventBus._on("findfromurlhash", webViewerFindFromUrlHash); + + eventBus._on("updatefindmatchescount", webViewerUpdateFindMatchesCount); + + eventBus._on("updatefindcontrolstate", webViewerUpdateFindControlState); + + if (_app_options.AppOptions.get("pdfBug")) { + _boundEvents.reportPageStatsPDFBug = reportPageStatsPDFBug; + + eventBus._on("pagerendered", _boundEvents.reportPageStatsPDFBug); + + eventBus._on("pagechanging", _boundEvents.reportPageStatsPDFBug); + } + + eventBus._on("fileinputchange", webViewerFileInputChange); + + eventBus._on("openfile", webViewerOpenFile); + }, + bindWindowEvents: function bindWindowEvents() { + var eventBus = this.eventBus, + _boundEvents = this._boundEvents; + + _boundEvents.windowResize = function () { + eventBus.dispatch("resize", { + source: window + }); + }; + + _boundEvents.windowHashChange = function () { + eventBus.dispatch("hashchange", { + source: window, + hash: document.location.hash.substring(1) + }); + }; + + _boundEvents.windowBeforePrint = function () { + eventBus.dispatch("beforeprint", { + source: window + }); + }; + + _boundEvents.windowAfterPrint = function () { + eventBus.dispatch("afterprint", { + source: window + }); + }; + + _boundEvents.windowUpdateFromSandbox = function (event) { + eventBus.dispatch("updatefromsandbox", { + source: window, + detail: event.detail + }); + }; + + window.addEventListener("visibilitychange", webViewerVisibilityChange); + window.addEventListener("wheel", webViewerWheel, { + passive: false + }); + window.addEventListener("touchstart", webViewerTouchStart, { + passive: false + }); + window.addEventListener("click", webViewerClick); + window.addEventListener("keydown", webViewerKeyDown); + window.addEventListener("resize", _boundEvents.windowResize); + window.addEventListener("hashchange", _boundEvents.windowHashChange); + window.addEventListener("beforeprint", _boundEvents.windowBeforePrint); + window.addEventListener("afterprint", _boundEvents.windowAfterPrint); + window.addEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); + }, + unbindEvents: function unbindEvents() { + var eventBus = this.eventBus, + _boundEvents = this._boundEvents; + + eventBus._off("resize", webViewerResize); + + eventBus._off("hashchange", webViewerHashchange); + + eventBus._off("beforeprint", _boundEvents.beforePrint); + + eventBus._off("afterprint", _boundEvents.afterPrint); + + eventBus._off("pagerendered", webViewerPageRendered); + + eventBus._off("updateviewarea", webViewerUpdateViewarea); + + eventBus._off("pagechanging", webViewerPageChanging); + + eventBus._off("scalechanging", webViewerScaleChanging); + + eventBus._off("rotationchanging", webViewerRotationChanging); + + eventBus._off("sidebarviewchanged", webViewerSidebarViewChanged); + + eventBus._off("pagemode", webViewerPageMode); + + eventBus._off("namedaction", webViewerNamedAction); + + eventBus._off("presentationmodechanged", webViewerPresentationModeChanged); + + eventBus._off("presentationmode", webViewerPresentationMode); + + eventBus._off("print", webViewerPrint); + + eventBus._off("download", webViewerDownload); + + eventBus._off("save", webViewerSave); + + eventBus._off("firstpage", webViewerFirstPage); + + eventBus._off("lastpage", webViewerLastPage); + + eventBus._off("nextpage", webViewerNextPage); + + eventBus._off("previouspage", webViewerPreviousPage); + + eventBus._off("zoomin", webViewerZoomIn); + + eventBus._off("zoomout", webViewerZoomOut); + + eventBus._off("zoomreset", webViewerZoomReset); + + eventBus._off("pagenumberchanged", webViewerPageNumberChanged); + + eventBus._off("scalechanged", webViewerScaleChanged); + + eventBus._off("rotatecw", webViewerRotateCw); + + eventBus._off("rotateccw", webViewerRotateCcw); + + eventBus._off("optionalcontentconfig", webViewerOptionalContentConfig); + + eventBus._off("switchscrollmode", webViewerSwitchScrollMode); + + eventBus._off("scrollmodechanged", webViewerScrollModeChanged); + + eventBus._off("switchspreadmode", webViewerSwitchSpreadMode); + + eventBus._off("spreadmodechanged", webViewerSpreadModeChanged); + + eventBus._off("documentproperties", webViewerDocumentProperties); + + eventBus._off("find", webViewerFind); + + eventBus._off("findfromurlhash", webViewerFindFromUrlHash); + + eventBus._off("updatefindmatchescount", webViewerUpdateFindMatchesCount); + + eventBus._off("updatefindcontrolstate", webViewerUpdateFindControlState); + + if (_boundEvents.reportPageStatsPDFBug) { + eventBus._off("pagerendered", _boundEvents.reportPageStatsPDFBug); + + eventBus._off("pagechanging", _boundEvents.reportPageStatsPDFBug); + + _boundEvents.reportPageStatsPDFBug = null; + } + + eventBus._off("fileinputchange", webViewerFileInputChange); + + eventBus._off("openfile", webViewerOpenFile); + + _boundEvents.beforePrint = null; + _boundEvents.afterPrint = null; + }, + unbindWindowEvents: function unbindWindowEvents() { + var _boundEvents = this._boundEvents; + window.removeEventListener("visibilitychange", webViewerVisibilityChange); + window.removeEventListener("wheel", webViewerWheel, { + passive: false + }); + window.removeEventListener("touchstart", webViewerTouchStart, { + passive: false + }); + window.removeEventListener("click", webViewerClick); + window.removeEventListener("keydown", webViewerKeyDown); + window.removeEventListener("resize", _boundEvents.windowResize); + window.removeEventListener("hashchange", _boundEvents.windowHashChange); + window.removeEventListener("beforeprint", _boundEvents.windowBeforePrint); + window.removeEventListener("afterprint", _boundEvents.windowAfterPrint); + window.removeEventListener("updatefromsandbox", _boundEvents.windowUpdateFromSandbox); + _boundEvents.windowResize = null; + _boundEvents.windowHashChange = null; + _boundEvents.windowBeforePrint = null; + _boundEvents.windowAfterPrint = null; + _boundEvents.windowUpdateFromSandbox = null; + }, + accumulateWheelTicks: function accumulateWheelTicks(ticks) { + if (this._wheelUnusedTicks > 0 && ticks < 0 || this._wheelUnusedTicks < 0 && ticks > 0) { + this._wheelUnusedTicks = 0; + } + + this._wheelUnusedTicks += ticks; + var wholeTicks = Math.sign(this._wheelUnusedTicks) * Math.floor(Math.abs(this._wheelUnusedTicks)); + this._wheelUnusedTicks -= wholeTicks; + return wholeTicks; + }, + _unblockDocumentLoadEvent: function _unblockDocumentLoadEvent() { + if (document.blockUnblockOnload) { + document.blockUnblockOnload(false); + } + + this._unblockDocumentLoadEvent = function () {}; + }, + + get scriptingReady() { + return this.pdfScriptingManager.ready; + } + +}; +exports.PDFViewerApplication = PDFViewerApplication; +var validateFileURL; +{ + var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"]; + + validateFileURL = function validateFileURL(file) { + if (file === undefined) { + return; + } + + try { + var viewerOrigin = new URL(window.location.href).origin || "null"; + + if (HOSTED_VIEWER_ORIGINS.includes(viewerOrigin)) { + return; + } + + var _URL = new URL(file, window.location.href), + origin = _URL.origin, + protocol = _URL.protocol; + + if (origin !== viewerOrigin && protocol !== "blob:") { + throw new Error("file origin does not match viewer's"); + } + } catch (ex) { + PDFViewerApplication.l10n.get("loading_error").then(function (msg) { + PDFViewerApplication._documentError(msg, { + message: ex === null || ex === void 0 ? void 0 : ex.message + }); + }); + throw ex; + } + }; +} + +function loadFakeWorker() { + return _loadFakeWorker.apply(this, arguments); +} + +function _loadFakeWorker() { + _loadFakeWorker = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee18() { + return _regenerator["default"].wrap(function _callee18$(_context18) { + while (1) { + switch (_context18.prev = _context18.next) { + case 0: + if (!_pdfjsLib.GlobalWorkerOptions.workerSrc) { + _pdfjsLib.GlobalWorkerOptions.workerSrc = _app_options.AppOptions.get("workerSrc"); + } + + return _context18.abrupt("return", (0, _pdfjsLib.loadScript)(_pdfjsLib.PDFWorker.getWorkerSrc())); + + case 2: + case "end": + return _context18.stop(); + } + } + }, _callee18); + })); + return _loadFakeWorker.apply(this, arguments); +} + +function loadAndEnablePDFBug(enabledTabs) { + var appConfig = PDFViewerApplication.appConfig; + return (0, _pdfjsLib.loadScript)(appConfig.debuggerScriptPath).then(function () { + PDFBug.enable(enabledTabs); + PDFBug.init({ + OPS: _pdfjsLib.OPS + }, appConfig.mainContainer); + }); +} + +function reportPageStatsPDFBug(_ref10) { + var _pageView$pdfPage; + + var pageNumber = _ref10.pageNumber; + + if (typeof Stats === "undefined" || !Stats.enabled) { + return; + } + + var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + var pageStats = pageView === null || pageView === void 0 ? void 0 : (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.stats; + + if (!pageStats) { + return; + } + + Stats.add(pageNumber, pageStats); +} + +function webViewerInitialized() { + var appConfig = PDFViewerApplication.appConfig; + var file; + var queryString = document.location.search.substring(1); + var params = (0, _ui_utils.parseQueryString)(queryString); + file = "file" in params ? params.file : _app_options.AppOptions.get("defaultUrl"); + validateFileURL(file); + var fileInput = document.createElement("input"); + fileInput.id = appConfig.openFileInputName; + fileInput.className = "fileInput"; + fileInput.setAttribute("type", "file"); + fileInput.oncontextmenu = _ui_utils.noContextMenuHandler; + document.body.appendChild(fileInput); + + if (!window.File || !window.FileReader || !window.FileList || !window.Blob) { + appConfig.toolbar.openFile.hidden = true; + appConfig.secondaryToolbar.openFileButton.hidden = true; + } else { + fileInput.value = null; + } + + fileInput.addEventListener("change", function (evt) { + var files = evt.target.files; + + if (!files || files.length === 0) { + return; + } + + PDFViewerApplication.eventBus.dispatch("fileinputchange", { + source: this, + fileInput: evt.target + }); + }); + appConfig.mainContainer.addEventListener("dragover", function (evt) { + evt.preventDefault(); + evt.dataTransfer.dropEffect = "move"; + }); + appConfig.mainContainer.addEventListener("drop", function (evt) { + evt.preventDefault(); + var files = evt.dataTransfer.files; + + if (!files || files.length === 0) { + return; + } + + PDFViewerApplication.eventBus.dispatch("fileinputchange", { + source: this, + fileInput: evt.dataTransfer + }); + }); + + if (!PDFViewerApplication.supportsDocumentFonts) { + _app_options.AppOptions.set("disableFontFace", true); + + PDFViewerApplication.l10n.get("web_fonts_disabled").then(function (msg) { + console.warn(msg); + }); + } + + if (!PDFViewerApplication.supportsPrinting) { + appConfig.toolbar.print.classList.add("hidden"); + appConfig.secondaryToolbar.printButton.classList.add("hidden"); + } + + if (!PDFViewerApplication.supportsFullscreen) { + appConfig.toolbar.presentationModeButton.classList.add("hidden"); + appConfig.secondaryToolbar.presentationModeButton.classList.add("hidden"); + } + + if (PDFViewerApplication.supportsIntegratedFind) { + appConfig.toolbar.viewFind.classList.add("hidden"); + } + + appConfig.mainContainer.addEventListener("transitionend", function (evt) { + if (evt.target === this) { + PDFViewerApplication.eventBus.dispatch("resize", { + source: this + }); + } + }, true); + + try { + webViewerOpenFileViaURL(file); + } catch (reason) { + PDFViewerApplication.l10n.get("loading_error").then(function (msg) { + PDFViewerApplication._documentError(msg, reason); + }); + } +} + +function webViewerOpenFileViaURL(file) { + if (file) { + PDFViewerApplication.open(file); + } +} + +function webViewerResetPermissions() { + var appConfig = PDFViewerApplication.appConfig; + + if (!appConfig) { + return; + } + + appConfig.viewerContainer.classList.remove(ENABLE_PERMISSIONS_CLASS); +} + +function webViewerPageRendered(_ref11) { + var pageNumber = _ref11.pageNumber, + timestamp = _ref11.timestamp, + error = _ref11.error; + + if (pageNumber === PDFViewerApplication.page) { + PDFViewerApplication.toolbar.updateLoadingIndicatorState(false); + } + + if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { + var pageView = PDFViewerApplication.pdfViewer.getPageView(pageNumber - 1); + var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.getThumbnail(pageNumber - 1); + + if (pageView && thumbnailView) { + thumbnailView.setImage(pageView); + } + } + + if (error) { + PDFViewerApplication.l10n.get("rendering_error").then(function (msg) { + PDFViewerApplication._otherError(msg, error); + }); + } + + PDFViewerApplication.externalServices.reportTelemetry({ + type: "pageInfo", + timestamp: timestamp + }); + PDFViewerApplication.pdfDocument.getStats().then(function (stats) { + PDFViewerApplication.externalServices.reportTelemetry({ + type: "documentStats", + stats: stats + }); + }); +} + +function webViewerPageMode(_ref12) { + var mode = _ref12.mode; + var view; + + switch (mode) { + case "thumbs": + view = _ui_utils.SidebarView.THUMBS; + break; + + case "bookmarks": + case "outline": + view = _ui_utils.SidebarView.OUTLINE; + break; + + case "attachments": + view = _ui_utils.SidebarView.ATTACHMENTS; + break; + + case "layers": + view = _ui_utils.SidebarView.LAYERS; + break; + + case "none": + view = _ui_utils.SidebarView.NONE; + break; + + default: + console.error('Invalid "pagemode" hash parameter: ' + mode); + return; + } + + PDFViewerApplication.pdfSidebar.switchView(view, true); +} + +function webViewerNamedAction(evt) { + switch (evt.action) { + case "GoToPage": + PDFViewerApplication.appConfig.toolbar.pageNumber.select(); + break; + + case "Find": + if (!PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.findBar.toggle(); + } + + break; + + case "Print": + PDFViewerApplication.triggerPrinting(); + break; + + case "SaveAs": + webViewerSave(); + break; + } +} + +function webViewerPresentationModeChanged(evt) { + PDFViewerApplication.pdfViewer.presentationModeState = evt.state; +} + +function webViewerSidebarViewChanged(evt) { + PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = PDFViewerApplication.pdfSidebar.isThumbnailViewVisible; + var store = PDFViewerApplication.store; + + if (store && PDFViewerApplication.isInitialViewSet) { + store.set("sidebarView", evt.view)["catch"](function () {}); + } +} + +function webViewerUpdateViewarea(evt) { + var location = evt.location, + store = PDFViewerApplication.store; + + if (store && PDFViewerApplication.isInitialViewSet) { + store.setMultiple({ + page: location.pageNumber, + zoom: location.scale, + scrollLeft: location.left, + scrollTop: location.top, + rotation: location.rotation + })["catch"](function () {}); + } + + var href = PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); + PDFViewerApplication.appConfig.toolbar.viewBookmark.href = href; + PDFViewerApplication.appConfig.secondaryToolbar.viewBookmarkButton.href = href; + var currentPage = PDFViewerApplication.pdfViewer.getPageView(PDFViewerApplication.page - 1); + var loading = (currentPage === null || currentPage === void 0 ? void 0 : currentPage.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED; + PDFViewerApplication.toolbar.updateLoadingIndicatorState(loading); +} + +function webViewerScrollModeChanged(evt) { + var store = PDFViewerApplication.store; + + if (store && PDFViewerApplication.isInitialViewSet) { + store.set("scrollMode", evt.mode)["catch"](function () {}); + } +} + +function webViewerSpreadModeChanged(evt) { + var store = PDFViewerApplication.store; + + if (store && PDFViewerApplication.isInitialViewSet) { + store.set("spreadMode", evt.mode)["catch"](function () {}); + } +} + +function webViewerResize() { + var pdfDocument = PDFViewerApplication.pdfDocument, + pdfViewer = PDFViewerApplication.pdfViewer; + + if (!pdfDocument) { + return; + } + + var currentScaleValue = pdfViewer.currentScaleValue; + + if (currentScaleValue === "auto" || currentScaleValue === "page-fit" || currentScaleValue === "page-width") { + pdfViewer.currentScaleValue = currentScaleValue; + } + + pdfViewer.update(); +} + +function webViewerHashchange(evt) { + var hash = evt.hash; + + if (!hash) { + return; + } + + if (!PDFViewerApplication.isInitialViewSet) { + PDFViewerApplication.initialBookmark = hash; + } else if (!PDFViewerApplication.pdfHistory.popStateInProgress) { + PDFViewerApplication.pdfLinkService.setHash(hash); + } +} + +var webViewerFileInputChange, webViewerOpenFile; +{ + webViewerFileInputChange = function webViewerFileInputChange(evt) { + var _PDFViewerApplication; + + if ((_PDFViewerApplication = PDFViewerApplication.pdfViewer) !== null && _PDFViewerApplication !== void 0 && _PDFViewerApplication.isInPresentationMode) { + return; + } + + var file = evt.fileInput.files[0]; + + if (!_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { + var url = URL.createObjectURL(file); + + if (file.name) { + url = { + url: url, + originalUrl: file.name + }; + } + + PDFViewerApplication.open(url); + } else { + PDFViewerApplication.setTitleUsingUrl(file.name); + var fileReader = new FileReader(); + + fileReader.onload = function webViewerChangeFileReaderOnload(event) { + var buffer = event.target.result; + PDFViewerApplication.open(new Uint8Array(buffer)); + }; + + fileReader.readAsArrayBuffer(file); + } + + var appConfig = PDFViewerApplication.appConfig; + appConfig.toolbar.viewBookmark.hidden = true; + appConfig.secondaryToolbar.viewBookmarkButton.hidden = true; + appConfig.toolbar.download.hidden = true; + appConfig.secondaryToolbar.downloadButton.hidden = true; + }; + + webViewerOpenFile = function webViewerOpenFile(evt) { + var openFileInputName = PDFViewerApplication.appConfig.openFileInputName; + document.getElementById(openFileInputName).click(); + }; +} + +function webViewerPresentationMode() { + PDFViewerApplication.requestPresentationMode(); +} + +function webViewerPrint() { + PDFViewerApplication.triggerPrinting(); +} + +function webViewerDownload() { + PDFViewerApplication.downloadOrSave({ + sourceEventType: "download" + }); +} + +function webViewerSave() { + PDFViewerApplication.downloadOrSave({ + sourceEventType: "save" + }); +} + +function webViewerFirstPage() { + if (PDFViewerApplication.pdfDocument) { + PDFViewerApplication.page = 1; + } +} + +function webViewerLastPage() { + if (PDFViewerApplication.pdfDocument) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + } +} + +function webViewerNextPage() { + PDFViewerApplication.pdfViewer.nextPage(); +} + +function webViewerPreviousPage() { + PDFViewerApplication.pdfViewer.previousPage(); +} + +function webViewerZoomIn() { + PDFViewerApplication.zoomIn(); +} + +function webViewerZoomOut() { + PDFViewerApplication.zoomOut(); +} + +function webViewerZoomReset() { + PDFViewerApplication.zoomReset(); +} + +function webViewerPageNumberChanged(evt) { + var pdfViewer = PDFViewerApplication.pdfViewer; + + if (evt.value !== "") { + PDFViewerApplication.pdfLinkService.goToPage(evt.value); + } + + if (evt.value !== pdfViewer.currentPageNumber.toString() && evt.value !== pdfViewer.currentPageLabel) { + PDFViewerApplication.toolbar.setPageNumber(pdfViewer.currentPageNumber, pdfViewer.currentPageLabel); + } +} + +function webViewerScaleChanged(evt) { + PDFViewerApplication.pdfViewer.currentScaleValue = evt.value; +} + +function webViewerRotateCw() { + PDFViewerApplication.rotatePages(90); +} + +function webViewerRotateCcw() { + PDFViewerApplication.rotatePages(-90); +} + +function webViewerOptionalContentConfig(evt) { + PDFViewerApplication.pdfViewer.optionalContentConfigPromise = evt.promise; +} + +function webViewerSwitchScrollMode(evt) { + PDFViewerApplication.pdfViewer.scrollMode = evt.mode; +} + +function webViewerSwitchSpreadMode(evt) { + PDFViewerApplication.pdfViewer.spreadMode = evt.mode; +} + +function webViewerDocumentProperties() { + PDFViewerApplication.pdfDocumentProperties.open(); +} + +function webViewerFind(evt) { + PDFViewerApplication.findController.executeCommand("find" + evt.type, { + query: evt.query, + phraseSearch: evt.phraseSearch, + caseSensitive: evt.caseSensitive, + entireWord: evt.entireWord, + highlightAll: evt.highlightAll, + findPrevious: evt.findPrevious + }); +} + +function webViewerFindFromUrlHash(evt) { + PDFViewerApplication.findController.executeCommand("find", { + query: evt.query, + phraseSearch: evt.phraseSearch, + caseSensitive: false, + entireWord: false, + highlightAll: true, + findPrevious: false + }); +} + +function webViewerUpdateFindMatchesCount(_ref13) { + var matchesCount = _ref13.matchesCount; + + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindMatchesCount(matchesCount); + } else { + PDFViewerApplication.findBar.updateResultsCount(matchesCount); + } +} + +function webViewerUpdateFindControlState(_ref14) { + var state = _ref14.state, + previous = _ref14.previous, + matchesCount = _ref14.matchesCount, + rawQuery = _ref14.rawQuery; + + if (PDFViewerApplication.supportsIntegratedFind) { + PDFViewerApplication.externalServices.updateFindControlState({ + result: state, + findPrevious: previous, + matchesCount: matchesCount, + rawQuery: rawQuery + }); + } else { + PDFViewerApplication.findBar.updateUIState(state, previous, matchesCount); + } +} + +function webViewerScaleChanging(evt) { + PDFViewerApplication.toolbar.setPageScale(evt.presetValue, evt.scale); + PDFViewerApplication.pdfViewer.update(); +} + +function webViewerRotationChanging(evt) { + PDFViewerApplication.pdfThumbnailViewer.pagesRotation = evt.pagesRotation; + PDFViewerApplication.forceRendering(); + PDFViewerApplication.pdfViewer.currentPageNumber = evt.pageNumber; +} + +function webViewerPageChanging(_ref15) { + var pageNumber = _ref15.pageNumber, + pageLabel = _ref15.pageLabel; + PDFViewerApplication.toolbar.setPageNumber(pageNumber, pageLabel); + PDFViewerApplication.secondaryToolbar.setPageNumber(pageNumber); + + if (PDFViewerApplication.pdfSidebar.isThumbnailViewVisible) { + PDFViewerApplication.pdfThumbnailViewer.scrollThumbnailIntoView(pageNumber); + } +} + +function webViewerVisibilityChange(evt) { + if (document.visibilityState === "visible") { + setZoomDisabledTimeout(); + } +} + +var zoomDisabledTimeout = null; + +function setZoomDisabledTimeout() { + if (zoomDisabledTimeout) { + clearTimeout(zoomDisabledTimeout); + } + + zoomDisabledTimeout = setTimeout(function () { + zoomDisabledTimeout = null; + }, WHEEL_ZOOM_DISABLED_TIMEOUT); +} + +function webViewerWheel(evt) { + var pdfViewer = PDFViewerApplication.pdfViewer, + supportedMouseWheelZoomModifierKeys = PDFViewerApplication.supportedMouseWheelZoomModifierKeys; + + if (pdfViewer.isInPresentationMode) { + return; + } + + if (evt.ctrlKey && supportedMouseWheelZoomModifierKeys.ctrlKey || evt.metaKey && supportedMouseWheelZoomModifierKeys.metaKey) { + evt.preventDefault(); + + if (zoomDisabledTimeout || document.visibilityState === "hidden") { + return; + } + + var previousScale = pdfViewer.currentScale; + var delta = (0, _ui_utils.normalizeWheelEventDirection)(evt); + var ticks = 0; + + if (evt.deltaMode === WheelEvent.DOM_DELTA_LINE || evt.deltaMode === WheelEvent.DOM_DELTA_PAGE) { + if (Math.abs(delta) >= 1) { + ticks = Math.sign(delta); + } else { + ticks = PDFViewerApplication.accumulateWheelTicks(delta); + } + } else { + var PIXELS_PER_LINE_SCALE = 30; + ticks = PDFViewerApplication.accumulateWheelTicks(delta / PIXELS_PER_LINE_SCALE); + } + + if (ticks < 0) { + PDFViewerApplication.zoomOut(-ticks); + } else if (ticks > 0) { + PDFViewerApplication.zoomIn(ticks); + } + + var currentScale = pdfViewer.currentScale; + + if (previousScale !== currentScale) { + var scaleCorrectionFactor = currentScale / previousScale - 1; + var rect = pdfViewer.container.getBoundingClientRect(); + var dx = evt.clientX - rect.left; + var dy = evt.clientY - rect.top; + pdfViewer.container.scrollLeft += dx * scaleCorrectionFactor; + pdfViewer.container.scrollTop += dy * scaleCorrectionFactor; + } + } else { + setZoomDisabledTimeout(); + } +} + +function webViewerTouchStart(evt) { + if (evt.touches.length > 1) { + evt.preventDefault(); + } +} + +function webViewerClick(evt) { + if (!PDFViewerApplication.secondaryToolbar.isOpen) { + return; + } + + var appConfig = PDFViewerApplication.appConfig; + + if (PDFViewerApplication.pdfViewer.containsElement(evt.target) || appConfig.toolbar.container.contains(evt.target) && evt.target !== appConfig.secondaryToolbar.toggleButton) { + PDFViewerApplication.secondaryToolbar.close(); + } +} + +function webViewerKeyDown(evt) { + if (PDFViewerApplication.overlayManager.active) { + return; + } + + var handled = false, + ensureViewerFocused = false; + var cmd = (evt.ctrlKey ? 1 : 0) | (evt.altKey ? 2 : 0) | (evt.shiftKey ? 4 : 0) | (evt.metaKey ? 8 : 0); + var pdfViewer = PDFViewerApplication.pdfViewer; + var isViewerInPresentationMode = pdfViewer === null || pdfViewer === void 0 ? void 0 : pdfViewer.isInPresentationMode; + + if (cmd === 1 || cmd === 8 || cmd === 5 || cmd === 12) { + switch (evt.keyCode) { + case 70: + if (!PDFViewerApplication.supportsIntegratedFind && !evt.shiftKey) { + PDFViewerApplication.findBar.open(); + handled = true; + } + + break; + + case 71: + if (!PDFViewerApplication.supportsIntegratedFind) { + var findState = PDFViewerApplication.findController.state; + + if (findState) { + PDFViewerApplication.findController.executeCommand("findagain", { + query: findState.query, + phraseSearch: findState.phraseSearch, + caseSensitive: findState.caseSensitive, + entireWord: findState.entireWord, + highlightAll: findState.highlightAll, + findPrevious: cmd === 5 || cmd === 12 + }); + } + + handled = true; + } + + break; + + case 61: + case 107: + case 187: + case 171: + if (!isViewerInPresentationMode) { + PDFViewerApplication.zoomIn(); + } + + handled = true; + break; + + case 173: + case 109: + case 189: + if (!isViewerInPresentationMode) { + PDFViewerApplication.zoomOut(); + } + + handled = true; + break; + + case 48: + case 96: + if (!isViewerInPresentationMode) { + setTimeout(function () { + PDFViewerApplication.zoomReset(); + }); + handled = false; + } + + break; + + case 38: + if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { + PDFViewerApplication.page = 1; + handled = true; + ensureViewerFocused = true; + } + + break; + + case 40: + if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + handled = true; + ensureViewerFocused = true; + } + + break; + } + } + + var eventBus = PDFViewerApplication.eventBus; + + if (cmd === 1 || cmd === 8) { + switch (evt.keyCode) { + case 83: + eventBus.dispatch("download", { + source: window + }); + handled = true; + break; + + case 79: + { + eventBus.dispatch("openfile", { + source: window + }); + handled = true; + } + break; + } + } + + if (cmd === 3 || cmd === 10) { + switch (evt.keyCode) { + case 80: + PDFViewerApplication.requestPresentationMode(); + handled = true; + break; + + case 71: + PDFViewerApplication.appConfig.toolbar.pageNumber.select(); + handled = true; + break; + } + } + + if (handled) { + if (ensureViewerFocused && !isViewerInPresentationMode) { + pdfViewer.focus(); + } + + evt.preventDefault(); + return; + } + + var curElement = (0, _ui_utils.getActiveOrFocusedElement)(); + var curElementTagName = curElement === null || curElement === void 0 ? void 0 : curElement.tagName.toUpperCase(); + + if (curElementTagName === "INPUT" || curElementTagName === "TEXTAREA" || curElementTagName === "SELECT" || curElement !== null && curElement !== void 0 && curElement.isContentEditable) { + if (evt.keyCode !== 27) { + return; + } + } + + if (cmd === 0) { + var turnPage = 0, + turnOnlyIfPageFit = false; + + switch (evt.keyCode) { + case 38: + case 33: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + turnPage = -1; + break; + + case 8: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + + turnPage = -1; + break; + + case 37: + if (pdfViewer.isHorizontalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + case 75: + case 80: + turnPage = -1; + break; + + case 27: + if (PDFViewerApplication.secondaryToolbar.isOpen) { + PDFViewerApplication.secondaryToolbar.close(); + handled = true; + } + + if (!PDFViewerApplication.supportsIntegratedFind && PDFViewerApplication.findBar.opened) { + PDFViewerApplication.findBar.close(); + handled = true; + } + + break; + + case 40: + case 34: + if (pdfViewer.isVerticalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + turnPage = 1; + break; + + case 13: + case 32: + if (!isViewerInPresentationMode) { + turnOnlyIfPageFit = true; + } + + turnPage = 1; + break; + + case 39: + if (pdfViewer.isHorizontalScrollbarEnabled) { + turnOnlyIfPageFit = true; + } + + case 74: + case 78: + turnPage = 1; + break; + + case 36: + if (isViewerInPresentationMode || PDFViewerApplication.page > 1) { + PDFViewerApplication.page = 1; + handled = true; + ensureViewerFocused = true; + } + + break; + + case 35: + if (isViewerInPresentationMode || PDFViewerApplication.page < PDFViewerApplication.pagesCount) { + PDFViewerApplication.page = PDFViewerApplication.pagesCount; + handled = true; + ensureViewerFocused = true; + } + + break; + + case 83: + PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.SELECT); + break; + + case 72: + PDFViewerApplication.pdfCursorTools.switchTool(_pdf_cursor_tools.CursorTool.HAND); + break; + + case 82: + PDFViewerApplication.rotatePages(90); + break; + + case 115: + PDFViewerApplication.pdfSidebar.toggle(); + break; + } + + if (turnPage !== 0 && (!turnOnlyIfPageFit || pdfViewer.currentScaleValue === "page-fit")) { + if (turnPage > 0) { + pdfViewer.nextPage(); + } else { + pdfViewer.previousPage(); + } + + handled = true; + } + } + + if (cmd === 4) { + switch (evt.keyCode) { + case 13: + case 32: + if (!isViewerInPresentationMode && pdfViewer.currentScaleValue !== "page-fit") { + break; + } + + if (PDFViewerApplication.page > 1) { + PDFViewerApplication.page--; + } + + handled = true; + break; + + case 82: + PDFViewerApplication.rotatePages(-90); + break; + } + } + + if (!handled && !isViewerInPresentationMode) { + if (evt.keyCode >= 33 && evt.keyCode <= 40 || evt.keyCode === 32 && curElementTagName !== "BUTTON") { + ensureViewerFocused = true; + } + } + + if (ensureViewerFocused && !pdfViewer.containsElement(curElement)) { + pdfViewer.focus(); + } + + if (handled) { + evt.preventDefault(); + } +} + +function beforeUnload(evt) { + evt.preventDefault(); + evt.returnValue = ""; + return false; +} + +var PDFPrintServiceFactory = { + instance: { + supportsPrinting: false, + createPrintService: function createPrintService() { + throw new Error("Not implemented: createPrintService"); + } + } +}; +exports.PDFPrintServiceFactory = PDFPrintServiceFactory; + +/***/ }), +/* 4 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + + + +module.exports = __webpack_require__(5); + +/***/ }), +/* 5 */ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +/* module decorator */ module = __webpack_require__.nmd(module); + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +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 define(obj, key, value) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + return obj[key]; + } + + try { + define({}, ""); + } catch (err) { + define = function define(obj, key, value) { + return obj[key] = value; + }; + } + + 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; + GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); + + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function (method) { + define(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; + define(genFun, toStringTagSymbol, "GeneratorFunction"); + } + + genFun.prototype = Object.create(Gp); + return genFun; + }; + + exports.awrap = function (arg) { + return { + __await: arg + }; + }; + + function AsyncIterator(generator, PromiseImpl) { + 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 PromiseImpl.resolve(value.__await).then(function (value) { + invoke("next", value, resolve, reject); + }, function (err) { + invoke("throw", err, resolve, reject); + }); + } + + return PromiseImpl.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 PromiseImpl(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, PromiseImpl) { + if (PromiseImpl === void 0) PromiseImpl = Promise; + var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); + 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); + define(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 ? 0 : _typeof(module)) === "object" ? module.exports : {}); + +try { + regeneratorRuntime = runtime; +} catch (accidentalStrictMode) { + Function("r", "regeneratorRuntime = r")(runtime); +} + +/***/ }), +/* 6 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.apiPageLayoutToSpreadMode = apiPageLayoutToSpreadMode; +exports.apiPageModeToSidebarView = apiPageModeToSidebarView; +exports.approximateFraction = approximateFraction; +exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements; +exports.binarySearchFirstItem = binarySearchFirstItem; +exports.getActiveOrFocusedElement = getActiveOrFocusedElement; +exports.getOutputScale = getOutputScale; +exports.getPageSizeInches = getPageSizeInches; +exports.getVisibleElements = getVisibleElements; +exports.isPortraitOrientation = isPortraitOrientation; +exports.isValidRotation = isValidRotation; +exports.isValidScrollMode = isValidScrollMode; +exports.isValidSpreadMode = isValidSpreadMode; +exports.moveToEndOfArray = moveToEndOfArray; +exports.noContextMenuHandler = noContextMenuHandler; +exports.normalizeWheelEventDelta = normalizeWheelEventDelta; +exports.normalizeWheelEventDirection = normalizeWheelEventDirection; +exports.parseQueryString = parseQueryString; +exports.roundToDivide = roundToDivide; +exports.scrollIntoView = scrollIntoView; +exports.waitOnEventOrTimeout = waitOnEventOrTimeout; +exports.watchScroll = watchScroll; +exports.WaitOnType = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.EventBus = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE = exports.CSS_UNITS = exports.AutoPrintRegExp = exports.animationStarted = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +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) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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; } + +var CSS_UNITS = 96.0 / 72.0; +exports.CSS_UNITS = CSS_UNITS; +var DEFAULT_SCALE_VALUE = "auto"; +exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE; +var DEFAULT_SCALE = 1.0; +exports.DEFAULT_SCALE = DEFAULT_SCALE; +var MIN_SCALE = 0.1; +exports.MIN_SCALE = MIN_SCALE; +var MAX_SCALE = 10.0; +exports.MAX_SCALE = MAX_SCALE; +var UNKNOWN_SCALE = 0; +exports.UNKNOWN_SCALE = UNKNOWN_SCALE; +var MAX_AUTO_SCALE = 1.25; +exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE; +var SCROLLBAR_PADDING = 40; +exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING; +var VERTICAL_PADDING = 5; +exports.VERTICAL_PADDING = VERTICAL_PADDING; +var LOADINGBAR_END_OFFSET_VAR = "--loadingBar-end-offset"; +var PresentationModeState = { + UNKNOWN: 0, + NORMAL: 1, + CHANGING: 2, + FULLSCREEN: 3 +}; +exports.PresentationModeState = PresentationModeState; +var SidebarView = { + UNKNOWN: -1, + NONE: 0, + THUMBS: 1, + OUTLINE: 2, + ATTACHMENTS: 3, + LAYERS: 4 +}; +exports.SidebarView = SidebarView; +var RendererType = { + CANVAS: "canvas", + SVG: "svg" +}; +exports.RendererType = RendererType; +var TextLayerMode = { + DISABLE: 0, + ENABLE: 1, + ENABLE_ENHANCE: 2 +}; +exports.TextLayerMode = TextLayerMode; +var ScrollMode = { + UNKNOWN: -1, + VERTICAL: 0, + HORIZONTAL: 1, + WRAPPED: 2 +}; +exports.ScrollMode = ScrollMode; +var SpreadMode = { + UNKNOWN: -1, + NONE: 0, + ODD: 1, + EVEN: 2 +}; +exports.SpreadMode = SpreadMode; +var AutoPrintRegExp = /\bprint\s*\(/; +exports.AutoPrintRegExp = AutoPrintRegExp; + +function getOutputScale(ctx) { + var devicePixelRatio = window.devicePixelRatio || 1; + var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.backingStorePixelRatio || 1; + var pixelRatio = devicePixelRatio / backingStoreRatio; + return { + sx: pixelRatio, + sy: pixelRatio, + scaled: pixelRatio !== 1 + }; +} + +function scrollIntoView(element, spot) { + var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var parent = element.offsetParent; + + if (!parent) { + console.error("offsetParent is not set -- cannot scroll"); + return; + } + + var offsetY = element.offsetTop + element.clientTop; + var offsetX = element.offsetLeft + element.clientLeft; + + while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === "hidden") { + if (parent.dataset._scaleY) { + offsetY /= parent.dataset._scaleY; + offsetX /= parent.dataset._scaleX; + } + + offsetY += parent.offsetTop; + offsetX += parent.offsetLeft; + parent = parent.offsetParent; + + if (!parent) { + return; + } + } + + if (spot) { + if (spot.top !== undefined) { + offsetY += spot.top; + } + + if (spot.left !== undefined) { + offsetX += spot.left; + parent.scrollLeft = offsetX; + } + } + + parent.scrollTop = offsetY; +} + +function watchScroll(viewAreaElement, callback) { + var debounceScroll = function debounceScroll(evt) { + if (rAF) { + return; + } + + rAF = window.requestAnimationFrame(function viewAreaElementScrolled() { + rAF = null; + var currentX = viewAreaElement.scrollLeft; + var lastX = state.lastX; + + if (currentX !== lastX) { + state.right = currentX > lastX; + } + + state.lastX = currentX; + var currentY = viewAreaElement.scrollTop; + var lastY = state.lastY; + + if (currentY !== lastY) { + state.down = currentY > lastY; + } + + state.lastY = currentY; + callback(state); + }); + }; + + var state = { + right: true, + down: true, + lastX: viewAreaElement.scrollLeft, + lastY: viewAreaElement.scrollTop, + _eventHandler: debounceScroll + }; + var rAF = null; + viewAreaElement.addEventListener("scroll", debounceScroll, true); + return state; +} + +function parseQueryString(query) { + var parts = query.split("&"); + var params = Object.create(null); + + for (var i = 0, ii = parts.length; i < ii; ++i) { + var param = parts[i].split("="); + var key = param[0].toLowerCase(); + var value = param.length > 1 ? param[1] : null; + params[decodeURIComponent(key)] = decodeURIComponent(value); + } + + return params; +} + +function binarySearchFirstItem(items, condition) { + var minIndex = 0; + var maxIndex = items.length - 1; + + if (maxIndex < 0 || !condition(items[maxIndex])) { + return items.length; + } + + if (condition(items[minIndex])) { + return minIndex; + } + + while (minIndex < maxIndex) { + var currentIndex = minIndex + maxIndex >> 1; + var currentItem = items[currentIndex]; + + if (condition(currentItem)) { + maxIndex = currentIndex; + } else { + minIndex = currentIndex + 1; + } + } + + return minIndex; +} + +function approximateFraction(x) { + if (Math.floor(x) === x) { + return [x, 1]; + } + + var xinv = 1 / x; + var limit = 8; + + if (xinv > limit) { + return [1, limit]; + } else if (Math.floor(xinv) === xinv) { + return [1, xinv]; + } + + var x_ = x > 1 ? xinv : x; + var a = 0, + b = 1, + c = 1, + d = 1; + + while (true) { + var p = a + c, + q = b + d; + + if (q > limit) { + break; + } + + if (x_ <= p / q) { + c = p; + d = q; + } else { + a = p; + b = q; + } + } + + var result; + + if (x_ - a / b < c / d - x_) { + result = x_ === x ? [a, b] : [b, a]; + } else { + result = x_ === x ? [c, d] : [d, c]; + } + + return result; +} + +function roundToDivide(x, div) { + var r = x % div; + return r === 0 ? x : Math.round(x - r + div); +} + +function getPageSizeInches(_ref) { + var view = _ref.view, + userUnit = _ref.userUnit, + rotate = _ref.rotate; + + var _view = _slicedToArray(view, 4), + x1 = _view[0], + y1 = _view[1], + x2 = _view[2], + y2 = _view[3]; + + var changeOrientation = rotate % 180 !== 0; + var width = (x2 - x1) / 72 * userUnit; + var height = (y2 - y1) / 72 * userUnit; + return { + width: changeOrientation ? height : width, + height: changeOrientation ? width : height + }; +} + +function backtrackBeforeAllVisibleElements(index, views, top) { + if (index < 2) { + return index; + } + + var elt = views[index].div; + var pageTop = elt.offsetTop + elt.clientTop; + + if (pageTop >= top) { + elt = views[index - 1].div; + pageTop = elt.offsetTop + elt.clientTop; + } + + for (var i = index - 2; i >= 0; --i) { + elt = views[i].div; + + if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) { + break; + } + + index = i; + } + + return index; +} + +function getVisibleElements(_ref2) { + var scrollEl = _ref2.scrollEl, + views = _ref2.views, + _ref2$sortByVisibilit = _ref2.sortByVisibility, + sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit, + _ref2$horizontal = _ref2.horizontal, + horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal, + _ref2$rtl = _ref2.rtl, + rtl = _ref2$rtl === void 0 ? false : _ref2$rtl; + var top = scrollEl.scrollTop, + bottom = top + scrollEl.clientHeight; + var left = scrollEl.scrollLeft, + right = left + scrollEl.clientWidth; + + function isElementBottomAfterViewTop(view) { + var element = view.div; + var elementBottom = element.offsetTop + element.clientTop + element.clientHeight; + return elementBottom > top; + } + + function isElementNextAfterViewHorizontally(view) { + var element = view.div; + var elementLeft = element.offsetLeft + element.clientLeft; + var elementRight = elementLeft + element.clientWidth; + return rtl ? elementLeft < right : elementRight > left; + } + + var visible = [], + numViews = views.length; + var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop); + + if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) { + firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top); + } + + var lastEdge = horizontal ? right : -1; + + for (var i = firstVisibleElementInd; i < numViews; i++) { + var view = views[i], + element = view.div; + var currentWidth = element.offsetLeft + element.clientLeft; + var currentHeight = element.offsetTop + element.clientTop; + var viewWidth = element.clientWidth, + viewHeight = element.clientHeight; + var viewRight = currentWidth + viewWidth; + var viewBottom = currentHeight + viewHeight; + + if (lastEdge === -1) { + if (viewBottom >= bottom) { + lastEdge = viewBottom; + } + } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) { + break; + } + + if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) { + continue; + } + + var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom); + var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right); + var fractionHeight = (viewHeight - hiddenHeight) / viewHeight, + fractionWidth = (viewWidth - hiddenWidth) / viewWidth; + var percent = fractionHeight * fractionWidth * 100 | 0; + visible.push({ + id: view.id, + x: currentWidth, + y: currentHeight, + view: view, + percent: percent, + widthPercent: fractionWidth * 100 | 0 + }); + } + + var first = visible[0], + last = visible[visible.length - 1]; + + if (sortByVisibility) { + visible.sort(function (a, b) { + var pc = a.percent - b.percent; + + if (Math.abs(pc) > 0.001) { + return -pc; + } + + return a.id - b.id; + }); + } + + return { + first: first, + last: last, + views: visible + }; +} + +function noContextMenuHandler(evt) { + evt.preventDefault(); +} + +function normalizeWheelEventDirection(evt) { + var delta = Math.hypot(evt.deltaX, evt.deltaY); + var angle = Math.atan2(evt.deltaY, evt.deltaX); + + if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) { + delta = -delta; + } + + return delta; +} + +function normalizeWheelEventDelta(evt) { + var delta = normalizeWheelEventDirection(evt); + var MOUSE_DOM_DELTA_PIXEL_MODE = 0; + var MOUSE_DOM_DELTA_LINE_MODE = 1; + var MOUSE_PIXELS_PER_LINE = 30; + var MOUSE_LINES_PER_PAGE = 30; + + if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) { + delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE; + } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) { + delta /= MOUSE_LINES_PER_PAGE; + } + + return delta; +} + +function isValidRotation(angle) { + return Number.isInteger(angle) && angle % 90 === 0; +} + +function isValidScrollMode(mode) { + return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN; +} + +function isValidSpreadMode(mode) { + return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN; +} + +function isPortraitOrientation(size) { + return size.width <= size.height; +} + +var WaitOnType = { + EVENT: "event", + TIMEOUT: "timeout" +}; +exports.WaitOnType = WaitOnType; + +function waitOnEventOrTimeout(_ref3) { + var target = _ref3.target, + name = _ref3.name, + _ref3$delay = _ref3.delay, + delay = _ref3$delay === void 0 ? 0 : _ref3$delay; + return new Promise(function (resolve, reject) { + if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) { + throw new Error("waitOnEventOrTimeout - invalid parameters."); + } + + function handler(type) { + if (target instanceof EventBus) { + target._off(name, eventHandler); + } else { + target.removeEventListener(name, eventHandler); + } + + if (timeout) { + clearTimeout(timeout); + } + + resolve(type); + } + + var eventHandler = handler.bind(null, WaitOnType.EVENT); + + if (target instanceof EventBus) { + target._on(name, eventHandler); + } else { + target.addEventListener(name, eventHandler); + } + + var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT); + var timeout = setTimeout(timeoutHandler, delay); + }); +} + +var animationStarted = new Promise(function (resolve) { + window.requestAnimationFrame(resolve); +}); +exports.animationStarted = animationStarted; + +function dispatchDOMEvent(eventName) { + var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + throw new Error("Not implemented: dispatchDOMEvent"); +} + +var EventBus = /*#__PURE__*/function () { + function EventBus(options) { + _classCallCheck(this, EventBus); + + this._listeners = Object.create(null); + } + + _createClass(EventBus, [{ + key: "on", + value: function on(eventName, listener) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + this._on(eventName, listener, { + external: true, + once: options === null || options === void 0 ? void 0 : options.once + }); + } + }, { + key: "off", + value: function off(eventName, listener) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + + this._off(eventName, listener, { + external: true, + once: options === null || options === void 0 ? void 0 : options.once + }); + } + }, { + key: "dispatch", + value: function dispatch(eventName) { + var eventListeners = this._listeners[eventName]; + + if (!eventListeners || eventListeners.length === 0) { + return; + } + + var args = Array.prototype.slice.call(arguments, 1); + var externalListeners; + + var _iterator = _createForOfIteratorHelper(eventListeners.slice(0)), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _step.value, + _listener = _step$value.listener, + external = _step$value.external, + once = _step$value.once; + + if (once) { + this._off(eventName, _listener); + } + + if (external) { + (externalListeners || (externalListeners = [])).push(_listener); + continue; + } + + _listener.apply(null, args); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (externalListeners) { + var _iterator2 = _createForOfIteratorHelper(externalListeners), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var listener = _step2.value; + listener.apply(null, args); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + externalListeners = null; + } + } + }, { + key: "_on", + value: function _on(eventName, listener) { + var _this$_listeners; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []); + eventListeners.push({ + listener: listener, + external: (options === null || options === void 0 ? void 0 : options.external) === true, + once: (options === null || options === void 0 ? void 0 : options.once) === true + }); + } + }, { + key: "_off", + value: function _off(eventName, listener) { + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var eventListeners = this._listeners[eventName]; + + if (!eventListeners) { + return; + } + + for (var i = 0, ii = eventListeners.length; i < ii; i++) { + if (eventListeners[i].listener === listener) { + eventListeners.splice(i, 1); + return; + } + } + } + }]); + + return EventBus; +}(); + +exports.EventBus = EventBus; + +function clamp(v, min, max) { + return Math.min(Math.max(v, min), max); +} + +var ProgressBar = /*#__PURE__*/function () { + function ProgressBar(id) { + var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + height = _ref4.height, + width = _ref4.width, + units = _ref4.units; + + _classCallCheck(this, ProgressBar); + + this.visible = true; + this.div = document.querySelector(id + " .progress"); + this.bar = this.div.parentNode; + this.height = height || 100; + this.width = width || 100; + this.units = units || "%"; + this.div.style.height = this.height + this.units; + this.percent = 0; + } + + _createClass(ProgressBar, [{ + key: "_updateBar", + value: function _updateBar() { + if (this._indeterminate) { + this.div.classList.add("indeterminate"); + this.div.style.width = this.width + this.units; + return; + } + + this.div.classList.remove("indeterminate"); + var progressSize = this.width * this._percent / 100; + this.div.style.width = progressSize + this.units; + } + }, { + key: "percent", + get: function get() { + return this._percent; + }, + set: function set(val) { + this._indeterminate = isNaN(val); + this._percent = clamp(val, 0, 100); + + this._updateBar(); + } + }, { + key: "setWidth", + value: function setWidth(viewer) { + if (!viewer) { + return; + } + + var container = viewer.parentNode; + var scrollbarWidth = container.offsetWidth - viewer.offsetWidth; + + if (scrollbarWidth > 0) { + var doc = document.documentElement; + doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, "".concat(scrollbarWidth, "px")); + } + } + }, { + key: "hide", + value: function hide() { + if (!this.visible) { + return; + } + + this.visible = false; + this.bar.classList.add("hidden"); + } + }, { + key: "show", + value: function show() { + if (this.visible) { + return; + } + + this.visible = true; + this.bar.classList.remove("hidden"); + } + }]); + + return ProgressBar; +}(); + +exports.ProgressBar = ProgressBar; + +function moveToEndOfArray(arr, condition) { + var moved = [], + len = arr.length; + var write = 0; + + for (var read = 0; read < len; ++read) { + if (condition(arr[read])) { + moved.push(arr[read]); + } else { + arr[write] = arr[read]; + ++write; + } + } + + for (var _read = 0; write < len; ++_read, ++write) { + arr[write] = moved[_read]; + } +} + +function getActiveOrFocusedElement() { + var curRoot = document; + var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); + + while ((_curActiveOrFocused = curActiveOrFocused) !== null && _curActiveOrFocused !== void 0 && _curActiveOrFocused.shadowRoot) { + var _curActiveOrFocused; + + curRoot = curActiveOrFocused.shadowRoot; + curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus"); + } + + return curActiveOrFocused; +} + +function apiPageLayoutToSpreadMode(layout) { + switch (layout) { + case "SinglePage": + case "OneColumn": + return SpreadMode.NONE; + + case "TwoColumnLeft": + case "TwoPageLeft": + return SpreadMode.ODD; + + case "TwoColumnRight": + case "TwoPageRight": + return SpreadMode.EVEN; + } + + return SpreadMode.NONE; +} + +function apiPageModeToSidebarView(mode) { + switch (mode) { + case "UseNone": + return SidebarView.NONE; + + case "UseThumbs": + return SidebarView.THUMBS; + + case "UseOutlines": + return SidebarView.OUTLINE; + + case "UseAttachments": + return SidebarView.ATTACHMENTS; + + case "UseOC": + return SidebarView.LAYERS; + } + + return SidebarView.NONE; +} + +/***/ }), +/* 7 */ +/***/ ((module) => { + + + +var pdfjsLib; + +if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) { + pdfjsLib = window["pdfjs-dist/build/pdf"]; +} else { + pdfjsLib = require("../build/pdf.js"); +} + +module.exports = pdfjsLib; + +/***/ }), +/* 8 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFCursorTools = exports.CursorTool = void 0; + +var _grab_to_pan = __webpack_require__(9); + +var _ui_utils = __webpack_require__(6); + +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 CursorTool = { + SELECT: 0, + HAND: 1, + ZOOM: 2 +}; +exports.CursorTool = CursorTool; + +var PDFCursorTools = /*#__PURE__*/function () { + function PDFCursorTools(_ref) { + var _this = this; + + var container = _ref.container, + eventBus = _ref.eventBus, + _ref$cursorToolOnLoad = _ref.cursorToolOnLoad, + cursorToolOnLoad = _ref$cursorToolOnLoad === void 0 ? CursorTool.SELECT : _ref$cursorToolOnLoad; + + _classCallCheck(this, PDFCursorTools); + + this.container = container; + this.eventBus = eventBus; + this.active = CursorTool.SELECT; + this.activeBeforePresentationMode = null; + this.handTool = new _grab_to_pan.GrabToPan({ + element: this.container + }); + + this._addEventListeners(); + + Promise.resolve().then(function () { + _this.switchTool(cursorToolOnLoad); + }); + } + + _createClass(PDFCursorTools, [{ + key: "activeTool", + get: function get() { + return this.active; + } + }, { + key: "switchTool", + value: function switchTool(tool) { + var _this2 = this; + + if (this.activeBeforePresentationMode !== null) { + return; + } + + if (tool === this.active) { + return; + } + + var disableActiveTool = function disableActiveTool() { + switch (_this2.active) { + case CursorTool.SELECT: + break; + + case CursorTool.HAND: + _this2.handTool.deactivate(); + + break; + + case CursorTool.ZOOM: + } + }; + + switch (tool) { + case CursorTool.SELECT: + disableActiveTool(); + break; + + case CursorTool.HAND: + disableActiveTool(); + this.handTool.activate(); + break; + + case CursorTool.ZOOM: + default: + console.error("switchTool: \"".concat(tool, "\" is an unsupported value.")); + return; + } + + this.active = tool; + + this._dispatchEvent(); + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent() { + this.eventBus.dispatch("cursortoolchanged", { + source: this, + tool: this.active + }); + } + }, { + key: "_addEventListeners", + value: function _addEventListeners() { + var _this3 = this; + + this.eventBus._on("switchcursortool", function (evt) { + _this3.switchTool(evt.tool); + }); + + this.eventBus._on("presentationmodechanged", function (evt) { + switch (evt.state) { + case _ui_utils.PresentationModeState.FULLSCREEN: + { + var previouslyActive = _this3.active; + + _this3.switchTool(CursorTool.SELECT); + + _this3.activeBeforePresentationMode = previouslyActive; + break; + } + + case _ui_utils.PresentationModeState.NORMAL: + { + var _previouslyActive = _this3.activeBeforePresentationMode; + _this3.activeBeforePresentationMode = null; + + _this3.switchTool(_previouslyActive); + + break; + } + } + }); + } + }]); + + return PDFCursorTools; +}(); + +exports.PDFCursorTools = PDFCursorTools; + +/***/ }), +/* 9 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GrabToPan = GrabToPan; + +function GrabToPan(options) { + this.element = options.element; + this.document = options.element.ownerDocument; + + if (typeof options.ignoreTarget === "function") { + this.ignoreTarget = options.ignoreTarget; + } + + this.onActiveChanged = options.onActiveChanged; + this.activate = this.activate.bind(this); + this.deactivate = this.deactivate.bind(this); + this.toggle = this.toggle.bind(this); + this._onmousedown = this._onmousedown.bind(this); + this._onmousemove = this._onmousemove.bind(this); + this._endPan = this._endPan.bind(this); + var overlay = this.overlay = document.createElement("div"); + overlay.className = "grab-to-pan-grabbing"; +} + +GrabToPan.prototype = { + CSS_CLASS_GRAB: "grab-to-pan-grab", + activate: function GrabToPan_activate() { + if (!this.active) { + this.active = true; + this.element.addEventListener("mousedown", this._onmousedown, true); + this.element.classList.add(this.CSS_CLASS_GRAB); + + if (this.onActiveChanged) { + this.onActiveChanged(true); + } + } + }, + deactivate: function GrabToPan_deactivate() { + if (this.active) { + this.active = false; + this.element.removeEventListener("mousedown", this._onmousedown, true); + + this._endPan(); + + this.element.classList.remove(this.CSS_CLASS_GRAB); + + if (this.onActiveChanged) { + this.onActiveChanged(false); + } + } + }, + toggle: function GrabToPan_toggle() { + if (this.active) { + this.deactivate(); + } else { + this.activate(); + } + }, + ignoreTarget: function GrabToPan_ignoreTarget(node) { + return node.matches("a[href], a[href] *, input, textarea, button, button *, select, option"); + }, + _onmousedown: function GrabToPan__onmousedown(event) { + if (event.button !== 0 || this.ignoreTarget(event.target)) { + return; + } + + if (event.originalTarget) { + try { + event.originalTarget.tagName; + } catch (e) { + return; + } + } + + this.scrollLeftStart = this.element.scrollLeft; + this.scrollTopStart = this.element.scrollTop; + this.clientXStart = event.clientX; + this.clientYStart = event.clientY; + this.document.addEventListener("mousemove", this._onmousemove, true); + this.document.addEventListener("mouseup", this._endPan, true); + this.element.addEventListener("scroll", this._endPan, true); + event.preventDefault(); + event.stopPropagation(); + var focusedElement = document.activeElement; + + if (focusedElement && !focusedElement.contains(event.target)) { + focusedElement.blur(); + } + }, + _onmousemove: function GrabToPan__onmousemove(event) { + this.element.removeEventListener("scroll", this._endPan, true); + + if (isLeftMouseReleased(event)) { + this._endPan(); + + return; + } + + var xDiff = event.clientX - this.clientXStart; + var yDiff = event.clientY - this.clientYStart; + var scrollTop = this.scrollTopStart - yDiff; + var scrollLeft = this.scrollLeftStart - xDiff; + + if (this.element.scrollTo) { + this.element.scrollTo({ + top: scrollTop, + left: scrollLeft, + behavior: "instant" + }); + } else { + this.element.scrollTop = scrollTop; + this.element.scrollLeft = scrollLeft; + } + + if (!this.overlay.parentNode) { + document.body.appendChild(this.overlay); + } + }, + _endPan: function GrabToPan__endPan() { + this.element.removeEventListener("scroll", this._endPan, true); + this.document.removeEventListener("mousemove", this._onmousemove, true); + this.document.removeEventListener("mouseup", this._endPan, true); + this.overlay.remove(); + } +}; + +function isLeftMouseReleased(event) { + if ("buttons" in event) { + return !(event.buttons & 1); + } + + var chrome = window.chrome; + var isChrome15OrOpera15plus = chrome && (chrome.webstore || chrome.app); + var isSafari6plus = /Apple/.test(navigator.vendor) && /Version\/([6-9]\d*|[1-5]\d+)/.test(navigator.userAgent); + + if (isChrome15OrOpera15plus || isSafari6plus) { + return event.which === 0; + } + + return false; +} + +/***/ }), +/* 10 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.RenderingStates = exports.PDFRenderingQueue = void 0; + +var _pdfjsLib = __webpack_require__(7); + +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 CLEANUP_TIMEOUT = 30000; +var RenderingStates = { + INITIAL: 0, + RUNNING: 1, + PAUSED: 2, + FINISHED: 3 +}; +exports.RenderingStates = RenderingStates; + +var PDFRenderingQueue = /*#__PURE__*/function () { + function PDFRenderingQueue() { + _classCallCheck(this, PDFRenderingQueue); + + this.pdfViewer = null; + this.pdfThumbnailViewer = null; + this.onIdle = null; + this.highestPriorityPage = null; + this.idleTimeout = null; + this.printing = false; + this.isThumbnailViewEnabled = false; + } + + _createClass(PDFRenderingQueue, [{ + key: "setViewer", + value: function setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + }, { + key: "setThumbnailViewer", + value: function setThumbnailViewer(pdfThumbnailViewer) { + this.pdfThumbnailViewer = pdfThumbnailViewer; + } + }, { + key: "isHighestPriority", + value: function isHighestPriority(view) { + return this.highestPriorityPage === view.renderingId; + } + }, { + key: "renderHighestPriority", + value: function renderHighestPriority(currentlyVisiblePages) { + if (this.idleTimeout) { + clearTimeout(this.idleTimeout); + this.idleTimeout = null; + } + + if (this.pdfViewer.forceRendering(currentlyVisiblePages)) { + return; + } + + if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) { + if (this.pdfThumbnailViewer.forceRendering()) { + return; + } + } + + if (this.printing) { + return; + } + + if (this.onIdle) { + this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT); + } + } + }, { + key: "getHighestPriority", + value: function getHighestPriority(visible, views, scrolledDown) { + var visibleViews = visible.views; + var numVisible = visibleViews.length; + + if (numVisible === 0) { + return null; + } + + for (var i = 0; i < numVisible; ++i) { + var view = visibleViews[i].view; + + if (!this.isViewFinished(view)) { + return view; + } + } + + if (scrolledDown) { + var nextPageIndex = visible.last.id; + + if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) { + return views[nextPageIndex]; + } + } else { + var previousPageIndex = visible.first.id - 2; + + if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) { + return views[previousPageIndex]; + } + } + + return null; + } + }, { + key: "isViewFinished", + value: function isViewFinished(view) { + return view.renderingState === RenderingStates.FINISHED; + } + }, { + key: "renderView", + value: function renderView(view) { + var _this = this; + + switch (view.renderingState) { + case RenderingStates.FINISHED: + return false; + + case RenderingStates.PAUSED: + this.highestPriorityPage = view.renderingId; + view.resume(); + break; + + case RenderingStates.RUNNING: + this.highestPriorityPage = view.renderingId; + break; + + case RenderingStates.INITIAL: + this.highestPriorityPage = view.renderingId; + view.draw()["finally"](function () { + _this.renderHighestPriority(); + })["catch"](function (reason) { + if (reason instanceof _pdfjsLib.RenderingCancelledException) { + return; + } + + console.error("renderView: \"".concat(reason, "\"")); + }); + break; + } + + return true; + } + }]); + + return PDFRenderingQueue; +}(); + +exports.PDFRenderingQueue = PDFRenderingQueue; + +/***/ }), +/* 11 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.OverlayManager = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +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 OverlayManager = /*#__PURE__*/function () { + function OverlayManager() { + _classCallCheck(this, OverlayManager); + + this._overlays = {}; + this._active = null; + this._keyDownBound = this._keyDown.bind(this); + } + + _createClass(OverlayManager, [{ + key: "active", + get: function get() { + return this._active; + } + }, { + key: "register", + value: function () { + var _register = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(name, element) { + var callerCloseMethod, + canForceClose, + container, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + callerCloseMethod = _args.length > 2 && _args[2] !== undefined ? _args[2] : null; + canForceClose = _args.length > 3 && _args[3] !== undefined ? _args[3] : false; + + if (!(!name || !element || !(container = element.parentNode))) { + _context.next = 6; + break; + } + + throw new Error("Not enough parameters."); + + case 6: + if (!this._overlays[name]) { + _context.next = 8; + break; + } + + throw new Error("The overlay is already registered."); + + case 8: + this._overlays[name] = { + element: element, + container: container, + callerCloseMethod: callerCloseMethod, + canForceClose: canForceClose + }; + + case 9: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function register(_x, _x2) { + return _register.apply(this, arguments); + } + + return register; + }() + }, { + key: "unregister", + value: function () { + var _unregister = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(name) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (this._overlays[name]) { + _context2.next = 4; + break; + } + + throw new Error("The overlay does not exist."); + + case 4: + if (!(this._active === name)) { + _context2.next = 6; + break; + } + + throw new Error("The overlay cannot be removed while it is active."); + + case 6: + delete this._overlays[name]; + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function unregister(_x3) { + return _unregister.apply(this, arguments); + } + + return unregister; + }() + }, { + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name) { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (this._overlays[name]) { + _context3.next = 4; + break; + } + + throw new Error("The overlay does not exist."); + + case 4: + if (!this._active) { + _context3.next = 14; + break; + } + + if (!this._overlays[name].canForceClose) { + _context3.next = 9; + break; + } + + this._closeThroughCaller(); + + _context3.next = 14; + break; + + case 9: + if (!(this._active === name)) { + _context3.next = 13; + break; + } + + throw new Error("The overlay is already active."); + + case 13: + throw new Error("Another overlay is currently active."); + + case 14: + this._active = name; + + this._overlays[this._active].element.classList.remove("hidden"); + + this._overlays[this._active].container.classList.remove("hidden"); + + window.addEventListener("keydown", this._keyDownBound); + + case 18: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function open(_x4) { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "close", + value: function () { + var _close = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name) { + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + if (this._overlays[name]) { + _context4.next = 4; + break; + } + + throw new Error("The overlay does not exist."); + + case 4: + if (this._active) { + _context4.next = 8; + break; + } + + throw new Error("The overlay is currently not active."); + + case 8: + if (!(this._active !== name)) { + _context4.next = 10; + break; + } + + throw new Error("Another overlay is currently active."); + + case 10: + this._overlays[this._active].container.classList.add("hidden"); + + this._overlays[this._active].element.classList.add("hidden"); + + this._active = null; + window.removeEventListener("keydown", this._keyDownBound); + + case 14: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function close(_x5) { + return _close.apply(this, arguments); + } + + return close; + }() + }, { + key: "_keyDown", + value: function _keyDown(evt) { + if (this._active && evt.keyCode === 27) { + this._closeThroughCaller(); + + evt.preventDefault(); + } + } + }, { + key: "_closeThroughCaller", + value: function _closeThroughCaller() { + if (this._overlays[this._active].callerCloseMethod) { + this._overlays[this._active].callerCloseMethod(); + } + + if (this._active) { + this.close(this._active); + } + } + }]); + + return OverlayManager; +}(); + +exports.OverlayManager = OverlayManager; + +/***/ }), +/* 12 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PasswordPrompt = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _pdfjsLib = __webpack_require__(7); + +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 PasswordPrompt = /*#__PURE__*/function () { + function PasswordPrompt(options, overlayManager, l10n) { + var _this = this; + + var isViewerEmbedded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + + _classCallCheck(this, PasswordPrompt); + + this.overlayName = options.overlayName; + this.container = options.container; + this.label = options.label; + this.input = options.input; + this.submitButton = options.submitButton; + this.cancelButton = options.cancelButton; + this.overlayManager = overlayManager; + this.l10n = l10n; + this._isViewerEmbedded = isViewerEmbedded; + this.updateCallback = null; + this.reason = null; + this.submitButton.addEventListener("click", this.verify.bind(this)); + this.cancelButton.addEventListener("click", this.close.bind(this)); + this.input.addEventListener("keydown", function (e) { + if (e.keyCode === 13) { + _this.verify(); + } + }); + this.overlayManager.register(this.overlayName, this.container, this.close.bind(this), true); + } + + _createClass(PasswordPrompt, [{ + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var passwordIncorrect; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this.overlayManager.open(this.overlayName); + + case 2: + passwordIncorrect = this.reason === _pdfjsLib.PasswordResponses.INCORRECT_PASSWORD; + + if (!this._isViewerEmbedded || passwordIncorrect) { + this.input.focus(); + } + + _context.next = 6; + return this.l10n.get("password_".concat(passwordIncorrect ? "invalid" : "label")); + + case 6: + this.label.textContent = _context.sent; + + case 7: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function open() { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "close", + value: function close() { + var _this2 = this; + + this.overlayManager.close(this.overlayName).then(function () { + _this2.input.value = ""; + }); + } + }, { + key: "verify", + value: function verify() { + var password = this.input.value; + + if ((password === null || password === void 0 ? void 0 : password.length) > 0) { + this.close(); + this.updateCallback(password); + } + } + }, { + key: "setUpdateCallback", + value: function setUpdateCallback(updateCallback, reason) { + this.updateCallback = updateCallback; + this.reason = reason; + } + }]); + + return PasswordPrompt; +}(); + +exports.PasswordPrompt = PasswordPrompt; + +/***/ }), +/* 13 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFAttachmentViewer = void 0; + +var _pdfjsLib = __webpack_require__(7); + +var _base_tree_viewer = __webpack_require__(14); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFAttachmentViewer = /*#__PURE__*/function (_BaseTreeViewer) { + _inherits(PDFAttachmentViewer, _BaseTreeViewer); + + var _super = _createSuper(PDFAttachmentViewer); + + function PDFAttachmentViewer(options) { + var _this; + + _classCallCheck(this, PDFAttachmentViewer); + + _this = _super.call(this, options); + _this.downloadManager = options.downloadManager; + + _this.eventBus._on("fileattachmentannotation", _this._appendAttachment.bind(_assertThisInitialized(_this))); + + return _this; + } + + _createClass(PDFAttachmentViewer, [{ + key: "reset", + value: function reset() { + var keepRenderedCapability = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + _get(_getPrototypeOf(PDFAttachmentViewer.prototype), "reset", this).call(this); + + this._attachments = null; + + if (!keepRenderedCapability) { + this._renderedCapability = (0, _pdfjsLib.createPromiseCapability)(); + } + + if (this._pendingDispatchEvent) { + clearTimeout(this._pendingDispatchEvent); + } + + this._pendingDispatchEvent = null; + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(attachmentsCount) { + var _this2 = this; + + this._renderedCapability.resolve(); + + if (this._pendingDispatchEvent) { + clearTimeout(this._pendingDispatchEvent); + this._pendingDispatchEvent = null; + } + + if (attachmentsCount === 0) { + this._pendingDispatchEvent = setTimeout(function () { + _this2.eventBus.dispatch("attachmentsloaded", { + source: _this2, + attachmentsCount: 0 + }); + + _this2._pendingDispatchEvent = null; + }); + return; + } + + this.eventBus.dispatch("attachmentsloaded", { + source: this, + attachmentsCount: attachmentsCount + }); + } + }, { + key: "_bindLink", + value: function _bindLink(element, _ref) { + var _this3 = this; + + var content = _ref.content, + filename = _ref.filename; + + element.onclick = function () { + _this3.downloadManager.openOrDownloadData(element, content, filename); + + return false; + }; + } + }, { + key: "render", + value: function render(_ref2) { + var attachments = _ref2.attachments, + _ref2$keepRenderedCap = _ref2.keepRenderedCapability, + keepRenderedCapability = _ref2$keepRenderedCap === void 0 ? false : _ref2$keepRenderedCap; + + if (this._attachments) { + this.reset(keepRenderedCapability); + } + + this._attachments = attachments || null; + + if (!attachments) { + this._dispatchEvent(0); + + return; + } + + var names = Object.keys(attachments).sort(function (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()); + }); + var fragment = document.createDocumentFragment(); + var attachmentsCount = 0; + + var _iterator = _createForOfIteratorHelper(names), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var name = _step.value; + var item = attachments[name]; + var content = item.content, + filename = (0, _pdfjsLib.getFilenameFromUrl)(item.filename); + var div = document.createElement("div"); + div.className = "treeItem"; + var element = document.createElement("a"); + + this._bindLink(element, { + content: content, + filename: filename + }); + + element.textContent = this._normalizeTextContent(filename); + div.appendChild(element); + fragment.appendChild(div); + attachmentsCount++; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this._finishRendering(fragment, attachmentsCount); + } + }, { + key: "_appendAttachment", + value: function _appendAttachment(_ref3) { + var _this4 = this; + + var id = _ref3.id, + filename = _ref3.filename, + content = _ref3.content; + var renderedPromise = this._renderedCapability.promise; + renderedPromise.then(function () { + if (renderedPromise !== _this4._renderedCapability.promise) { + return; + } + + var attachments = _this4._attachments; + + if (!attachments) { + attachments = Object.create(null); + } else { + for (var name in attachments) { + if (id === name) { + return; + } + } + } + + attachments[id] = { + filename: filename, + content: content + }; + + _this4.render({ + attachments: attachments, + keepRenderedCapability: true + }); + }); + } + }]); + + return PDFAttachmentViewer; +}(_base_tree_viewer.BaseTreeViewer); + +exports.PDFAttachmentViewer = PDFAttachmentViewer; + +/***/ }), +/* 14 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseTreeViewer = void 0; + +var _pdfjsLib = __webpack_require__(7); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var TREEITEM_OFFSET_TOP = -100; +var TREEITEM_SELECTED_CLASS = "selected"; + +var BaseTreeViewer = /*#__PURE__*/function () { + function BaseTreeViewer(options) { + _classCallCheck(this, BaseTreeViewer); + + if (this.constructor === BaseTreeViewer) { + throw new Error("Cannot initialize BaseTreeViewer."); + } + + this.container = options.container; + this.eventBus = options.eventBus; + this.reset(); + } + + _createClass(BaseTreeViewer, [{ + key: "reset", + value: function reset() { + this._pdfDocument = null; + this._lastToggleIsShow = true; + this._currentTreeItem = null; + this.container.textContent = ""; + this.container.classList.remove("treeWithDeepNesting"); + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(count) { + throw new Error("Not implemented: _dispatchEvent"); + } + }, { + key: "_bindLink", + value: function _bindLink(element, params) { + throw new Error("Not implemented: _bindLink"); + } + }, { + key: "_normalizeTextContent", + value: function _normalizeTextContent(str) { + return (0, _pdfjsLib.removeNullCharacters)(str) || "\u2013"; + } + }, { + key: "_addToggleButton", + value: function _addToggleButton(div) { + var _this = this; + + var hidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var toggler = document.createElement("div"); + toggler.className = "treeItemToggler"; + + if (hidden) { + toggler.classList.add("treeItemsHidden"); + } + + toggler.onclick = function (evt) { + evt.stopPropagation(); + toggler.classList.toggle("treeItemsHidden"); + + if (evt.shiftKey) { + var shouldShowAll = !toggler.classList.contains("treeItemsHidden"); + + _this._toggleTreeItem(div, shouldShowAll); + } + }; + + div.insertBefore(toggler, div.firstChild); + } + }, { + key: "_toggleTreeItem", + value: function _toggleTreeItem(root) { + var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this._lastToggleIsShow = show; + + var _iterator = _createForOfIteratorHelper(root.querySelectorAll(".treeItemToggler")), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var toggler = _step.value; + toggler.classList.toggle("treeItemsHidden", !show); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "_toggleAllTreeItems", + value: function _toggleAllTreeItems() { + this._toggleTreeItem(this.container, !this._lastToggleIsShow); + } + }, { + key: "_finishRendering", + value: function _finishRendering(fragment, count) { + var hasAnyNesting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (hasAnyNesting) { + this.container.classList.add("treeWithDeepNesting"); + this._lastToggleIsShow = !fragment.querySelector(".treeItemsHidden"); + } + + this.container.appendChild(fragment); + + this._dispatchEvent(count); + } + }, { + key: "render", + value: function render(params) { + throw new Error("Not implemented: render"); + } + }, { + key: "_updateCurrentTreeItem", + value: function _updateCurrentTreeItem() { + var treeItem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (this._currentTreeItem) { + this._currentTreeItem.classList.remove(TREEITEM_SELECTED_CLASS); + + this._currentTreeItem = null; + } + + if (treeItem) { + treeItem.classList.add(TREEITEM_SELECTED_CLASS); + this._currentTreeItem = treeItem; + } + } + }, { + key: "_scrollToCurrentTreeItem", + value: function _scrollToCurrentTreeItem(treeItem) { + if (!treeItem) { + return; + } + + var currentNode = treeItem.parentNode; + + while (currentNode && currentNode !== this.container) { + if (currentNode.classList.contains("treeItem")) { + var toggler = currentNode.firstElementChild; + toggler === null || toggler === void 0 ? void 0 : toggler.classList.remove("treeItemsHidden"); + } + + currentNode = currentNode.parentNode; + } + + this._updateCurrentTreeItem(treeItem); + + this.container.scrollTo(treeItem.offsetLeft, treeItem.offsetTop + TREEITEM_OFFSET_TOP); + } + }]); + + return BaseTreeViewer; +}(); + +exports.BaseTreeViewer = BaseTreeViewer; + +/***/ }), +/* 15 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFDocumentProperties = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(6); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 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_FIELD_CONTENT = "-"; +var NON_METRIC_LOCALES = ["en-us", "en-lr", "my"]; +var US_PAGE_NAMES = { + "8.5x11": "Letter", + "8.5x14": "Legal" +}; +var METRIC_PAGE_NAMES = { + "297x420": "A3", + "210x297": "A4" +}; + +function getPageName(size, isPortrait, pageNames) { + var width = isPortrait ? size.width : size.height; + var height = isPortrait ? size.height : size.width; + return pageNames["".concat(width, "x").concat(height)]; +} + +var PDFDocumentProperties = /*#__PURE__*/function () { + function PDFDocumentProperties(_ref, overlayManager, eventBus, l10n) { + var _this = this; + + var overlayName = _ref.overlayName, + fields = _ref.fields, + container = _ref.container, + closeButton = _ref.closeButton; + + _classCallCheck(this, PDFDocumentProperties); + + this.overlayName = overlayName; + this.fields = fields; + this.container = container; + this.overlayManager = overlayManager; + this.l10n = l10n; + + this._reset(); + + closeButton.addEventListener("click", this.close.bind(this)); + this.overlayManager.register(this.overlayName, this.container, this.close.bind(this)); + + eventBus._on("pagechanging", function (evt) { + _this._currentPageNumber = evt.pageNumber; + }); + + eventBus._on("rotationchanging", function (evt) { + _this._pagesRotation = evt.pagesRotation; + }); + + this._isNonMetricLocale = true; + l10n.getLanguage().then(function (locale) { + _this._isNonMetricLocale = NON_METRIC_LOCALES.includes(locale); + }); + } + + _createClass(PDFDocumentProperties, [{ + key: "open", + value: function () { + var _open = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var _this2 = this; + + var freezeFieldData, currentPageNumber, pagesRotation, _yield$this$pdfDocume, info, contentDispositionFilename, contentLength, _yield$Promise$all, _yield$Promise$all2, fileName, fileSize, creationDate, modificationDate, pageSize, isLinearized, _yield$this$pdfDocume2, length, data; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + freezeFieldData = function freezeFieldData(data) { + Object.defineProperty(_this2, "fieldData", { + value: Object.freeze(data), + writable: false, + enumerable: true, + configurable: true + }); + }; + + _context.next = 3; + return Promise.all([this.overlayManager.open(this.overlayName), this._dataAvailableCapability.promise]); + + case 3: + currentPageNumber = this._currentPageNumber; + pagesRotation = this._pagesRotation; + + if (!(this.fieldData && currentPageNumber === this.fieldData._currentPageNumber && pagesRotation === this.fieldData._pagesRotation)) { + _context.next = 8; + break; + } + + this._updateUI(); + + return _context.abrupt("return"); + + case 8: + _context.next = 10; + return this.pdfDocument.getMetadata(); + + case 10: + _yield$this$pdfDocume = _context.sent; + info = _yield$this$pdfDocume.info; + contentDispositionFilename = _yield$this$pdfDocume.contentDispositionFilename; + contentLength = _yield$this$pdfDocume.contentLength; + _context.next = 16; + return Promise.all([contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(this.url), this._parseFileSize(contentLength), this._parseDate(info.CreationDate), this._parseDate(info.ModDate), this.pdfDocument.getPage(currentPageNumber).then(function (pdfPage) { + return _this2._parsePageSize((0, _ui_utils.getPageSizeInches)(pdfPage), pagesRotation); + }), this._parseLinearization(info.IsLinearized)]); + + case 16: + _yield$Promise$all = _context.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6); + fileName = _yield$Promise$all2[0]; + fileSize = _yield$Promise$all2[1]; + creationDate = _yield$Promise$all2[2]; + modificationDate = _yield$Promise$all2[3]; + pageSize = _yield$Promise$all2[4]; + isLinearized = _yield$Promise$all2[5]; + freezeFieldData({ + fileName: fileName, + fileSize: fileSize, + title: info.Title, + author: info.Author, + subject: info.Subject, + keywords: info.Keywords, + creationDate: creationDate, + modificationDate: modificationDate, + creator: info.Creator, + producer: info.Producer, + version: info.PDFFormatVersion, + pageCount: this.pdfDocument.numPages, + pageSize: pageSize, + linearized: isLinearized, + _currentPageNumber: currentPageNumber, + _pagesRotation: pagesRotation + }); + + this._updateUI(); + + _context.next = 28; + return this.pdfDocument.getDownloadInfo(); + + case 28: + _yield$this$pdfDocume2 = _context.sent; + length = _yield$this$pdfDocume2.length; + + if (!(contentLength === length)) { + _context.next = 32; + break; + } + + return _context.abrupt("return"); + + case 32: + data = Object.assign(Object.create(null), this.fieldData); + _context.next = 35; + return this._parseFileSize(length); + + case 35: + data.fileSize = _context.sent; + freezeFieldData(data); + + this._updateUI(); + + case 38: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function open() { + return _open.apply(this, arguments); + } + + return open; + }() + }, { + key: "close", + value: function close() { + this.overlayManager.close(this.overlayName); + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + var url = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (this.pdfDocument) { + this._reset(); + + this._updateUI(true); + } + + if (!pdfDocument) { + return; + } + + this.pdfDocument = pdfDocument; + this.url = url; + + this._dataAvailableCapability.resolve(); + } + }, { + key: "_reset", + value: function _reset() { + this.pdfDocument = null; + this.url = null; + delete this.fieldData; + this._dataAvailableCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._currentPageNumber = 1; + this._pagesRotation = 0; + } + }, { + key: "_updateUI", + value: function _updateUI() { + var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (reset || !this.fieldData) { + for (var id in this.fields) { + this.fields[id].textContent = DEFAULT_FIELD_CONTENT; + } + + return; + } + + if (this.overlayManager.active !== this.overlayName) { + return; + } + + for (var _id in this.fields) { + var content = this.fieldData[_id]; + this.fields[_id].textContent = content || content === 0 ? content : DEFAULT_FIELD_CONTENT; + } + } + }, { + key: "_parseFileSize", + value: function () { + var _parseFileSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var fileSize, + kb, + mb, + _args2 = arguments; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + fileSize = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : 0; + kb = fileSize / 1024, mb = kb / 1024; + + if (kb) { + _context2.next = 4; + break; + } + + return _context2.abrupt("return", undefined); + + case 4: + return _context2.abrupt("return", this.l10n.get("document_properties_".concat(mb >= 1 ? "mb" : "kb"), { + size_mb: mb >= 1 && (+mb.toPrecision(3)).toLocaleString(), + size_kb: mb < 1 && (+kb.toPrecision(3)).toLocaleString(), + size_b: fileSize.toLocaleString() + })); + + case 5: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function _parseFileSize() { + return _parseFileSize2.apply(this, arguments); + } + + return _parseFileSize; + }() + }, { + key: "_parsePageSize", + value: function () { + var _parsePageSize2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(pageSizeInches, pagesRotation) { + var isPortrait, sizeInches, sizeMillimeters, rawName, exactMillimeters, intMillimeters, _yield$Promise$all3, _yield$Promise$all4, _yield$Promise$all4$, width, height, unit, name, orientation; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (pageSizeInches) { + _context3.next = 2; + break; + } + + return _context3.abrupt("return", undefined); + + case 2: + if (pagesRotation % 180 !== 0) { + pageSizeInches = { + width: pageSizeInches.height, + height: pageSizeInches.width + }; + } + + isPortrait = (0, _ui_utils.isPortraitOrientation)(pageSizeInches); + sizeInches = { + width: Math.round(pageSizeInches.width * 100) / 100, + height: Math.round(pageSizeInches.height * 100) / 100 + }; + sizeMillimeters = { + width: Math.round(pageSizeInches.width * 25.4 * 10) / 10, + height: Math.round(pageSizeInches.height * 25.4 * 10) / 10 + }; + rawName = getPageName(sizeInches, isPortrait, US_PAGE_NAMES) || getPageName(sizeMillimeters, isPortrait, METRIC_PAGE_NAMES); + + if (!rawName && !(Number.isInteger(sizeMillimeters.width) && Number.isInteger(sizeMillimeters.height))) { + exactMillimeters = { + width: pageSizeInches.width * 25.4, + height: pageSizeInches.height * 25.4 + }; + intMillimeters = { + width: Math.round(sizeMillimeters.width), + height: Math.round(sizeMillimeters.height) + }; + + if (Math.abs(exactMillimeters.width - intMillimeters.width) < 0.1 && Math.abs(exactMillimeters.height - intMillimeters.height) < 0.1) { + rawName = getPageName(intMillimeters, isPortrait, METRIC_PAGE_NAMES); + + if (rawName) { + sizeInches = { + width: Math.round(intMillimeters.width / 25.4 * 100) / 100, + height: Math.round(intMillimeters.height / 25.4 * 100) / 100 + }; + sizeMillimeters = intMillimeters; + } + } + } + + _context3.next = 10; + return Promise.all([this._isNonMetricLocale ? sizeInches : sizeMillimeters, this.l10n.get("document_properties_page_size_unit_".concat(this._isNonMetricLocale ? "inches" : "millimeters")), rawName && this.l10n.get("document_properties_page_size_name_".concat(rawName.toLowerCase())), this.l10n.get("document_properties_page_size_orientation_".concat(isPortrait ? "portrait" : "landscape"))]); + + case 10: + _yield$Promise$all3 = _context3.sent; + _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 4); + _yield$Promise$all4$ = _yield$Promise$all4[0]; + width = _yield$Promise$all4$.width; + height = _yield$Promise$all4$.height; + unit = _yield$Promise$all4[1]; + name = _yield$Promise$all4[2]; + orientation = _yield$Promise$all4[3]; + return _context3.abrupt("return", this.l10n.get("document_properties_page_size_dimension_".concat(name ? "name_" : "", "string"), { + width: width.toLocaleString(), + height: height.toLocaleString(), + unit: unit, + name: name, + orientation: orientation + })); + + case 19: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function _parsePageSize(_x, _x2) { + return _parsePageSize2.apply(this, arguments); + } + + return _parsePageSize; + }() + }, { + key: "_parseDate", + value: function () { + var _parseDate2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(inputDate) { + var dateObject; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + dateObject = _pdfjsLib.PDFDateString.toDateObject(inputDate); + + if (dateObject) { + _context4.next = 3; + break; + } + + return _context4.abrupt("return", undefined); + + case 3: + return _context4.abrupt("return", this.l10n.get("document_properties_date_string", { + date: dateObject.toLocaleDateString(), + time: dateObject.toLocaleTimeString() + })); + + case 4: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function _parseDate(_x3) { + return _parseDate2.apply(this, arguments); + } + + return _parseDate; + }() + }, { + key: "_parseLinearization", + value: function _parseLinearization(isLinearized) { + return this.l10n.get("document_properties_linearized_".concat(isLinearized ? "yes" : "no")); + } + }]); + + return PDFDocumentProperties; +}(); + +exports.PDFDocumentProperties = PDFDocumentProperties; + +/***/ }), +/* 16 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFindBar = void 0; + +var _pdf_find_controller = __webpack_require__(17); + +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 MATCHES_COUNT_LIMIT = 1000; + +var PDFFindBar = /*#__PURE__*/function () { + function PDFFindBar(options, eventBus, l10n) { + var _this = this; + + _classCallCheck(this, PDFFindBar); + + this.opened = false; + this.bar = options.bar; + this.toggleButton = options.toggleButton; + this.findField = options.findField; + this.highlightAll = options.highlightAllCheckbox; + this.caseSensitive = options.caseSensitiveCheckbox; + this.entireWord = options.entireWordCheckbox; + this.findMsg = options.findMsg; + this.findResultsCount = options.findResultsCount; + this.findPreviousButton = options.findPreviousButton; + this.findNextButton = options.findNextButton; + this.eventBus = eventBus; + this.l10n = l10n; + this.toggleButton.addEventListener("click", function () { + _this.toggle(); + }); + this.findField.addEventListener("input", function () { + _this.dispatchEvent(""); + }); + this.bar.addEventListener("keydown", function (e) { + switch (e.keyCode) { + case 13: + if (e.target === _this.findField) { + _this.dispatchEvent("again", e.shiftKey); + } + + break; + + case 27: + _this.close(); + + break; + } + }); + this.findPreviousButton.addEventListener("click", function () { + _this.dispatchEvent("again", true); + }); + this.findNextButton.addEventListener("click", function () { + _this.dispatchEvent("again", false); + }); + this.highlightAll.addEventListener("click", function () { + _this.dispatchEvent("highlightallchange"); + }); + this.caseSensitive.addEventListener("click", function () { + _this.dispatchEvent("casesensitivitychange"); + }); + this.entireWord.addEventListener("click", function () { + _this.dispatchEvent("entirewordchange"); + }); + + this.eventBus._on("resize", this._adjustWidth.bind(this)); + } + + _createClass(PDFFindBar, [{ + key: "reset", + value: function reset() { + this.updateUIState(); + } + }, { + key: "dispatchEvent", + value: function dispatchEvent(type, findPrev) { + this.eventBus.dispatch("find", { + source: this, + type: type, + query: this.findField.value, + phraseSearch: true, + caseSensitive: this.caseSensitive.checked, + entireWord: this.entireWord.checked, + highlightAll: this.highlightAll.checked, + findPrevious: findPrev + }); + } + }, { + key: "updateUIState", + value: function updateUIState(state, previous, matchesCount) { + var _this2 = this; + + var findMsg = Promise.resolve(""); + var status = ""; + + switch (state) { + case _pdf_find_controller.FindState.FOUND: + break; + + case _pdf_find_controller.FindState.PENDING: + status = "pending"; + break; + + case _pdf_find_controller.FindState.NOT_FOUND: + findMsg = this.l10n.get("find_not_found"); + status = "notFound"; + break; + + case _pdf_find_controller.FindState.WRAPPED: + findMsg = this.l10n.get("find_reached_".concat(previous ? "top" : "bottom")); + break; + } + + this.findField.setAttribute("data-status", status); + findMsg.then(function (msg) { + _this2.findMsg.textContent = msg; + + _this2._adjustWidth(); + }); + this.updateResultsCount(matchesCount); + } + }, { + key: "updateResultsCount", + value: function updateResultsCount() { + var _this3 = this; + + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$current = _ref.current, + current = _ref$current === void 0 ? 0 : _ref$current, + _ref$total = _ref.total, + total = _ref$total === void 0 ? 0 : _ref$total; + + var limit = MATCHES_COUNT_LIMIT; + var matchCountMsg = Promise.resolve(""); + + if (total > 0) { + if (total > limit) { + var key = "find_match_count_limit"; + matchCountMsg = this.l10n.get(key, { + limit: limit + }); + } else { + var _key = "find_match_count"; + matchCountMsg = this.l10n.get(_key, { + current: current, + total: total + }); + } + } + + matchCountMsg.then(function (msg) { + _this3.findResultsCount.textContent = msg; + + _this3.findResultsCount.classList.toggle("hidden", !total); + + _this3._adjustWidth(); + }); + } + }, { + key: "open", + value: function open() { + if (!this.opened) { + this.opened = true; + this.toggleButton.classList.add("toggled"); + this.toggleButton.setAttribute("aria-expanded", "true"); + this.bar.classList.remove("hidden"); + } + + this.findField.select(); + this.findField.focus(); + + this._adjustWidth(); + } + }, { + key: "close", + value: function close() { + if (!this.opened) { + return; + } + + this.opened = false; + this.toggleButton.classList.remove("toggled"); + this.toggleButton.setAttribute("aria-expanded", "false"); + this.bar.classList.add("hidden"); + this.eventBus.dispatch("findbarclose", { + source: this + }); + } + }, { + key: "toggle", + value: function toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } + }, { + key: "_adjustWidth", + value: function _adjustWidth() { + if (!this.opened) { + return; + } + + this.bar.classList.remove("wrapContainers"); + var findbarHeight = this.bar.clientHeight; + var inputContainerHeight = this.bar.firstElementChild.clientHeight; + + if (findbarHeight > inputContainerHeight) { + this.bar.classList.add("wrapContainers"); + } + } + }]); + + return PDFFindBar; +}(); + +exports.PDFFindBar = PDFFindBar; + +/***/ }), +/* 17 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFFindController = exports.FindState = void 0; + +var _pdfjsLib = __webpack_require__(7); + +var _pdf_find_utils = __webpack_require__(18); + +var _ui_utils = __webpack_require__(6); + +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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +var FindState = { + FOUND: 0, + NOT_FOUND: 1, + WRAPPED: 2, + PENDING: 3 +}; +exports.FindState = FindState; +var FIND_TIMEOUT = 250; +var MATCH_SCROLL_OFFSET_TOP = -50; +var MATCH_SCROLL_OFFSET_LEFT = -400; +var CHARACTERS_TO_NORMALIZE = { + "\u2018": "'", + "\u2019": "'", + "\u201A": "'", + "\u201B": "'", + "\u201C": '"', + "\u201D": '"', + "\u201E": '"', + "\u201F": '"', + "\xBC": "1/4", + "\xBD": "1/2", + "\xBE": "3/4" +}; +var normalizationRegex = null; + +function normalize(text) { + if (!normalizationRegex) { + var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(""); + normalizationRegex = new RegExp("[".concat(replace, "]"), "g"); + } + + var diffs = null; + var normalizedText = text.replace(normalizationRegex, function (ch, index) { + var normalizedCh = CHARACTERS_TO_NORMALIZE[ch], + diff = normalizedCh.length - ch.length; + + if (diff !== 0) { + (diffs || (diffs = [])).push([index, diff]); + } + + return normalizedCh; + }); + return [normalizedText, diffs]; +} + +function getOriginalIndex(matchIndex) { + var diffs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + + if (!diffs) { + return matchIndex; + } + + var totalDiff = 0; + + var _iterator = _createForOfIteratorHelper(diffs), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var _step$value = _slicedToArray(_step.value, 2), + index = _step$value[0], + diff = _step$value[1]; + + var currentIndex = index + totalDiff; + + if (currentIndex >= matchIndex) { + break; + } + + if (currentIndex + diff > matchIndex) { + totalDiff += matchIndex - currentIndex; + break; + } + + totalDiff += diff; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + return matchIndex - totalDiff; +} + +var PDFFindController = /*#__PURE__*/function () { + function PDFFindController(_ref) { + var linkService = _ref.linkService, + eventBus = _ref.eventBus; + + _classCallCheck(this, PDFFindController); + + this._linkService = linkService; + this._eventBus = eventBus; + + this._reset(); + + eventBus._on("findbarclose", this._onFindBarClose.bind(this)); + } + + _createClass(PDFFindController, [{ + key: "highlightMatches", + get: function get() { + return this._highlightMatches; + } + }, { + key: "pageMatches", + get: function get() { + return this._pageMatches; + } + }, { + key: "pageMatchesLength", + get: function get() { + return this._pageMatchesLength; + } + }, { + key: "selected", + get: function get() { + return this._selected; + } + }, { + key: "state", + get: function get() { + return this._state; + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + if (this._pdfDocument) { + this._reset(); + } + + if (!pdfDocument) { + return; + } + + this._pdfDocument = pdfDocument; + + this._firstPageCapability.resolve(); + } + }, { + key: "executeCommand", + value: function executeCommand(cmd, state) { + var _this = this; + + if (!state) { + return; + } + + var pdfDocument = this._pdfDocument; + + if (this._state === null || this._shouldDirtyMatch(cmd, state)) { + this._dirtyMatch = true; + } + + this._state = state; + + if (cmd !== "findhighlightallchange") { + this._updateUIState(FindState.PENDING); + } + + this._firstPageCapability.promise.then(function () { + if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) { + return; + } + + _this._extractText(); + + var findbarClosed = !_this._highlightMatches; + var pendingTimeout = !!_this._findTimeout; + + if (_this._findTimeout) { + clearTimeout(_this._findTimeout); + _this._findTimeout = null; + } + + if (cmd === "find") { + _this._findTimeout = setTimeout(function () { + _this._nextMatch(); + + _this._findTimeout = null; + }, FIND_TIMEOUT); + } else if (_this._dirtyMatch) { + _this._nextMatch(); + } else if (cmd === "findagain") { + _this._nextMatch(); + + if (findbarClosed && _this._state.highlightAll) { + _this._updateAllPages(); + } + } else if (cmd === "findhighlightallchange") { + if (pendingTimeout) { + _this._nextMatch(); + } else { + _this._highlightMatches = true; + } + + _this._updateAllPages(); + } else { + _this._nextMatch(); + } + }); + } + }, { + key: "scrollMatchIntoView", + value: function scrollMatchIntoView(_ref2) { + var _ref2$element = _ref2.element, + element = _ref2$element === void 0 ? null : _ref2$element, + _ref2$pageIndex = _ref2.pageIndex, + pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex, + _ref2$matchIndex = _ref2.matchIndex, + matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex; + + if (!this._scrollMatches || !element) { + return; + } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) { + return; + } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) { + return; + } + + this._scrollMatches = false; + var spot = { + top: MATCH_SCROLL_OFFSET_TOP, + left: MATCH_SCROLL_OFFSET_LEFT + }; + (0, _ui_utils.scrollIntoView)(element, spot, true); + } + }, { + key: "_reset", + value: function _reset() { + this._highlightMatches = false; + this._scrollMatches = false; + this._pdfDocument = null; + this._pageMatches = []; + this._pageMatchesLength = []; + this._state = null; + this._selected = { + pageIdx: -1, + matchIdx: -1 + }; + this._offset = { + pageIdx: null, + matchIdx: null, + wrapped: false + }; + this._extractTextPromises = []; + this._pageContents = []; + this._pageDiffs = []; + this._matchesCountTotal = 0; + this._pagesToSearch = null; + this._pendingFindMatches = new Set(); + this._resumePageIdx = null; + this._dirtyMatch = false; + clearTimeout(this._findTimeout); + this._findTimeout = null; + this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)(); + } + }, { + key: "_query", + get: function get() { + if (this._state.query !== this._rawQuery) { + this._rawQuery = this._state.query; + + var _normalize = normalize(this._state.query); + + var _normalize2 = _slicedToArray(_normalize, 1); + + this._normalizedQuery = _normalize2[0]; + } + + return this._normalizedQuery; + } + }, { + key: "_shouldDirtyMatch", + value: function _shouldDirtyMatch(cmd, state) { + if (state.query !== this._state.query) { + return true; + } + + switch (cmd) { + case "findagain": + var pageNumber = this._selected.pageIdx + 1; + var linkService = this._linkService; + + if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) { + return true; + } + + return false; + + case "findhighlightallchange": + return false; + } + + return true; + } + }, { + key: "_prepareMatches", + value: function _prepareMatches(matchesWithLength, matches, matchesLength) { + function isSubTerm(currentIndex) { + var currentElem = matchesWithLength[currentIndex]; + var nextElem = matchesWithLength[currentIndex + 1]; + + if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) { + currentElem.skipped = true; + return true; + } + + for (var i = currentIndex - 1; i >= 0; i--) { + var prevElem = matchesWithLength[i]; + + if (prevElem.skipped) { + continue; + } + + if (prevElem.match + prevElem.matchLength < currentElem.match) { + break; + } + + if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) { + currentElem.skipped = true; + return true; + } + } + + return false; + } + + matchesWithLength.sort(function (a, b) { + return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match; + }); + + for (var i = 0, len = matchesWithLength.length; i < len; i++) { + if (isSubTerm(i)) { + continue; + } + + matches.push(matchesWithLength[i].match); + matchesLength.push(matchesWithLength[i].matchLength); + } + } + }, { + key: "_isEntireWord", + value: function _isEntireWord(content, startIdx, length) { + if (startIdx > 0) { + var first = content.charCodeAt(startIdx); + var limit = content.charCodeAt(startIdx - 1); + + if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) { + return false; + } + } + + var endIdx = startIdx + length - 1; + + if (endIdx < content.length - 1) { + var last = content.charCodeAt(endIdx); + + var _limit = content.charCodeAt(endIdx + 1); + + if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) { + return false; + } + } + + return true; + } + }, { + key: "_calculatePhraseMatch", + value: function _calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord) { + var matches = [], + matchesLength = []; + var queryLen = query.length; + var matchIdx = -queryLen; + + while (true) { + matchIdx = pageContent.indexOf(query, matchIdx + queryLen); + + if (matchIdx === -1) { + break; + } + + if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) { + continue; + } + + var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs), + matchEnd = matchIdx + queryLen - 1, + originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1; + matches.push(originalMatchIdx); + matchesLength.push(originalQueryLen); + } + + this._pageMatches[pageIndex] = matches; + this._pageMatchesLength[pageIndex] = matchesLength; + } + }, { + key: "_calculateWordMatch", + value: function _calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord) { + var matchesWithLength = []; + var queryArray = query.match(/\S+/g); + + for (var i = 0, len = queryArray.length; i < len; i++) { + var subquery = queryArray[i]; + var subqueryLen = subquery.length; + var matchIdx = -subqueryLen; + + while (true) { + matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen); + + if (matchIdx === -1) { + break; + } + + if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) { + continue; + } + + var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs), + matchEnd = matchIdx + subqueryLen - 1, + originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1; + matchesWithLength.push({ + match: originalMatchIdx, + matchLength: originalQueryLen, + skipped: false + }); + } + } + + this._pageMatchesLength[pageIndex] = []; + this._pageMatches[pageIndex] = []; + + this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]); + } + }, { + key: "_calculateMatch", + value: function _calculateMatch(pageIndex) { + var pageContent = this._pageContents[pageIndex]; + var pageDiffs = this._pageDiffs[pageIndex]; + var query = this._query; + var _this$_state = this._state, + caseSensitive = _this$_state.caseSensitive, + entireWord = _this$_state.entireWord, + phraseSearch = _this$_state.phraseSearch; + + if (query.length === 0) { + return; + } + + if (!caseSensitive) { + pageContent = pageContent.toLowerCase(); + query = query.toLowerCase(); + } + + if (phraseSearch) { + this._calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord); + } else { + this._calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord); + } + + if (this._state.highlightAll) { + this._updatePage(pageIndex); + } + + if (this._resumePageIdx === pageIndex) { + this._resumePageIdx = null; + + this._nextPageMatch(); + } + + var pageMatchesCount = this._pageMatches[pageIndex].length; + + if (pageMatchesCount > 0) { + this._matchesCountTotal += pageMatchesCount; + + this._updateUIResultsCount(); + } + } + }, { + key: "_extractText", + value: function _extractText() { + var _this2 = this; + + if (this._extractTextPromises.length > 0) { + return; + } + + var promise = Promise.resolve(); + + var _loop = function _loop(i, ii) { + var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)(); + _this2._extractTextPromises[i] = extractTextCapability.promise; + promise = promise.then(function () { + return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) { + return pdfPage.getTextContent({ + normalizeWhitespace: true + }); + }).then(function (textContent) { + var textItems = textContent.items; + var strBuf = []; + + for (var j = 0, jj = textItems.length; j < jj; j++) { + strBuf.push(textItems[j].str); + } + + var _normalize3 = normalize(strBuf.join("")); + + var _normalize4 = _slicedToArray(_normalize3, 2); + + _this2._pageContents[i] = _normalize4[0]; + _this2._pageDiffs[i] = _normalize4[1]; + extractTextCapability.resolve(i); + }, function (reason) { + console.error("Unable to get text content for page ".concat(i + 1), reason); + _this2._pageContents[i] = ""; + _this2._pageDiffs[i] = null; + extractTextCapability.resolve(i); + }); + }); + }; + + for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) { + _loop(i, ii); + } + } + }, { + key: "_updatePage", + value: function _updatePage(index) { + if (this._scrollMatches && this._selected.pageIdx === index) { + this._linkService.page = index + 1; + } + + this._eventBus.dispatch("updatetextlayermatches", { + source: this, + pageIndex: index + }); + } + }, { + key: "_updateAllPages", + value: function _updateAllPages() { + this._eventBus.dispatch("updatetextlayermatches", { + source: this, + pageIndex: -1 + }); + } + }, { + key: "_nextMatch", + value: function _nextMatch() { + var _this3 = this; + + var previous = this._state.findPrevious; + var currentPageIndex = this._linkService.page - 1; + var numPages = this._linkService.pagesCount; + this._highlightMatches = true; + + if (this._dirtyMatch) { + this._dirtyMatch = false; + this._selected.pageIdx = this._selected.matchIdx = -1; + this._offset.pageIdx = currentPageIndex; + this._offset.matchIdx = null; + this._offset.wrapped = false; + this._resumePageIdx = null; + this._pageMatches.length = 0; + this._pageMatchesLength.length = 0; + this._matchesCountTotal = 0; + + this._updateAllPages(); + + for (var i = 0; i < numPages; i++) { + if (this._pendingFindMatches.has(i)) { + continue; + } + + this._pendingFindMatches.add(i); + + this._extractTextPromises[i].then(function (pageIdx) { + _this3._pendingFindMatches["delete"](pageIdx); + + _this3._calculateMatch(pageIdx); + }); + } + } + + if (this._query === "") { + this._updateUIState(FindState.FOUND); + + return; + } + + if (this._resumePageIdx) { + return; + } + + var offset = this._offset; + this._pagesToSearch = numPages; + + if (offset.matchIdx !== null) { + var numPageMatches = this._pageMatches[offset.pageIdx].length; + + if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) { + offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1; + + this._updateMatch(true); + + return; + } + + this._advanceOffsetPage(previous); + } + + this._nextPageMatch(); + } + }, { + key: "_matchesReady", + value: function _matchesReady(matches) { + var offset = this._offset; + var numMatches = matches.length; + var previous = this._state.findPrevious; + + if (numMatches) { + offset.matchIdx = previous ? numMatches - 1 : 0; + + this._updateMatch(true); + + return true; + } + + this._advanceOffsetPage(previous); + + if (offset.wrapped) { + offset.matchIdx = null; + + if (this._pagesToSearch < 0) { + this._updateMatch(false); + + return true; + } + } + + return false; + } + }, { + key: "_nextPageMatch", + value: function _nextPageMatch() { + if (this._resumePageIdx !== null) { + console.error("There can only be one pending page."); + } + + var matches = null; + + do { + var pageIdx = this._offset.pageIdx; + matches = this._pageMatches[pageIdx]; + + if (!matches) { + this._resumePageIdx = pageIdx; + break; + } + } while (!this._matchesReady(matches)); + } + }, { + key: "_advanceOffsetPage", + value: function _advanceOffsetPage(previous) { + var offset = this._offset; + var numPages = this._linkService.pagesCount; + offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1; + offset.matchIdx = null; + this._pagesToSearch--; + + if (offset.pageIdx >= numPages || offset.pageIdx < 0) { + offset.pageIdx = previous ? numPages - 1 : 0; + offset.wrapped = true; + } + } + }, { + key: "_updateMatch", + value: function _updateMatch() { + var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var state = FindState.NOT_FOUND; + var wrapped = this._offset.wrapped; + this._offset.wrapped = false; + + if (found) { + var previousPage = this._selected.pageIdx; + this._selected.pageIdx = this._offset.pageIdx; + this._selected.matchIdx = this._offset.matchIdx; + state = wrapped ? FindState.WRAPPED : FindState.FOUND; + + if (previousPage !== -1 && previousPage !== this._selected.pageIdx) { + this._updatePage(previousPage); + } + } + + this._updateUIState(state, this._state.findPrevious); + + if (this._selected.pageIdx !== -1) { + this._scrollMatches = true; + + this._updatePage(this._selected.pageIdx); + } + } + }, { + key: "_onFindBarClose", + value: function _onFindBarClose(evt) { + var _this4 = this; + + var pdfDocument = this._pdfDocument; + + this._firstPageCapability.promise.then(function () { + if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) { + return; + } + + if (_this4._findTimeout) { + clearTimeout(_this4._findTimeout); + _this4._findTimeout = null; + } + + if (_this4._resumePageIdx) { + _this4._resumePageIdx = null; + _this4._dirtyMatch = true; + } + + _this4._updateUIState(FindState.FOUND); + + _this4._highlightMatches = false; + + _this4._updateAllPages(); + }); + } + }, { + key: "_requestMatchesCount", + value: function _requestMatchesCount() { + var _this$_selected = this._selected, + pageIdx = _this$_selected.pageIdx, + matchIdx = _this$_selected.matchIdx; + var current = 0, + total = this._matchesCountTotal; + + if (matchIdx !== -1) { + for (var i = 0; i < pageIdx; i++) { + var _this$_pageMatches$i; + + current += ((_this$_pageMatches$i = this._pageMatches[i]) === null || _this$_pageMatches$i === void 0 ? void 0 : _this$_pageMatches$i.length) || 0; + } + + current += matchIdx + 1; + } + + if (current < 1 || current > total) { + current = total = 0; + } + + return { + current: current, + total: total + }; + } + }, { + key: "_updateUIResultsCount", + value: function _updateUIResultsCount() { + this._eventBus.dispatch("updatefindmatchescount", { + source: this, + matchesCount: this._requestMatchesCount() + }); + } + }, { + key: "_updateUIState", + value: function _updateUIState(state, previous) { + var _this$_state$query, _this$_state2; + + this._eventBus.dispatch("updatefindcontrolstate", { + source: this, + state: state, + previous: previous, + matchesCount: this._requestMatchesCount(), + rawQuery: (_this$_state$query = (_this$_state2 = this._state) === null || _this$_state2 === void 0 ? void 0 : _this$_state2.query) !== null && _this$_state$query !== void 0 ? _this$_state$query : null + }); + } + }]); + + return PDFFindController; +}(); + +exports.PDFFindController = PDFFindController; + +/***/ }), +/* 18 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getCharacterType = getCharacterType; +exports.CharacterType = void 0; +var CharacterType = { + SPACE: 0, + ALPHA_LETTER: 1, + PUNCT: 2, + HAN_LETTER: 3, + KATAKANA_LETTER: 4, + HIRAGANA_LETTER: 5, + HALFWIDTH_KATAKANA_LETTER: 6, + THAI_LETTER: 7 +}; +exports.CharacterType = CharacterType; + +function isAlphabeticalScript(charCode) { + return charCode < 0x2e80; +} + +function isAscii(charCode) { + return (charCode & 0xff80) === 0; +} + +function isAsciiAlpha(charCode) { + return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a; +} + +function isAsciiDigit(charCode) { + return charCode >= 0x30 && charCode <= 0x39; +} + +function isAsciiSpace(charCode) { + return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a; +} + +function isHan(charCode) { + return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff; +} + +function isKatakana(charCode) { + return charCode >= 0x30a0 && charCode <= 0x30ff; +} + +function isHiragana(charCode) { + return charCode >= 0x3040 && charCode <= 0x309f; +} + +function isHalfwidthKatakana(charCode) { + return charCode >= 0xff60 && charCode <= 0xff9f; +} + +function isThai(charCode) { + return (charCode & 0xff80) === 0x0e00; +} + +function getCharacterType(charCode) { + if (isAlphabeticalScript(charCode)) { + if (isAscii(charCode)) { + if (isAsciiSpace(charCode)) { + return CharacterType.SPACE; + } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) { + return CharacterType.ALPHA_LETTER; + } + + return CharacterType.PUNCT; + } else if (isThai(charCode)) { + return CharacterType.THAI_LETTER; + } else if (charCode === 0xa0) { + return CharacterType.SPACE; + } + + return CharacterType.ALPHA_LETTER; + } + + if (isHan(charCode)) { + return CharacterType.HAN_LETTER; + } else if (isKatakana(charCode)) { + return CharacterType.KATAKANA_LETTER; + } else if (isHiragana(charCode)) { + return CharacterType.HIRAGANA_LETTER; + } else if (isHalfwidthKatakana(charCode)) { + return CharacterType.HALFWIDTH_KATAKANA_LETTER; + } + + return CharacterType.ALPHA_LETTER; +} + +/***/ }), +/* 19 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.isDestArraysEqual = isDestArraysEqual; +exports.isDestHashesEqual = isDestHashesEqual; +exports.PDFHistory = void 0; + +var _ui_utils = __webpack_require__(6); + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 HASH_CHANGE_TIMEOUT = 1000; +var POSITION_UPDATED_THRESHOLD = 50; +var UPDATE_VIEWAREA_TIMEOUT = 1000; + +function getCurrentHash() { + return document.location.hash; +} + +var PDFHistory = /*#__PURE__*/function () { + function PDFHistory(_ref) { + var _this = this; + + var linkService = _ref.linkService, + eventBus = _ref.eventBus; + + _classCallCheck(this, PDFHistory); + + this.linkService = linkService; + this.eventBus = eventBus; + this._initialized = false; + this._fingerprint = ""; + this.reset(); + this._boundEvents = null; + this._isViewerInPresentationMode = false; + + this.eventBus._on("presentationmodechanged", function (evt) { + _this._isViewerInPresentationMode = evt.state !== _ui_utils.PresentationModeState.NORMAL; + }); + + this.eventBus._on("pagesinit", function () { + _this._isPagesLoaded = false; + + _this.eventBus._on("pagesloaded", function (evt) { + _this._isPagesLoaded = !!evt.pagesCount; + }, { + once: true + }); + }); + } + + _createClass(PDFHistory, [{ + key: "initialize", + value: function initialize(_ref2) { + var fingerprint = _ref2.fingerprint, + _ref2$resetHistory = _ref2.resetHistory, + resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory, + _ref2$updateUrl = _ref2.updateUrl, + updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl; + + if (!fingerprint || typeof fingerprint !== "string") { + console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.'); + return; + } + + if (this._initialized) { + this.reset(); + } + + var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint; + this._fingerprint = fingerprint; + this._updateUrl = updateUrl === true; + this._initialized = true; + + this._bindEvents(); + + var state = window.history.state; + this._popStateInProgress = false; + this._blockHashChange = 0; + this._currentHash = getCurrentHash(); + this._numPositionUpdates = 0; + this._uid = this._maxUid = 0; + this._destination = null; + this._position = null; + + if (!this._isValidState(state, true) || resetHistory) { + var _this$_parseCurrentHa = this._parseCurrentHash(true), + hash = _this$_parseCurrentHa.hash, + page = _this$_parseCurrentHa.page, + rotation = _this$_parseCurrentHa.rotation; + + if (!hash || reInitialized || resetHistory) { + this._pushOrReplaceState(null, true); + + return; + } + + this._pushOrReplaceState({ + hash: hash, + page: page, + rotation: rotation + }, true); + + return; + } + + var destination = state.destination; + + this._updateInternalState(destination, state.uid, true); + + if (destination.rotation !== undefined) { + this._initialRotation = destination.rotation; + } + + if (destination.dest) { + this._initialBookmark = JSON.stringify(destination.dest); + this._destination.page = null; + } else if (destination.hash) { + this._initialBookmark = destination.hash; + } else if (destination.page) { + this._initialBookmark = "page=".concat(destination.page); + } + } + }, { + key: "reset", + value: function reset() { + if (this._initialized) { + this._pageHide(); + + this._initialized = false; + + this._unbindEvents(); + } + + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + + this._initialBookmark = null; + this._initialRotation = null; + } + }, { + key: "push", + value: function push(_ref3) { + var _this2 = this; + + var _ref3$namedDest = _ref3.namedDest, + namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest, + explicitDest = _ref3.explicitDest, + pageNumber = _ref3.pageNumber; + + if (!this._initialized) { + return; + } + + if (namedDest && typeof namedDest !== "string") { + console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter.")); + return; + } else if (!Array.isArray(explicitDest)) { + console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter.")); + return; + } else if (!this._isValidPage(pageNumber)) { + if (pageNumber !== null || this._destination) { + console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); + return; + } + } + + var hash = namedDest || JSON.stringify(explicitDest); + + if (!hash) { + return; + } + + var forceReplace = false; + + if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) { + if (this._destination.page) { + return; + } + + forceReplace = true; + } + + if (this._popStateInProgress && !forceReplace) { + return; + } + + this._pushOrReplaceState({ + dest: explicitDest, + hash: hash, + page: pageNumber, + rotation: this.linkService.rotation + }, forceReplace); + + if (!this._popStateInProgress) { + this._popStateInProgress = true; + Promise.resolve().then(function () { + _this2._popStateInProgress = false; + }); + } + } + }, { + key: "pushPage", + value: function pushPage(pageNumber) { + var _this$_destination, + _this3 = this; + + if (!this._initialized) { + return; + } + + if (!this._isValidPage(pageNumber)) { + console.error("PDFHistory.pushPage: \"".concat(pageNumber, "\" is not a valid page number.")); + return; + } + + if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) { + return; + } + + if (this._popStateInProgress) { + return; + } + + this._pushOrReplaceState({ + dest: null, + hash: "page=".concat(pageNumber), + page: pageNumber, + rotation: this.linkService.rotation + }); + + if (!this._popStateInProgress) { + this._popStateInProgress = true; + Promise.resolve().then(function () { + _this3._popStateInProgress = false; + }); + } + } + }, { + key: "pushCurrentPosition", + value: function pushCurrentPosition() { + if (!this._initialized || this._popStateInProgress) { + return; + } + + this._tryPushCurrentPosition(); + } + }, { + key: "back", + value: function back() { + if (!this._initialized || this._popStateInProgress) { + return; + } + + var state = window.history.state; + + if (this._isValidState(state) && state.uid > 0) { + window.history.back(); + } + } + }, { + key: "forward", + value: function forward() { + if (!this._initialized || this._popStateInProgress) { + return; + } + + var state = window.history.state; + + if (this._isValidState(state) && state.uid < this._maxUid) { + window.history.forward(); + } + } + }, { + key: "popStateInProgress", + get: function get() { + return this._initialized && (this._popStateInProgress || this._blockHashChange > 0); + } + }, { + key: "initialBookmark", + get: function get() { + return this._initialized ? this._initialBookmark : null; + } + }, { + key: "initialRotation", + get: function get() { + return this._initialized ? this._initialRotation : null; + } + }, { + key: "_pushOrReplaceState", + value: function _pushOrReplaceState(destination) { + var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var shouldReplace = forceReplace || !this._destination; + var newState = { + fingerprint: this._fingerprint, + uid: shouldReplace ? this._uid : this._uid + 1, + destination: destination + }; + + this._updateInternalState(destination, newState.uid); + + var newUrl; + + if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) { + var baseUrl = document.location.href.split("#")[0]; + + if (!baseUrl.startsWith("file://")) { + newUrl = "".concat(baseUrl, "#").concat(destination.hash); + } + } + + if (shouldReplace) { + window.history.replaceState(newState, "", newUrl); + } else { + window.history.pushState(newState, "", newUrl); + } + } + }, { + key: "_tryPushCurrentPosition", + value: function _tryPushCurrentPosition() { + var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._position) { + return; + } + + var position = this._position; + + if (temporary) { + position = Object.assign(Object.create(null), this._position); + position.temporary = true; + } + + if (!this._destination) { + this._pushOrReplaceState(position); + + return; + } + + if (this._destination.temporary) { + this._pushOrReplaceState(position, true); + + return; + } + + if (this._destination.hash === position.hash) { + return; + } + + if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) { + return; + } + + var forceReplace = false; + + if (this._destination.page >= position.first && this._destination.page <= position.page) { + if (this._destination.dest !== undefined || !this._destination.first) { + return; + } + + forceReplace = true; + } + + this._pushOrReplaceState(position, forceReplace); + } + }, { + key: "_isValidPage", + value: function _isValidPage(val) { + return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount; + } + }, { + key: "_isValidState", + value: function _isValidState(state) { + var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (!state) { + return false; + } + + if (state.fingerprint !== this._fingerprint) { + if (checkReload) { + if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) { + return false; + } + + var _performance$getEntri = performance.getEntriesByType("navigation"), + _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1), + perfEntry = _performance$getEntri2[0]; + + if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== "reload") { + return false; + } + } else { + return false; + } + } + + if (!Number.isInteger(state.uid) || state.uid < 0) { + return false; + } + + if (state.destination === null || _typeof(state.destination) !== "object") { + return false; + } + + return true; + } + }, { + key: "_updateInternalState", + value: function _updateInternalState(destination, uid) { + var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + + if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) { + delete destination.temporary; + } + + this._destination = destination; + this._uid = uid; + this._maxUid = Math.max(this._maxUid, uid); + this._numPositionUpdates = 0; + } + }, { + key: "_parseCurrentHash", + value: function _parseCurrentHash() { + var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var hash = unescape(getCurrentHash()).substring(1); + var params = (0, _ui_utils.parseQueryString)(hash); + var nameddest = params.nameddest || ""; + var page = params.page | 0; + + if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) { + page = null; + } + + return { + hash: hash, + page: page, + rotation: this.linkService.rotation + }; + } + }, { + key: "_updateViewarea", + value: function _updateViewarea(_ref4) { + var _this4 = this; + + var location = _ref4.location; + + if (this._updateViewareaTimeout) { + clearTimeout(this._updateViewareaTimeout); + this._updateViewareaTimeout = null; + } + + this._position = { + hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1), + page: this.linkService.page, + first: location.pageNumber, + rotation: location.rotation + }; + + if (this._popStateInProgress) { + return; + } + + if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) { + this._numPositionUpdates++; + } + + if (UPDATE_VIEWAREA_TIMEOUT > 0) { + this._updateViewareaTimeout = setTimeout(function () { + if (!_this4._popStateInProgress) { + _this4._tryPushCurrentPosition(true); + } + + _this4._updateViewareaTimeout = null; + }, UPDATE_VIEWAREA_TIMEOUT); + } + } + }, { + key: "_popState", + value: function _popState(_ref5) { + var _this5 = this; + + var state = _ref5.state; + var newHash = getCurrentHash(), + hashChanged = this._currentHash !== newHash; + this._currentHash = newHash; + + if (!state) { + this._uid++; + + var _this$_parseCurrentHa2 = this._parseCurrentHash(), + hash = _this$_parseCurrentHa2.hash, + page = _this$_parseCurrentHa2.page, + rotation = _this$_parseCurrentHa2.rotation; + + this._pushOrReplaceState({ + hash: hash, + page: page, + rotation: rotation + }, true); + + return; + } + + if (!this._isValidState(state)) { + return; + } + + this._popStateInProgress = true; + + if (hashChanged) { + this._blockHashChange++; + (0, _ui_utils.waitOnEventOrTimeout)({ + target: window, + name: "hashchange", + delay: HASH_CHANGE_TIMEOUT + }).then(function () { + _this5._blockHashChange--; + }); + } + + var destination = state.destination; + + this._updateInternalState(destination, state.uid, true); + + if ((0, _ui_utils.isValidRotation)(destination.rotation)) { + this.linkService.rotation = destination.rotation; + } + + if (destination.dest) { + this.linkService.goToDestination(destination.dest); + } else if (destination.hash) { + this.linkService.setHash(destination.hash); + } else if (destination.page) { + this.linkService.page = destination.page; + } + + Promise.resolve().then(function () { + _this5._popStateInProgress = false; + }); + } + }, { + key: "_pageHide", + value: function _pageHide() { + if (!this._destination || this._destination.temporary) { + this._tryPushCurrentPosition(); + } + } + }, { + key: "_bindEvents", + value: function _bindEvents() { + if (this._boundEvents) { + return; + } + + this._boundEvents = { + updateViewarea: this._updateViewarea.bind(this), + popState: this._popState.bind(this), + pageHide: this._pageHide.bind(this) + }; + + this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea); + + window.addEventListener("popstate", this._boundEvents.popState); + window.addEventListener("pagehide", this._boundEvents.pageHide); + } + }, { + key: "_unbindEvents", + value: function _unbindEvents() { + if (!this._boundEvents) { + return; + } + + this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea); + + window.removeEventListener("popstate", this._boundEvents.popState); + window.removeEventListener("pagehide", this._boundEvents.pageHide); + this._boundEvents = null; + } + }]); + + return PDFHistory; +}(); + +exports.PDFHistory = PDFHistory; + +function isDestHashesEqual(destHash, pushHash) { + if (typeof destHash !== "string" || typeof pushHash !== "string") { + return false; + } + + if (destHash === pushHash) { + return true; + } + + var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash), + nameddest = _parseQueryString.nameddest; + + if (nameddest === pushHash) { + return true; + } + + return false; +} + +function isDestArraysEqual(firstDest, secondDest) { + function isEntryEqual(first, second) { + if (_typeof(first) !== _typeof(second)) { + return false; + } + + if (Array.isArray(first) || Array.isArray(second)) { + return false; + } + + if (first !== null && _typeof(first) === "object" && second !== null) { + if (Object.keys(first).length !== Object.keys(second).length) { + return false; + } + + for (var key in first) { + if (!isEntryEqual(first[key], second[key])) { + return false; + } + } + + return true; + } + + return first === second || Number.isNaN(first) && Number.isNaN(second); + } + + if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) { + return false; + } + + if (firstDest.length !== secondDest.length) { + return false; + } + + for (var i = 0, ii = firstDest.length; i < ii; i++) { + if (!isEntryEqual(firstDest[i], secondDest[i])) { + return false; + } + } + + return true; +} + +/***/ }), +/* 20 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFLayerViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _base_tree_viewer = __webpack_require__(14); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFLayerViewer = /*#__PURE__*/function (_BaseTreeViewer) { + _inherits(PDFLayerViewer, _BaseTreeViewer); + + var _super = _createSuper(PDFLayerViewer); + + function PDFLayerViewer(options) { + var _this; + + _classCallCheck(this, PDFLayerViewer); + + _this = _super.call(this, options); + _this.l10n = options.l10n; + + _this.eventBus._on("resetlayers", _this._resetLayers.bind(_assertThisInitialized(_this))); + + _this.eventBus._on("togglelayerstree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this))); + + return _this; + } + + _createClass(PDFLayerViewer, [{ + key: "reset", + value: function reset() { + _get(_getPrototypeOf(PDFLayerViewer.prototype), "reset", this).call(this); + + this._optionalContentConfig = null; + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(layersCount) { + this.eventBus.dispatch("layersloaded", { + source: this, + layersCount: layersCount + }); + } + }, { + key: "_bindLink", + value: function _bindLink(element, _ref) { + var _this2 = this; + + var groupId = _ref.groupId, + input = _ref.input; + + var setVisibility = function setVisibility() { + _this2._optionalContentConfig.setVisibility(groupId, input.checked); + + _this2.eventBus.dispatch("optionalcontentconfig", { + source: _this2, + promise: Promise.resolve(_this2._optionalContentConfig) + }); + }; + + element.onclick = function (evt) { + if (evt.target === input) { + setVisibility(); + return true; + } else if (evt.target !== element) { + return true; + } + + input.checked = !input.checked; + setVisibility(); + return false; + }; + } + }, { + key: "_setNestedName", + value: function () { + var _setNestedName2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(element, _ref2) { + var _ref2$name, name; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _ref2$name = _ref2.name, name = _ref2$name === void 0 ? null : _ref2$name; + + if (!(typeof name === "string")) { + _context.next = 4; + break; + } + + element.textContent = this._normalizeTextContent(name); + return _context.abrupt("return"); + + case 4: + _context.next = 6; + return this.l10n.get("additional_layers"); + + case 6: + element.textContent = _context.sent; + element.style.fontStyle = "italic"; + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _setNestedName(_x, _x2) { + return _setNestedName2.apply(this, arguments); + } + + return _setNestedName; + }() + }, { + key: "_addToggleButton", + value: function _addToggleButton(div, _ref3) { + var _ref3$name = _ref3.name, + name = _ref3$name === void 0 ? null : _ref3$name; + + _get(_getPrototypeOf(PDFLayerViewer.prototype), "_addToggleButton", this).call(this, div, name === null); + } + }, { + key: "_toggleAllTreeItems", + value: function _toggleAllTreeItems() { + if (!this._optionalContentConfig) { + return; + } + + _get(_getPrototypeOf(PDFLayerViewer.prototype), "_toggleAllTreeItems", this).call(this); + } + }, { + key: "render", + value: function render(_ref4) { + var optionalContentConfig = _ref4.optionalContentConfig, + pdfDocument = _ref4.pdfDocument; + + if (this._optionalContentConfig) { + this.reset(); + } + + this._optionalContentConfig = optionalContentConfig || null; + this._pdfDocument = pdfDocument || null; + var groups = optionalContentConfig === null || optionalContentConfig === void 0 ? void 0 : optionalContentConfig.getOrder(); + + if (!groups) { + this._dispatchEvent(0); + + return; + } + + var fragment = document.createDocumentFragment(), + queue = [{ + parent: fragment, + groups: groups + }]; + var layersCount = 0, + hasAnyNesting = false; + + while (queue.length > 0) { + var levelData = queue.shift(); + + var _iterator = _createForOfIteratorHelper(levelData.groups), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var groupId = _step.value; + var div = document.createElement("div"); + div.className = "treeItem"; + var element = document.createElement("a"); + div.appendChild(element); + + if (_typeof(groupId) === "object") { + hasAnyNesting = true; + + this._addToggleButton(div, groupId); + + this._setNestedName(element, groupId); + + var itemsDiv = document.createElement("div"); + itemsDiv.className = "treeItems"; + div.appendChild(itemsDiv); + queue.push({ + parent: itemsDiv, + groups: groupId.order + }); + } else { + var group = optionalContentConfig.getGroup(groupId); + var input = document.createElement("input"); + + this._bindLink(element, { + groupId: groupId, + input: input + }); + + input.type = "checkbox"; + input.id = groupId; + input.checked = group.visible; + var label = document.createElement("label"); + label.setAttribute("for", groupId); + label.textContent = this._normalizeTextContent(group.name); + element.appendChild(input); + element.appendChild(label); + layersCount++; + } + + levelData.parent.appendChild(div); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + this._finishRendering(fragment, layersCount, hasAnyNesting); + } + }, { + key: "_resetLayers", + value: function () { + var _resetLayers2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var optionalContentConfig; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (this._optionalContentConfig) { + _context2.next = 2; + break; + } + + return _context2.abrupt("return"); + + case 2: + _context2.next = 4; + return this._pdfDocument.getOptionalContentConfig(); + + case 4: + optionalContentConfig = _context2.sent; + this.eventBus.dispatch("optionalcontentconfig", { + source: this, + promise: Promise.resolve(optionalContentConfig) + }); + this.render({ + optionalContentConfig: optionalContentConfig, + pdfDocument: this._pdfDocument + }); + + case 7: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function _resetLayers() { + return _resetLayers2.apply(this, arguments); + } + + return _resetLayers; + }() + }]); + + return PDFLayerViewer; +}(_base_tree_viewer.BaseTreeViewer); + +exports.PDFLayerViewer = PDFLayerViewer; + +/***/ }), +/* 21 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SimpleLinkService = exports.PDFLinkService = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _ui_utils = __webpack_require__(6); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +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 PDFLinkService = /*#__PURE__*/function () { + function PDFLinkService() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + eventBus = _ref.eventBus, + _ref$externalLinkTarg = _ref.externalLinkTarget, + externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg, + _ref$externalLinkRel = _ref.externalLinkRel, + externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel, + _ref$externalLinkEnab = _ref.externalLinkEnabled, + externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab, + _ref$ignoreDestinatio = _ref.ignoreDestinationZoom, + ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio; + + _classCallCheck(this, PDFLinkService); + + this.eventBus = eventBus; + this.externalLinkTarget = externalLinkTarget; + this.externalLinkRel = externalLinkRel; + this.externalLinkEnabled = externalLinkEnabled; + this._ignoreDestinationZoom = ignoreDestinationZoom; + this.baseUrl = null; + this.pdfDocument = null; + this.pdfViewer = null; + this.pdfHistory = null; + this._pagesRefCache = null; + } + + _createClass(PDFLinkService, [{ + key: "setDocument", + value: function setDocument(pdfDocument) { + var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + this.baseUrl = baseUrl; + this.pdfDocument = pdfDocument; + this._pagesRefCache = Object.create(null); + } + }, { + key: "setViewer", + value: function setViewer(pdfViewer) { + this.pdfViewer = pdfViewer; + } + }, { + key: "setHistory", + value: function setHistory(pdfHistory) { + this.pdfHistory = pdfHistory; + } + }, { + key: "pagesCount", + get: function get() { + return this.pdfDocument ? this.pdfDocument.numPages : 0; + } + }, { + key: "page", + get: function get() { + return this.pdfViewer.currentPageNumber; + }, + set: function set(value) { + this.pdfViewer.currentPageNumber = value; + } + }, { + key: "rotation", + get: function get() { + return this.pdfViewer.pagesRotation; + }, + set: function set(value) { + this.pdfViewer.pagesRotation = value; + } + }, { + key: "_goToDestinationHelper", + value: function _goToDestinationHelper(rawDest) { + var _this = this; + + var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + var explicitDest = arguments.length > 2 ? arguments[2] : undefined; + var destRef = explicitDest[0]; + var pageNumber; + + if (destRef instanceof Object) { + pageNumber = this._cachedPageNumber(destRef); + + if (pageNumber === null) { + this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) { + _this.cachePageRef(pageIndex + 1, destRef); + + _this._goToDestinationHelper(rawDest, namedDest, explicitDest); + })["catch"](function () { + console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\".")); + }); + return; + } + } else if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } else { + console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\".")); + return; + } + + if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) { + console.error("PDFLinkService._goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\".")); + return; + } + + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.push({ + namedDest: namedDest, + explicitDest: explicitDest, + pageNumber: pageNumber + }); + } + + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber, + destArray: explicitDest, + ignoreDestinationZoom: this._ignoreDestinationZoom + }); + } + }, { + key: "goToDestination", + value: function () { + var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dest) { + var namedDest, explicitDest; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this.pdfDocument) { + _context.next = 2; + break; + } + + return _context.abrupt("return"); + + case 2: + if (!(typeof dest === "string")) { + _context.next = 9; + break; + } + + namedDest = dest; + _context.next = 6; + return this.pdfDocument.getDestination(dest); + + case 6: + explicitDest = _context.sent; + _context.next = 13; + break; + + case 9: + namedDest = null; + _context.next = 12; + return dest; + + case 12: + explicitDest = _context.sent; + + case 13: + if (Array.isArray(explicitDest)) { + _context.next = 16; + break; + } + + console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\".")); + return _context.abrupt("return"); + + case 16: + this._goToDestinationHelper(dest, namedDest, explicitDest); + + case 17: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function goToDestination(_x) { + return _goToDestination.apply(this, arguments); + } + + return goToDestination; + }() + }, { + key: "goToPage", + value: function goToPage(val) { + if (!this.pdfDocument) { + return; + } + + var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0; + + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page.")); + return; + } + + if (this.pdfHistory) { + this.pdfHistory.pushCurrentPosition(); + this.pdfHistory.pushPage(pageNumber); + } + + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber + }); + } + }, { + key: "getDestinationHash", + value: function getDestinationHash(dest) { + if (typeof dest === "string") { + if (dest.length > 0) { + return this.getAnchorUrl("#" + escape(dest)); + } + } else if (Array.isArray(dest)) { + var str = JSON.stringify(dest); + + if (str.length > 0) { + return this.getAnchorUrl("#" + escape(str)); + } + } + + return this.getAnchorUrl(""); + } + }, { + key: "getAnchorUrl", + value: function getAnchorUrl(anchor) { + return (this.baseUrl || "") + anchor; + } + }, { + key: "setHash", + value: function setHash(hash) { + if (!this.pdfDocument) { + return; + } + + var pageNumber, dest; + + if (hash.includes("=")) { + var params = (0, _ui_utils.parseQueryString)(hash); + + if ("search" in params) { + this.eventBus.dispatch("findfromurlhash", { + source: this, + query: params.search.replace(/"/g, ""), + phraseSearch: params.phrase === "true" + }); + } + + if ("page" in params) { + pageNumber = params.page | 0 || 1; + } + + if ("zoom" in params) { + var zoomArgs = params.zoom.split(","); + var zoomArg = zoomArgs[0]; + var zoomArgNumber = parseFloat(zoomArg); + + if (!zoomArg.includes("Fit")) { + dest = [null, { + name: "XYZ" + }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg]; + } else { + if (zoomArg === "Fit" || zoomArg === "FitB") { + dest = [null, { + name: zoomArg + }]; + } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") { + dest = [null, { + name: zoomArg + }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null]; + } else if (zoomArg === "FitR") { + if (zoomArgs.length !== 5) { + console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'); + } else { + dest = [null, { + name: zoomArg + }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0]; + } + } else { + console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + "a valid zoom value."); + } + } + } + + if (dest) { + this.pdfViewer.scrollPageIntoView({ + pageNumber: pageNumber || this.page, + destArray: dest, + allowNegativeOffset: true + }); + } else if (pageNumber) { + this.page = pageNumber; + } + + if ("pagemode" in params) { + this.eventBus.dispatch("pagemode", { + source: this, + mode: params.pagemode + }); + } + + if ("nameddest" in params) { + this.goToDestination(params.nameddest); + } + } else { + dest = unescape(hash); + + try { + dest = JSON.parse(dest); + + if (!Array.isArray(dest)) { + dest = dest.toString(); + } + } catch (ex) {} + + if (typeof dest === "string" || isValidExplicitDestination(dest)) { + this.goToDestination(dest); + return; + } + + console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + "a valid destination."); + } + } + }, { + key: "executeNamedAction", + value: function executeNamedAction(action) { + switch (action) { + case "GoBack": + if (this.pdfHistory) { + this.pdfHistory.back(); + } + + break; + + case "GoForward": + if (this.pdfHistory) { + this.pdfHistory.forward(); + } + + break; + + case "NextPage": + this.pdfViewer.nextPage(); + break; + + case "PrevPage": + this.pdfViewer.previousPage(); + break; + + case "LastPage": + this.page = this.pagesCount; + break; + + case "FirstPage": + this.page = 1; + break; + + default: + break; + } + + this.eventBus.dispatch("namedaction", { + source: this, + action: action + }); + } + }, { + key: "cachePageRef", + value: function cachePageRef(pageNum, pageRef) { + if (!pageRef) { + return; + } + + var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); + this._pagesRefCache[refStr] = pageNum; + } + }, { + key: "_cachedPageNumber", + value: function _cachedPageNumber(pageRef) { + var _this$_pagesRefCache; + + var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen); + return ((_this$_pagesRefCache = this._pagesRefCache) === null || _this$_pagesRefCache === void 0 ? void 0 : _this$_pagesRefCache[refStr]) || null; + } + }, { + key: "isPageVisible", + value: function isPageVisible(pageNumber) { + return this.pdfViewer.isPageVisible(pageNumber); + } + }, { + key: "isPageCached", + value: function isPageCached(pageNumber) { + return this.pdfViewer.isPageCached(pageNumber); + } + }]); + + return PDFLinkService; +}(); + +exports.PDFLinkService = PDFLinkService; + +function isValidExplicitDestination(dest) { + if (!Array.isArray(dest)) { + return false; + } + + var destLength = dest.length; + + if (destLength < 2) { + return false; + } + + var page = dest[0]; + + if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) { + return false; + } + + var zoom = dest[1]; + + if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) { + return false; + } + + var allowNull = true; + + switch (zoom.name) { + case "XYZ": + if (destLength !== 5) { + return false; + } + + break; + + case "Fit": + case "FitB": + return destLength === 2; + + case "FitH": + case "FitBH": + case "FitV": + case "FitBV": + if (destLength !== 3) { + return false; + } + + break; + + case "FitR": + if (destLength !== 6) { + return false; + } + + allowNull = false; + break; + + default: + return false; + } + + for (var i = 2; i < destLength; i++) { + var param = dest[i]; + + if (!(typeof param === "number" || allowNull && param === null)) { + return false; + } + } + + return true; +} + +var SimpleLinkService = /*#__PURE__*/function () { + function SimpleLinkService() { + _classCallCheck(this, SimpleLinkService); + + this.externalLinkTarget = null; + this.externalLinkRel = null; + this.externalLinkEnabled = true; + this._ignoreDestinationZoom = false; + } + + _createClass(SimpleLinkService, [{ + key: "pagesCount", + get: function get() { + return 0; + } + }, { + key: "page", + get: function get() { + return 0; + }, + set: function set(value) {} + }, { + key: "rotation", + get: function get() { + return 0; + }, + set: function set(value) {} + }, { + key: "goToDestination", + value: function () { + var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dest) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function goToDestination(_x2) { + return _goToDestination2.apply(this, arguments); + } + + return goToDestination; + }() + }, { + key: "goToPage", + value: function goToPage(val) {} + }, { + key: "getDestinationHash", + value: function getDestinationHash(dest) { + return "#"; + } + }, { + key: "getAnchorUrl", + value: function getAnchorUrl(hash) { + return "#"; + } + }, { + key: "setHash", + value: function setHash(hash) {} + }, { + key: "executeNamedAction", + value: function executeNamedAction(action) {} + }, { + key: "cachePageRef", + value: function cachePageRef(pageNum, pageRef) {} + }, { + key: "isPageVisible", + value: function isPageVisible(pageNumber) { + return true; + } + }, { + key: "isPageCached", + value: function isPageCached(pageNumber) { + return true; + } + }]); + + return SimpleLinkService; +}(); + +exports.SimpleLinkService = SimpleLinkService; + +/***/ }), +/* 22 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFOutlineViewer = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _pdfjsLib = __webpack_require__(7); + +var _base_tree_viewer = __webpack_require__(14); + +var _ui_utils = __webpack_require__(6); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFOutlineViewer = /*#__PURE__*/function (_BaseTreeViewer) { + _inherits(PDFOutlineViewer, _BaseTreeViewer); + + var _super = _createSuper(PDFOutlineViewer); + + function PDFOutlineViewer(options) { + var _this; + + _classCallCheck(this, PDFOutlineViewer); + + _this = _super.call(this, options); + _this.linkService = options.linkService; + + _this.eventBus._on("toggleoutlinetree", _this._toggleAllTreeItems.bind(_assertThisInitialized(_this))); + + _this.eventBus._on("currentoutlineitem", _this._currentOutlineItem.bind(_assertThisInitialized(_this))); + + _this.eventBus._on("pagechanging", function (evt) { + _this._currentPageNumber = evt.pageNumber; + }); + + _this.eventBus._on("pagesloaded", function (evt) { + _this._isPagesLoaded = !!evt.pagesCount; + + if (_this._currentOutlineItemCapability && !_this._currentOutlineItemCapability.settled) { + _this._currentOutlineItemCapability.resolve(_this._isPagesLoaded); + } + }); + + _this.eventBus._on("sidebarviewchanged", function (evt) { + _this._sidebarView = evt.view; + }); + + return _this; + } + + _createClass(PDFOutlineViewer, [{ + key: "reset", + value: function reset() { + _get(_getPrototypeOf(PDFOutlineViewer.prototype), "reset", this).call(this); + + this._outline = null; + this._pageNumberToDestHashCapability = null; + this._currentPageNumber = 1; + this._isPagesLoaded = false; + + if (this._currentOutlineItemCapability && !this._currentOutlineItemCapability.settled) { + this._currentOutlineItemCapability.resolve(false); + } + + this._currentOutlineItemCapability = null; + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent(outlineCount) { + var _this$_pdfDocument; + + this._currentOutlineItemCapability = (0, _pdfjsLib.createPromiseCapability)(); + + if (outlineCount === 0 || (_this$_pdfDocument = this._pdfDocument) !== null && _this$_pdfDocument !== void 0 && _this$_pdfDocument.loadingParams.disableAutoFetch) { + this._currentOutlineItemCapability.resolve(false); + } else if (this._isPagesLoaded) { + this._currentOutlineItemCapability.resolve(true); + } + + this.eventBus.dispatch("outlineloaded", { + source: this, + outlineCount: outlineCount, + currentOutlineItemPromise: this._currentOutlineItemCapability.promise + }); + } + }, { + key: "_bindLink", + value: function _bindLink(element, _ref) { + var _this2 = this; + + var url = _ref.url, + newWindow = _ref.newWindow, + dest = _ref.dest; + var linkService = this.linkService; + + if (url) { + (0, _pdfjsLib.addLinkAttributes)(element, { + url: url, + target: newWindow ? _pdfjsLib.LinkTarget.BLANK : linkService.externalLinkTarget, + rel: linkService.externalLinkRel, + enabled: linkService.externalLinkEnabled + }); + return; + } + + element.href = linkService.getDestinationHash(dest); + + element.onclick = function (evt) { + _this2._updateCurrentTreeItem(evt.target.parentNode); + + if (dest) { + linkService.goToDestination(dest); + } + + return false; + }; + } + }, { + key: "_setStyles", + value: function _setStyles(element, _ref2) { + var bold = _ref2.bold, + italic = _ref2.italic; + + if (bold) { + element.style.fontWeight = "bold"; + } + + if (italic) { + element.style.fontStyle = "italic"; + } + } + }, { + key: "_addToggleButton", + value: function _addToggleButton(div, _ref3) { + var count = _ref3.count, + items = _ref3.items; + var hidden = false; + + if (count < 0) { + var totalCount = items.length; + + if (totalCount > 0) { + var queue = _toConsumableArray(items); + + while (queue.length > 0) { + var _queue$shift = queue.shift(), + nestedCount = _queue$shift.count, + nestedItems = _queue$shift.items; + + if (nestedCount > 0 && nestedItems.length > 0) { + totalCount += nestedItems.length; + queue.push.apply(queue, _toConsumableArray(nestedItems)); + } + } + } + + if (Math.abs(count) === totalCount) { + hidden = true; + } + } + + _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_addToggleButton", this).call(this, div, hidden); + } + }, { + key: "_toggleAllTreeItems", + value: function _toggleAllTreeItems() { + if (!this._outline) { + return; + } + + _get(_getPrototypeOf(PDFOutlineViewer.prototype), "_toggleAllTreeItems", this).call(this); + } + }, { + key: "render", + value: function render(_ref4) { + var outline = _ref4.outline, + pdfDocument = _ref4.pdfDocument; + + if (this._outline) { + this.reset(); + } + + this._outline = outline || null; + this._pdfDocument = pdfDocument || null; + + if (!outline) { + this._dispatchEvent(0); + + return; + } + + var fragment = document.createDocumentFragment(); + var queue = [{ + parent: fragment, + items: outline + }]; + var outlineCount = 0, + hasAnyNesting = false; + + while (queue.length > 0) { + var levelData = queue.shift(); + + var _iterator = _createForOfIteratorHelper(levelData.items), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var item = _step.value; + var div = document.createElement("div"); + div.className = "treeItem"; + var element = document.createElement("a"); + + this._bindLink(element, item); + + this._setStyles(element, item); + + element.textContent = this._normalizeTextContent(item.title); + div.appendChild(element); + + if (item.items.length > 0) { + hasAnyNesting = true; + + this._addToggleButton(div, item); + + var itemsDiv = document.createElement("div"); + itemsDiv.className = "treeItems"; + div.appendChild(itemsDiv); + queue.push({ + parent: itemsDiv, + items: item.items + }); + } + + levelData.parent.appendChild(div); + outlineCount++; + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + + this._finishRendering(fragment, outlineCount, hasAnyNesting); + } + }, { + key: "_currentOutlineItem", + value: function () { + var _currentOutlineItem2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var pageNumberToDestHash, i, destHash, linkElement; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (this._isPagesLoaded) { + _context.next = 2; + break; + } + + throw new Error("_currentOutlineItem: All pages have not been loaded."); + + case 2: + if (!(!this._outline || !this._pdfDocument)) { + _context.next = 4; + break; + } + + return _context.abrupt("return"); + + case 4: + _context.next = 6; + return this._getPageNumberToDestHash(this._pdfDocument); + + case 6: + pageNumberToDestHash = _context.sent; + + if (pageNumberToDestHash) { + _context.next = 9; + break; + } + + return _context.abrupt("return"); + + case 9: + this._updateCurrentTreeItem(null); + + if (!(this._sidebarView !== _ui_utils.SidebarView.OUTLINE)) { + _context.next = 12; + break; + } + + return _context.abrupt("return"); + + case 12: + i = this._currentPageNumber; + + case 13: + if (!(i > 0)) { + _context.next = 25; + break; + } + + destHash = pageNumberToDestHash.get(i); + + if (destHash) { + _context.next = 17; + break; + } + + return _context.abrupt("continue", 22); + + case 17: + linkElement = this.container.querySelector("a[href=\"".concat(destHash, "\"]")); + + if (linkElement) { + _context.next = 20; + break; + } + + return _context.abrupt("continue", 22); + + case 20: + this._scrollToCurrentTreeItem(linkElement.parentNode); + + return _context.abrupt("break", 25); + + case 22: + i--; + _context.next = 13; + break; + + case 25: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _currentOutlineItem() { + return _currentOutlineItem2.apply(this, arguments); + } + + return _currentOutlineItem; + }() + }, { + key: "_getPageNumberToDestHash", + value: function () { + var _getPageNumberToDestHash2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) { + var pageNumberToDestHash, pageNumberNesting, queue, levelData, currentNesting, _iterator2, _step2, _step2$value, dest, items, explicitDest, pageNumber, _explicitDest, _explicitDest2, destRef, destHash; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._pageNumberToDestHashCapability) { + _context2.next = 2; + break; + } + + return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise); + + case 2: + this._pageNumberToDestHashCapability = (0, _pdfjsLib.createPromiseCapability)(); + pageNumberToDestHash = new Map(), pageNumberNesting = new Map(); + queue = [{ + nesting: 0, + items: this._outline + }]; + + case 5: + if (!(queue.length > 0)) { + _context2.next = 56; + break; + } + + levelData = queue.shift(), currentNesting = levelData.nesting; + _iterator2 = _createForOfIteratorHelper(levelData.items); + _context2.prev = 8; + + _iterator2.s(); + + case 10: + if ((_step2 = _iterator2.n()).done) { + _context2.next = 46; + break; + } + + _step2$value = _step2.value, dest = _step2$value.dest, items = _step2$value.items; + explicitDest = void 0, pageNumber = void 0; + + if (!(typeof dest === "string")) { + _context2.next = 21; + break; + } + + _context2.next = 16; + return pdfDocument.getDestination(dest); + + case 16: + explicitDest = _context2.sent; + + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 19; + break; + } + + return _context2.abrupt("return", null); + + case 19: + _context2.next = 22; + break; + + case 21: + explicitDest = dest; + + case 22: + if (!Array.isArray(explicitDest)) { + _context2.next = 43; + break; + } + + _explicitDest = explicitDest, _explicitDest2 = _slicedToArray(_explicitDest, 1), destRef = _explicitDest2[0]; + + if (!(destRef instanceof Object)) { + _context2.next = 41; + break; + } + + pageNumber = this.linkService._cachedPageNumber(destRef); + + if (pageNumber) { + _context2.next = 39; + break; + } + + _context2.prev = 27; + _context2.next = 30; + return pdfDocument.getPageIndex(destRef); + + case 30: + _context2.t0 = _context2.sent; + pageNumber = _context2.t0 + 1; + + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 34; + break; + } + + return _context2.abrupt("return", null); + + case 34: + this.linkService.cachePageRef(pageNumber, destRef); + _context2.next = 39; + break; + + case 37: + _context2.prev = 37; + _context2.t1 = _context2["catch"](27); + + case 39: + _context2.next = 42; + break; + + case 41: + if (Number.isInteger(destRef)) { + pageNumber = destRef + 1; + } + + case 42: + if (Number.isInteger(pageNumber) && (!pageNumberToDestHash.has(pageNumber) || currentNesting > pageNumberNesting.get(pageNumber))) { + destHash = this.linkService.getDestinationHash(dest); + pageNumberToDestHash.set(pageNumber, destHash); + pageNumberNesting.set(pageNumber, currentNesting); + } + + case 43: + if (items.length > 0) { + queue.push({ + nesting: currentNesting + 1, + items: items + }); + } + + case 44: + _context2.next = 10; + break; + + case 46: + _context2.next = 51; + break; + + case 48: + _context2.prev = 48; + _context2.t2 = _context2["catch"](8); + + _iterator2.e(_context2.t2); + + case 51: + _context2.prev = 51; + + _iterator2.f(); + + return _context2.finish(51); + + case 54: + _context2.next = 5; + break; + + case 56: + this._pageNumberToDestHashCapability.resolve(pageNumberToDestHash.size > 0 ? pageNumberToDestHash : null); + + return _context2.abrupt("return", this._pageNumberToDestHashCapability.promise); + + case 58: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[8, 48, 51, 54], [27, 37]]); + })); + + function _getPageNumberToDestHash(_x) { + return _getPageNumberToDestHash2.apply(this, arguments); + } + + return _getPageNumberToDestHash; + }() + }]); + + return PDFOutlineViewer; +}(_base_tree_viewer.BaseTreeViewer); + +exports.PDFOutlineViewer = PDFOutlineViewer; + +/***/ }), +/* 23 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPresentationMode = void 0; + +var _ui_utils = __webpack_require__(6); + +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 DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS = 1500; +var DELAY_BEFORE_HIDING_CONTROLS = 3000; +var ACTIVE_SELECTOR = "pdfPresentationMode"; +var CONTROLS_SELECTOR = "pdfPresentationModeControls"; +var MOUSE_SCROLL_COOLDOWN_TIME = 50; +var PAGE_SWITCH_THRESHOLD = 0.1; +var SWIPE_MIN_DISTANCE_THRESHOLD = 50; +var SWIPE_ANGLE_THRESHOLD = Math.PI / 6; + +var PDFPresentationMode = /*#__PURE__*/function () { + function PDFPresentationMode(_ref) { + var container = _ref.container, + pdfViewer = _ref.pdfViewer, + eventBus = _ref.eventBus; + + _classCallCheck(this, PDFPresentationMode); + + this.container = container; + this.pdfViewer = pdfViewer; + this.eventBus = eventBus; + this.active = false; + this.args = null; + this.contextMenuOpen = false; + this.mouseScrollTimeStamp = 0; + this.mouseScrollDelta = 0; + this.touchSwipeState = null; + } + + _createClass(PDFPresentationMode, [{ + key: "request", + value: function request() { + if (this.switchInProgress || this.active || !this.pdfViewer.pagesCount) { + return false; + } + + this._addFullscreenChangeListeners(); + + this._setSwitchInProgress(); + + this._notifyStateChange(); + + if (this.container.requestFullscreen) { + this.container.requestFullscreen(); + } else if (this.container.mozRequestFullScreen) { + this.container.mozRequestFullScreen(); + } else if (this.container.webkitRequestFullscreen) { + this.container.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + return false; + } + + this.args = { + page: this.pdfViewer.currentPageNumber, + previousScale: this.pdfViewer.currentScaleValue + }; + return true; + } + }, { + key: "_mouseWheel", + value: function _mouseWheel(evt) { + if (!this.active) { + return; + } + + evt.preventDefault(); + var delta = (0, _ui_utils.normalizeWheelEventDelta)(evt); + var currentTime = Date.now(); + var storedTime = this.mouseScrollTimeStamp; + + if (currentTime > storedTime && currentTime - storedTime < MOUSE_SCROLL_COOLDOWN_TIME) { + return; + } + + if (this.mouseScrollDelta > 0 && delta < 0 || this.mouseScrollDelta < 0 && delta > 0) { + this._resetMouseScrollState(); + } + + this.mouseScrollDelta += delta; + + if (Math.abs(this.mouseScrollDelta) >= PAGE_SWITCH_THRESHOLD) { + var totalDelta = this.mouseScrollDelta; + + this._resetMouseScrollState(); + + var success = totalDelta > 0 ? this.pdfViewer.previousPage() : this.pdfViewer.nextPage(); + + if (success) { + this.mouseScrollTimeStamp = currentTime; + } + } + } + }, { + key: "isFullscreen", + get: function get() { + return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen); + } + }, { + key: "_notifyStateChange", + value: function _notifyStateChange() { + var state = _ui_utils.PresentationModeState.NORMAL; + + if (this.switchInProgress) { + state = _ui_utils.PresentationModeState.CHANGING; + } else if (this.active) { + state = _ui_utils.PresentationModeState.FULLSCREEN; + } + + this.eventBus.dispatch("presentationmodechanged", { + source: this, + state: state + }); + } + }, { + key: "_setSwitchInProgress", + value: function _setSwitchInProgress() { + var _this = this; + + if (this.switchInProgress) { + clearTimeout(this.switchInProgress); + } + + this.switchInProgress = setTimeout(function () { + _this._removeFullscreenChangeListeners(); + + delete _this.switchInProgress; + + _this._notifyStateChange(); + }, DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS); + } + }, { + key: "_resetSwitchInProgress", + value: function _resetSwitchInProgress() { + if (this.switchInProgress) { + clearTimeout(this.switchInProgress); + delete this.switchInProgress; + } + } + }, { + key: "_enter", + value: function _enter() { + var _this2 = this; + + this.active = true; + + this._resetSwitchInProgress(); + + this._notifyStateChange(); + + this.container.classList.add(ACTIVE_SELECTOR); + setTimeout(function () { + _this2.pdfViewer.currentPageNumber = _this2.args.page; + _this2.pdfViewer.currentScaleValue = "page-fit"; + }, 0); + + this._addWindowListeners(); + + this._showControls(); + + this.contextMenuOpen = false; + window.getSelection().removeAllRanges(); + } + }, { + key: "_exit", + value: function _exit() { + var _this3 = this; + + var page = this.pdfViewer.currentPageNumber; + this.container.classList.remove(ACTIVE_SELECTOR); + setTimeout(function () { + _this3.active = false; + + _this3._removeFullscreenChangeListeners(); + + _this3._notifyStateChange(); + + _this3.pdfViewer.currentScaleValue = _this3.args.previousScale; + _this3.pdfViewer.currentPageNumber = page; + _this3.args = null; + }, 0); + + this._removeWindowListeners(); + + this._hideControls(); + + this._resetMouseScrollState(); + + this.contextMenuOpen = false; + } + }, { + key: "_mouseDown", + value: function _mouseDown(evt) { + if (this.contextMenuOpen) { + this.contextMenuOpen = false; + evt.preventDefault(); + return; + } + + if (evt.button === 0) { + var isInternalLink = evt.target.href && evt.target.classList.contains("internalLink"); + + if (!isInternalLink) { + evt.preventDefault(); + + if (evt.shiftKey) { + this.pdfViewer.previousPage(); + } else { + this.pdfViewer.nextPage(); + } + } + } + } + }, { + key: "_contextMenu", + value: function _contextMenu() { + this.contextMenuOpen = true; + } + }, { + key: "_showControls", + value: function _showControls() { + var _this4 = this; + + if (this.controlsTimeout) { + clearTimeout(this.controlsTimeout); + } else { + this.container.classList.add(CONTROLS_SELECTOR); + } + + this.controlsTimeout = setTimeout(function () { + _this4.container.classList.remove(CONTROLS_SELECTOR); + + delete _this4.controlsTimeout; + }, DELAY_BEFORE_HIDING_CONTROLS); + } + }, { + key: "_hideControls", + value: function _hideControls() { + if (!this.controlsTimeout) { + return; + } + + clearTimeout(this.controlsTimeout); + this.container.classList.remove(CONTROLS_SELECTOR); + delete this.controlsTimeout; + } + }, { + key: "_resetMouseScrollState", + value: function _resetMouseScrollState() { + this.mouseScrollTimeStamp = 0; + this.mouseScrollDelta = 0; + } + }, { + key: "_touchSwipe", + value: function _touchSwipe(evt) { + if (!this.active) { + return; + } + + if (evt.touches.length > 1) { + this.touchSwipeState = null; + return; + } + + switch (evt.type) { + case "touchstart": + this.touchSwipeState = { + startX: evt.touches[0].pageX, + startY: evt.touches[0].pageY, + endX: evt.touches[0].pageX, + endY: evt.touches[0].pageY + }; + break; + + case "touchmove": + if (this.touchSwipeState === null) { + return; + } + + this.touchSwipeState.endX = evt.touches[0].pageX; + this.touchSwipeState.endY = evt.touches[0].pageY; + evt.preventDefault(); + break; + + case "touchend": + if (this.touchSwipeState === null) { + return; + } + + var delta = 0; + var dx = this.touchSwipeState.endX - this.touchSwipeState.startX; + var dy = this.touchSwipeState.endY - this.touchSwipeState.startY; + var absAngle = Math.abs(Math.atan2(dy, dx)); + + if (Math.abs(dx) > SWIPE_MIN_DISTANCE_THRESHOLD && (absAngle <= SWIPE_ANGLE_THRESHOLD || absAngle >= Math.PI - SWIPE_ANGLE_THRESHOLD)) { + delta = dx; + } else if (Math.abs(dy) > SWIPE_MIN_DISTANCE_THRESHOLD && Math.abs(absAngle - Math.PI / 2) <= SWIPE_ANGLE_THRESHOLD) { + delta = dy; + } + + if (delta > 0) { + this.pdfViewer.previousPage(); + } else if (delta < 0) { + this.pdfViewer.nextPage(); + } + + break; + } + } + }, { + key: "_addWindowListeners", + value: function _addWindowListeners() { + this.showControlsBind = this._showControls.bind(this); + this.mouseDownBind = this._mouseDown.bind(this); + this.mouseWheelBind = this._mouseWheel.bind(this); + this.resetMouseScrollStateBind = this._resetMouseScrollState.bind(this); + this.contextMenuBind = this._contextMenu.bind(this); + this.touchSwipeBind = this._touchSwipe.bind(this); + window.addEventListener("mousemove", this.showControlsBind); + window.addEventListener("mousedown", this.mouseDownBind); + window.addEventListener("wheel", this.mouseWheelBind, { + passive: false + }); + window.addEventListener("keydown", this.resetMouseScrollStateBind); + window.addEventListener("contextmenu", this.contextMenuBind); + window.addEventListener("touchstart", this.touchSwipeBind); + window.addEventListener("touchmove", this.touchSwipeBind); + window.addEventListener("touchend", this.touchSwipeBind); + } + }, { + key: "_removeWindowListeners", + value: function _removeWindowListeners() { + window.removeEventListener("mousemove", this.showControlsBind); + window.removeEventListener("mousedown", this.mouseDownBind); + window.removeEventListener("wheel", this.mouseWheelBind, { + passive: false + }); + window.removeEventListener("keydown", this.resetMouseScrollStateBind); + window.removeEventListener("contextmenu", this.contextMenuBind); + window.removeEventListener("touchstart", this.touchSwipeBind); + window.removeEventListener("touchmove", this.touchSwipeBind); + window.removeEventListener("touchend", this.touchSwipeBind); + delete this.showControlsBind; + delete this.mouseDownBind; + delete this.mouseWheelBind; + delete this.resetMouseScrollStateBind; + delete this.contextMenuBind; + delete this.touchSwipeBind; + } + }, { + key: "_fullscreenChange", + value: function _fullscreenChange() { + if (this.isFullscreen) { + this._enter(); + } else { + this._exit(); + } + } + }, { + key: "_addFullscreenChangeListeners", + value: function _addFullscreenChangeListeners() { + this.fullscreenChangeBind = this._fullscreenChange.bind(this); + window.addEventListener("fullscreenchange", this.fullscreenChangeBind); + window.addEventListener("mozfullscreenchange", this.fullscreenChangeBind); + window.addEventListener("webkitfullscreenchange", this.fullscreenChangeBind); + } + }, { + key: "_removeFullscreenChangeListeners", + value: function _removeFullscreenChangeListeners() { + window.removeEventListener("fullscreenchange", this.fullscreenChangeBind); + window.removeEventListener("mozfullscreenchange", this.fullscreenChangeBind); + window.removeEventListener("webkitfullscreenchange", this.fullscreenChangeBind); + delete this.fullscreenChangeBind; + } + }]); + + return PDFPresentationMode; +}(); + +exports.PDFPresentationMode = PDFPresentationMode; + +/***/ }), +/* 24 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFScriptingManager = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(6); + +var _pdf_rendering_queue = __webpack_require__(10); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 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 PDFScriptingManager = /*#__PURE__*/function () { + function PDFScriptingManager(_ref) { + var eventBus = _ref.eventBus, + _ref$sandboxBundleSrc = _ref.sandboxBundleSrc, + sandboxBundleSrc = _ref$sandboxBundleSrc === void 0 ? null : _ref$sandboxBundleSrc, + _ref$scriptingFactory = _ref.scriptingFactory, + scriptingFactory = _ref$scriptingFactory === void 0 ? null : _ref$scriptingFactory, + _ref$docPropertiesLoo = _ref.docPropertiesLookup, + docPropertiesLookup = _ref$docPropertiesLoo === void 0 ? null : _ref$docPropertiesLoo; + + _classCallCheck(this, PDFScriptingManager); + + this._pdfDocument = null; + this._pdfViewer = null; + this._closeCapability = null; + this._destroyCapability = null; + this._scripting = null; + this._mouseState = Object.create(null); + this._pageEventsReady = false; + this._ready = false; + this._eventBus = eventBus; + this._sandboxBundleSrc = sandboxBundleSrc; + this._scriptingFactory = scriptingFactory; + this._docPropertiesLookup = docPropertiesLookup; + } + + _createClass(PDFScriptingManager, [{ + key: "setViewer", + value: function setViewer(pdfViewer) { + this._pdfViewer = pdfViewer; + } + }, { + key: "setDocument", + value: function () { + var _setDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(pdfDocument) { + var _this = this, + _this$_scripting3; + + var _yield$Promise$all, _yield$Promise$all2, objects, calculationOrder, docActions, _iterator, _step, _step$value, name, listener, _iterator2, _step2, _step2$value, _name, _listener, docProperties; + + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!this._pdfDocument) { + _context2.next = 3; + break; + } + + _context2.next = 3; + return this._destroyScripting(); + + case 3: + this._pdfDocument = pdfDocument; + + if (pdfDocument) { + _context2.next = 6; + break; + } + + return _context2.abrupt("return"); + + case 6: + _context2.next = 8; + return Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]); + + case 8: + _yield$Promise$all = _context2.sent; + _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3); + objects = _yield$Promise$all2[0]; + calculationOrder = _yield$Promise$all2[1]; + docActions = _yield$Promise$all2[2]; + + if (!(!objects && !docActions)) { + _context2.next = 17; + break; + } + + _context2.next = 16; + return this._destroyScripting(); + + case 16: + return _context2.abrupt("return"); + + case 17: + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 19; + break; + } + + return _context2.abrupt("return"); + + case 19: + this._scripting = this._createScripting(); + + this._internalEvents.set("updatefromsandbox", function (event) { + if ((event === null || event === void 0 ? void 0 : event.source) !== window) { + return; + } + + _this._updateFromSandbox(event.detail); + }); + + this._internalEvents.set("dispatcheventinsandbox", function (event) { + var _this$_scripting; + + (_this$_scripting = _this._scripting) === null || _this$_scripting === void 0 ? void 0 : _this$_scripting.dispatchEventInSandbox(event.detail); + }); + + this._internalEvents.set("pagechanging", function (_ref2) { + var pageNumber = _ref2.pageNumber, + previous = _ref2.previous; + + if (pageNumber === previous) { + return; + } + + _this._dispatchPageClose(previous); + + _this._dispatchPageOpen(pageNumber); + }); + + this._internalEvents.set("pagerendered", function (_ref3) { + var pageNumber = _ref3.pageNumber; + + if (!_this._pageOpenPending.has(pageNumber)) { + return; + } + + if (pageNumber !== _this._pdfViewer.currentPageNumber) { + return; + } + + _this._dispatchPageOpen(pageNumber); + }); + + this._internalEvents.set("pagesdestroy", /*#__PURE__*/function () { + var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) { + var _this$_scripting2, _this$_closeCapabilit; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return _this._dispatchPageClose(_this._pdfViewer.currentPageNumber); + + case 2: + _context.next = 4; + return (_this$_scripting2 = _this._scripting) === null || _this$_scripting2 === void 0 ? void 0 : _this$_scripting2.dispatchEventInSandbox({ + id: "doc", + name: "WillClose" + }); + + case 4: + (_this$_closeCapabilit = _this._closeCapability) === null || _this$_closeCapabilit === void 0 ? void 0 : _this$_closeCapabilit.resolve(); + + case 5: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function (_x2) { + return _ref4.apply(this, arguments); + }; + }()); + + this._domEvents.set("mousedown", function (event) { + _this._mouseState.isDown = true; + }); + + this._domEvents.set("mouseup", function (event) { + _this._mouseState.isDown = false; + }); + + _iterator = _createForOfIteratorHelper(this._internalEvents); + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _step$value = _slicedToArray(_step.value, 2), name = _step$value[0], listener = _step$value[1]; + + this._eventBus._on(name, listener); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + _iterator2 = _createForOfIteratorHelper(this._domEvents); + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + _step2$value = _slicedToArray(_step2.value, 2), _name = _step2$value[0], _listener = _step2$value[1]; + window.addEventListener(_name, _listener); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + _context2.prev = 31; + _context2.next = 34; + return this._getDocProperties(); + + case 34: + docProperties = _context2.sent; + + if (!(pdfDocument !== this._pdfDocument)) { + _context2.next = 37; + break; + } + + return _context2.abrupt("return"); + + case 37: + _context2.next = 39; + return this._scripting.createSandbox({ + objects: objects, + calculationOrder: calculationOrder, + appInfo: { + platform: navigator.platform, + language: navigator.language + }, + docInfo: _objectSpread(_objectSpread({}, docProperties), {}, { + actions: docActions + }) + }); + + case 39: + this._eventBus.dispatch("sandboxcreated", { + source: this + }); + + _context2.next = 48; + break; + + case 42: + _context2.prev = 42; + _context2.t0 = _context2["catch"](31); + console.error("PDFScriptingManager.setDocument: \"".concat(_context2.t0 === null || _context2.t0 === void 0 ? void 0 : _context2.t0.message, "\".")); + _context2.next = 47; + return this._destroyScripting(); + + case 47: + return _context2.abrupt("return"); + + case 48: + _context2.next = 50; + return (_this$_scripting3 = this._scripting) === null || _this$_scripting3 === void 0 ? void 0 : _this$_scripting3.dispatchEventInSandbox({ + id: "doc", + name: "Open" + }); + + case 50: + _context2.next = 52; + return this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true); + + case 52: + Promise.resolve().then(function () { + if (pdfDocument === _this._pdfDocument) { + _this._ready = true; + } + }); + + case 53: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[31, 42]]); + })); + + function setDocument(_x) { + return _setDocument.apply(this, arguments); + } + + return setDocument; + }() + }, { + key: "dispatchWillSave", + value: function () { + var _dispatchWillSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(detail) { + var _this$_scripting4; + + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + return _context3.abrupt("return", (_this$_scripting4 = this._scripting) === null || _this$_scripting4 === void 0 ? void 0 : _this$_scripting4.dispatchEventInSandbox({ + id: "doc", + name: "WillSave" + })); + + case 1: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function dispatchWillSave(_x3) { + return _dispatchWillSave.apply(this, arguments); + } + + return dispatchWillSave; + }() + }, { + key: "dispatchDidSave", + value: function () { + var _dispatchDidSave = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(detail) { + var _this$_scripting5; + + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + return _context4.abrupt("return", (_this$_scripting5 = this._scripting) === null || _this$_scripting5 === void 0 ? void 0 : _this$_scripting5.dispatchEventInSandbox({ + id: "doc", + name: "DidSave" + })); + + case 1: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function dispatchDidSave(_x4) { + return _dispatchDidSave.apply(this, arguments); + } + + return dispatchDidSave; + }() + }, { + key: "dispatchWillPrint", + value: function () { + var _dispatchWillPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(detail) { + var _this$_scripting6; + + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + return _context5.abrupt("return", (_this$_scripting6 = this._scripting) === null || _this$_scripting6 === void 0 ? void 0 : _this$_scripting6.dispatchEventInSandbox({ + id: "doc", + name: "WillPrint" + })); + + case 1: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function dispatchWillPrint(_x5) { + return _dispatchWillPrint.apply(this, arguments); + } + + return dispatchWillPrint; + }() + }, { + key: "dispatchDidPrint", + value: function () { + var _dispatchDidPrint = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(detail) { + var _this$_scripting7; + + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + return _context6.abrupt("return", (_this$_scripting7 = this._scripting) === null || _this$_scripting7 === void 0 ? void 0 : _this$_scripting7.dispatchEventInSandbox({ + id: "doc", + name: "DidPrint" + })); + + case 1: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function dispatchDidPrint(_x6) { + return _dispatchDidPrint.apply(this, arguments); + } + + return dispatchDidPrint; + }() + }, { + key: "mouseState", + get: function get() { + return this._mouseState; + } + }, { + key: "destroyPromise", + get: function get() { + var _this$_destroyCapabil; + + return ((_this$_destroyCapabil = this._destroyCapability) === null || _this$_destroyCapabil === void 0 ? void 0 : _this$_destroyCapabil.promise) || null; + } + }, { + key: "ready", + get: function get() { + return this._ready; + } + }, { + key: "_internalEvents", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_internalEvents", new Map()); + } + }, { + key: "_domEvents", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_domEvents", new Map()); + } + }, { + key: "_pageOpenPending", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_pageOpenPending", new Set()); + } + }, { + key: "_visitedPages", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_visitedPages", new Map()); + } + }, { + key: "_updateFromSandbox", + value: function () { + var _updateFromSandbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee7(detail) { + var isInPresentationMode, id, siblings, command, value, ids, _iterator3, _step3, elementId, element, _this$_pdfDocument; + + return _regenerator["default"].wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode; + id = detail.id, siblings = detail.siblings, command = detail.command, value = detail.value; + + if (id) { + _context7.next = 25; + break; + } + + _context7.t0 = command; + _context7.next = _context7.t0 === "clear" ? 6 : _context7.t0 === "error" ? 8 : _context7.t0 === "layout" ? 10 : _context7.t0 === "page-num" ? 12 : _context7.t0 === "print" ? 14 : _context7.t0 === "println" ? 18 : _context7.t0 === "zoom" ? 20 : 24; + break; + + case 6: + console.clear(); + return _context7.abrupt("break", 24); + + case 8: + console.error(value); + return _context7.abrupt("break", 24); + + case 10: + this._pdfViewer.spreadMode = (0, _ui_utils.apiPageLayoutToSpreadMode)(value); + return _context7.abrupt("break", 24); + + case 12: + this._pdfViewer.currentPageNumber = value + 1; + return _context7.abrupt("break", 24); + + case 14: + _context7.next = 16; + return this._pdfViewer.pagesPromise; + + case 16: + this._eventBus.dispatch("print", { + source: this + }); + + return _context7.abrupt("break", 24); + + case 18: + console.log(value); + return _context7.abrupt("break", 24); + + case 20: + if (!isInPresentationMode) { + _context7.next = 22; + break; + } + + return _context7.abrupt("return"); + + case 22: + this._pdfViewer.currentScaleValue = value; + return _context7.abrupt("break", 24); + + case 24: + return _context7.abrupt("return"); + + case 25: + if (!isInPresentationMode) { + _context7.next = 28; + break; + } + + if (!detail.focus) { + _context7.next = 28; + break; + } + + return _context7.abrupt("return"); + + case 28: + delete detail.id; + delete detail.siblings; + ids = siblings ? [id].concat(_toConsumableArray(siblings)) : [id]; + _iterator3 = _createForOfIteratorHelper(ids); + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + elementId = _step3.value; + element = document.getElementById(elementId); + + if (element) { + element.dispatchEvent(new CustomEvent("updatefromsandbox", { + detail: detail + })); + } else { + (_this$_pdfDocument = this._pdfDocument) === null || _this$_pdfDocument === void 0 ? void 0 : _this$_pdfDocument.annotationStorage.setValue(elementId, detail); + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + case 33: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function _updateFromSandbox(_x7) { + return _updateFromSandbox2.apply(this, arguments); + } + + return _updateFromSandbox; + }() + }, { + key: "_dispatchPageOpen", + value: function () { + var _dispatchPageOpen2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee9(pageNumber) { + var _this2 = this; + + var initialize, + pdfDocument, + visitedPages, + pageView, + actionsPromise, + _args9 = arguments; + return _regenerator["default"].wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + initialize = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : false; + pdfDocument = this._pdfDocument, visitedPages = this._visitedPages; + + if (initialize) { + this._closeCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._pageEventsReady = true; + } + + if (this._pageEventsReady) { + _context9.next = 5; + break; + } + + return _context9.abrupt("return"); + + case 5: + pageView = this._pdfViewer.getPageView(pageNumber - 1); + + if (!((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) !== _pdf_rendering_queue.RenderingStates.FINISHED)) { + _context9.next = 9; + break; + } + + this._pageOpenPending.add(pageNumber); + + return _context9.abrupt("return"); + + case 9: + this._pageOpenPending["delete"](pageNumber); + + actionsPromise = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee8() { + var _pageView$pdfPage, _this2$_scripting; + + var actions; + return _regenerator["default"].wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + _context8.next = 2; + return !visitedPages.has(pageNumber) ? (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions() : null; + + case 2: + actions = _context8.sent; + + if (!(pdfDocument !== _this2._pdfDocument)) { + _context8.next = 5; + break; + } + + return _context8.abrupt("return"); + + case 5: + _context8.next = 7; + return (_this2$_scripting = _this2._scripting) === null || _this2$_scripting === void 0 ? void 0 : _this2$_scripting.dispatchEventInSandbox({ + id: "page", + name: "PageOpen", + pageNumber: pageNumber, + actions: actions + }); + + case 7: + case "end": + return _context8.stop(); + } + } + }, _callee8); + }))(); + visitedPages.set(pageNumber, actionsPromise); + + case 12: + case "end": + return _context9.stop(); + } + } + }, _callee9, this); + })); + + function _dispatchPageOpen(_x8) { + return _dispatchPageOpen2.apply(this, arguments); + } + + return _dispatchPageOpen; + }() + }, { + key: "_dispatchPageClose", + value: function () { + var _dispatchPageClose2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee10(pageNumber) { + var _this$_scripting8; + + var pdfDocument, visitedPages, actionsPromise; + return _regenerator["default"].wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + pdfDocument = this._pdfDocument, visitedPages = this._visitedPages; + + if (this._pageEventsReady) { + _context10.next = 3; + break; + } + + return _context10.abrupt("return"); + + case 3: + if (!this._pageOpenPending.has(pageNumber)) { + _context10.next = 5; + break; + } + + return _context10.abrupt("return"); + + case 5: + actionsPromise = visitedPages.get(pageNumber); + + if (actionsPromise) { + _context10.next = 8; + break; + } + + return _context10.abrupt("return"); + + case 8: + visitedPages.set(pageNumber, null); + _context10.next = 11; + return actionsPromise; + + case 11: + if (!(pdfDocument !== this._pdfDocument)) { + _context10.next = 13; + break; + } + + return _context10.abrupt("return"); + + case 13: + _context10.next = 15; + return (_this$_scripting8 = this._scripting) === null || _this$_scripting8 === void 0 ? void 0 : _this$_scripting8.dispatchEventInSandbox({ + id: "page", + name: "PageClose", + pageNumber: pageNumber + }); + + case 15: + case "end": + return _context10.stop(); + } + } + }, _callee10, this); + })); + + function _dispatchPageClose(_x9) { + return _dispatchPageClose2.apply(this, arguments); + } + + return _dispatchPageClose; + }() + }, { + key: "_getDocProperties", + value: function () { + var _getDocProperties2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee11() { + return _regenerator["default"].wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + if (!this._docPropertiesLookup) { + _context11.next = 2; + break; + } + + return _context11.abrupt("return", this._docPropertiesLookup(this._pdfDocument)); + + case 2: + throw new Error("_getDocProperties: Unable to lookup properties."); + + case 3: + case "end": + return _context11.stop(); + } + } + }, _callee11, this); + })); + + function _getDocProperties() { + return _getDocProperties2.apply(this, arguments); + } + + return _getDocProperties; + }() + }, { + key: "_createScripting", + value: function _createScripting() { + this._destroyCapability = (0, _pdfjsLib.createPromiseCapability)(); + + if (this._scripting) { + throw new Error("_createScripting: Scripting already exists."); + } + + if (this._scriptingFactory) { + return this._scriptingFactory.createScripting({ + sandboxBundleSrc: this._sandboxBundleSrc + }); + } + + throw new Error("_createScripting: Cannot create scripting."); + } + }, { + key: "_destroyScripting", + value: function () { + var _destroyScripting2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee12() { + var _this$_destroyCapabil3; + + var _this$_destroyCapabil2, _iterator4, _step4, _step4$value, name, listener, _iterator5, _step5, _step5$value, _name2, _listener2; + + return _regenerator["default"].wrap(function _callee12$(_context12) { + while (1) { + switch (_context12.prev = _context12.next) { + case 0: + if (this._scripting) { + _context12.next = 4; + break; + } + + this._pdfDocument = null; + (_this$_destroyCapabil2 = this._destroyCapability) === null || _this$_destroyCapabil2 === void 0 ? void 0 : _this$_destroyCapabil2.resolve(); + return _context12.abrupt("return"); + + case 4: + if (!this._closeCapability) { + _context12.next = 8; + break; + } + + _context12.next = 7; + return Promise.race([this._closeCapability.promise, new Promise(function (resolve) { + setTimeout(resolve, 1000); + })])["catch"](function (reason) {}); + + case 7: + this._closeCapability = null; + + case 8: + this._pdfDocument = null; + _context12.prev = 9; + _context12.next = 12; + return this._scripting.destroySandbox(); + + case 12: + _context12.next = 16; + break; + + case 14: + _context12.prev = 14; + _context12.t0 = _context12["catch"](9); + + case 16: + _iterator4 = _createForOfIteratorHelper(this._internalEvents); + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + _step4$value = _slicedToArray(_step4.value, 2), name = _step4$value[0], listener = _step4$value[1]; + + this._eventBus._off(name, listener); + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + this._internalEvents.clear(); + + _iterator5 = _createForOfIteratorHelper(this._domEvents); + + try { + for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { + _step5$value = _slicedToArray(_step5.value, 2), _name2 = _step5$value[0], _listener2 = _step5$value[1]; + window.removeEventListener(_name2, _listener2); + } + } catch (err) { + _iterator5.e(err); + } finally { + _iterator5.f(); + } + + this._domEvents.clear(); + + this._pageOpenPending.clear(); + + this._visitedPages.clear(); + + this._scripting = null; + delete this._mouseState.isDown; + this._pageEventsReady = false; + this._ready = false; + (_this$_destroyCapabil3 = this._destroyCapability) === null || _this$_destroyCapabil3 === void 0 ? void 0 : _this$_destroyCapabil3.resolve(); + + case 29: + case "end": + return _context12.stop(); + } + } + }, _callee12, this, [[9, 14]]); + })); + + function _destroyScripting() { + return _destroyScripting2.apply(this, arguments); + } + + return _destroyScripting; + }() + }]); + + return PDFScriptingManager; +}(); + +exports.PDFScriptingManager = PDFScriptingManager; + +/***/ }), +/* 25 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFSidebar = void 0; + +var _ui_utils = __webpack_require__(6); + +var _pdf_rendering_queue = __webpack_require__(10); + +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 UI_NOTIFICATION_CLASS = "pdfSidebarNotification"; + +var PDFSidebar = /*#__PURE__*/function () { + function PDFSidebar(_ref) { + var elements = _ref.elements, + pdfViewer = _ref.pdfViewer, + pdfThumbnailViewer = _ref.pdfThumbnailViewer, + eventBus = _ref.eventBus, + l10n = _ref.l10n; + + _classCallCheck(this, PDFSidebar); + + this.isOpen = false; + this.active = _ui_utils.SidebarView.THUMBS; + this.isInitialViewSet = false; + this.onToggled = null; + this.pdfViewer = pdfViewer; + this.pdfThumbnailViewer = pdfThumbnailViewer; + this.outerContainer = elements.outerContainer; + this.viewerContainer = elements.viewerContainer; + this.toggleButton = elements.toggleButton; + this.thumbnailButton = elements.thumbnailButton; + this.outlineButton = elements.outlineButton; + this.attachmentsButton = elements.attachmentsButton; + this.layersButton = elements.layersButton; + this.thumbnailView = elements.thumbnailView; + this.outlineView = elements.outlineView; + this.attachmentsView = elements.attachmentsView; + this.layersView = elements.layersView; + this._outlineOptionsContainer = elements.outlineOptionsContainer; + this._currentOutlineItemButton = elements.currentOutlineItemButton; + this.eventBus = eventBus; + this.l10n = l10n; + + this._addEventListeners(); + } + + _createClass(PDFSidebar, [{ + key: "reset", + value: function reset() { + this.isInitialViewSet = false; + + this._hideUINotification(true); + + this.switchView(_ui_utils.SidebarView.THUMBS); + this.outlineButton.disabled = false; + this.attachmentsButton.disabled = false; + this.layersButton.disabled = false; + this._currentOutlineItemButton.disabled = true; + } + }, { + key: "visibleView", + get: function get() { + return this.isOpen ? this.active : _ui_utils.SidebarView.NONE; + } + }, { + key: "isThumbnailViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.THUMBS; + } + }, { + key: "isOutlineViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.OUTLINE; + } + }, { + key: "isAttachmentsViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.ATTACHMENTS; + } + }, { + key: "isLayersViewVisible", + get: function get() { + return this.isOpen && this.active === _ui_utils.SidebarView.LAYERS; + } + }, { + key: "setInitialView", + value: function setInitialView() { + var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ui_utils.SidebarView.NONE; + + if (this.isInitialViewSet) { + return; + } + + this.isInitialViewSet = true; + + if (view === _ui_utils.SidebarView.NONE || view === _ui_utils.SidebarView.UNKNOWN) { + this._dispatchEvent(); + + return; + } + + if (!this._switchView(view, true)) { + this._dispatchEvent(); + } + } + }, { + key: "switchView", + value: function switchView(view) { + var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + this._switchView(view, forceOpen); + } + }, { + key: "_switchView", + value: function _switchView(view) { + var forceOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var isViewChanged = view !== this.active; + var shouldForceRendering = false; + + switch (view) { + case _ui_utils.SidebarView.NONE: + if (this.isOpen) { + this.close(); + return true; + } + + return false; + + case _ui_utils.SidebarView.THUMBS: + if (this.isOpen && isViewChanged) { + shouldForceRendering = true; + } + + break; + + case _ui_utils.SidebarView.OUTLINE: + if (this.outlineButton.disabled) { + return false; + } + + break; + + case _ui_utils.SidebarView.ATTACHMENTS: + if (this.attachmentsButton.disabled) { + return false; + } + + break; + + case _ui_utils.SidebarView.LAYERS: + if (this.layersButton.disabled) { + return false; + } + + break; + + default: + console.error("PDFSidebar._switchView: \"".concat(view, "\" is not a valid view.")); + return false; + } + + this.active = view; + this.thumbnailButton.classList.toggle("toggled", view === _ui_utils.SidebarView.THUMBS); + this.outlineButton.classList.toggle("toggled", view === _ui_utils.SidebarView.OUTLINE); + this.attachmentsButton.classList.toggle("toggled", view === _ui_utils.SidebarView.ATTACHMENTS); + this.layersButton.classList.toggle("toggled", view === _ui_utils.SidebarView.LAYERS); + this.thumbnailView.classList.toggle("hidden", view !== _ui_utils.SidebarView.THUMBS); + this.outlineView.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE); + this.attachmentsView.classList.toggle("hidden", view !== _ui_utils.SidebarView.ATTACHMENTS); + this.layersView.classList.toggle("hidden", view !== _ui_utils.SidebarView.LAYERS); + + this._outlineOptionsContainer.classList.toggle("hidden", view !== _ui_utils.SidebarView.OUTLINE); + + if (forceOpen && !this.isOpen) { + this.open(); + return true; + } + + if (shouldForceRendering) { + this._updateThumbnailViewer(); + + this._forceRendering(); + } + + if (isViewChanged) { + this._dispatchEvent(); + } + + return isViewChanged; + } + }, { + key: "open", + value: function open() { + if (this.isOpen) { + return; + } + + this.isOpen = true; + this.toggleButton.classList.add("toggled"); + this.toggleButton.setAttribute("aria-expanded", "true"); + this.outerContainer.classList.add("sidebarMoving", "sidebarOpen"); + + if (this.active === _ui_utils.SidebarView.THUMBS) { + this._updateThumbnailViewer(); + } + + this._forceRendering(); + + this._dispatchEvent(); + + this._hideUINotification(); + } + }, { + key: "close", + value: function close() { + if (!this.isOpen) { + return; + } + + this.isOpen = false; + this.toggleButton.classList.remove("toggled"); + this.toggleButton.setAttribute("aria-expanded", "false"); + this.outerContainer.classList.add("sidebarMoving"); + this.outerContainer.classList.remove("sidebarOpen"); + + this._forceRendering(); + + this._dispatchEvent(); + } + }, { + key: "toggle", + value: function toggle() { + if (this.isOpen) { + this.close(); + } else { + this.open(); + } + } + }, { + key: "_dispatchEvent", + value: function _dispatchEvent() { + this.eventBus.dispatch("sidebarviewchanged", { + source: this, + view: this.visibleView + }); + } + }, { + key: "_forceRendering", + value: function _forceRendering() { + if (this.onToggled) { + this.onToggled(); + } else { + this.pdfViewer.forceRendering(); + this.pdfThumbnailViewer.forceRendering(); + } + } + }, { + key: "_updateThumbnailViewer", + value: function _updateThumbnailViewer() { + var pdfViewer = this.pdfViewer, + pdfThumbnailViewer = this.pdfThumbnailViewer; + var pagesCount = pdfViewer.pagesCount; + + for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) { + var pageView = pdfViewer.getPageView(pageIndex); + + if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _pdf_rendering_queue.RenderingStates.FINISHED) { + var thumbnailView = pdfThumbnailViewer.getThumbnail(pageIndex); + thumbnailView.setImage(pageView); + } + } + + pdfThumbnailViewer.scrollThumbnailIntoView(pdfViewer.currentPageNumber); + } + }, { + key: "_showUINotification", + value: function _showUINotification() { + var _this = this; + + this.l10n.get("toggle_sidebar_notification2.title").then(function (msg) { + _this.toggleButton.title = msg; + }); + + if (!this.isOpen) { + this.toggleButton.classList.add(UI_NOTIFICATION_CLASS); + } + } + }, { + key: "_hideUINotification", + value: function _hideUINotification() { + var _this2 = this; + + var reset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.isOpen || reset) { + this.toggleButton.classList.remove(UI_NOTIFICATION_CLASS); + } + + if (reset) { + this.l10n.get("toggle_sidebar.title").then(function (msg) { + _this2.toggleButton.title = msg; + }); + } + } + }, { + key: "_addEventListeners", + value: function _addEventListeners() { + var _this3 = this; + + this.viewerContainer.addEventListener("transitionend", function (evt) { + if (evt.target === _this3.viewerContainer) { + _this3.outerContainer.classList.remove("sidebarMoving"); + } + }); + this.toggleButton.addEventListener("click", function () { + _this3.toggle(); + }); + this.thumbnailButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.THUMBS); + }); + this.outlineButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.OUTLINE); + }); + this.outlineButton.addEventListener("dblclick", function () { + _this3.eventBus.dispatch("toggleoutlinetree", { + source: _this3 + }); + }); + this.attachmentsButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.ATTACHMENTS); + }); + this.layersButton.addEventListener("click", function () { + _this3.switchView(_ui_utils.SidebarView.LAYERS); + }); + this.layersButton.addEventListener("dblclick", function () { + _this3.eventBus.dispatch("resetlayers", { + source: _this3 + }); + }); + + this._currentOutlineItemButton.addEventListener("click", function () { + _this3.eventBus.dispatch("currentoutlineitem", { + source: _this3 + }); + }); + + var onTreeLoaded = function onTreeLoaded(count, button, view) { + button.disabled = !count; + + if (count) { + _this3._showUINotification(); + } else if (_this3.active === view) { + _this3.switchView(_ui_utils.SidebarView.THUMBS); + } + }; + + this.eventBus._on("outlineloaded", function (evt) { + onTreeLoaded(evt.outlineCount, _this3.outlineButton, _ui_utils.SidebarView.OUTLINE); + evt.currentOutlineItemPromise.then(function (enabled) { + if (!_this3.isInitialViewSet) { + return; + } + + _this3._currentOutlineItemButton.disabled = !enabled; + }); + }); + + this.eventBus._on("attachmentsloaded", function (evt) { + onTreeLoaded(evt.attachmentsCount, _this3.attachmentsButton, _ui_utils.SidebarView.ATTACHMENTS); + }); + + this.eventBus._on("layersloaded", function (evt) { + onTreeLoaded(evt.layersCount, _this3.layersButton, _ui_utils.SidebarView.LAYERS); + }); + + this.eventBus._on("presentationmodechanged", function (evt) { + if (evt.state === _ui_utils.PresentationModeState.NORMAL && _this3.isThumbnailViewVisible) { + _this3._updateThumbnailViewer(); + } + }); + } + }]); + + return PDFSidebar; +}(); + +exports.PDFSidebar = PDFSidebar; + +/***/ }), +/* 26 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFSidebarResizer = void 0; + +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 SIDEBAR_WIDTH_VAR = "--sidebar-width"; +var SIDEBAR_MIN_WIDTH = 200; +var SIDEBAR_RESIZING_CLASS = "sidebarResizing"; + +var PDFSidebarResizer = /*#__PURE__*/function () { + function PDFSidebarResizer(options, eventBus, l10n) { + var _this = this; + + _classCallCheck(this, PDFSidebarResizer); + + this.isRTL = false; + this.sidebarOpen = false; + this.doc = document.documentElement; + this._width = null; + this._outerContainerWidth = null; + this._boundEvents = Object.create(null); + this.outerContainer = options.outerContainer; + this.resizer = options.resizer; + this.eventBus = eventBus; + l10n.getDirection().then(function (dir) { + _this.isRTL = dir === "rtl"; + }); + + this._addEventListeners(); + } + + _createClass(PDFSidebarResizer, [{ + key: "outerContainerWidth", + get: function get() { + return this._outerContainerWidth || (this._outerContainerWidth = this.outerContainer.clientWidth); + } + }, { + key: "_updateWidth", + value: function _updateWidth() { + var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + var maxWidth = Math.floor(this.outerContainerWidth / 2); + + if (width > maxWidth) { + width = maxWidth; + } + + if (width < SIDEBAR_MIN_WIDTH) { + width = SIDEBAR_MIN_WIDTH; + } + + if (width === this._width) { + return false; + } + + this._width = width; + this.doc.style.setProperty(SIDEBAR_WIDTH_VAR, "".concat(width, "px")); + return true; + } + }, { + key: "_mouseMove", + value: function _mouseMove(evt) { + var width = evt.clientX; + + if (this.isRTL) { + width = this.outerContainerWidth - width; + } + + this._updateWidth(width); + } + }, { + key: "_mouseUp", + value: function _mouseUp(evt) { + this.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); + this.eventBus.dispatch("resize", { + source: this + }); + var _boundEvents = this._boundEvents; + window.removeEventListener("mousemove", _boundEvents.mouseMove); + window.removeEventListener("mouseup", _boundEvents.mouseUp); + } + }, { + key: "_addEventListeners", + value: function _addEventListeners() { + var _this2 = this; + + var _boundEvents = this._boundEvents; + _boundEvents.mouseMove = this._mouseMove.bind(this); + _boundEvents.mouseUp = this._mouseUp.bind(this); + this.resizer.addEventListener("mousedown", function (evt) { + if (evt.button !== 0) { + return; + } + + _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); + + window.addEventListener("mousemove", _boundEvents.mouseMove); + window.addEventListener("mouseup", _boundEvents.mouseUp); + }); + + this.eventBus._on("sidebarviewchanged", function (evt) { + _this2.sidebarOpen = !!(evt !== null && evt !== void 0 && evt.view); + }); + + this.eventBus._on("resize", function (evt) { + if ((evt === null || evt === void 0 ? void 0 : evt.source) !== window) { + return; + } + + _this2._outerContainerWidth = null; + + if (!_this2._width) { + return; + } + + if (!_this2.sidebarOpen) { + _this2._updateWidth(_this2._width); + + return; + } + + _this2.outerContainer.classList.add(SIDEBAR_RESIZING_CLASS); + + var updated = _this2._updateWidth(_this2._width); + + Promise.resolve().then(function () { + _this2.outerContainer.classList.remove(SIDEBAR_RESIZING_CLASS); + + if (updated) { + _this2.eventBus.dispatch("resize", { + source: _this2 + }); + } + }); + }); + } + }]); + + return PDFSidebarResizer; +}(); + +exports.PDFSidebarResizer = PDFSidebarResizer; + +/***/ }), +/* 27 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFThumbnailViewer = void 0; + +var _ui_utils = __webpack_require__(6); + +var _pdf_thumbnail_view = __webpack_require__(28); + +var _pdf_rendering_queue = __webpack_require__(10); + +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 THUMBNAIL_SCROLL_MARGIN = -19; +var THUMBNAIL_SELECTED_CLASS = "selected"; + +var PDFThumbnailViewer = /*#__PURE__*/function () { + function PDFThumbnailViewer(_ref) { + var _this = this; + + var container = _ref.container, + eventBus = _ref.eventBus, + linkService = _ref.linkService, + renderingQueue = _ref.renderingQueue, + l10n = _ref.l10n; + + _classCallCheck(this, PDFThumbnailViewer); + + this.container = container; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.l10n = l10n; + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdated.bind(this)); + + this._resetView(); + + eventBus._on("optionalcontentconfigchanged", function () { + _this._setImageDisabled = true; + }); + } + + _createClass(PDFThumbnailViewer, [{ + key: "_scrollUpdated", + value: function _scrollUpdated() { + this.renderingQueue.renderHighestPriority(); + } + }, { + key: "getThumbnail", + value: function getThumbnail(index) { + return this._thumbnails[index]; + } + }, { + key: "_getVisibleThumbs", + value: function _getVisibleThumbs() { + return (0, _ui_utils.getVisibleElements)({ + scrollEl: this.container, + views: this._thumbnails + }); + } + }, { + key: "scrollThumbnailIntoView", + value: function scrollThumbnailIntoView(pageNumber) { + if (!this.pdfDocument) { + return; + } + + var thumbnailView = this._thumbnails[pageNumber - 1]; + + if (!thumbnailView) { + console.error('scrollThumbnailIntoView: Invalid "pageNumber" parameter.'); + return; + } + + if (pageNumber !== this._currentPageNumber) { + var prevThumbnailView = this._thumbnails[this._currentPageNumber - 1]; + prevThumbnailView.div.classList.remove(THUMBNAIL_SELECTED_CLASS); + thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); + } + + var visibleThumbs = this._getVisibleThumbs(); + + var numVisibleThumbs = visibleThumbs.views.length; + + if (numVisibleThumbs > 0) { + var first = visibleThumbs.first.id; + var last = numVisibleThumbs > 1 ? visibleThumbs.last.id : first; + var shouldScroll = false; + + if (pageNumber <= first || pageNumber >= last) { + shouldScroll = true; + } else { + visibleThumbs.views.some(function (view) { + if (view.id !== pageNumber) { + return false; + } + + shouldScroll = view.percent < 100; + return true; + }); + } + + if (shouldScroll) { + (0, _ui_utils.scrollIntoView)(thumbnailView.div, { + top: THUMBNAIL_SCROLL_MARGIN + }); + } + } + + this._currentPageNumber = pageNumber; + } + }, { + key: "pagesRotation", + get: function get() { + return this._pagesRotation; + }, + set: function set(rotation) { + if (!(0, _ui_utils.isValidRotation)(rotation)) { + throw new Error("Invalid thumbnails rotation angle."); + } + + if (!this.pdfDocument) { + return; + } + + if (this._pagesRotation === rotation) { + return; + } + + this._pagesRotation = rotation; + + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { + this._thumbnails[i].update(rotation); + } + } + }, { + key: "cleanup", + value: function cleanup() { + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { + if (this._thumbnails[i] && this._thumbnails[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { + this._thumbnails[i].reset(); + } + } + + _pdf_thumbnail_view.TempImageFactory.destroyCanvas(); + } + }, { + key: "_resetView", + value: function _resetView() { + this._thumbnails = []; + this._currentPageNumber = 1; + this._pageLabels = null; + this._pagesRotation = 0; + this._optionalContentConfigPromise = null; + this._pagesRequests = new WeakMap(); + this._setImageDisabled = false; + this.container.textContent = ""; + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + var _this2 = this; + + if (this.pdfDocument) { + this._cancelRendering(); + + this._resetView(); + } + + this.pdfDocument = pdfDocument; + + if (!pdfDocument) { + return; + } + + var firstPagePromise = pdfDocument.getPage(1); + var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); + firstPagePromise.then(function (firstPdfPage) { + _this2._optionalContentConfigPromise = optionalContentConfigPromise; + var pagesCount = pdfDocument.numPages; + var viewport = firstPdfPage.getViewport({ + scale: 1 + }); + + var checkSetImageDisabled = function checkSetImageDisabled() { + return _this2._setImageDisabled; + }; + + for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { + var thumbnail = new _pdf_thumbnail_view.PDFThumbnailView({ + container: _this2.container, + id: pageNum, + defaultViewport: viewport.clone(), + optionalContentConfigPromise: optionalContentConfigPromise, + linkService: _this2.linkService, + renderingQueue: _this2.renderingQueue, + checkSetImageDisabled: checkSetImageDisabled, + l10n: _this2.l10n + }); + + _this2._thumbnails.push(thumbnail); + } + + var firstThumbnailView = _this2._thumbnails[0]; + + if (firstThumbnailView) { + firstThumbnailView.setPdfPage(firstPdfPage); + } + + var thumbnailView = _this2._thumbnails[_this2._currentPageNumber - 1]; + thumbnailView.div.classList.add(THUMBNAIL_SELECTED_CLASS); + })["catch"](function (reason) { + console.error("Unable to initialize thumbnail viewer", reason); + }); + } + }, { + key: "_cancelRendering", + value: function _cancelRendering() { + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { + if (this._thumbnails[i]) { + this._thumbnails[i].cancelRendering(); + } + } + } + }, { + key: "setPageLabels", + value: function setPageLabels(labels) { + if (!this.pdfDocument) { + return; + } + + if (!labels) { + this._pageLabels = null; + } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { + this._pageLabels = null; + console.error("PDFThumbnailViewer_setPageLabels: Invalid page labels."); + } else { + this._pageLabels = labels; + } + + for (var i = 0, ii = this._thumbnails.length; i < ii; i++) { + var _this$_pageLabels$i, _this$_pageLabels; + + this._thumbnails[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels = this._pageLabels) === null || _this$_pageLabels === void 0 ? void 0 : _this$_pageLabels[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null); + } + } + }, { + key: "_ensurePdfPageLoaded", + value: function _ensurePdfPageLoaded(thumbView) { + var _this3 = this; + + if (thumbView.pdfPage) { + return Promise.resolve(thumbView.pdfPage); + } + + if (this._pagesRequests.has(thumbView)) { + return this._pagesRequests.get(thumbView); + } + + var promise = this.pdfDocument.getPage(thumbView.id).then(function (pdfPage) { + if (!thumbView.pdfPage) { + thumbView.setPdfPage(pdfPage); + } + + _this3._pagesRequests["delete"](thumbView); + + return pdfPage; + })["catch"](function (reason) { + console.error("Unable to get page for thumb view", reason); + + _this3._pagesRequests["delete"](thumbView); + }); + + this._pagesRequests.set(thumbView, promise); + + return promise; + } + }, { + key: "forceRendering", + value: function forceRendering() { + var _this4 = this; + + var visibleThumbs = this._getVisibleThumbs(); + + var thumbView = this.renderingQueue.getHighestPriority(visibleThumbs, this._thumbnails, this.scroll.down); + + if (thumbView) { + this._ensurePdfPageLoaded(thumbView).then(function () { + _this4.renderingQueue.renderView(thumbView); + }); + + return true; + } + + return false; + } + }]); + + return PDFThumbnailViewer; +}(); + +exports.PDFThumbnailViewer = PDFThumbnailViewer; + +/***/ }), +/* 28 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TempImageFactory = exports.PDFThumbnailView = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _ui_utils = __webpack_require__(6); + +var _pdfjsLib = __webpack_require__(7); + +var _pdf_rendering_queue = __webpack_require__(10); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 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 DRAW_UPSCALE_FACTOR = 2; +var MAX_NUM_SCALING_STEPS = 3; +var THUMBNAIL_CANVAS_BORDER_WIDTH = 1; +var THUMBNAIL_WIDTH = 98; + +var TempImageFactory = function TempImageFactoryClosure() { + var tempCanvasCache = null; + return { + getCanvas: function getCanvas(width, height) { + var tempCanvas = tempCanvasCache; + + if (!tempCanvas) { + tempCanvas = document.createElement("canvas"); + tempCanvasCache = tempCanvas; + } + + tempCanvas.width = width; + tempCanvas.height = height; + tempCanvas.mozOpaque = true; + var ctx = tempCanvas.getContext("2d", { + alpha: false + }); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, width, height); + ctx.restore(); + return [tempCanvas, tempCanvas.getContext("2d")]; + }, + destroyCanvas: function destroyCanvas() { + var tempCanvas = tempCanvasCache; + + if (tempCanvas) { + tempCanvas.width = 0; + tempCanvas.height = 0; + } + + tempCanvasCache = null; + } + }; +}(); + +exports.TempImageFactory = TempImageFactory; + +var PDFThumbnailView = /*#__PURE__*/function () { + function PDFThumbnailView(_ref) { + var container = _ref.container, + id = _ref.id, + defaultViewport = _ref.defaultViewport, + optionalContentConfigPromise = _ref.optionalContentConfigPromise, + linkService = _ref.linkService, + renderingQueue = _ref.renderingQueue, + checkSetImageDisabled = _ref.checkSetImageDisabled, + l10n = _ref.l10n; + + _classCallCheck(this, PDFThumbnailView); + + this.id = id; + this.renderingId = "thumbnail" + id; + this.pageLabel = null; + this.pdfPage = null; + this.rotation = 0; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = optionalContentConfigPromise || null; + this.linkService = linkService; + this.renderingQueue = renderingQueue; + this.renderTask = null; + this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; + this.resume = null; + + this._checkSetImageDisabled = checkSetImageDisabled || function () { + return false; + }; + + var pageWidth = this.viewport.width, + pageHeight = this.viewport.height, + pageRatio = pageWidth / pageHeight; + this.canvasWidth = THUMBNAIL_WIDTH; + this.canvasHeight = this.canvasWidth / pageRatio | 0; + this.scale = this.canvasWidth / pageWidth; + this.l10n = l10n; + var anchor = document.createElement("a"); + anchor.href = linkService.getAnchorUrl("#page=" + id); + + this._thumbPageTitle.then(function (msg) { + anchor.title = msg; + }); + + anchor.onclick = function () { + linkService.goToPage(id); + return false; + }; + + this.anchor = anchor; + var div = document.createElement("div"); + div.className = "thumbnail"; + div.setAttribute("data-page-number", this.id); + this.div = div; + var ring = document.createElement("div"); + ring.className = "thumbnailSelectionRing"; + var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; + ring.style.width = this.canvasWidth + borderAdjustment + "px"; + ring.style.height = this.canvasHeight + borderAdjustment + "px"; + this.ring = ring; + div.appendChild(ring); + anchor.appendChild(div); + container.appendChild(anchor); + } + + _createClass(PDFThumbnailView, [{ + key: "setPdfPage", + value: function setPdfPage(pdfPage) { + this.pdfPage = pdfPage; + this.pdfPageRotate = pdfPage.rotate; + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = pdfPage.getViewport({ + scale: 1, + rotation: totalRotation + }); + this.reset(); + } + }, { + key: "reset", + value: function reset() { + this.cancelRendering(); + this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; + var pageWidth = this.viewport.width, + pageHeight = this.viewport.height, + pageRatio = pageWidth / pageHeight; + this.canvasHeight = this.canvasWidth / pageRatio | 0; + this.scale = this.canvasWidth / pageWidth; + this.div.removeAttribute("data-loaded"); + var ring = this.ring; + ring.textContent = ""; + var borderAdjustment = 2 * THUMBNAIL_CANVAS_BORDER_WIDTH; + ring.style.width = this.canvasWidth + borderAdjustment + "px"; + ring.style.height = this.canvasHeight + borderAdjustment + "px"; + + if (this.canvas) { + this.canvas.width = 0; + this.canvas.height = 0; + delete this.canvas; + } + + if (this.image) { + this.image.removeAttribute("src"); + delete this.image; + } + } + }, { + key: "update", + value: function update(rotation) { + if (typeof rotation !== "undefined") { + this.rotation = rotation; + } + + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = this.viewport.clone({ + scale: 1, + rotation: totalRotation + }); + this.reset(); + } + }, { + key: "cancelRendering", + value: function cancelRendering() { + if (this.renderTask) { + this.renderTask.cancel(); + this.renderTask = null; + } + + this.resume = null; + } + }, { + key: "_getPageDrawContext", + value: function _getPageDrawContext() { + var upscaleFactor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; + var canvas = document.createElement("canvas"); + canvas.mozOpaque = true; + var ctx = canvas.getContext("2d", { + alpha: false + }); + var outputScale = (0, _ui_utils.getOutputScale)(ctx); + canvas.width = upscaleFactor * this.canvasWidth * outputScale.sx | 0; + canvas.height = upscaleFactor * this.canvasHeight * outputScale.sy | 0; + var transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null; + return { + ctx: ctx, + canvas: canvas, + transform: transform + }; + } + }, { + key: "_convertCanvasToImage", + value: function _convertCanvasToImage(canvas) { + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { + throw new Error("_convertCanvasToImage: Rendering has not finished."); + } + + var reducedCanvas = this._reduceImage(canvas); + + var image = document.createElement("img"); + image.className = "thumbnailImage"; + + this._thumbPageCanvas.then(function (msg) { + image.setAttribute("aria-label", msg); + }); + + image.style.width = this.canvasWidth + "px"; + image.style.height = this.canvasHeight + "px"; + image.src = reducedCanvas.toDataURL(); + this.image = image; + this.div.setAttribute("data-loaded", true); + this.ring.appendChild(image); + reducedCanvas.width = 0; + reducedCanvas.height = 0; + } + }, { + key: "draw", + value: function draw() { + var _this = this; + + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + return Promise.resolve(undefined); + } + + var pdfPage = this.pdfPage; + + if (!pdfPage) { + this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + return Promise.reject(new Error("pdfPage is not loaded")); + } + + this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; + + var finishRenderTask = /*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var error, + _args = arguments; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + error = _args.length > 0 && _args[0] !== undefined ? _args[0] : null; + + if (renderTask === _this.renderTask) { + _this.renderTask = null; + } + + if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { + _context.next = 4; + break; + } + + return _context.abrupt("return"); + + case 4: + _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + + _this._convertCanvasToImage(canvas); + + if (!error) { + _context.next = 8; + break; + } + + throw error; + + case 8: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function finishRenderTask() { + return _ref2.apply(this, arguments); + }; + }(); + + var _this$_getPageDrawCon = this._getPageDrawContext(DRAW_UPSCALE_FACTOR), + ctx = _this$_getPageDrawCon.ctx, + canvas = _this$_getPageDrawCon.canvas, + transform = _this$_getPageDrawCon.transform; + + var drawViewport = this.viewport.clone({ + scale: DRAW_UPSCALE_FACTOR * this.scale + }); + + var renderContinueCallback = function renderContinueCallback(cont) { + if (!_this.renderingQueue.isHighestPriority(_this)) { + _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; + + _this.resume = function () { + _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; + cont(); + }; + + return; + } + + cont(); + }; + + var renderContext = { + canvasContext: ctx, + transform: transform, + viewport: drawViewport, + optionalContentConfigPromise: this._optionalContentConfigPromise + }; + var renderTask = this.renderTask = pdfPage.render(renderContext); + renderTask.onContinue = renderContinueCallback; + var resultPromise = renderTask.promise.then(function () { + return finishRenderTask(null); + }, function (error) { + return finishRenderTask(error); + }); + resultPromise["finally"](function () { + canvas.width = 0; + canvas.height = 0; + + var pageCached = _this.linkService.isPageCached(_this.id); + + if (!pageCached) { + var _this$pdfPage; + + (_this$pdfPage = _this.pdfPage) === null || _this$pdfPage === void 0 ? void 0 : _this$pdfPage.cleanup(); + } + }); + return resultPromise; + } + }, { + key: "setImage", + value: function setImage(pageView) { + if (this._checkSetImageDisabled()) { + return; + } + + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { + return; + } + + var canvas = pageView.canvas, + pdfPage = pageView.pdfPage; + + if (!canvas) { + return; + } + + if (!this.pdfPage) { + this.setPdfPage(pdfPage); + } + + this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + + this._convertCanvasToImage(canvas); + } + }, { + key: "_reduceImage", + value: function _reduceImage(img) { + var _this$_getPageDrawCon2 = this._getPageDrawContext(), + ctx = _this$_getPageDrawCon2.ctx, + canvas = _this$_getPageDrawCon2.canvas; + + if (img.width <= 2 * canvas.width) { + ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, canvas.width, canvas.height); + return canvas; + } + + var reducedWidth = canvas.width << MAX_NUM_SCALING_STEPS; + var reducedHeight = canvas.height << MAX_NUM_SCALING_STEPS; + + var _TempImageFactory$get = TempImageFactory.getCanvas(reducedWidth, reducedHeight), + _TempImageFactory$get2 = _slicedToArray(_TempImageFactory$get, 2), + reducedImage = _TempImageFactory$get2[0], + reducedImageCtx = _TempImageFactory$get2[1]; + + while (reducedWidth > img.width || reducedHeight > img.height) { + reducedWidth >>= 1; + reducedHeight >>= 1; + } + + reducedImageCtx.drawImage(img, 0, 0, img.width, img.height, 0, 0, reducedWidth, reducedHeight); + + while (reducedWidth > 2 * canvas.width) { + reducedImageCtx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, reducedWidth >> 1, reducedHeight >> 1); + reducedWidth >>= 1; + reducedHeight >>= 1; + } + + ctx.drawImage(reducedImage, 0, 0, reducedWidth, reducedHeight, 0, 0, canvas.width, canvas.height); + return canvas; + } + }, { + key: "_thumbPageTitle", + get: function get() { + var _this$pageLabel; + + return this.l10n.get("thumb_page_title", { + page: (_this$pageLabel = this.pageLabel) !== null && _this$pageLabel !== void 0 ? _this$pageLabel : this.id + }); + } + }, { + key: "_thumbPageCanvas", + get: function get() { + var _this$pageLabel2; + + return this.l10n.get("thumb_page_canvas", { + page: (_this$pageLabel2 = this.pageLabel) !== null && _this$pageLabel2 !== void 0 ? _this$pageLabel2 : this.id + }); + } + }, { + key: "setPageLabel", + value: function setPageLabel(label) { + var _this2 = this; + + this.pageLabel = typeof label === "string" ? label : null; + + this._thumbPageTitle.then(function (msg) { + _this2.anchor.title = msg; + }); + + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { + return; + } + + this._thumbPageCanvas.then(function (msg) { + var _this2$image; + + (_this2$image = _this2.image) === null || _this2$image === void 0 ? void 0 : _this2$image.setAttribute("aria-label", msg); + }); + } + }]); + + return PDFThumbnailView; +}(); + +exports.PDFThumbnailView = PDFThumbnailView; + +/***/ }), +/* 29 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFViewer = void 0; + +var _ui_utils = __webpack_require__(6); + +var _base_viewer = __webpack_require__(30); + +var _pdfjsLib = __webpack_require__(7); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFViewer = /*#__PURE__*/function (_BaseViewer) { + _inherits(PDFViewer, _BaseViewer); + + var _super = _createSuper(PDFViewer); + + function PDFViewer() { + _classCallCheck(this, PDFViewer); + + return _super.apply(this, arguments); + } + + _createClass(PDFViewer, [{ + key: "_viewerElement", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_viewerElement", this.viewer); + } + }, { + key: "_scrollIntoView", + value: function _scrollIntoView(_ref) { + var pageDiv = _ref.pageDiv, + _ref$pageSpot = _ref.pageSpot, + pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, + _ref$pageNumber = _ref.pageNumber, + pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; + + if (!pageSpot && !this.isInPresentationMode) { + var left = pageDiv.offsetLeft + pageDiv.clientLeft; + var right = left + pageDiv.clientWidth; + var _this$container = this.container, + scrollLeft = _this$container.scrollLeft, + clientWidth = _this$container.clientWidth; + + if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) { + pageSpot = { + left: 0, + top: 0 + }; + } + } + + _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, { + pageDiv: pageDiv, + pageSpot: pageSpot, + pageNumber: pageNumber + }); + } + }, { + key: "_getVisiblePages", + value: function _getVisiblePages() { + if (this.isInPresentationMode) { + return this._getCurrentVisiblePage(); + } + + return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this); + } + }, { + key: "_updateHelper", + value: function _updateHelper(visiblePages) { + if (this.isInPresentationMode) { + return; + } + + var currentId = this._currentPageNumber; + var stillFullyVisible = false; + + var _iterator = _createForOfIteratorHelper(visiblePages), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var page = _step.value; + + if (page.percent < 100) { + break; + } + + if (page.id === currentId && this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode === _ui_utils.SpreadMode.NONE) { + stillFullyVisible = true; + break; + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + if (!stillFullyVisible) { + currentId = visiblePages[0].id; + } + + this._setCurrentPageNumber(currentId); + } + }]); + + return PDFViewer; +}(_base_viewer.BaseViewer); + +exports.PDFViewer = PDFViewer; + +/***/ }), +/* 30 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BaseViewer = void 0; + +var _pdfjsLib = __webpack_require__(7); + +var _ui_utils = __webpack_require__(6); + +var _pdf_rendering_queue = __webpack_require__(10); + +var _annotation_layer_builder = __webpack_require__(31); + +var _l10n_utils = __webpack_require__(32); + +var _pdf_page_view = __webpack_require__(33); + +var _pdf_link_service = __webpack_require__(21); + +var _struct_tree_layer_builder = __webpack_require__(34); + +var _text_layer_builder = __webpack_require__(35); + +var _xfa_layer_builder = __webpack_require__(36); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var DEFAULT_CACHE_SIZE = 10; + +function PDFPageViewBuffer(size) { + var data = []; + + this.push = function (view) { + var i = data.indexOf(view); + + if (i >= 0) { + data.splice(i, 1); + } + + data.push(view); + + if (data.length > size) { + data.shift().destroy(); + } + }; + + this.resize = function (newSize, pagesToKeep) { + size = newSize; + + if (pagesToKeep) { + var pageIdsToKeep = new Set(); + + for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) { + pageIdsToKeep.add(pagesToKeep[i].id); + } + + (0, _ui_utils.moveToEndOfArray)(data, function (page) { + return pageIdsToKeep.has(page.id); + }); + } + + while (data.length > size) { + data.shift().destroy(); + } + }; + + this.has = function (view) { + return data.includes(view); + }; +} + +function isSameScale(oldScale, newScale) { + if (newScale === oldScale) { + return true; + } + + if (Math.abs(newScale - oldScale) < 1e-15) { + return true; + } + + return false; +} + +var BaseViewer = /*#__PURE__*/function () { + function BaseViewer(options) { + var _this$container, + _this$viewer, + _this = this; + + _classCallCheck(this, BaseViewer); + + if (this.constructor === BaseViewer) { + throw new Error("Cannot initialize BaseViewer."); + } + + var viewerVersion = '2.9.359'; + + if (_pdfjsLib.version !== viewerVersion) { + throw new Error("The API version \"".concat(_pdfjsLib.version, "\" does not match the Viewer version \"").concat(viewerVersion, "\".")); + } + + this._name = this.constructor.name; + this.container = options.container; + this.viewer = options.viewer || options.container.firstElementChild; + + if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === "DIV" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === "DIV")) { + throw new Error("Invalid `container` and/or `viewer` option."); + } + + if (this.container.offsetParent && getComputedStyle(this.container).position !== "absolute") { + throw new Error("The `container` must be absolutely positioned."); + } + + this.eventBus = options.eventBus; + this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService(); + this.downloadManager = options.downloadManager || null; + this.findController = options.findController || null; + this._scriptingManager = options.scriptingManager || null; + this.removePageBorders = options.removePageBorders || false; + this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE; + this.imageResourcesPath = options.imageResourcesPath || ""; + this.renderInteractiveForms = options.renderInteractiveForms !== false; + this.enablePrintAutoRotate = options.enablePrintAutoRotate || false; + this.renderer = options.renderer || _ui_utils.RendererType.CANVAS; + this.useOnlyCssZoom = options.useOnlyCssZoom || false; + this.maxCanvasPixels = options.maxCanvasPixels; + this.l10n = options.l10n || _l10n_utils.NullL10n; + this.enableScripting = options.enableScripting === true && !!this._scriptingManager; + this.defaultRenderingQueue = !options.renderingQueue; + + if (this.defaultRenderingQueue) { + this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue(); + this.renderingQueue.setViewer(this); + } else { + this.renderingQueue = options.renderingQueue; + } + + this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this)); + this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN; + this._onBeforeDraw = this._onAfterDraw = null; + + this._resetView(); + + if (this.removePageBorders) { + this.viewer.classList.add("removePageBorders"); + } + + Promise.resolve().then(function () { + _this.eventBus.dispatch("baseviewerinit", { + source: _this + }); + }); + } + + _createClass(BaseViewer, [{ + key: "pagesCount", + get: function get() { + return this._pages.length; + } + }, { + key: "getPageView", + value: function getPageView(index) { + return this._pages[index]; + } + }, { + key: "pageViewsReady", + get: function get() { + if (!this._pagesCapability.settled) { + return false; + } + + return this._pages.every(function (pageView) { + return pageView === null || pageView === void 0 ? void 0 : pageView.pdfPage; + }); + } + }, { + key: "currentPageNumber", + get: function get() { + return this._currentPageNumber; + }, + set: function set(val) { + if (!Number.isInteger(val)) { + throw new Error("Invalid page number."); + } + + if (!this.pdfDocument) { + return; + } + + if (!this._setCurrentPageNumber(val, true)) { + console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page.")); + } + } + }, { + key: "_setCurrentPageNumber", + value: function _setCurrentPageNumber(val) { + var _this$_pageLabels, _this$_pageLabels2; + + var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (this._currentPageNumber === val) { + if (resetCurrentPageView) { + this._resetCurrentPageView(); + } + + return true; + } + + if (!(0 < val && val <= this.pagesCount)) { + return false; + } + + var previous = this._currentPageNumber; + this._currentPageNumber = val; + this.eventBus.dispatch("pagechanging", { + source: this, + pageNumber: val, + pageLabel: (_this$_pageLabels = (_this$_pageLabels2 = this._pageLabels) === null || _this$_pageLabels2 === void 0 ? void 0 : _this$_pageLabels2[val - 1]) !== null && _this$_pageLabels !== void 0 ? _this$_pageLabels : null, + previous: previous + }); + + if (resetCurrentPageView) { + this._resetCurrentPageView(); + } + + return true; + } + }, { + key: "currentPageLabel", + get: function get() { + var _this$_pageLabels3, _this$_pageLabels4; + + return (_this$_pageLabels3 = (_this$_pageLabels4 = this._pageLabels) === null || _this$_pageLabels4 === void 0 ? void 0 : _this$_pageLabels4[this._currentPageNumber - 1]) !== null && _this$_pageLabels3 !== void 0 ? _this$_pageLabels3 : null; + }, + set: function set(val) { + if (!this.pdfDocument) { + return; + } + + var page = val | 0; + + if (this._pageLabels) { + var i = this._pageLabels.indexOf(val); + + if (i >= 0) { + page = i + 1; + } + } + + if (!this._setCurrentPageNumber(page, true)) { + console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page.")); + } + } + }, { + key: "currentScale", + get: function get() { + return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE; + }, + set: function set(val) { + if (isNaN(val)) { + throw new Error("Invalid numeric scale."); + } + + if (!this.pdfDocument) { + return; + } + + this._setScale(val, false); + } + }, { + key: "currentScaleValue", + get: function get() { + return this._currentScaleValue; + }, + set: function set(val) { + if (!this.pdfDocument) { + return; + } + + this._setScale(val, false); + } + }, { + key: "pagesRotation", + get: function get() { + return this._pagesRotation; + }, + set: function set(rotation) { + if (!(0, _ui_utils.isValidRotation)(rotation)) { + throw new Error("Invalid pages rotation angle."); + } + + if (!this.pdfDocument) { + return; + } + + rotation %= 360; + + if (rotation < 0) { + rotation += 360; + } + + if (this._pagesRotation === rotation) { + return; + } + + this._pagesRotation = rotation; + var pageNumber = this._currentPageNumber; + + for (var i = 0, ii = this._pages.length; i < ii; i++) { + var pageView = this._pages[i]; + pageView.update(pageView.scale, rotation); + } + + if (this._currentScaleValue) { + this._setScale(this._currentScaleValue, true); + } + + this.eventBus.dispatch("rotationchanging", { + source: this, + pagesRotation: rotation, + pageNumber: pageNumber + }); + + if (this.defaultRenderingQueue) { + this.update(); + } + } + }, { + key: "firstPagePromise", + get: function get() { + return this.pdfDocument ? this._firstPageCapability.promise : null; + } + }, { + key: "onePageRendered", + get: function get() { + return this.pdfDocument ? this._onePageRenderedCapability.promise : null; + } + }, { + key: "pagesPromise", + get: function get() { + return this.pdfDocument ? this._pagesCapability.promise : null; + } + }, { + key: "_viewerElement", + get: function get() { + throw new Error("Not implemented: _viewerElement"); + } + }, { + key: "_onePageRenderedOrForceFetch", + value: function _onePageRenderedOrForceFetch() { + if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) { + return Promise.resolve(); + } + + return this._onePageRenderedCapability.promise; + } + }, { + key: "setDocument", + value: function setDocument(pdfDocument) { + var _this2 = this; + + if (this.pdfDocument) { + this.eventBus.dispatch("pagesdestroy", { + source: this + }); + + this._cancelRendering(); + + this._resetView(); + + if (this.findController) { + this.findController.setDocument(null); + } + + if (this._scriptingManager) { + this._scriptingManager.setDocument(null); + } + } + + this.pdfDocument = pdfDocument; + + if (!pdfDocument) { + return; + } + + var isPureXfa = pdfDocument.isPureXfa; + var pagesCount = pdfDocument.numPages; + var firstPagePromise = pdfDocument.getPage(1); + var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig(); + + this._pagesCapability.promise.then(function () { + _this2.eventBus.dispatch("pagesloaded", { + source: _this2, + pagesCount: pagesCount + }); + }); + + this._onBeforeDraw = function (evt) { + var pageView = _this2._pages[evt.pageNumber - 1]; + + if (!pageView) { + return; + } + + _this2._buffer.push(pageView); + }; + + this.eventBus._on("pagerender", this._onBeforeDraw); + + this._onAfterDraw = function (evt) { + if (evt.cssTransform || _this2._onePageRenderedCapability.settled) { + return; + } + + _this2._onePageRenderedCapability.resolve(); + + _this2.eventBus._off("pagerendered", _this2._onAfterDraw); + + _this2._onAfterDraw = null; + }; + + this.eventBus._on("pagerendered", this._onAfterDraw); + + firstPagePromise.then(function (firstPdfPage) { + _this2._firstPageCapability.resolve(firstPdfPage); + + _this2._optionalContentConfigPromise = optionalContentConfigPromise; + var scale = _this2.currentScale; + var viewport = firstPdfPage.getViewport({ + scale: scale * _ui_utils.CSS_UNITS + }); + var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null; + var xfaLayerFactory = isPureXfa ? _this2 : null; + + for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) { + var pageView = new _pdf_page_view.PDFPageView({ + container: _this2._viewerElement, + eventBus: _this2.eventBus, + id: pageNum, + scale: scale, + defaultViewport: viewport.clone(), + optionalContentConfigPromise: optionalContentConfigPromise, + renderingQueue: _this2.renderingQueue, + textLayerFactory: textLayerFactory, + textLayerMode: _this2.textLayerMode, + annotationLayerFactory: _this2, + xfaLayerFactory: xfaLayerFactory, + structTreeLayerFactory: _this2, + imageResourcesPath: _this2.imageResourcesPath, + renderInteractiveForms: _this2.renderInteractiveForms, + renderer: _this2.renderer, + useOnlyCssZoom: _this2.useOnlyCssZoom, + maxCanvasPixels: _this2.maxCanvasPixels, + l10n: _this2.l10n + }); + + _this2._pages.push(pageView); + } + + var firstPageView = _this2._pages[0]; + + if (firstPageView) { + firstPageView.setPdfPage(firstPdfPage); + + _this2.linkService.cachePageRef(1, firstPdfPage.ref); + } + + if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) { + _this2._updateSpreadMode(); + } + + _this2._onePageRenderedOrForceFetch().then(function () { + if (_this2.findController) { + _this2.findController.setDocument(pdfDocument); + } + + if (_this2.enableScripting) { + _this2._scriptingManager.setDocument(pdfDocument); + } + + if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) { + _this2._pagesCapability.resolve(); + + return; + } + + var getPagesLeft = pagesCount - 1; + + if (getPagesLeft <= 0) { + _this2._pagesCapability.resolve(); + + return; + } + + var _loop = function _loop(_pageNum) { + pdfDocument.getPage(_pageNum).then(function (pdfPage) { + var pageView = _this2._pages[_pageNum - 1]; + + if (!pageView.pdfPage) { + pageView.setPdfPage(pdfPage); + } + + _this2.linkService.cachePageRef(_pageNum, pdfPage.ref); + + if (--getPagesLeft === 0) { + _this2._pagesCapability.resolve(); + } + }, function (reason) { + console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason); + + if (--getPagesLeft === 0) { + _this2._pagesCapability.resolve(); + } + }); + }; + + for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) { + _loop(_pageNum); + } + }); + + _this2.eventBus.dispatch("pagesinit", { + source: _this2 + }); + + if (_this2.defaultRenderingQueue) { + _this2.update(); + } + })["catch"](function (reason) { + console.error("Unable to initialize viewer", reason); + }); + } + }, { + key: "setPageLabels", + value: function setPageLabels(labels) { + if (!this.pdfDocument) { + return; + } + + if (!labels) { + this._pageLabels = null; + } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) { + this._pageLabels = null; + console.error("".concat(this._name, ".setPageLabels: Invalid page labels.")); + } else { + this._pageLabels = labels; + } + + for (var i = 0, ii = this._pages.length; i < ii; i++) { + var _this$_pageLabels$i, _this$_pageLabels5; + + this._pages[i].setPageLabel((_this$_pageLabels$i = (_this$_pageLabels5 = this._pageLabels) === null || _this$_pageLabels5 === void 0 ? void 0 : _this$_pageLabels5[i]) !== null && _this$_pageLabels$i !== void 0 ? _this$_pageLabels$i : null); + } + } + }, { + key: "_resetView", + value: function _resetView() { + this._pages = []; + this._currentPageNumber = 1; + this._currentScale = _ui_utils.UNKNOWN_SCALE; + this._currentScaleValue = null; + this._pageLabels = null; + this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE); + this._location = null; + this._pagesRotation = 0; + this._optionalContentConfigPromise = null; + this._pagesRequests = new WeakMap(); + this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)(); + this._scrollMode = _ui_utils.ScrollMode.VERTICAL; + this._spreadMode = _ui_utils.SpreadMode.NONE; + + if (this._onBeforeDraw) { + this.eventBus._off("pagerender", this._onBeforeDraw); + + this._onBeforeDraw = null; + } + + if (this._onAfterDraw) { + this.eventBus._off("pagerendered", this._onAfterDraw); + + this._onAfterDraw = null; + } + + this.viewer.textContent = ""; + + this._updateScrollMode(); + } + }, { + key: "_scrollUpdate", + value: function _scrollUpdate() { + if (this.pagesCount === 0) { + return; + } + + this.update(); + } + }, { + key: "_scrollIntoView", + value: function _scrollIntoView(_ref) { + var pageDiv = _ref.pageDiv, + _ref$pageSpot = _ref.pageSpot, + pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, + _ref$pageNumber = _ref.pageNumber, + pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; + (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot); + } + }, { + key: "_setScaleUpdatePages", + value: function _setScaleUpdatePages(newScale, newValue) { + var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + this._currentScaleValue = newValue.toString(); + + if (isSameScale(this._currentScale, newScale)) { + if (preset) { + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: newValue + }); + } + + return; + } + + for (var i = 0, ii = this._pages.length; i < ii; i++) { + this._pages[i].update(newScale); + } + + this._currentScale = newScale; + + if (!noScroll) { + var page = this._currentPageNumber, + dest; + + if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) { + page = this._location.pageNumber; + dest = [null, { + name: "XYZ" + }, this._location.left, this._location.top, null]; + } + + this.scrollPageIntoView({ + pageNumber: page, + destArray: dest, + allowNegativeOffset: true + }); + } + + this.eventBus.dispatch("scalechanging", { + source: this, + scale: newScale, + presetValue: preset ? newValue : undefined + }); + + if (this.defaultRenderingQueue) { + this.update(); + } + } + }, { + key: "_pageWidthScaleFactor", + get: function get() { + if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL && !this.isInPresentationMode) { + return 2; + } + + return 1; + } + }, { + key: "_setScale", + value: function _setScale(value) { + var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var scale = parseFloat(value); + + if (scale > 0) { + this._setScaleUpdatePages(scale, value, noScroll, false); + } else { + var currentPage = this._pages[this._currentPageNumber - 1]; + + if (!currentPage) { + return; + } + + var noPadding = this.isInPresentationMode || this.removePageBorders; + var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING; + var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING; + + if (!noPadding && this._isScrollModeHorizontal) { + var _ref2 = [vPadding, hPadding]; + hPadding = _ref2[0]; + vPadding = _ref2[1]; + } + + var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor; + var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale; + + switch (value) { + case "page-actual": + scale = 1; + break; + + case "page-width": + scale = pageWidthScale; + break; + + case "page-height": + scale = pageHeightScale; + break; + + case "page-fit": + scale = Math.min(pageWidthScale, pageHeightScale); + break; + + case "auto": + var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale); + scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale); + break; + + default: + console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value.")); + return; + } + + this._setScaleUpdatePages(scale, value, noScroll, true); + } + } + }, { + key: "_resetCurrentPageView", + value: function _resetCurrentPageView() { + if (this.isInPresentationMode) { + this._setScale(this._currentScaleValue, true); + } + + var pageView = this._pages[this._currentPageNumber - 1]; + + this._scrollIntoView({ + pageDiv: pageView.div + }); + } + }, { + key: "pageLabelToPageNumber", + value: function pageLabelToPageNumber(label) { + if (!this._pageLabels) { + return null; + } + + var i = this._pageLabels.indexOf(label); + + if (i < 0) { + return null; + } + + return i + 1; + } + }, { + key: "scrollPageIntoView", + value: function scrollPageIntoView(_ref3) { + var pageNumber = _ref3.pageNumber, + _ref3$destArray = _ref3.destArray, + destArray = _ref3$destArray === void 0 ? null : _ref3$destArray, + _ref3$allowNegativeOf = _ref3.allowNegativeOffset, + allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf, + _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom, + ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati; + + if (!this.pdfDocument) { + return; + } + + var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1]; + + if (!pageView) { + console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter.")); + return; + } + + if (this.isInPresentationMode || !destArray) { + this._setCurrentPageNumber(pageNumber, true); + + return; + } + + var x = 0, + y = 0; + var width = 0, + height = 0, + widthScale, + heightScale; + var changeOrientation = pageView.rotation % 180 !== 0; + var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS; + var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS; + var scale = 0; + + switch (destArray[1].name) { + case "XYZ": + x = destArray[2]; + y = destArray[3]; + scale = destArray[4]; + x = x !== null ? x : 0; + y = y !== null ? y : pageHeight; + break; + + case "Fit": + case "FitB": + scale = "page-fit"; + break; + + case "FitH": + case "FitBH": + y = destArray[2]; + scale = "page-width"; + + if (y === null && this._location) { + x = this._location.left; + y = this._location.top; + } else if (typeof y !== "number") { + y = pageHeight; + } + + break; + + case "FitV": + case "FitBV": + x = destArray[2]; + width = pageWidth; + height = pageHeight; + scale = "page-height"; + break; + + case "FitR": + x = destArray[2]; + y = destArray[3]; + width = destArray[4] - x; + height = destArray[5] - y; + var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING; + var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING; + widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS; + heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS; + scale = Math.min(Math.abs(widthScale), Math.abs(heightScale)); + break; + + default: + console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type.")); + return; + } + + if (!ignoreDestinationZoom) { + if (scale && scale !== this._currentScale) { + this.currentScaleValue = scale; + } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) { + this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + } + } + + if (scale === "page-fit" && !destArray[4]) { + this._scrollIntoView({ + pageDiv: pageView.div, + pageNumber: pageNumber + }); + + return; + } + + var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)]; + var left = Math.min(boundingRect[0][0], boundingRect[1][0]); + var top = Math.min(boundingRect[0][1], boundingRect[1][1]); + + if (!allowNegativeOffset) { + left = Math.max(left, 0); + top = Math.max(top, 0); + } + + this._scrollIntoView({ + pageDiv: pageView.div, + pageSpot: { + left: left, + top: top + }, + pageNumber: pageNumber + }); + } + }, { + key: "_updateLocation", + value: function _updateLocation(firstPage) { + var currentScale = this._currentScale; + var currentScaleValue = this._currentScaleValue; + var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue; + var pageNumber = firstPage.id; + var pdfOpenParams = "#page=" + pageNumber; + pdfOpenParams += "&zoom=" + normalizedScaleValue; + var currentPageView = this._pages[pageNumber - 1]; + var container = this.container; + var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y); + var intLeft = Math.round(topLeft[0]); + var intTop = Math.round(topLeft[1]); + pdfOpenParams += "," + intLeft + "," + intTop; + this._location = { + pageNumber: pageNumber, + scale: normalizedScaleValue, + top: intTop, + left: intLeft, + rotation: this._pagesRotation, + pdfOpenParams: pdfOpenParams + }; + } + }, { + key: "_updateHelper", + value: function _updateHelper(visiblePages) { + throw new Error("Not implemented: _updateHelper"); + } + }, { + key: "update", + value: function update() { + var visible = this._getVisiblePages(); + + var visiblePages = visible.views, + numVisiblePages = visiblePages.length; + + if (numVisiblePages === 0) { + return; + } + + var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1); + + this._buffer.resize(newCacheSize, visiblePages); + + this.renderingQueue.renderHighestPriority(visible); + + this._updateHelper(visiblePages); + + this._updateLocation(visible.first); + + this.eventBus.dispatch("updateviewarea", { + source: this, + location: this._location + }); + } + }, { + key: "containsElement", + value: function containsElement(element) { + return this.container.contains(element); + } + }, { + key: "focus", + value: function focus() { + this.container.focus(); + } + }, { + key: "_isScrollModeHorizontal", + get: function get() { + return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL; + } + }, { + key: "_isContainerRtl", + get: function get() { + return getComputedStyle(this.container).direction === "rtl"; + } + }, { + key: "isInPresentationMode", + get: function get() { + return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN; + } + }, { + key: "isChangingPresentationMode", + get: function get() { + return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING; + } + }, { + key: "isHorizontalScrollbarEnabled", + get: function get() { + return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth; + } + }, { + key: "isVerticalScrollbarEnabled", + get: function get() { + return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight; + } + }, { + key: "_getCurrentVisiblePage", + value: function _getCurrentVisiblePage() { + if (!this.pagesCount) { + return { + views: [] + }; + } + + var pageView = this._pages[this._currentPageNumber - 1]; + var element = pageView.div; + var view = { + id: pageView.id, + x: element.offsetLeft + element.clientLeft, + y: element.offsetTop + element.clientTop, + view: pageView + }; + return { + first: view, + last: view, + views: [view] + }; + } + }, { + key: "_getVisiblePages", + value: function _getVisiblePages() { + return (0, _ui_utils.getVisibleElements)({ + scrollEl: this.container, + views: this._pages, + sortByVisibility: true, + horizontal: this._isScrollModeHorizontal, + rtl: this._isScrollModeHorizontal && this._isContainerRtl + }); + } + }, { + key: "isPageVisible", + value: function isPageVisible(pageNumber) { + if (!this.pdfDocument) { + return false; + } + + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is not a valid page.")); + return false; + } + + return this._getVisiblePages().views.some(function (view) { + return view.id === pageNumber; + }); + } + }, { + key: "isPageCached", + value: function isPageCached(pageNumber) { + if (!this.pdfDocument || !this._buffer) { + return false; + } + + if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) { + console.error("".concat(this._name, ".isPageCached: \"").concat(pageNumber, "\" is not a valid page.")); + return false; + } + + var pageView = this._pages[pageNumber - 1]; + + if (!pageView) { + return false; + } + + return this._buffer.has(pageView); + } + }, { + key: "cleanup", + value: function cleanup() { + for (var i = 0, ii = this._pages.length; i < ii; i++) { + if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) { + this._pages[i].reset(); + } + } + } + }, { + key: "_cancelRendering", + value: function _cancelRendering() { + for (var i = 0, ii = this._pages.length; i < ii; i++) { + if (this._pages[i]) { + this._pages[i].cancelRendering(); + } + } + } + }, { + key: "_ensurePdfPageLoaded", + value: function _ensurePdfPageLoaded(pageView) { + var _this3 = this; + + if (pageView.pdfPage) { + return Promise.resolve(pageView.pdfPage); + } + + if (this._pagesRequests.has(pageView)) { + return this._pagesRequests.get(pageView); + } + + var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) { + if (!pageView.pdfPage) { + pageView.setPdfPage(pdfPage); + } + + _this3._pagesRequests["delete"](pageView); + + return pdfPage; + })["catch"](function (reason) { + console.error("Unable to get page for page view", reason); + + _this3._pagesRequests["delete"](pageView); + }); + + this._pagesRequests.set(pageView, promise); + + return promise; + } + }, { + key: "forceRendering", + value: function forceRendering(currentlyVisiblePages) { + var _this4 = this; + + var visiblePages = currentlyVisiblePages || this._getVisiblePages(); + + var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down; + var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead); + + if (pageView) { + this._ensurePdfPageLoaded(pageView).then(function () { + _this4.renderingQueue.renderView(pageView); + }); + + return true; + } + + return false; + } + }, { + key: "createTextLayerBuilder", + value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) { + var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var eventBus = arguments.length > 4 ? arguments[4] : undefined; + return new _text_layer_builder.TextLayerBuilder({ + textLayerDiv: textLayerDiv, + eventBus: eventBus, + pageIndex: pageIndex, + viewport: viewport, + findController: this.isInPresentationMode ? null : this.findController, + enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection + }); + } + }, { + key: "createAnnotationLayerBuilder", + value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { + var _this$pdfDocument, _this$pdfDocument2, _this$_scriptingManag; + + var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ""; + var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n; + var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null; + var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; + var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; + return new _annotation_layer_builder.AnnotationLayerBuilder({ + pageDiv: pageDiv, + pdfPage: pdfPage, + annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage), + imageResourcesPath: imageResourcesPath, + renderInteractiveForms: renderInteractiveForms, + linkService: this.linkService, + downloadManager: this.downloadManager, + l10n: l10n, + enableScripting: enableScripting !== null && enableScripting !== void 0 ? enableScripting : this.enableScripting, + hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()), + mouseState: mouseState || ((_this$_scriptingManag = this._scriptingManager) === null || _this$_scriptingManag === void 0 ? void 0 : _this$_scriptingManag.mouseState) + }); + } + }, { + key: "createXfaLayerBuilder", + value: function createXfaLayerBuilder(pageDiv, pdfPage) { + var _this$pdfDocument3; + + var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + return new _xfa_layer_builder.XfaLayerBuilder({ + pageDiv: pageDiv, + pdfPage: pdfPage, + annotationStorage: annotationStorage || ((_this$pdfDocument3 = this.pdfDocument) === null || _this$pdfDocument3 === void 0 ? void 0 : _this$pdfDocument3.annotationStorage) + }); + } + }, { + key: "createStructTreeLayerBuilder", + value: function createStructTreeLayerBuilder(pdfPage) { + return new _struct_tree_layer_builder.StructTreeLayerBuilder({ + pdfPage: pdfPage + }); + } + }, { + key: "hasEqualPageSizes", + get: function get() { + var firstPageView = this._pages[0]; + + for (var i = 1, ii = this._pages.length; i < ii; ++i) { + var pageView = this._pages[i]; + + if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) { + return false; + } + } + + return true; + } + }, { + key: "getPagesOverview", + value: function getPagesOverview() { + var _this5 = this; + + return this._pages.map(function (pageView) { + var viewport = pageView.pdfPage.getViewport({ + scale: 1 + }); + + if (!_this5.enablePrintAutoRotate || (0, _ui_utils.isPortraitOrientation)(viewport)) { + return { + width: viewport.width, + height: viewport.height, + rotation: viewport.rotation + }; + } + + return { + width: viewport.height, + height: viewport.width, + rotation: (viewport.rotation - 90) % 360 + }; + }); + } + }, { + key: "optionalContentConfigPromise", + get: function get() { + if (!this.pdfDocument) { + return Promise.resolve(null); + } + + if (!this._optionalContentConfigPromise) { + return this.pdfDocument.getOptionalContentConfig(); + } + + return this._optionalContentConfigPromise; + }, + set: function set(promise) { + if (!(promise instanceof Promise)) { + throw new Error("Invalid optionalContentConfigPromise: ".concat(promise)); + } + + if (!this.pdfDocument) { + return; + } + + if (!this._optionalContentConfigPromise) { + return; + } + + this._optionalContentConfigPromise = promise; + + var _iterator = _createForOfIteratorHelper(this._pages), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var pageView = _step.value; + pageView.update(pageView.scale, pageView.rotation, promise); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + this.update(); + this.eventBus.dispatch("optionalcontentconfigchanged", { + source: this, + promise: promise + }); + } + }, { + key: "scrollMode", + get: function get() { + return this._scrollMode; + }, + set: function set(mode) { + if (this._scrollMode === mode) { + return; + } + + if (!(0, _ui_utils.isValidScrollMode)(mode)) { + throw new Error("Invalid scroll mode: ".concat(mode)); + } + + this._scrollMode = mode; + this.eventBus.dispatch("scrollmodechanged", { + source: this, + mode: mode + }); + + this._updateScrollMode(this._currentPageNumber); + } + }, { + key: "_updateScrollMode", + value: function _updateScrollMode() { + var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var scrollMode = this._scrollMode, + viewer = this.viewer; + viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL); + viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED); + + if (!this.pdfDocument || !pageNumber) { + return; + } + + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { + this._setScale(this._currentScaleValue, true); + } + + this._setCurrentPageNumber(pageNumber, true); + + this.update(); + } + }, { + key: "spreadMode", + get: function get() { + return this._spreadMode; + }, + set: function set(mode) { + if (this._spreadMode === mode) { + return; + } + + if (!(0, _ui_utils.isValidSpreadMode)(mode)) { + throw new Error("Invalid spread mode: ".concat(mode)); + } + + this._spreadMode = mode; + this.eventBus.dispatch("spreadmodechanged", { + source: this, + mode: mode + }); + + this._updateSpreadMode(this._currentPageNumber); + } + }, { + key: "_updateSpreadMode", + value: function _updateSpreadMode() { + var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + + if (!this.pdfDocument) { + return; + } + + var viewer = this.viewer, + pages = this._pages; + viewer.textContent = ""; + + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { + for (var i = 0, iMax = pages.length; i < iMax; ++i) { + viewer.appendChild(pages[i].div); + } + } else { + var parity = this._spreadMode - 1; + var spread = null; + + for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) { + if (spread === null) { + spread = document.createElement("div"); + spread.className = "spread"; + viewer.appendChild(spread); + } else if (_i % 2 === parity) { + spread = spread.cloneNode(false); + viewer.appendChild(spread); + } + + spread.appendChild(pages[_i].div); + } + } + + if (!pageNumber) { + return; + } + + if (this._currentScaleValue && isNaN(this._currentScaleValue)) { + this._setScale(this._currentScaleValue, true); + } + + this._setCurrentPageNumber(pageNumber, true); + + this.update(); + } + }, { + key: "_getPageAdvance", + value: function _getPageAdvance(currentPageNumber) { + var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (this.isInPresentationMode) { + return 1; + } + + switch (this._scrollMode) { + case _ui_utils.ScrollMode.WRAPPED: + { + var _this$_getVisiblePage = this._getVisiblePages(), + views = _this$_getVisiblePage.views, + pageLayout = new Map(); + + var _iterator2 = _createForOfIteratorHelper(views), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var _step2$value = _step2.value, + id = _step2$value.id, + y = _step2$value.y, + percent = _step2$value.percent, + widthPercent = _step2$value.widthPercent; + + if (percent === 0 || widthPercent < 100) { + continue; + } + + var yArray = pageLayout.get(y); + + if (!yArray) { + pageLayout.set(y, yArray || (yArray = [])); + } + + yArray.push(id); + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + var _iterator3 = _createForOfIteratorHelper(pageLayout.values()), + _step3; + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + var _yArray = _step3.value; + + var currentIndex = _yArray.indexOf(currentPageNumber); + + if (currentIndex === -1) { + continue; + } + + var numPages = _yArray.length; + + if (numPages === 1) { + break; + } + + if (previous) { + for (var i = currentIndex - 1, ii = 0; i >= ii; i--) { + var currentId = _yArray[i], + expectedId = _yArray[i + 1] - 1; + + if (currentId < expectedId) { + return currentPageNumber - expectedId; + } + } + } else { + for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) { + var _currentId = _yArray[_i2], + _expectedId = _yArray[_i2 - 1] + 1; + + if (_currentId > _expectedId) { + return _expectedId - currentPageNumber; + } + } + } + + if (previous) { + var firstId = _yArray[0]; + + if (firstId < currentPageNumber) { + return currentPageNumber - firstId + 1; + } + } else { + var lastId = _yArray[numPages - 1]; + + if (lastId > currentPageNumber) { + return lastId - currentPageNumber + 1; + } + } + + break; + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + break; + } + + case _ui_utils.ScrollMode.HORIZONTAL: + { + break; + } + + case _ui_utils.ScrollMode.VERTICAL: + { + if (this._spreadMode === _ui_utils.SpreadMode.NONE) { + break; + } + + var parity = this._spreadMode - 1; + + if (previous && currentPageNumber % 2 !== parity) { + break; + } else if (!previous && currentPageNumber % 2 === parity) { + break; + } + + var _this$_getVisiblePage2 = this._getVisiblePages(), + _views = _this$_getVisiblePage2.views, + _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1; + + var _iterator4 = _createForOfIteratorHelper(_views), + _step4; + + try { + for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { + var _step4$value = _step4.value, + _id = _step4$value.id, + _percent = _step4$value.percent, + _widthPercent = _step4$value.widthPercent; + + if (_id !== _expectedId2) { + continue; + } + + if (_percent > 0 && _widthPercent === 100) { + return 2; + } + + break; + } + } catch (err) { + _iterator4.e(err); + } finally { + _iterator4.f(); + } + + break; + } + } + + return 1; + } + }, { + key: "nextPage", + value: function nextPage() { + var currentPageNumber = this._currentPageNumber, + pagesCount = this.pagesCount; + + if (currentPageNumber >= pagesCount) { + return false; + } + + var advance = this._getPageAdvance(currentPageNumber, false) || 1; + this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount); + return true; + } + }, { + key: "previousPage", + value: function previousPage() { + var currentPageNumber = this._currentPageNumber; + + if (currentPageNumber <= 1) { + return false; + } + + var advance = this._getPageAdvance(currentPageNumber, true) || 1; + this.currentPageNumber = Math.max(currentPageNumber - advance, 1); + return true; + } + }]); + + return BaseViewer; +}(); + +exports.BaseViewer = BaseViewer; + +/***/ }), +/* 31 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0; + +var _pdfjsLib = __webpack_require__(7); + +var _l10n_utils = __webpack_require__(32); + +var _pdf_link_service = __webpack_require__(21); + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 AnnotationLayerBuilder = /*#__PURE__*/function () { + function AnnotationLayerBuilder(_ref) { + var pageDiv = _ref.pageDiv, + pdfPage = _ref.pdfPage, + linkService = _ref.linkService, + downloadManager = _ref.downloadManager, + _ref$annotationStorag = _ref.annotationStorage, + annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag, + _ref$imageResourcesPa = _ref.imageResourcesPath, + imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa, + _ref$renderInteractiv = _ref.renderInteractiveForms, + renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv, + _ref$l10n = _ref.l10n, + l10n = _ref$l10n === void 0 ? _l10n_utils.NullL10n : _ref$l10n, + _ref$enableScripting = _ref.enableScripting, + enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting, + _ref$hasJSActionsProm = _ref.hasJSActionsPromise, + hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm, + _ref$mouseState = _ref.mouseState, + mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState; + + _classCallCheck(this, AnnotationLayerBuilder); + + this.pageDiv = pageDiv; + this.pdfPage = pdfPage; + this.linkService = linkService; + this.downloadManager = downloadManager; + this.imageResourcesPath = imageResourcesPath; + this.renderInteractiveForms = renderInteractiveForms; + this.l10n = l10n; + this.annotationStorage = annotationStorage; + this.enableScripting = enableScripting; + this._hasJSActionsPromise = hasJSActionsPromise; + this._mouseState = mouseState; + this.div = null; + this._cancelled = false; + } + + _createClass(AnnotationLayerBuilder, [{ + key: "render", + value: function render(viewport) { + var _this = this; + + var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; + return Promise.all([this.pdfPage.getAnnotations({ + intent: intent + }), this._hasJSActionsPromise]).then(function (_ref2) { + var _ref3 = _slicedToArray(_ref2, 2), + annotations = _ref3[0], + _ref3$ = _ref3[1], + hasJSActions = _ref3$ === void 0 ? false : _ref3$; + + if (_this._cancelled) { + return; + } + + if (annotations.length === 0) { + return; + } + + var parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: _this.div, + annotations: annotations, + page: _this.pdfPage, + imageResourcesPath: _this.imageResourcesPath, + renderInteractiveForms: _this.renderInteractiveForms, + linkService: _this.linkService, + downloadManager: _this.downloadManager, + annotationStorage: _this.annotationStorage, + enableScripting: _this.enableScripting, + hasJSActions: hasJSActions, + mouseState: _this._mouseState + }; + + if (_this.div) { + _pdfjsLib.AnnotationLayer.update(parameters); + } else { + _this.div = document.createElement("div"); + _this.div.className = "annotationLayer"; + + _this.pageDiv.appendChild(_this.div); + + parameters.div = _this.div; + + _pdfjsLib.AnnotationLayer.render(parameters); + + _this.l10n.translate(_this.div); + } + }); + } + }, { + key: "cancel", + value: function cancel() { + this._cancelled = true; + } + }, { + key: "hide", + value: function hide() { + if (!this.div) { + return; + } + + this.div.hidden = true; + } + }]); + + return AnnotationLayerBuilder; +}(); + +exports.AnnotationLayerBuilder = AnnotationLayerBuilder; + +var DefaultAnnotationLayerFactory = /*#__PURE__*/function () { + function DefaultAnnotationLayerFactory() { + _classCallCheck(this, DefaultAnnotationLayerFactory); + } + + _createClass(DefaultAnnotationLayerFactory, [{ + key: "createAnnotationLayerBuilder", + value: function createAnnotationLayerBuilder(pageDiv, pdfPage) { + var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ""; + var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; + var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _l10n_utils.NullL10n; + var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; + var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null; + var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null; + return new AnnotationLayerBuilder({ + pageDiv: pageDiv, + pdfPage: pdfPage, + imageResourcesPath: imageResourcesPath, + renderInteractiveForms: renderInteractiveForms, + linkService: new _pdf_link_service.SimpleLinkService(), + l10n: l10n, + annotationStorage: annotationStorage, + enableScripting: enableScripting, + hasJSActionsPromise: hasJSActionsPromise, + mouseState: mouseState + }); + } + }]); + + return DefaultAnnotationLayerFactory; +}(); + +exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory; + +/***/ }), +/* 32 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getL10nFallback = getL10nFallback; +exports.NullL10n = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +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); }); }; } + +var DEFAULT_L10N_STRINGS = { + of_pages: "of {{pagesCount}}", + page_of_pages: "({{pageNumber}} of {{pagesCount}})", + document_properties_kb: "{{size_kb}} KB ({{size_b}} bytes)", + document_properties_mb: "{{size_mb}} MB ({{size_b}} bytes)", + document_properties_date_string: "{{date}}, {{time}}", + document_properties_page_size_unit_inches: "in", + document_properties_page_size_unit_millimeters: "mm", + document_properties_page_size_orientation_portrait: "portrait", + document_properties_page_size_orientation_landscape: "landscape", + document_properties_page_size_name_a3: "A3", + document_properties_page_size_name_a4: "A4", + document_properties_page_size_name_letter: "Letter", + document_properties_page_size_name_legal: "Legal", + document_properties_page_size_dimension_string: "{{width}} × {{height}} {{unit}} ({{orientation}})", + document_properties_page_size_dimension_name_string: "{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})", + document_properties_linearized_yes: "Yes", + document_properties_linearized_no: "No", + print_progress_percent: "{{progress}}%", + "toggle_sidebar.title": "Toggle Sidebar", + "toggle_sidebar_notification2.title": "Toggle Sidebar (document contains outline/attachments/layers)", + additional_layers: "Additional Layers", + page_landmark: "Page {{page}}", + thumb_page_title: "Page {{page}}", + thumb_page_canvas: "Thumbnail of Page {{page}}", + find_reached_top: "Reached top of document, continued from bottom", + find_reached_bottom: "Reached end of document, continued from top", + "find_match_count[one]": "{{current}} of {{total}} match", + "find_match_count[other]": "{{current}} of {{total}} matches", + "find_match_count_limit[one]": "More than {{limit}} match", + "find_match_count_limit[other]": "More than {{limit}} matches", + find_not_found: "Phrase not found", + error_version_info: "PDF.js v{{version}} (build: {{build}})", + error_message: "Message: {{message}}", + error_stack: "Stack: {{stack}}", + error_file: "File: {{file}}", + error_line: "Line: {{line}}", + rendering_error: "An error occurred while rendering the page.", + page_scale_width: "Page Width", + page_scale_fit: "Page Fit", + page_scale_auto: "Automatic Zoom", + page_scale_actual: "Actual Size", + page_scale_percent: "{{scale}}%", + loading: "Loading…", + loading_error: "An error occurred while loading the PDF.", + invalid_file_error: "Invalid or corrupted PDF file.", + missing_file_error: "Missing PDF file.", + unexpected_response_error: "Unexpected server response.", + printing_not_supported: "Warning: Printing is not fully supported by this browser.", + printing_not_ready: "Warning: The PDF is not fully loaded for printing.", + web_fonts_disabled: "Web fonts are disabled: unable to use embedded PDF fonts." +}; + +function getL10nFallback(key, args) { + switch (key) { + case "find_match_count": + key = "find_match_count[".concat(args.total === 1 ? "one" : "other", "]"); + break; + + case "find_match_count_limit": + key = "find_match_count_limit[".concat(args.limit === 1 ? "one" : "other", "]"); + break; + } + + return DEFAULT_L10N_STRINGS[key] || ""; +} + +function formatL10nValue(text, args) { + if (!args) { + return text; + } + + return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) { + return name in args ? args[name] : "{{" + name + "}}"; + }); +} + +var NullL10n = { + getLanguage: function getLanguage() { + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + return _context.abrupt("return", "en-us"); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + }))(); + }, + getDirection: function getDirection() { + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", "ltr"); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + }))(); + }, + get: function get(key) { + var _arguments = arguments; + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var args, fallback; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + args = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : null; + fallback = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : getL10nFallback(key, args); + return _context3.abrupt("return", formatL10nValue(fallback, args)); + + case 3: + case "end": + return _context3.stop(); + } + } + }, _callee3); + }))(); + }, + translate: function translate(element) { + return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + case "end": + return _context4.stop(); + } + } + }, _callee4); + }))(); + } +}; +exports.NullL10n = NullL10n; + +/***/ }), +/* 33 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPageView = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _ui_utils = __webpack_require__(6); + +var _pdfjsLib = __webpack_require__(7); + +var _l10n_utils = __webpack_require__(32); + +var _pdf_rendering_queue = __webpack_require__(10); + +var _viewer_compatibility = __webpack_require__(2); + +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 MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216; + +var PDFPageView = /*#__PURE__*/function () { + function PDFPageView(options) { + _classCallCheck(this, PDFPageView); + + var container = options.container; + var defaultViewport = options.defaultViewport; + this.id = options.id; + this.renderingId = "page" + this.id; + this.pdfPage = null; + this.pageLabel = null; + this.rotation = 0; + this.scale = options.scale || _ui_utils.DEFAULT_SCALE; + this.viewport = defaultViewport; + this.pdfPageRotate = defaultViewport.rotation; + this._optionalContentConfigPromise = options.optionalContentConfigPromise || null; + this.hasRestrictedScaling = false; + this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE; + this.imageResourcesPath = options.imageResourcesPath || ""; + this.renderInteractiveForms = options.renderInteractiveForms !== false; + this.useOnlyCssZoom = options.useOnlyCssZoom || false; + this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS; + this.eventBus = options.eventBus; + this.renderingQueue = options.renderingQueue; + this.textLayerFactory = options.textLayerFactory; + this.annotationLayerFactory = options.annotationLayerFactory; + this.xfaLayerFactory = options.xfaLayerFactory; + this.structTreeLayerFactory = options.structTreeLayerFactory; + this.renderer = options.renderer || _ui_utils.RendererType.CANVAS; + this.l10n = options.l10n || _l10n_utils.NullL10n; + this.paintTask = null; + this.paintedViewportMap = new WeakMap(); + this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; + this.resume = null; + this._renderError = null; + this.annotationLayer = null; + this.textLayer = null; + this.zoomLayer = null; + this.xfaLayer = null; + this.structTreeLayer = null; + var div = document.createElement("div"); + div.className = "page"; + div.style.width = Math.floor(this.viewport.width) + "px"; + div.style.height = Math.floor(this.viewport.height) + "px"; + div.setAttribute("data-page-number", this.id); + div.setAttribute("role", "region"); + this.l10n.get("page_landmark", { + page: this.id + }).then(function (msg) { + div.setAttribute("aria-label", msg); + }); + this.div = div; + container.appendChild(div); + } + + _createClass(PDFPageView, [{ + key: "setPdfPage", + value: function setPdfPage(pdfPage) { + this.pdfPage = pdfPage; + this.pdfPageRotate = pdfPage.rotate; + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = pdfPage.getViewport({ + scale: this.scale * _ui_utils.CSS_UNITS, + rotation: totalRotation + }); + this.reset(); + } + }, { + key: "destroy", + value: function destroy() { + this.reset(); + + if (this.pdfPage) { + this.pdfPage.cleanup(); + } + } + }, { + key: "_renderAnnotationLayer", + value: function () { + var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var error; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + error = null; + _context.prev = 1; + _context.next = 4; + return this.annotationLayer.render(this.viewport, "display"); + + case 4: + _context.next = 9; + break; + + case 6: + _context.prev = 6; + _context.t0 = _context["catch"](1); + error = _context.t0; + + case 9: + _context.prev = 9; + this.eventBus.dispatch("annotationlayerrendered", { + source: this, + pageNumber: this.id, + error: error + }); + return _context.finish(9); + + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[1, 6, 9, 12]]); + })); + + function _renderAnnotationLayer() { + return _renderAnnotationLayer2.apply(this, arguments); + } + + return _renderAnnotationLayer; + }() + }, { + key: "_renderXfaLayer", + value: function () { + var _renderXfaLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var error; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + error = null; + _context2.prev = 1; + _context2.next = 4; + return this.xfaLayer.render(this.viewport, "display"); + + case 4: + _context2.next = 9; + break; + + case 6: + _context2.prev = 6; + _context2.t0 = _context2["catch"](1); + error = _context2.t0; + + case 9: + _context2.prev = 9; + this.eventBus.dispatch("xfalayerrendered", { + source: this, + pageNumber: this.id, + error: error + }); + return _context2.finish(9); + + case 12: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[1, 6, 9, 12]]); + })); + + function _renderXfaLayer() { + return _renderXfaLayer2.apply(this, arguments); + } + + return _renderXfaLayer; + }() + }, { + key: "_resetZoomLayer", + value: function _resetZoomLayer() { + var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this.zoomLayer) { + return; + } + + var zoomLayerCanvas = this.zoomLayer.firstChild; + this.paintedViewportMap["delete"](zoomLayerCanvas); + zoomLayerCanvas.width = 0; + zoomLayerCanvas.height = 0; + + if (removeFromDOM) { + this.zoomLayer.remove(); + } + + this.zoomLayer = null; + } + }, { + key: "reset", + value: function reset() { + var _this$annotationLayer, + _this$xfaLayer, + _this = this; + + var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + this.cancelRendering(keepAnnotations); + this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL; + var div = this.div; + div.style.width = Math.floor(this.viewport.width) + "px"; + div.style.height = Math.floor(this.viewport.height) + "px"; + var childNodes = div.childNodes; + var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null; + var currentAnnotationNode = keepAnnotations && ((_this$annotationLayer = this.annotationLayer) === null || _this$annotationLayer === void 0 ? void 0 : _this$annotationLayer.div) || null; + var currentXfaLayerNode = ((_this$xfaLayer = this.xfaLayer) === null || _this$xfaLayer === void 0 ? void 0 : _this$xfaLayer.div) || null; + + for (var i = childNodes.length - 1; i >= 0; i--) { + var node = childNodes[i]; + + if (currentZoomLayerNode === node || currentAnnotationNode === node || currentXfaLayerNode === node) { + continue; + } + + div.removeChild(node); + } + + div.removeAttribute("data-loaded"); + + if (currentAnnotationNode) { + this.annotationLayer.hide(); + } else if (this.annotationLayer) { + this.annotationLayer.cancel(); + this.annotationLayer = null; + } + + if (!currentZoomLayerNode) { + if (this.canvas) { + this.paintedViewportMap["delete"](this.canvas); + this.canvas.width = 0; + this.canvas.height = 0; + delete this.canvas; + } + + this._resetZoomLayer(); + } + + if (this.svg) { + this.paintedViewportMap["delete"](this.svg); + delete this.svg; + } + + this.loadingIconDiv = document.createElement("div"); + this.loadingIconDiv.className = "loadingIcon"; + this.loadingIconDiv.setAttribute("role", "img"); + this.l10n.get("loading").then(function (msg) { + var _this$loadingIconDiv; + + (_this$loadingIconDiv = _this.loadingIconDiv) === null || _this$loadingIconDiv === void 0 ? void 0 : _this$loadingIconDiv.setAttribute("aria-label", msg); + }); + div.appendChild(this.loadingIconDiv); + } + }, { + key: "update", + value: function update(scale, rotation) { + var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + this.scale = scale || this.scale; + + if (typeof rotation !== "undefined") { + this.rotation = rotation; + } + + if (optionalContentConfigPromise instanceof Promise) { + this._optionalContentConfigPromise = optionalContentConfigPromise; + } + + var totalRotation = (this.rotation + this.pdfPageRotate) % 360; + this.viewport = this.viewport.clone({ + scale: this.scale * _ui_utils.CSS_UNITS, + rotation: totalRotation + }); + + if (this.svg) { + this.cssTransform(this.svg, true); + this.eventBus.dispatch("pagerendered", { + source: this, + pageNumber: this.id, + cssTransform: true, + timestamp: performance.now(), + error: this._renderError + }); + return; + } + + var isScalingRestricted = false; + + if (this.canvas && this.maxCanvasPixels > 0) { + var outputScale = this.outputScale; + + if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) { + isScalingRestricted = true; + } + } + + if (this.canvas) { + if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) { + this.cssTransform(this.canvas, true); + this.eventBus.dispatch("pagerendered", { + source: this, + pageNumber: this.id, + cssTransform: true, + timestamp: performance.now(), + error: this._renderError + }); + return; + } + + if (!this.zoomLayer && !this.canvas.hidden) { + this.zoomLayer = this.canvas.parentNode; + this.zoomLayer.style.position = "absolute"; + } + } + + if (this.zoomLayer) { + this.cssTransform(this.zoomLayer.firstChild); + } + + this.reset(true, true); + } + }, { + key: "cancelRendering", + value: function cancelRendering() { + var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (this.paintTask) { + this.paintTask.cancel(); + this.paintTask = null; + } + + this.resume = null; + + if (this.textLayer) { + this.textLayer.cancel(); + this.textLayer = null; + } + + if (!keepAnnotations && this.annotationLayer) { + this.annotationLayer.cancel(); + this.annotationLayer = null; + } + + if (this._onTextLayerRendered) { + this.eventBus._off("textlayerrendered", this._onTextLayerRendered); + + this._onTextLayerRendered = null; + } + } + }, { + key: "cssTransform", + value: function cssTransform(target) { + var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var width = this.viewport.width; + var height = this.viewport.height; + var div = this.div; + target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px"; + target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px"; + var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation; + var absRotation = Math.abs(relativeRotation); + var scaleX = 1, + scaleY = 1; + + if (absRotation === 90 || absRotation === 270) { + scaleX = height / width; + scaleY = width / height; + } + + target.style.transform = "rotate(".concat(relativeRotation, "deg) scale(").concat(scaleX, ", ").concat(scaleY, ")"); + + if (this.textLayer) { + var textLayerViewport = this.textLayer.viewport; + var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation; + var textAbsRotation = Math.abs(textRelativeRotation); + var scale = width / textLayerViewport.width; + + if (textAbsRotation === 90 || textAbsRotation === 270) { + scale = width / textLayerViewport.height; + } + + var textLayerDiv = this.textLayer.textLayerDiv; + var transX, transY; + + switch (textAbsRotation) { + case 0: + transX = transY = 0; + break; + + case 90: + transX = 0; + transY = "-" + textLayerDiv.style.height; + break; + + case 180: + transX = "-" + textLayerDiv.style.width; + transY = "-" + textLayerDiv.style.height; + break; + + case 270: + transX = "-" + textLayerDiv.style.width; + transY = 0; + break; + + default: + console.error("Bad rotation value."); + break; + } + + textLayerDiv.style.transform = "rotate(".concat(textAbsRotation, "deg) ") + "scale(".concat(scale, ") ") + "translate(".concat(transX, ", ").concat(transY, ")"); + textLayerDiv.style.transformOrigin = "0% 0%"; + } + + if (redrawAnnotations && this.annotationLayer) { + this._renderAnnotationLayer(); + } + + if (this.xfaLayer) { + this._renderXfaLayer(); + } + } + }, { + key: "width", + get: function get() { + return this.viewport.width; + } + }, { + key: "height", + get: function get() { + return this.viewport.height; + } + }, { + key: "getPagePoint", + value: function getPagePoint(x, y) { + return this.viewport.convertToPdfPoint(x, y); + } + }, { + key: "draw", + value: function draw() { + var _this$annotationLayer2, + _this2 = this; + + if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { + console.error("Must be in new state before drawing"); + this.reset(); + } + + var div = this.div, + pdfPage = this.pdfPage; + + if (!pdfPage) { + this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + + if (this.loadingIconDiv) { + div.removeChild(this.loadingIconDiv); + delete this.loadingIconDiv; + } + + return Promise.reject(new Error("pdfPage is not loaded")); + } + + this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; + var canvasWrapper = document.createElement("div"); + canvasWrapper.style.width = div.style.width; + canvasWrapper.style.height = div.style.height; + canvasWrapper.classList.add("canvasWrapper"); + + if ((_this$annotationLayer2 = this.annotationLayer) !== null && _this$annotationLayer2 !== void 0 && _this$annotationLayer2.div) { + div.insertBefore(canvasWrapper, this.annotationLayer.div); + } else { + div.appendChild(canvasWrapper); + } + + var textLayer = null; + + if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) { + var _this$annotationLayer3; + + var textLayerDiv = document.createElement("div"); + textLayerDiv.className = "textLayer"; + textLayerDiv.style.width = canvasWrapper.style.width; + textLayerDiv.style.height = canvasWrapper.style.height; + + if ((_this$annotationLayer3 = this.annotationLayer) !== null && _this$annotationLayer3 !== void 0 && _this$annotationLayer3.div) { + div.insertBefore(textLayerDiv, this.annotationLayer.div); + } else { + div.appendChild(textLayerDiv); + } + + textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus); + } + + this.textLayer = textLayer; + var renderContinueCallback = null; + + if (this.renderingQueue) { + renderContinueCallback = function renderContinueCallback(cont) { + if (!_this2.renderingQueue.isHighestPriority(_this2)) { + _this2.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; + + _this2.resume = function () { + _this2.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; + cont(); + }; + + return; + } + + cont(); + }; + } + + var finishPaintTask = /*#__PURE__*/function () { + var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var error, + _args3 = arguments; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + error = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : null; + + if (paintTask === _this2.paintTask) { + _this2.paintTask = null; + } + + if (!(error instanceof _pdfjsLib.RenderingCancelledException)) { + _context3.next = 5; + break; + } + + _this2._renderError = null; + return _context3.abrupt("return"); + + case 5: + _this2._renderError = error; + _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + + if (_this2.loadingIconDiv) { + div.removeChild(_this2.loadingIconDiv); + delete _this2.loadingIconDiv; + } + + _this2._resetZoomLayer(true); + + _this2.eventBus.dispatch("pagerendered", { + source: _this2, + pageNumber: _this2.id, + cssTransform: false, + timestamp: performance.now(), + error: _this2._renderError + }); + + if (!error) { + _context3.next = 12; + break; + } + + throw error; + + case 12: + case "end": + return _context3.stop(); + } + } + }, _callee3); + })); + + return function finishPaintTask() { + return _ref.apply(this, arguments); + }; + }(); + + var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper); + paintTask.onRenderContinue = renderContinueCallback; + this.paintTask = paintTask; + var resultPromise = paintTask.promise.then(function () { + return finishPaintTask(null).then(function () { + if (textLayer) { + var readableStream = pdfPage.streamTextContent({ + normalizeWhitespace: true, + includeMarkedContent: true + }); + textLayer.setTextContentStream(readableStream); + textLayer.render(); + } + }); + }, function (reason) { + return finishPaintTask(reason); + }); + + if (this.annotationLayerFactory) { + if (!this.annotationLayer) { + this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this.renderInteractiveForms, this.l10n, null, null, null); + } + + this._renderAnnotationLayer(); + } + + if (this.xfaLayerFactory) { + if (!this.xfaLayer) { + this.xfaLayer = this.xfaLayerFactory.createXfaLayerBuilder(div, pdfPage, null); + } + + this._renderXfaLayer(); + } + + if (this.structTreeLayerFactory && this.textLayer && this.canvas) { + this._onTextLayerRendered = function (event) { + if (event.pageNumber !== _this2.id) { + return; + } + + _this2.eventBus._off("textlayerrendered", _this2._onTextLayerRendered); + + _this2._onTextLayerRendered = null; + + if (!_this2.canvas) { + return; + } + + _this2.pdfPage.getStructTree().then(function (tree) { + if (!tree) { + return; + } + + if (!_this2.canvas) { + return; + } + + var treeDom = _this2.structTreeLayer.render(tree); + + treeDom.classList.add("structTree"); + + _this2.canvas.appendChild(treeDom); + }); + }; + + this.eventBus._on("textlayerrendered", this._onTextLayerRendered); + + this.structTreeLayer = this.structTreeLayerFactory.createStructTreeLayerBuilder(pdfPage); + } + + div.setAttribute("data-loaded", true); + this.eventBus.dispatch("pagerender", { + source: this, + pageNumber: this.id + }); + return resultPromise; + } + }, { + key: "paintOnCanvas", + value: function paintOnCanvas(canvasWrapper) { + var renderCapability = (0, _pdfjsLib.createPromiseCapability)(); + var result = { + promise: renderCapability.promise, + onRenderContinue: function onRenderContinue(cont) { + cont(); + }, + cancel: function cancel() { + renderTask.cancel(); + } + }; + var viewport = this.viewport; + var canvas = document.createElement("canvas"); + canvas.hidden = true; + var isCanvasHidden = true; + + var showCanvas = function showCanvas() { + if (isCanvasHidden) { + canvas.hidden = false; + isCanvasHidden = false; + } + }; + + canvasWrapper.appendChild(canvas); + this.canvas = canvas; + canvas.mozOpaque = true; + var ctx = canvas.getContext("2d", { + alpha: false + }); + var outputScale = (0, _ui_utils.getOutputScale)(ctx); + this.outputScale = outputScale; + + if (this.useOnlyCssZoom) { + var actualSizeViewport = viewport.clone({ + scale: _ui_utils.CSS_UNITS + }); + outputScale.sx *= actualSizeViewport.width / viewport.width; + outputScale.sy *= actualSizeViewport.height / viewport.height; + outputScale.scaled = true; + } + + if (this.maxCanvasPixels > 0) { + var pixelsInViewport = viewport.width * viewport.height; + var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport); + + if (outputScale.sx > maxScale || outputScale.sy > maxScale) { + outputScale.sx = maxScale; + outputScale.sy = maxScale; + outputScale.scaled = true; + this.hasRestrictedScaling = true; + } else { + this.hasRestrictedScaling = false; + } + } + + var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx); + var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy); + canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]); + canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]); + canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px"; + canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px"; + this.paintedViewportMap.set(canvas, viewport); + var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0]; + var renderContext = { + canvasContext: ctx, + transform: transform, + viewport: this.viewport, + renderInteractiveForms: this.renderInteractiveForms, + optionalContentConfigPromise: this._optionalContentConfigPromise + }; + var renderTask = this.pdfPage.render(renderContext); + + renderTask.onContinue = function (cont) { + showCanvas(); + + if (result.onRenderContinue) { + result.onRenderContinue(cont); + } else { + cont(); + } + }; + + renderTask.promise.then(function () { + showCanvas(); + renderCapability.resolve(undefined); + }, function (error) { + showCanvas(); + renderCapability.reject(error); + }); + return result; + } + }, { + key: "paintOnSvg", + value: function paintOnSvg(wrapper) { + var _this3 = this; + + var cancelled = false; + + var ensureNotCancelled = function ensureNotCancelled() { + if (cancelled) { + throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this3.id), "svg"); + } + }; + + var pdfPage = this.pdfPage; + var actualSizeViewport = this.viewport.clone({ + scale: _ui_utils.CSS_UNITS + }); + var promise = pdfPage.getOperatorList().then(function (opList) { + ensureNotCancelled(); + var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL); + return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) { + ensureNotCancelled(); + _this3.svg = svg; + + _this3.paintedViewportMap.set(svg, actualSizeViewport); + + svg.style.width = wrapper.style.width; + svg.style.height = wrapper.style.height; + _this3.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + wrapper.appendChild(svg); + }); + }); + return { + promise: promise, + onRenderContinue: function onRenderContinue(cont) { + cont(); + }, + cancel: function cancel() { + cancelled = true; + } + }; + } + }, { + key: "setPageLabel", + value: function setPageLabel(label) { + this.pageLabel = typeof label === "string" ? label : null; + + if (this.pageLabel !== null) { + this.div.setAttribute("data-page-label", this.pageLabel); + } else { + this.div.removeAttribute("data-page-label"); + } + } + }]); + + return PDFPageView; +}(); + +exports.PDFPageView = PDFPageView; + +/***/ }), +/* 34 */ +/***/ ((__unused_webpack_module, exports) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StructTreeLayerBuilder = exports.DefaultStructTreeLayerFactory = void 0; + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var PDF_ROLE_TO_HTML_ROLE = { + Document: null, + DocumentFragment: null, + Part: "group", + Sect: "group", + Div: "group", + Aside: "note", + NonStruct: "none", + P: null, + H: "heading", + Title: null, + FENote: "note", + Sub: "group", + Lbl: null, + Span: null, + Em: null, + Strong: null, + Link: "link", + Annot: "note", + Form: "form", + Ruby: null, + RB: null, + RT: null, + RP: null, + Warichu: null, + WT: null, + WP: null, + L: "list", + LI: "listitem", + LBody: null, + Table: "table", + TR: "row", + TH: "columnheader", + TD: "cell", + THead: "columnheader", + TBody: null, + TFoot: null, + Caption: null, + Figure: "figure", + Formula: null, + Artifact: null +}; +var HEADING_PATTERN = /^H(\d+)$/; + +var StructTreeLayerBuilder = /*#__PURE__*/function () { + function StructTreeLayerBuilder(_ref) { + var pdfPage = _ref.pdfPage; + + _classCallCheck(this, StructTreeLayerBuilder); + + this.pdfPage = pdfPage; + } + + _createClass(StructTreeLayerBuilder, [{ + key: "render", + value: function render(structTree) { + return this._walk(structTree); + } + }, { + key: "_setAttributes", + value: function _setAttributes(structElement, htmlElement) { + if (structElement.alt !== undefined) { + htmlElement.setAttribute("aria-label", structElement.alt); + } + + if (structElement.id !== undefined) { + htmlElement.setAttribute("aria-owns", structElement.id); + } + } + }, { + key: "_walk", + value: function _walk(node) { + if (!node) { + return null; + } + + var element = document.createElement("span"); + + if ("role" in node) { + var role = node.role; + var match = role.match(HEADING_PATTERN); + + if (match) { + element.setAttribute("role", "heading"); + element.setAttribute("aria-level", match[1]); + } else if (PDF_ROLE_TO_HTML_ROLE[role]) { + element.setAttribute("role", PDF_ROLE_TO_HTML_ROLE[role]); + } + } + + this._setAttributes(node, element); + + if (node.children) { + if (node.children.length === 1 && "id" in node.children[0]) { + this._setAttributes(node.children[0], element); + } else { + var _iterator = _createForOfIteratorHelper(node.children), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var kid = _step.value; + element.appendChild(this._walk(kid)); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + } + + return element; + } + }]); + + return StructTreeLayerBuilder; +}(); + +exports.StructTreeLayerBuilder = StructTreeLayerBuilder; + +var DefaultStructTreeLayerFactory = /*#__PURE__*/function () { + function DefaultStructTreeLayerFactory() { + _classCallCheck(this, DefaultStructTreeLayerFactory); + } + + _createClass(DefaultStructTreeLayerFactory, [{ + key: "createStructTreeLayerBuilder", + value: function createStructTreeLayerBuilder(pdfPage) { + return new StructTreeLayerBuilder({ + pdfPage: pdfPage + }); + } + }]); + + return DefaultStructTreeLayerFactory; +}(); + +exports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory; + +/***/ }), +/* 35 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.TextLayerBuilder = exports.DefaultTextLayerFactory = void 0; + +var _pdfjsLib = __webpack_require__(7); + +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 EXPAND_DIVS_TIMEOUT = 300; + +var TextLayerBuilder = /*#__PURE__*/function () { + function TextLayerBuilder(_ref) { + var textLayerDiv = _ref.textLayerDiv, + eventBus = _ref.eventBus, + pageIndex = _ref.pageIndex, + viewport = _ref.viewport, + _ref$findController = _ref.findController, + findController = _ref$findController === void 0 ? null : _ref$findController, + _ref$enhanceTextSelec = _ref.enhanceTextSelection, + enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec; + + _classCallCheck(this, TextLayerBuilder); + + this.textLayerDiv = textLayerDiv; + this.eventBus = eventBus; + this.textContent = null; + this.textContentItemsStr = []; + this.textContentStream = null; + this.renderingDone = false; + this.pageIdx = pageIndex; + this.pageNumber = this.pageIdx + 1; + this.matches = []; + this.viewport = viewport; + this.textDivs = []; + this.findController = findController; + this.textLayerRenderTask = null; + this.enhanceTextSelection = enhanceTextSelection; + this._onUpdateTextLayerMatches = null; + + this._bindMouse(); + } + + _createClass(TextLayerBuilder, [{ + key: "_finishRendering", + value: function _finishRendering() { + this.renderingDone = true; + + if (!this.enhanceTextSelection) { + var endOfContent = document.createElement("div"); + endOfContent.className = "endOfContent"; + this.textLayerDiv.appendChild(endOfContent); + } + + this.eventBus.dispatch("textlayerrendered", { + source: this, + pageNumber: this.pageNumber, + numTextDivs: this.textDivs.length + }); + } + }, { + key: "render", + value: function render() { + var _this = this; + + var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; + + if (!(this.textContent || this.textContentStream) || this.renderingDone) { + return; + } + + this.cancel(); + this.textDivs = []; + var textLayerFrag = document.createDocumentFragment(); + this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({ + textContent: this.textContent, + textContentStream: this.textContentStream, + container: textLayerFrag, + viewport: this.viewport, + textDivs: this.textDivs, + textContentItemsStr: this.textContentItemsStr, + timeout: timeout, + enhanceTextSelection: this.enhanceTextSelection + }); + this.textLayerRenderTask.promise.then(function () { + _this.textLayerDiv.appendChild(textLayerFrag); + + _this._finishRendering(); + + _this._updateMatches(); + }, function (reason) {}); + + if (!this._onUpdateTextLayerMatches) { + this._onUpdateTextLayerMatches = function (evt) { + if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) { + _this._updateMatches(); + } + }; + + this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches); + } + } + }, { + key: "cancel", + value: function cancel() { + if (this.textLayerRenderTask) { + this.textLayerRenderTask.cancel(); + this.textLayerRenderTask = null; + } + + if (this._onUpdateTextLayerMatches) { + this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches); + + this._onUpdateTextLayerMatches = null; + } + } + }, { + key: "setTextContentStream", + value: function setTextContentStream(readableStream) { + this.cancel(); + this.textContentStream = readableStream; + } + }, { + key: "setTextContent", + value: function setTextContent(textContent) { + this.cancel(); + this.textContent = textContent; + } + }, { + key: "_convertMatches", + value: function _convertMatches(matches, matchesLength) { + if (!matches) { + return []; + } + + var textContentItemsStr = this.textContentItemsStr; + var i = 0, + iIndex = 0; + var end = textContentItemsStr.length - 1; + var result = []; + + for (var m = 0, mm = matches.length; m < mm; m++) { + var matchIdx = matches[m]; + + while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) { + iIndex += textContentItemsStr[i].length; + i++; + } + + if (i === textContentItemsStr.length) { + console.error("Could not find a matching mapping"); + } + + var match = { + begin: { + divIdx: i, + offset: matchIdx - iIndex + } + }; + matchIdx += matchesLength[m]; + + while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) { + iIndex += textContentItemsStr[i].length; + i++; + } + + match.end = { + divIdx: i, + offset: matchIdx - iIndex + }; + result.push(match); + } + + return result; + } + }, { + key: "_renderMatches", + value: function _renderMatches(matches) { + if (matches.length === 0) { + return; + } + + var findController = this.findController, + pageIdx = this.pageIdx, + textContentItemsStr = this.textContentItemsStr, + textDivs = this.textDivs; + var isSelectedPage = pageIdx === findController.selected.pageIdx; + var selectedMatchIdx = findController.selected.matchIdx; + var highlightAll = findController.state.highlightAll; + var prevEnd = null; + var infinity = { + divIdx: -1, + offset: undefined + }; + + function beginText(begin, className) { + var divIdx = begin.divIdx; + textDivs[divIdx].textContent = ""; + appendTextToDiv(divIdx, 0, begin.offset, className); + } + + function appendTextToDiv(divIdx, fromOffset, toOffset, className) { + var div = textDivs[divIdx]; + var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset); + var node = document.createTextNode(content); + + if (className) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(node); + div.appendChild(span); + return; + } + + div.appendChild(node); + } + + var i0 = selectedMatchIdx, + i1 = i0 + 1; + + if (highlightAll) { + i0 = 0; + i1 = matches.length; + } else if (!isSelectedPage) { + return; + } + + for (var i = i0; i < i1; i++) { + var match = matches[i]; + var begin = match.begin; + var end = match.end; + var isSelected = isSelectedPage && i === selectedMatchIdx; + var highlightSuffix = isSelected ? " selected" : ""; + + if (isSelected) { + findController.scrollMatchIntoView({ + element: textDivs[begin.divIdx], + pageIndex: pageIdx, + matchIndex: selectedMatchIdx + }); + } + + if (!prevEnd || begin.divIdx !== prevEnd.divIdx) { + if (prevEnd !== null) { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); + } + + beginText(begin); + } else { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset); + } + + if (begin.divIdx === end.divIdx) { + appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix); + } else { + appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix); + + for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) { + textDivs[n0].className = "highlight middle" + highlightSuffix; + } + + beginText(end, "highlight end" + highlightSuffix); + } + + prevEnd = end; + } + + if (prevEnd) { + appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset); + } + } + }, { + key: "_updateMatches", + value: function _updateMatches() { + if (!this.renderingDone) { + return; + } + + var findController = this.findController, + matches = this.matches, + pageIdx = this.pageIdx, + textContentItemsStr = this.textContentItemsStr, + textDivs = this.textDivs; + var clearedUntilDivIdx = -1; + + for (var i = 0, ii = matches.length; i < ii; i++) { + var match = matches[i]; + var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx); + + for (var n = begin, end = match.end.divIdx; n <= end; n++) { + var div = textDivs[n]; + div.textContent = textContentItemsStr[n]; + div.className = ""; + } + + clearedUntilDivIdx = match.end.divIdx + 1; + } + + if (!(findController !== null && findController !== void 0 && findController.highlightMatches)) { + return; + } + + var pageMatches = findController.pageMatches[pageIdx] || null; + var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null; + this.matches = this._convertMatches(pageMatches, pageMatchesLength); + + this._renderMatches(this.matches); + } + }, { + key: "_bindMouse", + value: function _bindMouse() { + var _this2 = this; + + var div = this.textLayerDiv; + var expandDivsTimer = null; + div.addEventListener("mousedown", function (evt) { + if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { + _this2.textLayerRenderTask.expandTextDivs(true); + + if (expandDivsTimer) { + clearTimeout(expandDivsTimer); + expandDivsTimer = null; + } + + return; + } + + var end = div.querySelector(".endOfContent"); + + if (!end) { + return; + } + + var adjustTop = evt.target !== div; + adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none"; + + if (adjustTop) { + var divBounds = div.getBoundingClientRect(); + var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height); + end.style.top = (r * 100).toFixed(2) + "%"; + } + + end.classList.add("active"); + }); + div.addEventListener("mouseup", function () { + if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) { + expandDivsTimer = setTimeout(function () { + if (_this2.textLayerRenderTask) { + _this2.textLayerRenderTask.expandTextDivs(false); + } + + expandDivsTimer = null; + }, EXPAND_DIVS_TIMEOUT); + return; + } + + var end = div.querySelector(".endOfContent"); + + if (!end) { + return; + } + + end.style.top = ""; + end.classList.remove("active"); + }); + } + }]); + + return TextLayerBuilder; +}(); + +exports.TextLayerBuilder = TextLayerBuilder; + +var DefaultTextLayerFactory = /*#__PURE__*/function () { + function DefaultTextLayerFactory() { + _classCallCheck(this, DefaultTextLayerFactory); + } + + _createClass(DefaultTextLayerFactory, [{ + key: "createTextLayerBuilder", + value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) { + var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var eventBus = arguments.length > 4 ? arguments[4] : undefined; + return new TextLayerBuilder({ + textLayerDiv: textLayerDiv, + pageIndex: pageIndex, + viewport: viewport, + enhanceTextSelection: enhanceTextSelection, + eventBus: eventBus + }); + } + }]); + + return DefaultTextLayerFactory; +}(); + +exports.DefaultTextLayerFactory = DefaultTextLayerFactory; + +/***/ }), +/* 36 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.XfaLayerBuilder = exports.DefaultXfaLayerFactory = void 0; + +var _pdfjsLib = __webpack_require__(7); + +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 XfaLayerBuilder = /*#__PURE__*/function () { + function XfaLayerBuilder(_ref) { + var pageDiv = _ref.pageDiv, + pdfPage = _ref.pdfPage, + annotationStorage = _ref.annotationStorage; + + _classCallCheck(this, XfaLayerBuilder); + + this.pageDiv = pageDiv; + this.pdfPage = pdfPage; + this.annotationStorage = annotationStorage; + this.div = null; + this._cancelled = false; + } + + _createClass(XfaLayerBuilder, [{ + key: "render", + value: function render(viewport) { + var _this = this; + + var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display"; + return this.pdfPage.getXfa().then(function (xfa) { + if (_this._cancelled) { + return; + } + + var parameters = { + viewport: viewport.clone({ + dontFlip: true + }), + div: _this.div, + xfa: xfa, + page: _this.pdfPage, + annotationStorage: _this.annotationStorage + }; + + if (_this.div) { + _pdfjsLib.XfaLayer.update(parameters); + } else { + _this.div = document.createElement("div"); + + _this.pageDiv.appendChild(_this.div); + + parameters.div = _this.div; + + _pdfjsLib.XfaLayer.render(parameters); + } + })["catch"](function (error) { + console.error(error); + }); + } + }, { + key: "cancel", + value: function cancel() { + this._cancelled = true; + } + }, { + key: "hide", + value: function hide() { + if (!this.div) { + return; + } + + this.div.hidden = true; + } + }]); + + return XfaLayerBuilder; +}(); + +exports.XfaLayerBuilder = XfaLayerBuilder; + +var DefaultXfaLayerFactory = /*#__PURE__*/function () { + function DefaultXfaLayerFactory() { + _classCallCheck(this, DefaultXfaLayerFactory); + } + + _createClass(DefaultXfaLayerFactory, [{ + key: "createXfaLayerBuilder", + value: function createXfaLayerBuilder(pageDiv, pdfPage) { + var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + return new XfaLayerBuilder({ + pageDiv: pageDiv, + pdfPage: pdfPage, + annotationStorage: annotationStorage + }); + } + }]); + + return DefaultXfaLayerFactory; +}(); + +exports.DefaultXfaLayerFactory = DefaultXfaLayerFactory; + +/***/ }), +/* 37 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.SecondaryToolbar = void 0; + +var _ui_utils = __webpack_require__(6); + +var _pdf_cursor_tools = __webpack_require__(8); + +var _pdf_single_page_viewer = __webpack_require__(38); + +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var SecondaryToolbar = /*#__PURE__*/function () { + function SecondaryToolbar(options, mainContainer, eventBus) { + var _this = this; + + _classCallCheck(this, SecondaryToolbar); + + this.toolbar = options.toolbar; + this.toggleButton = options.toggleButton; + this.toolbarButtonContainer = options.toolbarButtonContainer; + this.buttons = [{ + element: options.presentationModeButton, + eventName: "presentationmode", + close: true + }, { + element: options.openFileButton, + eventName: "openfile", + close: true + }, { + element: options.printButton, + eventName: "print", + close: true + }, { + element: options.downloadButton, + eventName: "download", + close: true + }, { + element: options.viewBookmarkButton, + eventName: null, + close: true + }, { + element: options.firstPageButton, + eventName: "firstpage", + close: true + }, { + element: options.lastPageButton, + eventName: "lastpage", + close: true + }, { + element: options.pageRotateCwButton, + eventName: "rotatecw", + close: false + }, { + element: options.pageRotateCcwButton, + eventName: "rotateccw", + close: false + }, { + element: options.cursorSelectToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: _pdf_cursor_tools.CursorTool.SELECT + }, + close: true + }, { + element: options.cursorHandToolButton, + eventName: "switchcursortool", + eventDetails: { + tool: _pdf_cursor_tools.CursorTool.HAND + }, + close: true + }, { + element: options.scrollVerticalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.VERTICAL + }, + close: true + }, { + element: options.scrollHorizontalButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.HORIZONTAL + }, + close: true + }, { + element: options.scrollWrappedButton, + eventName: "switchscrollmode", + eventDetails: { + mode: _ui_utils.ScrollMode.WRAPPED + }, + close: true + }, { + element: options.spreadNoneButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.NONE + }, + close: true + }, { + element: options.spreadOddButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.ODD + }, + close: true + }, { + element: options.spreadEvenButton, + eventName: "switchspreadmode", + eventDetails: { + mode: _ui_utils.SpreadMode.EVEN + }, + close: true + }, { + element: options.documentPropertiesButton, + eventName: "documentproperties", + close: true + }]; + this.items = { + firstPage: options.firstPageButton, + lastPage: options.lastPageButton, + pageRotateCw: options.pageRotateCwButton, + pageRotateCcw: options.pageRotateCcwButton + }; + this.mainContainer = mainContainer; + this.eventBus = eventBus; + this.opened = false; + this.containerHeight = null; + this.previousContainerHeight = null; + this.reset(); + + this._bindClickListeners(); + + this._bindCursorToolsListener(options); + + this._bindScrollModeListener(options); + + this._bindSpreadModeListener(options); + + this.eventBus._on("resize", this._setMaxHeight.bind(this)); + + this.eventBus._on("baseviewerinit", function (evt) { + if (evt.source instanceof _pdf_single_page_viewer.PDFSinglePageViewer) { + _this.toolbarButtonContainer.classList.add("hiddenScrollModeButtons", "hiddenSpreadModeButtons"); + } else { + _this.toolbarButtonContainer.classList.remove("hiddenScrollModeButtons", "hiddenSpreadModeButtons"); + } + }); + } + + _createClass(SecondaryToolbar, [{ + key: "isOpen", + get: function get() { + return this.opened; + } + }, { + key: "setPageNumber", + value: function setPageNumber(pageNumber) { + this.pageNumber = pageNumber; + + this._updateUIState(); + } + }, { + key: "setPagesCount", + value: function setPagesCount(pagesCount) { + this.pagesCount = pagesCount; + + this._updateUIState(); + } + }, { + key: "reset", + value: function reset() { + this.pageNumber = 0; + this.pagesCount = 0; + + this._updateUIState(); + + this.eventBus.dispatch("secondarytoolbarreset", { + source: this + }); + } + }, { + key: "_updateUIState", + value: function _updateUIState() { + this.items.firstPage.disabled = this.pageNumber <= 1; + this.items.lastPage.disabled = this.pageNumber >= this.pagesCount; + this.items.pageRotateCw.disabled = this.pagesCount === 0; + this.items.pageRotateCcw.disabled = this.pagesCount === 0; + } + }, { + key: "_bindClickListeners", + value: function _bindClickListeners() { + var _this2 = this; + + this.toggleButton.addEventListener("click", this.toggle.bind(this)); + + var _iterator = _createForOfIteratorHelper(this.buttons), + _step; + + try { + var _loop = function _loop() { + var _step$value = _step.value, + element = _step$value.element, + eventName = _step$value.eventName, + close = _step$value.close, + eventDetails = _step$value.eventDetails; + element.addEventListener("click", function (evt) { + if (eventName !== null) { + var details = { + source: _this2 + }; + + for (var property in eventDetails) { + details[property] = eventDetails[property]; + } + + _this2.eventBus.dispatch(eventName, details); + } + + if (close) { + _this2.close(); + } + }); + }; + + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _loop(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + } + }, { + key: "_bindCursorToolsListener", + value: function _bindCursorToolsListener(buttons) { + this.eventBus._on("cursortoolchanged", function (_ref) { + var tool = _ref.tool; + buttons.cursorSelectToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.SELECT); + buttons.cursorHandToolButton.classList.toggle("toggled", tool === _pdf_cursor_tools.CursorTool.HAND); + }); + } + }, { + key: "_bindScrollModeListener", + value: function _bindScrollModeListener(buttons) { + var _this3 = this; + + function scrollModeChanged(_ref2) { + var mode = _ref2.mode; + buttons.scrollVerticalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.VERTICAL); + buttons.scrollHorizontalButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.HORIZONTAL); + buttons.scrollWrappedButton.classList.toggle("toggled", mode === _ui_utils.ScrollMode.WRAPPED); + var isScrollModeHorizontal = mode === _ui_utils.ScrollMode.HORIZONTAL; + buttons.spreadNoneButton.disabled = isScrollModeHorizontal; + buttons.spreadOddButton.disabled = isScrollModeHorizontal; + buttons.spreadEvenButton.disabled = isScrollModeHorizontal; + } + + this.eventBus._on("scrollmodechanged", scrollModeChanged); + + this.eventBus._on("secondarytoolbarreset", function (evt) { + if (evt.source === _this3) { + scrollModeChanged({ + mode: _ui_utils.ScrollMode.VERTICAL + }); + } + }); + } + }, { + key: "_bindSpreadModeListener", + value: function _bindSpreadModeListener(buttons) { + var _this4 = this; + + function spreadModeChanged(_ref3) { + var mode = _ref3.mode; + buttons.spreadNoneButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.NONE); + buttons.spreadOddButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.ODD); + buttons.spreadEvenButton.classList.toggle("toggled", mode === _ui_utils.SpreadMode.EVEN); + } + + this.eventBus._on("spreadmodechanged", spreadModeChanged); + + this.eventBus._on("secondarytoolbarreset", function (evt) { + if (evt.source === _this4) { + spreadModeChanged({ + mode: _ui_utils.SpreadMode.NONE + }); + } + }); + } + }, { + key: "open", + value: function open() { + if (this.opened) { + return; + } + + this.opened = true; + + this._setMaxHeight(); + + this.toggleButton.classList.add("toggled"); + this.toggleButton.setAttribute("aria-expanded", "true"); + this.toolbar.classList.remove("hidden"); + } + }, { + key: "close", + value: function close() { + if (!this.opened) { + return; + } + + this.opened = false; + this.toolbar.classList.add("hidden"); + this.toggleButton.classList.remove("toggled"); + this.toggleButton.setAttribute("aria-expanded", "false"); + } + }, { + key: "toggle", + value: function toggle() { + if (this.opened) { + this.close(); + } else { + this.open(); + } + } + }, { + key: "_setMaxHeight", + value: function _setMaxHeight() { + if (!this.opened) { + return; + } + + this.containerHeight = this.mainContainer.clientHeight; + + if (this.containerHeight === this.previousContainerHeight) { + return; + } + + this.toolbarButtonContainer.style.maxHeight = "".concat(this.containerHeight - _ui_utils.SCROLLBAR_PADDING, "px"); + this.previousContainerHeight = this.containerHeight; + } + }]); + + return SecondaryToolbar; +}(); + +exports.SecondaryToolbar = SecondaryToolbar; + +/***/ }), +/* 38 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFSinglePageViewer = void 0; + +var _base_viewer = __webpack_require__(30); + +var _pdfjsLib = __webpack_require__(7); + +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 _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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) { + _inherits(PDFSinglePageViewer, _BaseViewer); + + var _super = _createSuper(PDFSinglePageViewer); + + function PDFSinglePageViewer(options) { + var _this; + + _classCallCheck(this, PDFSinglePageViewer); + + _this = _super.call(this, options); + + _this.eventBus._on("pagesinit", function (evt) { + _this._ensurePageViewVisible(); + }); + + return _this; + } + + _createClass(PDFSinglePageViewer, [{ + key: "_viewerElement", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_viewerElement", this._shadowViewer); + } + }, { + key: "_pageWidthScaleFactor", + get: function get() { + return 1; + } + }, { + key: "_resetView", + value: function _resetView() { + _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this); + + this._previousPageNumber = 1; + this._shadowViewer = document.createDocumentFragment(); + this._updateScrollDown = null; + } + }, { + key: "_ensurePageViewVisible", + value: function _ensurePageViewVisible() { + var pageView = this._pages[this._currentPageNumber - 1]; + var previousPageView = this._pages[this._previousPageNumber - 1]; + var viewerNodes = this.viewer.childNodes; + + switch (viewerNodes.length) { + case 0: + this.viewer.appendChild(pageView.div); + break; + + case 1: + if (viewerNodes[0] !== previousPageView.div) { + throw new Error("_ensurePageViewVisible: Unexpected previously visible page."); + } + + if (pageView === previousPageView) { + break; + } + + this._shadowViewer.appendChild(previousPageView.div); + + this.viewer.appendChild(pageView.div); + this.container.scrollTop = 0; + break; + + default: + throw new Error("_ensurePageViewVisible: Only one page should be visible at a time."); + } + + this._previousPageNumber = this._currentPageNumber; + } + }, { + key: "_scrollUpdate", + value: function _scrollUpdate() { + if (this._updateScrollDown) { + this._updateScrollDown(); + } + + _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this); + } + }, { + key: "_scrollIntoView", + value: function _scrollIntoView(_ref) { + var _this2 = this; + + var pageDiv = _ref.pageDiv, + _ref$pageSpot = _ref.pageSpot, + pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot, + _ref$pageNumber = _ref.pageNumber, + pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber; + + if (pageNumber) { + this._setCurrentPageNumber(pageNumber); + } + + var scrolledDown = this._currentPageNumber >= this._previousPageNumber; + + this._ensurePageViewVisible(); + + this.update(); + + _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, { + pageDiv: pageDiv, + pageSpot: pageSpot, + pageNumber: pageNumber + }); + + this._updateScrollDown = function () { + _this2.scroll.down = scrolledDown; + _this2._updateScrollDown = null; + }; + } + }, { + key: "_getVisiblePages", + value: function _getVisiblePages() { + return this._getCurrentVisiblePage(); + } + }, { + key: "_updateHelper", + value: function _updateHelper(visiblePages) {} + }, { + key: "_isScrollModeHorizontal", + get: function get() { + return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false); + } + }, { + key: "_updateScrollMode", + value: function _updateScrollMode() {} + }, { + key: "_updateSpreadMode", + value: function _updateSpreadMode() {} + }, { + key: "_getPageAdvance", + value: function _getPageAdvance() { + return 1; + } + }]); + + return PDFSinglePageViewer; +}(_base_viewer.BaseViewer); + +exports.PDFSinglePageViewer = PDFSinglePageViewer; + +/***/ }), +/* 39 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.Toolbar = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _ui_utils = __webpack_require__(6); + +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 _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; 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; } + +var PAGE_NUMBER_LOADING_INDICATOR = "visiblePageIsLoading"; +var SCALE_SELECT_CONTAINER_WIDTH = 140; +var SCALE_SELECT_WIDTH = 162; + +var Toolbar = /*#__PURE__*/function () { + function Toolbar(options, eventBus, l10n) { + _classCallCheck(this, Toolbar); + + this.toolbar = options.container; + this.eventBus = eventBus; + this.l10n = l10n; + this.buttons = [{ + element: options.previous, + eventName: "previouspage" + }, { + element: options.next, + eventName: "nextpage" + }, { + element: options.zoomIn, + eventName: "zoomin" + }, { + element: options.zoomOut, + eventName: "zoomout" + }, { + element: options.openFile, + eventName: "openfile" + }, { + element: options.print, + eventName: "print" + }, { + element: options.presentationModeButton, + eventName: "presentationmode" + }, { + element: options.download, + eventName: "download" + }, { + element: options.viewBookmark, + eventName: null + }]; + this.items = { + numPages: options.numPages, + pageNumber: options.pageNumber, + scaleSelectContainer: options.scaleSelectContainer, + scaleSelect: options.scaleSelect, + customScaleOption: options.customScaleOption, + previous: options.previous, + next: options.next, + zoomIn: options.zoomIn, + zoomOut: options.zoomOut + }; + this._wasLocalized = false; + this.reset(); + + this._bindListeners(); + } + + _createClass(Toolbar, [{ + key: "setPageNumber", + value: function setPageNumber(pageNumber, pageLabel) { + this.pageNumber = pageNumber; + this.pageLabel = pageLabel; + + this._updateUIState(false); + } + }, { + key: "setPagesCount", + value: function setPagesCount(pagesCount, hasPageLabels) { + this.pagesCount = pagesCount; + this.hasPageLabels = hasPageLabels; + + this._updateUIState(true); + } + }, { + key: "setPageScale", + value: function setPageScale(pageScaleValue, pageScale) { + this.pageScaleValue = (pageScaleValue || pageScale).toString(); + this.pageScale = pageScale; + + this._updateUIState(false); + } + }, { + key: "reset", + value: function reset() { + this.pageNumber = 0; + this.pageLabel = null; + this.hasPageLabels = false; + this.pagesCount = 0; + this.pageScaleValue = _ui_utils.DEFAULT_SCALE_VALUE; + this.pageScale = _ui_utils.DEFAULT_SCALE; + + this._updateUIState(true); + + this.updateLoadingIndicatorState(); + } + }, { + key: "_bindListeners", + value: function _bindListeners() { + var _this = this; + + var _this$items = this.items, + pageNumber = _this$items.pageNumber, + scaleSelect = _this$items.scaleSelect; + var self = this; + + var _iterator = _createForOfIteratorHelper(this.buttons), + _step; + + try { + var _loop = function _loop() { + var _step$value = _step.value, + element = _step$value.element, + eventName = _step$value.eventName; + element.addEventListener("click", function (evt) { + if (eventName !== null) { + _this.eventBus.dispatch(eventName, { + source: _this + }); + } + }); + }; + + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _loop(); + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + pageNumber.addEventListener("click", function () { + this.select(); + }); + pageNumber.addEventListener("change", function () { + self.eventBus.dispatch("pagenumberchanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("change", function () { + if (this.value === "custom") { + return; + } + + self.eventBus.dispatch("scalechanged", { + source: self, + value: this.value + }); + }); + scaleSelect.addEventListener("click", function (evt) { + var target = evt.target; + + if (this.value === self.pageScaleValue && target.tagName.toUpperCase() === "OPTION") { + this.blur(); + } + }); + scaleSelect.oncontextmenu = _ui_utils.noContextMenuHandler; + + this.eventBus._on("localized", function () { + _this._wasLocalized = true; + + _this._adjustScaleWidth(); + + _this._updateUIState(true); + }); + } + }, { + key: "_updateUIState", + value: function _updateUIState() { + var resetNumPages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!this._wasLocalized) { + return; + } + + var pageNumber = this.pageNumber, + pagesCount = this.pagesCount, + pageScaleValue = this.pageScaleValue, + pageScale = this.pageScale, + items = this.items; + + if (resetNumPages) { + if (this.hasPageLabels) { + items.pageNumber.type = "text"; + } else { + items.pageNumber.type = "number"; + this.l10n.get("of_pages", { + pagesCount: pagesCount + }).then(function (msg) { + items.numPages.textContent = msg; + }); + } + + items.pageNumber.max = pagesCount; + } + + if (this.hasPageLabels) { + items.pageNumber.value = this.pageLabel; + this.l10n.get("page_of_pages", { + pageNumber: pageNumber, + pagesCount: pagesCount + }).then(function (msg) { + items.numPages.textContent = msg; + }); + } else { + items.pageNumber.value = pageNumber; + } + + items.previous.disabled = pageNumber <= 1; + items.next.disabled = pageNumber >= pagesCount; + items.zoomOut.disabled = pageScale <= _ui_utils.MIN_SCALE; + items.zoomIn.disabled = pageScale >= _ui_utils.MAX_SCALE; + this.l10n.get("page_scale_percent", { + scale: Math.round(pageScale * 10000) / 100 + }).then(function (msg) { + var predefinedValueFound = false; + + var _iterator2 = _createForOfIteratorHelper(items.scaleSelect.options), + _step2; + + try { + for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { + var option = _step2.value; + + if (option.value !== pageScaleValue) { + option.selected = false; + continue; + } + + option.selected = true; + predefinedValueFound = true; + } + } catch (err) { + _iterator2.e(err); + } finally { + _iterator2.f(); + } + + if (!predefinedValueFound) { + items.customScaleOption.textContent = msg; + items.customScaleOption.selected = true; + } + }); + } + }, { + key: "updateLoadingIndicatorState", + value: function updateLoadingIndicatorState() { + var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var pageNumberInput = this.items.pageNumber; + pageNumberInput.classList.toggle(PAGE_NUMBER_LOADING_INDICATOR, loading); + } + }, { + key: "_adjustScaleWidth", + value: function () { + var _adjustScaleWidth2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var items, l10n, predefinedValuesPromise, canvas, ctx, _getComputedStyle, fontSize, fontFamily, maxWidth, _iterator3, _step3, predefinedValue, _ctx$measureText, width, overflow; + + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + items = this.items, l10n = this.l10n; + predefinedValuesPromise = Promise.all([l10n.get("page_scale_auto"), l10n.get("page_scale_actual"), l10n.get("page_scale_fit"), l10n.get("page_scale_width")]); + canvas = document.createElement("canvas"); + canvas.mozOpaque = true; + ctx = canvas.getContext("2d", { + alpha: false + }); + _context.next = 7; + return _ui_utils.animationStarted; + + case 7: + _getComputedStyle = getComputedStyle(items.scaleSelect), fontSize = _getComputedStyle.fontSize, fontFamily = _getComputedStyle.fontFamily; + ctx.font = "".concat(fontSize, " ").concat(fontFamily); + maxWidth = 0; + _context.t0 = _createForOfIteratorHelper; + _context.next = 13; + return predefinedValuesPromise; + + case 13: + _context.t1 = _context.sent; + _iterator3 = (0, _context.t0)(_context.t1); + + try { + for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { + predefinedValue = _step3.value; + _ctx$measureText = ctx.measureText(predefinedValue), width = _ctx$measureText.width; + + if (width > maxWidth) { + maxWidth = width; + } + } + } catch (err) { + _iterator3.e(err); + } finally { + _iterator3.f(); + } + + overflow = SCALE_SELECT_WIDTH - SCALE_SELECT_CONTAINER_WIDTH; + maxWidth += 2 * overflow; + + if (maxWidth > SCALE_SELECT_CONTAINER_WIDTH) { + items.scaleSelect.style.width = "".concat(maxWidth + overflow, "px"); + items.scaleSelectContainer.style.width = "".concat(maxWidth, "px"); + } + + canvas.width = 0; + canvas.height = 0; + canvas = ctx = null; + + case 22: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _adjustScaleWidth() { + return _adjustScaleWidth2.apply(this, arguments); + } + + return _adjustScaleWidth; + }() + }]); + + return Toolbar; +}(); + +exports.Toolbar = Toolbar; + +/***/ }), +/* 40 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.ViewHistory = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +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 DEFAULT_VIEW_HISTORY_CACHE_SIZE = 20; + +var ViewHistory = /*#__PURE__*/function () { + function ViewHistory(fingerprint) { + var _this = this; + + var cacheSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_VIEW_HISTORY_CACHE_SIZE; + + _classCallCheck(this, ViewHistory); + + this.fingerprint = fingerprint; + this.cacheSize = cacheSize; + this._initializedPromise = this._readFromStorage().then(function (databaseStr) { + var database = JSON.parse(databaseStr || "{}"); + var index = -1; + + if (!Array.isArray(database.files)) { + database.files = []; + } else { + while (database.files.length >= _this.cacheSize) { + database.files.shift(); + } + + for (var i = 0, ii = database.files.length; i < ii; i++) { + var branch = database.files[i]; + + if (branch.fingerprint === _this.fingerprint) { + index = i; + break; + } + } + } + + if (index === -1) { + index = database.files.push({ + fingerprint: _this.fingerprint + }) - 1; + } + + _this.file = database.files[index]; + _this.database = database; + }); + } + + _createClass(ViewHistory, [{ + key: "_writeToStorage", + value: function () { + var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var databaseStr; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + databaseStr = JSON.stringify(this.database); + localStorage.setItem("pdfjs.history", databaseStr); + + case 2: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function _writeToStorage() { + return _writeToStorage2.apply(this, arguments); + } + + return _writeToStorage; + }() + }, { + key: "_readFromStorage", + value: function () { + var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", localStorage.getItem("pdfjs.history")); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function _readFromStorage() { + return _readFromStorage2.apply(this, arguments); + } + + return _readFromStorage; + }() + }, { + key: "set", + value: function () { + var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(name, val) { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this._initializedPromise; + + case 2: + this.file[name] = val; + return _context3.abrupt("return", this._writeToStorage()); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function set(_x, _x2) { + return _set.apply(this, arguments); + } + + return set; + }() + }, { + key: "setMultiple", + value: function () { + var _setMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(properties) { + var name; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this._initializedPromise; + + case 2: + for (name in properties) { + this.file[name] = properties[name]; + } + + return _context4.abrupt("return", this._writeToStorage()); + + case 4: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function setMultiple(_x3) { + return _setMultiple.apply(this, arguments); + } + + return setMultiple; + }() + }, { + key: "get", + value: function () { + var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name, defaultValue) { + var val; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return this._initializedPromise; + + case 2: + val = this.file[name]; + return _context5.abrupt("return", val !== undefined ? val : defaultValue); + + case 4: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function get(_x4, _x5) { + return _get.apply(this, arguments); + } + + return get; + }() + }, { + key: "getMultiple", + value: function () { + var _getMultiple = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6(properties) { + var values, name, val; + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return this._initializedPromise; + + case 2: + values = Object.create(null); + + for (name in properties) { + val = this.file[name]; + values[name] = val !== undefined ? val : properties[name]; + } + + return _context6.abrupt("return", values); + + case 5: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function getMultiple(_x6) { + return _getMultiple.apply(this, arguments); + } + + return getMultiple; + }() + }]); + + return ViewHistory; +}(); + +exports.ViewHistory = ViewHistory; + +/***/ }), +/* 41 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericCom = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _app = __webpack_require__(3); + +var _preferences = __webpack_require__(42); + +var _download_manager = __webpack_require__(43); + +var _genericl10n = __webpack_require__(44); + +var _generic_scripting = __webpack_require__(46); + +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 _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 _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +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 _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +; +var GenericCom = {}; +exports.GenericCom = GenericCom; + +var GenericPreferences = /*#__PURE__*/function (_BasePreferences) { + _inherits(GenericPreferences, _BasePreferences); + + var _super = _createSuper(GenericPreferences); + + function GenericPreferences() { + _classCallCheck(this, GenericPreferences); + + return _super.apply(this, arguments); + } + + _createClass(GenericPreferences, [{ + key: "_writeToStorage", + value: function () { + var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + localStorage.setItem("pdfjs.preferences", JSON.stringify(prefObj)); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + function _writeToStorage(_x) { + return _writeToStorage2.apply(this, arguments); + } + + return _writeToStorage; + }() + }, { + key: "_readFromStorage", + value: function () { + var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt("return", JSON.parse(localStorage.getItem("pdfjs.preferences"))); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function _readFromStorage(_x2) { + return _readFromStorage2.apply(this, arguments); + } + + return _readFromStorage; + }() + }]); + + return GenericPreferences; +}(_preferences.BasePreferences); + +var GenericExternalServices = /*#__PURE__*/function (_DefaultExternalServi) { + _inherits(GenericExternalServices, _DefaultExternalServi); + + var _super2 = _createSuper(GenericExternalServices); + + function GenericExternalServices() { + _classCallCheck(this, GenericExternalServices); + + return _super2.apply(this, arguments); + } + + _createClass(GenericExternalServices, null, [{ + key: "createDownloadManager", + value: function createDownloadManager(options) { + return new _download_manager.DownloadManager(); + } + }, { + key: "createPreferences", + value: function createPreferences() { + return new GenericPreferences(); + } + }, { + key: "createL10n", + value: function createL10n(_ref) { + var _ref$locale = _ref.locale, + locale = _ref$locale === void 0 ? "en-US" : _ref$locale; + return new _genericl10n.GenericL10n(locale); + } + }, { + key: "createScripting", + value: function createScripting(_ref2) { + var sandboxBundleSrc = _ref2.sandboxBundleSrc; + return new _generic_scripting.GenericScripting(sandboxBundleSrc); + } + }]); + + return GenericExternalServices; +}(_app.DefaultExternalServices); + +_app.PDFViewerApplication.externalServices = GenericExternalServices; + +/***/ }), +/* 42 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.BasePreferences = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _app_options = __webpack_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 _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +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 BasePreferences = /*#__PURE__*/function () { + function BasePreferences() { + var _this = this; + + _classCallCheck(this, BasePreferences); + + if (this.constructor === BasePreferences) { + throw new Error("Cannot initialize BasePreferences."); + } + + Object.defineProperty(this, "defaults", { + value: Object.freeze({ + "cursorToolOnLoad": 0, + "defaultZoomValue": "", + "disablePageLabels": false, + "enablePermissions": false, + "enablePrintAutoRotate": true, + "enableScripting": true, + "externalLinkTarget": 0, + "historyUpdateUrl": false, + "ignoreDestinationZoom": false, + "pdfBugEnabled": false, + "renderer": "canvas", + "renderInteractiveForms": true, + "sidebarViewOnLoad": -1, + "scrollModeOnLoad": -1, + "spreadModeOnLoad": -1, + "textLayerMode": 1, + "useOnlyCssZoom": false, + "viewerCssTheme": 0, + "viewOnLoad": 0, + "disableAutoFetch": false, + "disableFontFace": false, + "disableRange": false, + "disableStream": false, + "enableXfa": false + }), + writable: false, + enumerable: true, + configurable: false + }); + this.prefs = Object.create(null); + this._initializedPromise = this._readFromStorage(this.defaults).then(function (prefs) { + for (var name in _this.defaults) { + var prefValue = prefs === null || prefs === void 0 ? void 0 : prefs[name]; + + if (_typeof(prefValue) === _typeof(_this.defaults[name])) { + _this.prefs[name] = prefValue; + } + } + }); + } + + _createClass(BasePreferences, [{ + key: "_writeToStorage", + value: function () { + var _writeToStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(prefObj) { + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + throw new Error("Not implemented: _writeToStorage"); + + case 1: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + function _writeToStorage(_x) { + return _writeToStorage2.apply(this, arguments); + } + + return _writeToStorage; + }() + }, { + key: "_readFromStorage", + value: function () { + var _readFromStorage2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(prefObj) { + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + throw new Error("Not implemented: _readFromStorage"); + + case 1: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + function _readFromStorage(_x2) { + return _readFromStorage2.apply(this, arguments); + } + + return _readFromStorage; + }() + }, { + key: "reset", + value: function () { + var _reset = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this._initializedPromise; + + case 2: + this.prefs = Object.create(null); + return _context3.abrupt("return", this._writeToStorage(this.defaults)); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function reset() { + return _reset.apply(this, arguments); + } + + return reset; + }() + }, { + key: "set", + value: function () { + var _set = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(name, value) { + var defaultValue, valueType, defaultType; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this._initializedPromise; + + case 2: + defaultValue = this.defaults[name]; + + if (!(defaultValue === undefined)) { + _context4.next = 7; + break; + } + + throw new Error("Set preference: \"".concat(name, "\" is undefined.")); + + case 7: + if (!(value === undefined)) { + _context4.next = 9; + break; + } + + throw new Error("Set preference: no value is specified."); + + case 9: + valueType = _typeof(value); + defaultType = _typeof(defaultValue); + + if (!(valueType !== defaultType)) { + _context4.next = 19; + break; + } + + if (!(valueType === "number" && defaultType === "string")) { + _context4.next = 16; + break; + } + + value = value.toString(); + _context4.next = 17; + break; + + case 16: + throw new Error("Set preference: \"".concat(value, "\" is a ").concat(valueType, ", expected a ").concat(defaultType, ".")); + + case 17: + _context4.next = 21; + break; + + case 19: + if (!(valueType === "number" && !Number.isInteger(value))) { + _context4.next = 21; + break; + } + + throw new Error("Set preference: \"".concat(value, "\" must be an integer.")); + + case 21: + this.prefs[name] = value; + return _context4.abrupt("return", this._writeToStorage(this.prefs)); + + case 23: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function set(_x3, _x4) { + return _set.apply(this, arguments); + } + + return set; + }() + }, { + key: "get", + value: function () { + var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee5(name) { + var defaultValue, prefValue; + return _regenerator["default"].wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return this._initializedPromise; + + case 2: + defaultValue = this.defaults[name], prefValue = this.prefs[name]; + + if (!(defaultValue === undefined)) { + _context5.next = 5; + break; + } + + throw new Error("Get preference: \"".concat(name, "\" is undefined.")); + + case 5: + return _context5.abrupt("return", prefValue !== undefined ? prefValue : defaultValue); + + case 6: + case "end": + return _context5.stop(); + } + } + }, _callee5, this); + })); + + function get(_x5) { + return _get.apply(this, arguments); + } + + return get; + }() + }, { + key: "getAll", + value: function () { + var _getAll = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { + var obj, name, prefValue; + return _regenerator["default"].wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.next = 2; + return this._initializedPromise; + + case 2: + obj = Object.create(null); + + for (name in this.defaults) { + prefValue = this.prefs[name]; + obj[name] = prefValue !== undefined ? prefValue : this.defaults[name]; + } + + return _context6.abrupt("return", obj); + + case 5: + case "end": + return _context6.stop(); + } + } + }, _callee6, this); + })); + + function getAll() { + return _getAll.apply(this, arguments); + } + + return getAll; + }() + }]); + + return BasePreferences; +}(); + +exports.BasePreferences = BasePreferences; + +/***/ }), +/* 43 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.DownloadManager = void 0; + +var _pdfjsLib = __webpack_require__(7); + +var _viewer_compatibility = __webpack_require__(2); + +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 _download(blobUrl, filename) { + var a = document.createElement("a"); + + if (!a.click) { + throw new Error('DownloadManager: "a.click()" is not supported.'); + } + + a.href = blobUrl; + a.target = "_parent"; + + if ("download" in a) { + a.download = filename; + } + + (document.body || document.documentElement).appendChild(a); + a.click(); + a.remove(); +} + +var DownloadManager = /*#__PURE__*/function () { + function DownloadManager() { + _classCallCheck(this, DownloadManager); + + this._openBlobUrls = new WeakMap(); + } + + _createClass(DownloadManager, [{ + key: "downloadUrl", + value: function downloadUrl(url, filename) { + if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) { + return; + } + + _download(url + "#pdfjs.action=download", filename); + } + }, { + key: "downloadData", + value: function downloadData(data, filename, contentType) { + var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL); + + _download(blobUrl, filename); + } + }, { + key: "openOrDownloadData", + value: function openOrDownloadData(element, data, filename) { + var isPdfData = (0, _pdfjsLib.isPdfFile)(filename); + var contentType = isPdfData ? "application/pdf" : ""; + + if (isPdfData && !_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { + var blobUrl = this._openBlobUrls.get(element); + + if (!blobUrl) { + blobUrl = URL.createObjectURL(new Blob([data], { + type: contentType + })); + + this._openBlobUrls.set(element, blobUrl); + } + + var viewerUrl; + viewerUrl = "?file=" + encodeURIComponent(blobUrl + "#" + filename); + + try { + window.open(viewerUrl); + return true; + } catch (ex) { + console.error("openOrDownloadData: ".concat(ex)); + URL.revokeObjectURL(blobUrl); + + this._openBlobUrls["delete"](element); + } + } + + this.downloadData(data, filename, contentType); + return false; + } + }, { + key: "download", + value: function download(blob, url, filename) { + var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download"; + + if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { + this.downloadUrl(url, filename); + return; + } + + var blobUrl = URL.createObjectURL(blob); + + _download(blobUrl, filename); + } + }]); + + return DownloadManager; +}(); + +exports.DownloadManager = DownloadManager; + +/***/ }), +/* 44 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.GenericL10n = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +__webpack_require__(45); + +var _l10n_utils = __webpack_require__(32); + +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 webL10n = document.webL10n; + +var GenericL10n = /*#__PURE__*/function () { + function GenericL10n(lang) { + _classCallCheck(this, GenericL10n); + + this._lang = lang; + this._ready = new Promise(function (resolve, reject) { + webL10n.setLanguage(lang, function () { + resolve(webL10n); + }); + }); + } + + _createClass(GenericL10n, [{ + key: "getLanguage", + value: function () { + var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() { + var l10n; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._ready; + + case 2: + l10n = _context.sent; + return _context.abrupt("return", l10n.getLanguage()); + + case 4: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function getLanguage() { + return _getLanguage.apply(this, arguments); + } + + return getLanguage; + }() + }, { + key: "getDirection", + value: function () { + var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { + var l10n; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._ready; + + case 2: + l10n = _context2.sent; + return _context2.abrupt("return", l10n.getDirection()); + + case 4: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function getDirection() { + return _getDirection.apply(this, arguments); + } + + return getDirection; + }() + }, { + key: "get", + value: function () { + var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(key) { + var args, + fallback, + l10n, + _args3 = arguments; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + args = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null; + fallback = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : (0, _l10n_utils.getL10nFallback)(key, args); + _context3.next = 4; + return this._ready; + + case 4: + l10n = _context3.sent; + return _context3.abrupt("return", l10n.get(key, args, fallback)); + + case 6: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function get(_x) { + return _get.apply(this, arguments); + } + + return get; + }() + }, { + key: "translate", + value: function () { + var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) { + var l10n; + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + _context4.next = 2; + return this._ready; + + case 2: + l10n = _context4.sent; + return _context4.abrupt("return", l10n.translate(element)); + + case 4: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function translate(_x2) { + return _translate.apply(this, arguments); + } + + return translate; + }() + }]); + + return GenericL10n; +}(); + +exports.GenericL10n = GenericL10n; + +/***/ }), +/* 45 */ +/***/ (() => { + + + +document.webL10n = function (window, document, undefined) { + var gL10nData = {}; + var gTextData = ''; + var gTextProp = 'textContent'; + var gLanguage = ''; + var gMacros = {}; + var gReadyState = 'loading'; + var gAsyncResourceLoading = true; + + function getL10nResourceLinks() { + return document.querySelectorAll('link[type="application/l10n"]'); + } + + function getL10nDictionary() { + var script = document.querySelector('script[type="application/l10n"]'); + return script ? JSON.parse(script.innerHTML) : null; + } + + function getTranslatableChildren(element) { + return element ? element.querySelectorAll('*[data-l10n-id]') : []; + } + + function getL10nAttributes(element) { + if (!element) return {}; + var l10nId = element.getAttribute('data-l10n-id'); + var l10nArgs = element.getAttribute('data-l10n-args'); + var args = {}; + + if (l10nArgs) { + try { + args = JSON.parse(l10nArgs); + } catch (e) { + console.warn('could not parse arguments for #' + l10nId); + } + } + + return { + id: l10nId, + args: args + }; + } + + function xhrLoadText(url, onSuccess, onFailure) { + onSuccess = onSuccess || function _onSuccess(data) {}; + + onFailure = onFailure || function _onFailure() {}; + + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, gAsyncResourceLoading); + + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=utf-8'); + } + + xhr.onreadystatechange = function () { + if (xhr.readyState == 4) { + if (xhr.status == 200 || xhr.status === 0) { + onSuccess(xhr.responseText); + } else { + onFailure(); + } + } + }; + + xhr.onerror = onFailure; + xhr.ontimeout = onFailure; + + try { + xhr.send(null); + } catch (e) { + onFailure(); + } + } + + function parseResource(href, lang, successCallback, failureCallback) { + var baseURL = href.replace(/[^\/]*$/, '') || './'; + + function evalString(text) { + if (text.lastIndexOf('\\') < 0) return text; + return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'"); + } + + function parseProperties(text, parsedPropertiesCallback) { + var dictionary = {}; + var reBlank = /^\s*|\s*$/; + var reComment = /^\s*#|^\s*$/; + var reSection = /^\s*\[(.*)\]\s*$/; + var reImport = /^\s*@import\s+url\((.*)\)\s*$/i; + var reSplit = /^([^=\s]*)\s*=\s*(.+)$/; + + function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) { + var entries = rawText.replace(reBlank, '').split(/[\r\n]+/); + var currentLang = '*'; + var genericLang = lang.split('-', 1)[0]; + var skipLang = false; + var match = ''; + + function nextEntry() { + while (true) { + if (!entries.length) { + parsedRawLinesCallback(); + return; + } + + var line = entries.shift(); + if (reComment.test(line)) continue; + + if (extendedSyntax) { + match = reSection.exec(line); + + if (match) { + currentLang = match[1].toLowerCase(); + skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang; + continue; + } else if (skipLang) { + continue; + } + + match = reImport.exec(line); + + if (match) { + loadImport(baseURL + match[1], nextEntry); + return; + } + } + + var tmp = line.match(reSplit); + + if (tmp && tmp.length == 3) { + dictionary[tmp[1]] = evalString(tmp[2]); + } + } + } + + nextEntry(); + } + + function loadImport(url, callback) { + xhrLoadText(url, function (content) { + parseRawLines(content, false, callback); + }, function () { + console.warn(url + ' not found.'); + callback(); + }); + } + + parseRawLines(text, true, function () { + parsedPropertiesCallback(dictionary); + }); + } + + xhrLoadText(href, function (response) { + gTextData += response; + parseProperties(response, function (data) { + for (var key in data) { + var id, + prop, + index = key.lastIndexOf('.'); + + if (index > 0) { + id = key.substring(0, index); + prop = key.substring(index + 1); + } else { + id = key; + prop = gTextProp; + } + + if (!gL10nData[id]) { + gL10nData[id] = {}; + } + + gL10nData[id][prop] = data[key]; + } + + if (successCallback) { + successCallback(); + } + }); + }, failureCallback); + } + + function loadLocale(lang, callback) { + if (lang) { + lang = lang.toLowerCase(); + } + + callback = callback || function _callback() {}; + + clear(); + gLanguage = lang; + var langLinks = getL10nResourceLinks(); + var langCount = langLinks.length; + + if (langCount === 0) { + var dict = getL10nDictionary(); + + if (dict && dict.locales && dict.default_locale) { + console.log('using the embedded JSON directory, early way out'); + gL10nData = dict.locales[lang]; + + if (!gL10nData) { + var defaultLocale = dict.default_locale.toLowerCase(); + + for (var anyCaseLang in dict.locales) { + anyCaseLang = anyCaseLang.toLowerCase(); + + if (anyCaseLang === lang) { + gL10nData = dict.locales[lang]; + break; + } else if (anyCaseLang === defaultLocale) { + gL10nData = dict.locales[defaultLocale]; + } + } + } + + callback(); + } else { + console.log('no resource to load, early way out'); + } + + gReadyState = 'complete'; + return; + } + + var onResourceLoaded = null; + var gResourceCount = 0; + + onResourceLoaded = function onResourceLoaded() { + gResourceCount++; + + if (gResourceCount >= langCount) { + callback(); + gReadyState = 'complete'; + } + }; + + function L10nResourceLink(link) { + var href = link.href; + + this.load = function (lang, callback) { + parseResource(href, lang, callback, function () { + console.warn(href + ' not found.'); + console.warn('"' + lang + '" resource not found'); + gLanguage = ''; + callback(); + }); + }; + } + + for (var i = 0; i < langCount; i++) { + var resource = new L10nResourceLink(langLinks[i]); + resource.load(lang, onResourceLoaded); + } + } + + function clear() { + gL10nData = {}; + gTextData = ''; + gLanguage = ''; + } + + function getPluralRules(lang) { + var locales2rules = { + 'af': 3, + 'ak': 4, + 'am': 4, + 'ar': 1, + 'asa': 3, + 'az': 0, + 'be': 11, + 'bem': 3, + 'bez': 3, + 'bg': 3, + 'bh': 4, + 'bm': 0, + 'bn': 3, + 'bo': 0, + 'br': 20, + 'brx': 3, + 'bs': 11, + 'ca': 3, + 'cgg': 3, + 'chr': 3, + 'cs': 12, + 'cy': 17, + 'da': 3, + 'de': 3, + 'dv': 3, + 'dz': 0, + 'ee': 3, + 'el': 3, + 'en': 3, + 'eo': 3, + 'es': 3, + 'et': 3, + 'eu': 3, + 'fa': 0, + 'ff': 5, + 'fi': 3, + 'fil': 4, + 'fo': 3, + 'fr': 5, + 'fur': 3, + 'fy': 3, + 'ga': 8, + 'gd': 24, + 'gl': 3, + 'gsw': 3, + 'gu': 3, + 'guw': 4, + 'gv': 23, + 'ha': 3, + 'haw': 3, + 'he': 2, + 'hi': 4, + 'hr': 11, + 'hu': 0, + 'id': 0, + 'ig': 0, + 'ii': 0, + 'is': 3, + 'it': 3, + 'iu': 7, + 'ja': 0, + 'jmc': 3, + 'jv': 0, + 'ka': 0, + 'kab': 5, + 'kaj': 3, + 'kcg': 3, + 'kde': 0, + 'kea': 0, + 'kk': 3, + 'kl': 3, + 'km': 0, + 'kn': 0, + 'ko': 0, + 'ksb': 3, + 'ksh': 21, + 'ku': 3, + 'kw': 7, + 'lag': 18, + 'lb': 3, + 'lg': 3, + 'ln': 4, + 'lo': 0, + 'lt': 10, + 'lv': 6, + 'mas': 3, + 'mg': 4, + 'mk': 16, + 'ml': 3, + 'mn': 3, + 'mo': 9, + 'mr': 3, + 'ms': 0, + 'mt': 15, + 'my': 0, + 'nah': 3, + 'naq': 7, + 'nb': 3, + 'nd': 3, + 'ne': 3, + 'nl': 3, + 'nn': 3, + 'no': 3, + 'nr': 3, + 'nso': 4, + 'ny': 3, + 'nyn': 3, + 'om': 3, + 'or': 3, + 'pa': 3, + 'pap': 3, + 'pl': 13, + 'ps': 3, + 'pt': 3, + 'rm': 3, + 'ro': 9, + 'rof': 3, + 'ru': 11, + 'rwk': 3, + 'sah': 0, + 'saq': 3, + 'se': 7, + 'seh': 3, + 'ses': 0, + 'sg': 0, + 'sh': 11, + 'shi': 19, + 'sk': 12, + 'sl': 14, + 'sma': 7, + 'smi': 7, + 'smj': 7, + 'smn': 7, + 'sms': 7, + 'sn': 3, + 'so': 3, + 'sq': 3, + 'sr': 11, + 'ss': 3, + 'ssy': 3, + 'st': 3, + 'sv': 3, + 'sw': 3, + 'syr': 3, + 'ta': 3, + 'te': 3, + 'teo': 3, + 'th': 0, + 'ti': 4, + 'tig': 3, + 'tk': 3, + 'tl': 4, + 'tn': 3, + 'to': 0, + 'tr': 0, + 'ts': 3, + 'tzm': 22, + 'uk': 11, + 'ur': 3, + 've': 3, + 'vi': 0, + 'vun': 3, + 'wa': 4, + 'wae': 3, + 'wo': 0, + 'xh': 3, + 'xog': 3, + 'yo': 0, + 'zh': 0, + 'zu': 3 + }; + + function isIn(n, list) { + return list.indexOf(n) !== -1; + } + + function isBetween(n, start, end) { + return start <= n && n <= end; + } + + var pluralRules = { + '0': function _(n) { + return 'other'; + }, + '1': function _(n) { + if (isBetween(n % 100, 3, 10)) return 'few'; + if (n === 0) return 'zero'; + if (isBetween(n % 100, 11, 99)) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '2': function _(n) { + if (n !== 0 && n % 10 === 0) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '3': function _(n) { + if (n == 1) return 'one'; + return 'other'; + }, + '4': function _(n) { + if (isBetween(n, 0, 1)) return 'one'; + return 'other'; + }, + '5': function _(n) { + if (isBetween(n, 0, 2) && n != 2) return 'one'; + return 'other'; + }, + '6': function _(n) { + if (n === 0) return 'zero'; + if (n % 10 == 1 && n % 100 != 11) return 'one'; + return 'other'; + }, + '7': function _(n) { + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '8': function _(n) { + if (isBetween(n, 3, 6)) return 'few'; + if (isBetween(n, 7, 10)) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '9': function _(n) { + if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few'; + if (n == 1) return 'one'; + return 'other'; + }, + '10': function _(n) { + if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few'; + if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one'; + return 'other'; + }, + '11': function _(n) { + if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; + if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many'; + if (n % 10 == 1 && n % 100 != 11) return 'one'; + return 'other'; + }, + '12': function _(n) { + if (isBetween(n, 2, 4)) return 'few'; + if (n == 1) return 'one'; + return 'other'; + }, + '13': function _(n) { + if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few'; + if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many'; + if (n == 1) return 'one'; + return 'other'; + }, + '14': function _(n) { + if (isBetween(n % 100, 3, 4)) return 'few'; + if (n % 100 == 2) return 'two'; + if (n % 100 == 1) return 'one'; + return 'other'; + }, + '15': function _(n) { + if (n === 0 || isBetween(n % 100, 2, 10)) return 'few'; + if (isBetween(n % 100, 11, 19)) return 'many'; + if (n == 1) return 'one'; + return 'other'; + }, + '16': function _(n) { + if (n % 10 == 1 && n != 11) return 'one'; + return 'other'; + }, + '17': function _(n) { + if (n == 3) return 'few'; + if (n === 0) return 'zero'; + if (n == 6) return 'many'; + if (n == 2) return 'two'; + if (n == 1) return 'one'; + return 'other'; + }, + '18': function _(n) { + if (n === 0) return 'zero'; + if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one'; + return 'other'; + }, + '19': function _(n) { + if (isBetween(n, 2, 10)) return 'few'; + if (isBetween(n, 0, 1)) return 'one'; + return 'other'; + }, + '20': function _(n) { + if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few'; + if (n % 1000000 === 0 && n !== 0) return 'many'; + if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two'; + if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one'; + return 'other'; + }, + '21': function _(n) { + if (n === 0) return 'zero'; + if (n == 1) return 'one'; + return 'other'; + }, + '22': function _(n) { + if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one'; + return 'other'; + }, + '23': function _(n) { + if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one'; + return 'other'; + }, + '24': function _(n) { + if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few'; + if (isIn(n, [2, 12])) return 'two'; + if (isIn(n, [1, 11])) return 'one'; + return 'other'; + } + }; + var index = locales2rules[lang.replace(/-.*$/, '')]; + + if (!(index in pluralRules)) { + console.warn('plural form unknown for [' + lang + ']'); + return function () { + return 'other'; + }; + } + + return pluralRules[index]; + } + + gMacros.plural = function (str, param, key, prop) { + var n = parseFloat(param); + if (isNaN(n)) return str; + if (prop != gTextProp) return str; + + if (!gMacros._pluralRules) { + gMacros._pluralRules = getPluralRules(gLanguage); + } + + var index = '[' + gMacros._pluralRules(n) + ']'; + + if (n === 0 && key + '[zero]' in gL10nData) { + str = gL10nData[key + '[zero]'][prop]; + } else if (n == 1 && key + '[one]' in gL10nData) { + str = gL10nData[key + '[one]'][prop]; + } else if (n == 2 && key + '[two]' in gL10nData) { + str = gL10nData[key + '[two]'][prop]; + } else if (key + index in gL10nData) { + str = gL10nData[key + index][prop]; + } else if (key + '[other]' in gL10nData) { + str = gL10nData[key + '[other]'][prop]; + } + + return str; + }; + + function getL10nData(key, args, fallback) { + var data = gL10nData[key]; + + if (!data) { + console.warn('#' + key + ' is undefined.'); + + if (!fallback) { + return null; + } + + data = fallback; + } + + var rv = {}; + + for (var prop in data) { + var str = data[prop]; + str = substIndexes(str, args, key, prop); + str = substArguments(str, args, key); + rv[prop] = str; + } + + return rv; + } + + function substIndexes(str, args, key, prop) { + var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/; + var reMatch = reIndex.exec(str); + if (!reMatch || !reMatch.length) return str; + var macroName = reMatch[1]; + var paramName = reMatch[2]; + var param; + + if (args && paramName in args) { + param = args[paramName]; + } else if (paramName in gL10nData) { + param = gL10nData[paramName]; + } + + if (macroName in gMacros) { + var macro = gMacros[macroName]; + str = macro(str, param, key, prop); + } + + return str; + } + + function substArguments(str, args, key) { + var reArgs = /\{\{\s*(.+?)\s*\}\}/g; + return str.replace(reArgs, function (matched_text, arg) { + if (args && arg in args) { + return args[arg]; + } + + if (arg in gL10nData) { + return gL10nData[arg]; + } + + console.log('argument {{' + arg + '}} for #' + key + ' is undefined.'); + return matched_text; + }); + } + + function translateElement(element) { + var l10n = getL10nAttributes(element); + if (!l10n.id) return; + var data = getL10nData(l10n.id, l10n.args); + + if (!data) { + console.warn('#' + l10n.id + ' is undefined.'); + return; + } + + if (data[gTextProp]) { + if (getChildElementCount(element) === 0) { + element[gTextProp] = data[gTextProp]; + } else { + var children = element.childNodes; + var found = false; + + for (var i = 0, l = children.length; i < l; i++) { + if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) { + if (found) { + children[i].nodeValue = ''; + } else { + children[i].nodeValue = data[gTextProp]; + found = true; + } + } + } + + if (!found) { + var textNode = document.createTextNode(data[gTextProp]); + element.insertBefore(textNode, element.firstChild); + } + } + + delete data[gTextProp]; + } + + for (var k in data) { + element[k] = data[k]; + } + } + + function getChildElementCount(element) { + if (element.children) { + return element.children.length; + } + + if (typeof element.childElementCount !== 'undefined') { + return element.childElementCount; + } + + var count = 0; + + for (var i = 0; i < element.childNodes.length; i++) { + count += element.nodeType === 1 ? 1 : 0; + } + + return count; + } + + function translateFragment(element) { + element = element || document.documentElement; + var children = getTranslatableChildren(element); + var elementCount = children.length; + + for (var i = 0; i < elementCount; i++) { + translateElement(children[i]); + } + + translateElement(element); + } + + return { + get: function get(key, args, fallbackString) { + var index = key.lastIndexOf('.'); + var prop = gTextProp; + + if (index > 0) { + prop = key.substring(index + 1); + key = key.substring(0, index); + } + + var fallback; + + if (fallbackString) { + fallback = {}; + fallback[prop] = fallbackString; + } + + var data = getL10nData(key, args, fallback); + + if (data && prop in data) { + return data[prop]; + } + + return '{{' + key + '}}'; + }, + getData: function getData() { + return gL10nData; + }, + getText: function getText() { + return gTextData; + }, + getLanguage: function getLanguage() { + return gLanguage; + }, + setLanguage: function setLanguage(lang, callback) { + loadLocale(lang, function () { + if (callback) callback(); + }); + }, + getDirection: function getDirection() { + var rtlList = ['ar', 'he', 'fa', 'ps', 'ur']; + var shortCode = gLanguage.split('-', 1)[0]; + return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr'; + }, + translate: translateFragment, + getReadyState: function getReadyState() { + return gReadyState; + }, + ready: function ready(callback) { + if (!callback) { + return; + } else if (gReadyState == 'complete' || gReadyState == 'interactive') { + window.setTimeout(function () { + callback(); + }); + } else if (document.addEventListener) { + document.addEventListener('localized', function once() { + document.removeEventListener('localized', once); + callback(); + }); + } + } + }; +}(window, document); + +/***/ }), +/* 46 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.docPropertiesLookup = docPropertiesLookup; +exports.GenericScripting = void 0; + +var _regenerator = _interopRequireDefault(__webpack_require__(4)); + +var _pdfjsLib = __webpack_require__(7); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +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 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 docPropertiesLookup(_x) { + return _docPropertiesLookup.apply(this, arguments); +} + +function _docPropertiesLookup() { + _docPropertiesLookup = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(pdfDocument) { + var url, baseUrl, _yield$pdfDocument$ge, info, metadata, contentDispositionFilename, contentLength, _yield$pdfDocument$ge2, length; + + return _regenerator["default"].wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + url = "", baseUrl = url.split("#")[0]; + _context4.next = 3; + return pdfDocument.getMetadata(); + + case 3: + _yield$pdfDocument$ge = _context4.sent; + info = _yield$pdfDocument$ge.info; + metadata = _yield$pdfDocument$ge.metadata; + contentDispositionFilename = _yield$pdfDocument$ge.contentDispositionFilename; + contentLength = _yield$pdfDocument$ge.contentLength; + + if (contentLength) { + _context4.next = 14; + break; + } + + _context4.next = 11; + return pdfDocument.getDownloadInfo(); + + case 11: + _yield$pdfDocument$ge2 = _context4.sent; + length = _yield$pdfDocument$ge2.length; + contentLength = length; + + case 14: + return _context4.abrupt("return", _objectSpread(_objectSpread({}, info), {}, { + baseURL: baseUrl, + filesize: contentLength, + filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url), + metadata: metadata === null || metadata === void 0 ? void 0 : metadata.getRaw(), + authors: metadata === null || metadata === void 0 ? void 0 : metadata.get("dc:creator"), + numPages: pdfDocument.numPages, + URL: url + })); + + case 15: + case "end": + return _context4.stop(); + } + } + }, _callee4); + })); + return _docPropertiesLookup.apply(this, arguments); +} + +var GenericScripting = /*#__PURE__*/function () { + function GenericScripting(sandboxBundleSrc) { + _classCallCheck(this, GenericScripting); + + this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(function () { + return window.pdfjsSandbox.QuickJSSandbox(); + }); + } + + _createClass(GenericScripting, [{ + key: "createSandbox", + value: function () { + var _createSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(data) { + var sandbox; + return _regenerator["default"].wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return this._ready; + + case 2: + sandbox = _context.sent; + sandbox.create(data); + + case 4: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); + + function createSandbox(_x2) { + return _createSandbox.apply(this, arguments); + } + + return createSandbox; + }() + }, { + key: "dispatchEventInSandbox", + value: function () { + var _dispatchEventInSandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(event) { + var sandbox; + return _regenerator["default"].wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return this._ready; + + case 2: + sandbox = _context2.sent; + sandbox.dispatchEvent(event); + + case 4: + case "end": + return _context2.stop(); + } + } + }, _callee2, this); + })); + + function dispatchEventInSandbox(_x3) { + return _dispatchEventInSandbox.apply(this, arguments); + } + + return dispatchEventInSandbox; + }() + }, { + key: "destroySandbox", + value: function () { + var _destroySandbox = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { + var sandbox; + return _regenerator["default"].wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return this._ready; + + case 2: + sandbox = _context3.sent; + sandbox.nukeSandbox(); + + case 4: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function destroySandbox() { + return _destroySandbox.apply(this, arguments); + } + + return destroySandbox; + }() + }]); + + return GenericScripting; +}(); + +exports.GenericScripting = GenericScripting; + +/***/ }), +/* 47 */ +/***/ ((__unused_webpack_module, exports, __webpack_require__) => { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.PDFPrintService = PDFPrintService; + +var _app = __webpack_require__(3); + +var _viewer_compatibility = __webpack_require__(2); + +var activeService = null; +var overlayManager = null; + +function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size, printResolution, optionalContentConfigPromise) { + var scratchCanvas = activeService.scratchCanvas; + var PRINT_UNITS = printResolution / 72.0; + scratchCanvas.width = Math.floor(size.width * PRINT_UNITS); + scratchCanvas.height = Math.floor(size.height * PRINT_UNITS); + var ctx = scratchCanvas.getContext("2d"); + ctx.save(); + ctx.fillStyle = "rgb(255, 255, 255)"; + ctx.fillRect(0, 0, scratchCanvas.width, scratchCanvas.height); + ctx.restore(); + return pdfDocument.getPage(pageNumber).then(function (pdfPage) { + var renderContext = { + canvasContext: ctx, + transform: [PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0], + viewport: pdfPage.getViewport({ + scale: 1, + rotation: size.rotation + }), + intent: "print", + includeAnnotationStorage: true, + optionalContentConfigPromise: optionalContentConfigPromise + }; + return pdfPage.render(renderContext).promise; + }); +} + +function PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution) { + var optionalContentConfigPromise = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; + var l10n = arguments.length > 5 ? arguments[5] : undefined; + this.pdfDocument = pdfDocument; + this.pagesOverview = pagesOverview; + this.printContainer = printContainer; + this._printResolution = printResolution || 150; + this._optionalContentConfigPromise = optionalContentConfigPromise || pdfDocument.getOptionalContentConfig(); + this.l10n = l10n; + this.currentPage = -1; + this.scratchCanvas = document.createElement("canvas"); +} + +PDFPrintService.prototype = { + layout: function layout() { + this.throwIfInactive(); + var body = document.querySelector("body"); + body.setAttribute("data-pdfjsprinting", true); + var hasEqualPageSizes = this.pagesOverview.every(function (size) { + return size.width === this.pagesOverview[0].width && size.height === this.pagesOverview[0].height; + }, this); + + if (!hasEqualPageSizes) { + console.warn("Not all pages have the same size. The printed " + "result may be incorrect!"); + } + + this.pageStyleSheet = document.createElement("style"); + var pageSize = this.pagesOverview[0]; + this.pageStyleSheet.textContent = "@page { size: " + pageSize.width + "pt " + pageSize.height + "pt;}"; + body.appendChild(this.pageStyleSheet); + }, + destroy: function destroy() { + if (activeService !== this) { + return; + } + + this.printContainer.textContent = ""; + var body = document.querySelector("body"); + body.removeAttribute("data-pdfjsprinting"); + + if (this.pageStyleSheet) { + this.pageStyleSheet.remove(); + this.pageStyleSheet = null; + } + + this.scratchCanvas.width = this.scratchCanvas.height = 0; + this.scratchCanvas = null; + activeService = null; + ensureOverlay().then(function () { + if (overlayManager.active !== "printServiceOverlay") { + return; + } + + overlayManager.close("printServiceOverlay"); + }); + }, + renderPages: function renderPages() { + var _this = this; + + var pageCount = this.pagesOverview.length; + + var renderNextPage = function renderNextPage(resolve, reject) { + _this.throwIfInactive(); + + if (++_this.currentPage >= pageCount) { + renderProgress(pageCount, pageCount, _this.l10n); + resolve(); + return; + } + + var index = _this.currentPage; + renderProgress(index, pageCount, _this.l10n); + renderPage(_this, _this.pdfDocument, index + 1, _this.pagesOverview[index], _this._printResolution, _this._optionalContentConfigPromise).then(_this.useRenderedPage.bind(_this)).then(function () { + renderNextPage(resolve, reject); + }, reject); + }; + + return new Promise(renderNextPage); + }, + useRenderedPage: function useRenderedPage() { + this.throwIfInactive(); + var img = document.createElement("img"); + var scratchCanvas = this.scratchCanvas; + + if ("toBlob" in scratchCanvas && !_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) { + scratchCanvas.toBlob(function (blob) { + img.src = URL.createObjectURL(blob); + }); + } else { + img.src = scratchCanvas.toDataURL(); + } + + var wrapper = document.createElement("div"); + wrapper.appendChild(img); + this.printContainer.appendChild(wrapper); + return new Promise(function (resolve, reject) { + img.onload = resolve; + img.onerror = reject; + }); + }, + performPrint: function performPrint() { + var _this2 = this; + + this.throwIfInactive(); + return new Promise(function (resolve) { + setTimeout(function () { + if (!_this2.active) { + resolve(); + return; + } + + print.call(window); + setTimeout(resolve, 20); + }, 0); + }); + }, + + get active() { + return this === activeService; + }, + + throwIfInactive: function throwIfInactive() { + if (!this.active) { + throw new Error("This print request was cancelled or completed."); + } + } +}; +var print = window.print; + +window.print = function () { + if (activeService) { + console.warn("Ignored window.print() because of a pending print job."); + return; + } + + ensureOverlay().then(function () { + if (activeService) { + overlayManager.open("printServiceOverlay"); + } + }); + + try { + dispatchEvent("beforeprint"); + } finally { + if (!activeService) { + console.error("Expected print service to be initialized."); + ensureOverlay().then(function () { + if (overlayManager.active === "printServiceOverlay") { + overlayManager.close("printServiceOverlay"); + } + }); + return; + } + + var activeServiceOnEntry = activeService; + activeService.renderPages().then(function () { + return activeServiceOnEntry.performPrint(); + })["catch"](function () {}).then(function () { + if (activeServiceOnEntry.active) { + abort(); + } + }); + } +}; + +function dispatchEvent(eventType) { + var event = document.createEvent("CustomEvent"); + event.initCustomEvent(eventType, false, false, "custom"); + window.dispatchEvent(event); +} + +function abort() { + if (activeService) { + activeService.destroy(); + dispatchEvent("afterprint"); + } +} + +function renderProgress(index, total, l10n) { + var progressContainer = document.getElementById("printServiceOverlay"); + var progress = Math.round(100 * index / total); + var progressBar = progressContainer.querySelector("progress"); + var progressPerc = progressContainer.querySelector(".relative-progress"); + progressBar.value = progress; + l10n.get("print_progress_percent", { + progress: progress + }).then(function (msg) { + progressPerc.textContent = msg; + }); +} + +window.addEventListener("keydown", function (event) { + if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) { + window.print(); + event.preventDefault(); + + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } else { + event.stopPropagation(); + } + } +}, true); + +if ("onbeforeprint" in window) { + var stopPropagationIfNeeded = function stopPropagationIfNeeded(event) { + if (event.detail !== "custom" && event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } + }; + + window.addEventListener("beforeprint", stopPropagationIfNeeded); + window.addEventListener("afterprint", stopPropagationIfNeeded); +} + +var overlayPromise; + +function ensureOverlay() { + if (!overlayPromise) { + overlayManager = _app.PDFViewerApplication.overlayManager; + + if (!overlayManager) { + throw new Error("The overlay manager has not yet been initialized."); + } + + overlayPromise = overlayManager.register("printServiceOverlay", document.getElementById("printServiceOverlay"), abort, true); + document.getElementById("printCancel").onclick = abort; + } + + return overlayPromise; +} + +_app.PDFPrintServiceFactory.instance = { + supportsPrinting: true, + createPrintService: function createPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n) { + if (activeService) { + throw new Error("The print service is created and active."); + } + + activeService = new PDFPrintService(pdfDocument, pagesOverview, printContainer, printResolution, optionalContentConfigPromise, l10n); + return activeService; + } +}; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ id: moduleId, +/******/ loaded: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/node module decorator */ +/******/ (() => { +/******/ __webpack_require__.nmd = (module) => { +/******/ module.paths = []; +/******/ if (!module.children) module.children = []; +/******/ return module; +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +var exports = __webpack_exports__; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "PDFViewerApplicationOptions", ({ + enumerable: true, + get: function get() { + return _app_options.AppOptions; + } +})); +Object.defineProperty(exports, "PDFViewerApplication", ({ + enumerable: true, + get: function get() { + return _app.PDFViewerApplication; + } +})); + +var _app_options = __webpack_require__(1); + +var _app = __webpack_require__(3); + +var pdfjsVersion = '2.9.359'; +var pdfjsBuild = 'e667c8cbc'; +window.PDFViewerApplication = _app.PDFViewerApplication; +window.PDFViewerApplicationOptions = _app_options.AppOptions; +; +; +{ + __webpack_require__(41); +} +; +{ + __webpack_require__(47); +} + +function getViewerConfiguration() { + var errorWrapper = null; + errorWrapper = { + container: document.getElementById("errorWrapper"), + errorMessage: document.getElementById("errorMessage"), + closeButton: document.getElementById("errorClose"), + errorMoreInfo: document.getElementById("errorMoreInfo"), + moreInfoButton: document.getElementById("errorShowMore"), + lessInfoButton: document.getElementById("errorShowLess") + }; + return { + appContainer: document.body, + mainContainer: document.getElementById("viewerContainer"), + viewerContainer: document.getElementById("viewer"), + eventBus: null, + toolbar: { + container: document.getElementById("toolbarViewer"), + numPages: document.getElementById("numPages"), + pageNumber: document.getElementById("pageNumber"), + scaleSelectContainer: document.getElementById("scaleSelectContainer"), + scaleSelect: document.getElementById("scaleSelect"), + customScaleOption: document.getElementById("customScaleOption"), + previous: document.getElementById("previous"), + next: document.getElementById("next"), + zoomIn: document.getElementById("zoomIn"), + zoomOut: document.getElementById("zoomOut"), + viewFind: document.getElementById("viewFind"), + openFile: document.getElementById("openFile"), + print: document.getElementById("print"), + presentationModeButton: document.getElementById("presentationMode"), + download: document.getElementById("download"), + viewBookmark: document.getElementById("viewBookmark") + }, + secondaryToolbar: { + toolbar: document.getElementById("secondaryToolbar"), + toggleButton: document.getElementById("secondaryToolbarToggle"), + toolbarButtonContainer: document.getElementById("secondaryToolbarButtonContainer"), + presentationModeButton: document.getElementById("secondaryPresentationMode"), + openFileButton: document.getElementById("secondaryOpenFile"), + printButton: document.getElementById("secondaryPrint"), + downloadButton: document.getElementById("secondaryDownload"), + viewBookmarkButton: document.getElementById("secondaryViewBookmark"), + firstPageButton: document.getElementById("firstPage"), + lastPageButton: document.getElementById("lastPage"), + pageRotateCwButton: document.getElementById("pageRotateCw"), + pageRotateCcwButton: document.getElementById("pageRotateCcw"), + cursorSelectToolButton: document.getElementById("cursorSelectTool"), + cursorHandToolButton: document.getElementById("cursorHandTool"), + scrollVerticalButton: document.getElementById("scrollVertical"), + scrollHorizontalButton: document.getElementById("scrollHorizontal"), + scrollWrappedButton: document.getElementById("scrollWrapped"), + spreadNoneButton: document.getElementById("spreadNone"), + spreadOddButton: document.getElementById("spreadOdd"), + spreadEvenButton: document.getElementById("spreadEven"), + documentPropertiesButton: document.getElementById("documentProperties") + }, + sidebar: { + outerContainer: document.getElementById("outerContainer"), + viewerContainer: document.getElementById("viewerContainer"), + toggleButton: document.getElementById("sidebarToggle"), + thumbnailButton: document.getElementById("viewThumbnail"), + outlineButton: document.getElementById("viewOutline"), + attachmentsButton: document.getElementById("viewAttachments"), + layersButton: document.getElementById("viewLayers"), + thumbnailView: document.getElementById("thumbnailView"), + outlineView: document.getElementById("outlineView"), + attachmentsView: document.getElementById("attachmentsView"), + layersView: document.getElementById("layersView"), + outlineOptionsContainer: document.getElementById("outlineOptionsContainer"), + currentOutlineItemButton: document.getElementById("currentOutlineItem") + }, + sidebarResizer: { + outerContainer: document.getElementById("outerContainer"), + resizer: document.getElementById("sidebarResizer") + }, + findBar: { + bar: document.getElementById("findbar"), + toggleButton: document.getElementById("viewFind"), + findField: document.getElementById("findInput"), + highlightAllCheckbox: document.getElementById("findHighlightAll"), + caseSensitiveCheckbox: document.getElementById("findMatchCase"), + entireWordCheckbox: document.getElementById("findEntireWord"), + findMsg: document.getElementById("findMsg"), + findResultsCount: document.getElementById("findResultsCount"), + findPreviousButton: document.getElementById("findPrevious"), + findNextButton: document.getElementById("findNext") + }, + passwordOverlay: { + overlayName: "passwordOverlay", + container: document.getElementById("passwordOverlay"), + label: document.getElementById("passwordText"), + input: document.getElementById("password"), + submitButton: document.getElementById("passwordSubmit"), + cancelButton: document.getElementById("passwordCancel") + }, + documentProperties: { + overlayName: "documentPropertiesOverlay", + container: document.getElementById("documentPropertiesOverlay"), + closeButton: document.getElementById("documentPropertiesClose"), + fields: { + fileName: document.getElementById("fileNameField"), + fileSize: document.getElementById("fileSizeField"), + title: document.getElementById("titleField"), + author: document.getElementById("authorField"), + subject: document.getElementById("subjectField"), + keywords: document.getElementById("keywordsField"), + creationDate: document.getElementById("creationDateField"), + modificationDate: document.getElementById("modificationDateField"), + creator: document.getElementById("creatorField"), + producer: document.getElementById("producerField"), + version: document.getElementById("versionField"), + pageCount: document.getElementById("pageCountField"), + pageSize: document.getElementById("pageSizeField"), + linearized: document.getElementById("linearizedField") + } + }, + errorWrapper: errorWrapper, + printContainer: document.getElementById("printContainer"), + openFileInputName: "fileInput", + debuggerScriptPath: "./debugger.js" + }; +} + +function webViewerLoad() { + var config = getViewerConfiguration(); + var event = document.createEvent("CustomEvent"); + event.initCustomEvent("webviewerloaded", true, true, { + source: window + }); + + try { + parent.document.dispatchEvent(event); + } catch (ex) { + console.error("webviewerloaded: ".concat(ex)); + document.dispatchEvent(event); + } + + _app.PDFViewerApplication.run(config); +} + +if (document.blockUnblockOnload) { + document.blockUnblockOnload(true); +} + +if (document.readyState === "interactive" || document.readyState === "complete") { + webViewerLoad(); +} else { + document.addEventListener("DOMContentLoaded", webViewerLoad, true); +} +})(); + +/******/ })() +; +//# sourceMappingURL=viewer.js.map \ No newline at end of file diff --git a/fluidbook/compile/pdfjs-legacy/web/viewer.js.map b/fluidbook/compile/pdfjs-legacy/web/viewer.js.map new file mode 100644 index 000000000..9c94b4067 --- /dev/null +++ b/fluidbook/compile/pdfjs-legacy/web/viewer.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://pdf.js/web/app_options.js","webpack://pdf.js/web/viewer_compatibility.js","webpack://pdf.js/web/app.js","webpack://pdf.js/node_modules/@babel/runtime/regenerator/index.js","webpack://pdf.js/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack://pdf.js/web/ui_utils.js","webpack://pdf.js/web/pdfjs.js","webpack://pdf.js/web/pdf_cursor_tools.js","webpack://pdf.js/web/grab_to_pan.js","webpack://pdf.js/web/pdf_rendering_queue.js","webpack://pdf.js/web/overlay_manager.js","webpack://pdf.js/web/password_prompt.js","webpack://pdf.js/web/pdf_attachment_viewer.js","webpack://pdf.js/web/base_tree_viewer.js","webpack://pdf.js/web/pdf_document_properties.js","webpack://pdf.js/web/pdf_find_bar.js","webpack://pdf.js/web/pdf_find_controller.js","webpack://pdf.js/web/pdf_find_utils.js","webpack://pdf.js/web/pdf_history.js","webpack://pdf.js/web/pdf_layer_viewer.js","webpack://pdf.js/web/pdf_link_service.js","webpack://pdf.js/web/pdf_outline_viewer.js","webpack://pdf.js/web/pdf_presentation_mode.js","webpack://pdf.js/web/pdf_scripting_manager.js","webpack://pdf.js/web/pdf_sidebar.js","webpack://pdf.js/web/pdf_sidebar_resizer.js","webpack://pdf.js/web/pdf_thumbnail_viewer.js","webpack://pdf.js/web/pdf_thumbnail_view.js","webpack://pdf.js/web/pdf_viewer.js","webpack://pdf.js/web/base_viewer.js","webpack://pdf.js/web/annotation_layer_builder.js","webpack://pdf.js/web/l10n_utils.js","webpack://pdf.js/web/pdf_page_view.js","webpack://pdf.js/web/struct_tree_layer_builder.js","webpack://pdf.js/web/text_layer_builder.js","webpack://pdf.js/web/xfa_layer_builder.js","webpack://pdf.js/web/secondary_toolbar.js","webpack://pdf.js/web/pdf_single_page_viewer.js","webpack://pdf.js/web/toolbar.js","webpack://pdf.js/web/view_history.js","webpack://pdf.js/web/genericcom.js","webpack://pdf.js/web/preferences.js","webpack://pdf.js/web/download_manager.js","webpack://pdf.js/web/genericl10n.js","webpack://pdf.js/external/webL10n/l10n.js","webpack://pdf.js/web/generic_scripting.js","webpack://pdf.js/web/pdf_print_service.js","webpack://pdf.js/webpack/bootstrap","webpack://pdf.js/webpack/runtime/node module decorator","webpack://pdf.js/web/viewer.js"],"names":["OptionKind","VIEWER","API","WORKER","PREFERENCE","defaultOptions","cursorToolOnLoad","value","kind","defaultUrl","defaultZoomValue","disableHistory","disablePageLabels","enablePermissions","enablePrintAutoRotate","enableScripting","externalLinkRel","externalLinkTarget","historyUpdateUrl","ignoreDestinationZoom","imageResourcesPath","maxCanvasPixels","compatibility","viewerCompatibilityParams","pdfBugEnabled","printResolution","renderer","renderInteractiveForms","sidebarViewOnLoad","scrollModeOnLoad","spreadModeOnLoad","textLayerMode","useOnlyCssZoom","viewerCssTheme","viewOnLoad","cMapPacked","cMapUrl","disableAutoFetch","disableFontFace","disableRange","disableStream","docBaseUrl","enableXfa","fontExtraProperties","isEvalSupported","maxImageSize","pdfBug","verbosity","workerPort","workerSrc","navigator","userOptions","Object","constructor","userOption","defaultOption","options","valueType","Number","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIOS","isIOSChrome","DEFAULT_SCALE_DELTA","DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT","FORCE_PAGES_LOADED_TIMEOUT","WHEEL_ZOOM_DISABLED_TIMEOUT","ENABLE_PERMISSIONS_CLASS","ViewOnLoad","UNKNOWN","PREVIOUS","INITIAL","ViewerCssTheme","AUTOMATIC","LIGHT","DARK","KNOWN_VERSIONS","KNOWN_GENERATORS","shadow","ctrlKey","metaKey","PDFViewerApplication","initialBookmark","document","_initializedCapability","_fellback","appConfig","pdfDocument","pdfLoadingTask","printService","pdfViewer","pdfThumbnailViewer","pdfRenderingQueue","pdfPresentationMode","pdfDocumentProperties","pdfLinkService","pdfHistory","pdfSidebar","pdfSidebarResizer","pdfOutlineViewer","pdfAttachmentViewer","pdfLayerViewer","pdfCursorTools","pdfScriptingManager","store","downloadManager","overlayManager","preferences","toolbar","secondaryToolbar","eventBus","l10n","isInitialViewSet","downloadComplete","isViewerEmbedded","window","url","baseUrl","externalServices","_boundEvents","documentInfo","metadata","_contentDispositionFilename","_contentLength","_saveInProgress","_wheelUnusedTicks","_idleCallbacks","AppOptions","LinkTarget","appContainer","source","console","reason","hash","hashParams","parseQueryString","waitOn","loadFakeWorker","TextLayerMode","viewer","enabled","loadAndEnablePDFBug","locale","dir","_forceCssTheme","cssTheme","styleSheet","cssRules","mediaMatcher","mediaRule","mediaRegex","i","ii","rule","darkRules","isInAutomation","findController","linkService","sandboxBundleSrc","scriptingFactory","docPropertiesLookup","container","renderingQueue","scriptingManager","elements","run","zoomIn","newScale","Math","zoomOut","zoomReset","PDFPrintServiceFactory","doc","support","bar","initPassiveLoading","setTitleUsingUrl","title","getPdfFilenameFromUrl","decodeURIComponent","getFilenameFromUrl","setTitle","_cancelIdleCallbacks","sourceEventType","promises","webViewerResetPermissions","PDFBug","Promise","workerParameters","GlobalWorkerOptions","parameters","file","apiParameters","key","args","loadingTask","getDocument","loaded","exception","msg","message","_ensureDownloadComplete","filename","data","blob","type","downloadOrSave","fallback","featureId","download","_documentError","moreInfo","_otherError","moreInfoText","version","build","stack","line","errorWrapperConfig","errorWrapper","errorMessage","closeButton","errorMoreInfo","moreInfoButton","lessInfoButton","parts","progress","percent","level","isNaN","clearTimeout","load","firstPagePromise","pageLayoutPromise","pageModePromise","openActionPromise","baseDocumentUrl","storedPromise","page","zoom","scrollLeft","scrollTop","rotation","sidebarView","SidebarView","scrollMode","ScrollMode","spreadMode","SpreadMode","pdfPage","fingerprint","initialDest","openAction","stored","parseInt","pageMode","apiPageModeToSidebarView","pageLayout","apiPageLayoutToSpreadMode","resolve","setTimeout","pagesPromise","onePageRendered","outline","attachments","optionalContentConfig","callback","timeout","once","baseURL","filesize","authors","numPages","URL","markInfo","tagged","triggerAutoPrint","javaScript","js","UNSUPPORTED_FEATURES","AutoPrintRegExp","info","pdfTitle","metadataTitle","contentDispositionFilename","versionId","generatorId","producer","generator","formType","labels","numLabels","_initializePdfHistory","resetHistory","updateUrl","JSON","explicitDest","pageNumber","permissions","PermissionFlag","_initializeAnnotationStorageCallbacks","annotationStorage","setInitialView","setRotation","angle","isValidRotation","setViewerModes","isValidScrollMode","isValidSpreadMode","_cleanup","RendererType","forceRendering","beforePrint","pagesOverview","printContainer","optionalContentConfigPromise","afterPrint","rotatePages","requestPresentationMode","triggerPrinting","bindEvents","bindWindowEvents","event","detail","passive","unbindEvents","unbindWindowEvents","accumulateWheelTicks","ticks","wholeTicks","_unblockDocumentLoadEvent","HOSTED_VIEWER_ORIGINS","validateFileURL","viewerOrigin","origin","protocol","ex","loadScript","PDFWorker","OPS","Stats","pageView","pageStats","queryString","params","fileInput","files","evt","webViewerOpenFileViaURL","thumbnailView","timestamp","stats","view","webViewerSave","location","href","currentPage","loading","RenderingStates","currentScaleValue","webViewerFileInputChange","originalUrl","fileReader","buffer","webViewerOpenFile","openFileInputName","query","phraseSearch","caseSensitive","entireWord","highlightAll","findPrevious","result","matchesCount","rawQuery","setZoomDisabledTimeout","zoomDisabledTimeout","supportedMouseWheelZoomModifierKeys","previousScale","delta","normalizeWheelEventDirection","WheelEvent","PIXELS_PER_LINE_SCALE","currentScale","scaleCorrectionFactor","rect","dx","dy","handled","ensureViewerFocused","cmd","isViewerInPresentationMode","findState","curElement","curElementTagName","turnPage","turnOnlyIfPageFit","CursorTool","instance","supportsPrinting","createPrintService","module","runtime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","enumerable","configurable","writable","obj","define","protoGenerator","outerFn","context","tryLocsList","makeInvokeMethod","exports","arg","fn","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","ctor","genFun","__await","record","tryCatch","reject","invoke","previousPromise","callInvokeWithMethodAndArg","defineIteratorMethods","AsyncIterator","PromiseImpl","iter","wrap","state","method","doneResult","delegate","delegateResult","maybeInvokeDelegate","done","entry","tryLoc","locs","keys","next","iteratorMethod","iterable","Context","reset","name","stop","rootEntry","rootRecord","dispatchException","handle","hasCatch","hasFinally","abrupt","finallyEntry","complete","finish","resetTryEntry","thrown","delegateYield","iterator","resultName","nextLoc","regeneratorRuntime","Function","CSS_UNITS","DEFAULT_SCALE_VALUE","DEFAULT_SCALE","MIN_SCALE","MAX_SCALE","UNKNOWN_SCALE","MAX_AUTO_SCALE","SCROLLBAR_PADDING","VERTICAL_PADDING","LOADINGBAR_END_OFFSET_VAR","PresentationModeState","NORMAL","CHANGING","FULLSCREEN","NONE","THUMBS","OUTLINE","ATTACHMENTS","LAYERS","CANVAS","SVG","DISABLE","ENABLE","ENABLE_ENHANCE","VERTICAL","HORIZONTAL","WRAPPED","ODD","EVEN","devicePixelRatio","backingStoreRatio","ctx","pixelRatio","sx","sy","scaled","skipOverflowHiddenElements","parent","element","offsetY","offsetX","getComputedStyle","spot","debounceScroll","rAF","currentX","viewAreaElement","lastX","currentY","lastY","right","down","_eventHandler","param","minIndex","maxIndex","items","condition","currentIndex","currentItem","xinv","limit","x_","x","a","b","c","d","p","q","r","changeOrientation","rotate","width","height","index","elt","views","pageTop","sortByVisibility","horizontal","rtl","top","scrollEl","bottom","left","elementBottom","elementLeft","elementRight","visible","numViews","firstVisibleElementInd","binarySearchFirstItem","backtrackBeforeAllVisibleElements","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","fractionHeight","fractionWidth","id","y","widthPercent","first","last","pc","MOUSE_DOM_DELTA_PIXEL_MODE","MOUSE_DOM_DELTA_LINE_MODE","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","mode","size","WaitOnType","EVENT","TIMEOUT","delay","target","eventHandler","handler","timeoutHandler","animationStarted","on","external","off","dispatch","eventListeners","Array","listener","externalListeners","_on","_off","units","_updateBar","progressSize","clamp","setWidth","scrollbarWidth","hide","show","moved","len","arr","write","read","curRoot","curActiveOrFocused","pdfjsLib","__non_webpack_require__","SELECT","HAND","ZOOM","switchTool","tool","disableActiveTool","_dispatchEvent","_addEventListeners","previouslyActive","overlay","GrabToPan","CSS_CLASS_GRAB","activate","deactivate","toggle","ignoreTarget","node","_onmousedown","focusedElement","_onmousemove","isLeftMouseReleased","xDiff","yDiff","behavior","_endPan","chrome","isChrome15OrOpera15plus","isSafari6plus","CLEANUP_TIMEOUT","RUNNING","PAUSED","FINISHED","setViewer","setThumbnailViewer","isHighestPriority","renderHighestPriority","getHighestPriority","visibleViews","numVisible","nextPageIndex","previousPageIndex","isViewFinished","renderView","callerCloseMethod","canForceClose","_keyDown","_closeThroughCaller","e","passwordIncorrect","PasswordResponses","close","verify","password","setUpdateCallback","keepRenderedCapability","attachmentsCount","_bindLink","render","names","fragment","item","content","div","_appendAttachment","renderedPromise","TREEITEM_OFFSET_TOP","TREEITEM_SELECTED_CLASS","_normalizeTextContent","removeNullCharacters","_addToggleButton","hidden","toggler","shouldShowAll","_toggleTreeItem","root","_toggleAllTreeItems","_finishRendering","hasAnyNesting","_updateCurrentTreeItem","treeItem","_scrollToCurrentTreeItem","currentNode","DEFAULT_FIELD_CONTENT","NON_METRIC_LOCALES","US_PAGE_NAMES","METRIC_PAGE_NAMES","isPortrait","pageNames","freezeFieldData","currentPageNumber","pagesRotation","getPageSizeInches","fileName","fileSize","author","subject","keywords","creationDate","modificationDate","creator","pageCount","pageSize","linearized","_currentPageNumber","_pagesRotation","contentLength","setDocument","_reset","_updateUI","kb","mb","size_mb","size_kb","size_b","pageSizeInches","isPortraitOrientation","sizeInches","sizeMillimeters","rawName","getPageName","exactMillimeters","intMillimeters","unit","orientation","dateObject","PDFDateString","date","time","_parseLinearization","isLinearized","MATCHES_COUNT_LIMIT","dispatchEvent","updateUIState","findMsg","status","FindState","previous","updateResultsCount","current","total","matchCountMsg","open","_adjustWidth","findbarHeight","inputContainerHeight","FOUND","NOT_FOUND","PENDING","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","normalizationRegex","replace","diffs","normalizedText","normalizedCh","diff","ch","totalDiff","matchIndex","executeCommand","findbarClosed","pendingTimeout","scrollMatchIntoView","pageIndex","scrollIntoView","pageIdx","matchIdx","wrapped","normalize","_shouldDirtyMatch","_prepareMatches","currentElem","matchesWithLength","nextElem","prevElem","isSubTerm","matches","matchesLength","_isEntireWord","startIdx","getCharacterType","endIdx","_calculatePhraseMatch","queryLen","pageContent","originalMatchIdx","getOriginalIndex","matchEnd","originalQueryLen","_calculateWordMatch","queryArray","subquery","subqueryLen","match","matchLength","skipped","_calculateMatch","pageDiffs","pageMatchesCount","_extractText","promise","extractTextCapability","normalizeWhitespace","textContent","textItems","strBuf","j","jj","_updatePage","_updateAllPages","_nextMatch","currentPageIndex","offset","numPageMatches","_matchesReady","numMatches","_nextPageMatch","_advanceOffsetPage","_updateMatch","found","previousPage","_onFindBarClose","_requestMatchesCount","_updateUIResultsCount","_updateUIState","CharacterType","SPACE","ALPHA_LETTER","PUNCT","HAN_LETTER","KATAKANA_LETTER","HIRAGANA_LETTER","HALFWIDTH_KATAKANA_LETTER","THAI_LETTER","charCode","isAlphabeticalScript","isAscii","isAsciiSpace","isAsciiAlpha","isAsciiDigit","isThai","isHan","isKatakana","isHiragana","isHalfwidthKatakana","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","initialize","reInitialized","getCurrentHash","destination","push","namedDest","forceReplace","isDestArraysEqual","dest","pushPage","pushCurrentPosition","back","forward","_pushOrReplaceState","shouldReplace","newState","uid","newUrl","_tryPushCurrentPosition","temporary","position","_isValidPage","val","_isValidState","checkReload","performance","perfEntry","_updateInternalState","removeTemporary","_parseCurrentHash","checkNameddest","unescape","nameddest","_updateViewarea","_popState","newHash","hashChanged","waitOnEventOrTimeout","_pageHide","_bindEvents","updateViewarea","popState","pageHide","_unbindEvents","destHash","second","isEntryEqual","firstDest","secondDest","layersCount","setVisibility","input","groups","queue","levelData","itemsDiv","groupId","group","label","externalLinkEnabled","setHistory","_goToDestinationHelper","destRef","destArray","goToPage","getDestinationHash","escape","str","getAnchorUrl","setHash","zoomArgs","zoomArg","zoomArgNumber","parseFloat","allowNegativeOffset","isValidExplicitDestination","executeNamedAction","action","cachePageRef","refStr","pageRef","_cachedPageNumber","isPageVisible","isPageCached","destLength","allowNull","outlineCount","currentOutlineItemPromise","addLinkAttributes","newWindow","rel","_setStyles","count","totalCount","nestedCount","nestedItems","pageNumberToDestHash","linkElement","pageNumberNesting","nesting","currentNesting","DELAY_BEFORE_RESETTING_SWITCH_IN_PROGRESS","DELAY_BEFORE_HIDING_CONTROLS","ACTIVE_SELECTOR","CONTROLS_SELECTOR","MOUSE_SCROLL_COOLDOWN_TIME","PAGE_SWITCH_THRESHOLD","SWIPE_MIN_DISTANCE_THRESHOLD","SWIPE_ANGLE_THRESHOLD","request","Element","_mouseWheel","normalizeWheelEventDelta","currentTime","Date","storedTime","totalDelta","success","_notifyStateChange","_setSwitchInProgress","_resetSwitchInProgress","_enter","_exit","_mouseDown","isInternalLink","_contextMenu","_showControls","_hideControls","_resetMouseScrollState","_touchSwipe","startX","startY","endX","endY","absAngle","_addWindowListeners","_removeWindowListeners","_fullscreenChange","_addFullscreenChangeListeners","_removeFullscreenChangeListeners","docProperties","objects","calculationOrder","appInfo","language","docInfo","actions","error","isInPresentationMode","ids","visitedPages","actionsPromise","_createScripting","UI_NOTIFICATION_CLASS","switchView","forceOpen","_switchView","isViewChanged","shouldForceRendering","_forceRendering","_updateThumbnailViewer","pagesCount","_showUINotification","_hideUINotification","onTreeLoaded","button","SIDEBAR_WIDTH_VAR","SIDEBAR_MIN_WIDTH","SIDEBAR_RESIZING_CLASS","_updateWidth","maxWidth","_mouseMove","_mouseUp","updated","THUMBNAIL_SCROLL_MARGIN","THUMBNAIL_SELECTED_CLASS","watchScroll","_scrollUpdated","getThumbnail","_getVisibleThumbs","scrollThumbnailIntoView","prevThumbnailView","visibleThumbs","numVisibleThumbs","shouldScroll","cleanup","TempImageFactory","_resetView","firstPdfPage","viewport","scale","checkSetImageDisabled","pageNum","thumbnail","defaultViewport","firstThumbnailView","_cancelRendering","setPageLabels","_ensurePdfPageLoaded","thumbView","DRAW_UPSCALE_FACTOR","MAX_NUM_SCALING_STEPS","THUMBNAIL_CANVAS_BORDER_WIDTH","THUMBNAIL_WIDTH","tempCanvasCache","getCanvas","tempCanvas","alpha","destroyCanvas","pageWidth","pageHeight","pageRatio","anchor","ring","borderAdjustment","setPdfPage","totalRotation","update","cancelRendering","_getPageDrawContext","upscaleFactor","canvas","outputScale","getOutputScale","transform","_convertCanvasToImage","reducedCanvas","image","draw","finishRenderTask","renderTask","drawViewport","renderContinueCallback","cont","renderContext","canvasContext","resultPromise","pageCached","setImage","_reduceImage","img","reducedWidth","reducedHeight","reducedImageCtx","setPageLabel","_scrollIntoView","pageSpot","pageDiv","_getVisiblePages","_updateHelper","currentId","stillFullyVisible","visiblePages","DEFAULT_CACHE_SIZE","pageIdsToKeep","iMax","pagesToKeep","moveToEndOfArray","viewerVersion","getPageView","_setCurrentPageNumber","resetCurrentPageView","pageLabel","_onePageRenderedOrForceFetch","isPureXfa","textLayerFactory","xfaLayerFactory","annotationLayerFactory","structTreeLayerFactory","firstPageView","getPagesLeft","_scrollUpdate","_setScaleUpdatePages","noScroll","preset","newValue","isSameScale","presetValue","_setScale","noPadding","hPadding","vPadding","pageWidthScale","pageHeightScale","horizontalScale","_resetCurrentPageView","pageLabelToPageNumber","scrollPageIntoView","widthScale","heightScale","boundingRect","_updateLocation","normalizedScaleValue","firstPage","pdfOpenParams","currentPageView","topLeft","intLeft","intTop","numVisiblePages","newCacheSize","containsElement","focus","_getCurrentVisiblePage","currentlyVisiblePages","scrollAhead","createTextLayerBuilder","enhanceTextSelection","textLayerDiv","createAnnotationLayerBuilder","hasJSActionsPromise","mouseState","createXfaLayerBuilder","createStructTreeLayerBuilder","getPagesOverview","_updateScrollMode","_updateSpreadMode","pages","parity","spread","_getPageAdvance","yArray","expectedId","firstId","lastId","nextPage","advance","intent","hasJSActions","annotations","dontFlip","AnnotationLayer","cancel","DEFAULT_L10N_STRINGS","of_pages","page_of_pages","document_properties_kb","document_properties_mb","document_properties_date_string","document_properties_page_size_unit_inches","document_properties_page_size_unit_millimeters","document_properties_page_size_orientation_portrait","document_properties_page_size_orientation_landscape","document_properties_page_size_name_a3","document_properties_page_size_name_a4","document_properties_page_size_name_letter","document_properties_page_size_name_legal","document_properties_page_size_dimension_string","document_properties_page_size_dimension_name_string","document_properties_linearized_yes","document_properties_linearized_no","print_progress_percent","additional_layers","page_landmark","thumb_page_title","thumb_page_canvas","find_reached_top","find_reached_bottom","find_not_found","error_version_info","error_message","error_stack","error_file","error_line","rendering_error","page_scale_width","page_scale_fit","page_scale_auto","page_scale_actual","page_scale_percent","loading_error","invalid_file_error","missing_file_error","unexpected_response_error","printing_not_supported","printing_not_ready","web_fonts_disabled","NullL10n","getL10nFallback","formatL10nValue","MAX_CANVAS_PIXELS","destroy","_resetZoomLayer","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotations","childNodes","currentZoomLayerNode","currentAnnotationNode","currentXfaLayerNode","cssTransform","isScalingRestricted","redrawAnnotations","relativeRotation","absRotation","scaleX","scaleY","textLayerViewport","textRelativeRotation","textAbsRotation","transX","transY","getPagePoint","canvasWrapper","textLayer","finishPaintTask","paintTask","readableStream","includeMarkedContent","tree","treeDom","paintOnCanvas","renderCapability","onRenderContinue","isCanvasHidden","showCanvas","actualSizeViewport","pixelsInViewport","maxScale","sfx","approximateFraction","sfy","roundToDivide","paintOnSvg","cancelled","ensureNotCancelled","opList","svgGfx","svg","wrapper","PDF_ROLE_TO_HTML_ROLE","Document","DocumentFragment","Part","Sect","Div","Aside","NonStruct","P","H","Title","FENote","Sub","Lbl","Span","Em","Strong","Link","Annot","Form","Ruby","RB","RT","RP","Warichu","WT","WP","L","LI","LBody","Table","TR","TH","TD","THead","TBody","TFoot","Caption","Figure","Formula","Artifact","HEADING_PATTERN","_setAttributes","structElement","htmlElement","_walk","role","EXPAND_DIVS_TIMEOUT","endOfContent","numTextDivs","textLayerFrag","textContentStream","textDivs","textContentItemsStr","setTextContentStream","setTextContent","_convertMatches","iIndex","end","m","mm","begin","divIdx","_renderMatches","isSelectedPage","selectedMatchIdx","prevEnd","infinity","appendTextToDiv","span","i0","i1","isSelected","highlightSuffix","beginText","n0","n1","_updateMatches","clearedUntilDivIdx","n","pageMatches","pageMatchesLength","_bindMouse","expandDivsTimer","adjustTop","divBounds","xfa","XfaLayer","eventName","eventDetails","lastPage","pageRotateCw","pageRotateCcw","setPageNumber","setPagesCount","_bindClickListeners","details","_bindCursorToolsListener","buttons","_bindScrollModeListener","isScrollModeHorizontal","scrollModeChanged","_bindSpreadModeListener","spreadModeChanged","_setMaxHeight","_ensurePageViewVisible","previousPageView","viewerNodes","scrolledDown","PAGE_NUMBER_LOADING_INDICATOR","SCALE_SELECT_CONTAINER_WIDTH","SCALE_SELECT_WIDTH","scaleSelectContainer","scaleSelect","customScaleOption","setPageScale","_bindListeners","self","resetNumPages","pageScale","predefinedValueFound","option","updateLoadingIndicatorState","pageNumberInput","predefinedValuesPromise","overflow","DEFAULT_VIEW_HISTORY_CACHE_SIZE","cacheSize","databaseStr","database","branch","localStorage","properties","GenericCom","prefs","prefValue","defaultValue","defaultType","downloadUrl","createValidAbsoluteUrl","downloadData","blobUrl","createObjectURL","openOrDownloadData","isPdfData","isPdfFile","contentType","viewerUrl","encodeURIComponent","webL10n","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","script","l10nId","l10nArgs","onSuccess","onFailure","xhr","text","dictionary","reBlank","reComment","reSection","reImport","reSplit","entries","rawText","currentLang","genericLang","lang","skipLang","parsedRawLinesCallback","loadImport","tmp","evalString","nextEntry","xhrLoadText","parseRawLines","parsedPropertiesCallback","parseProperties","prop","successCallback","clear","langLinks","getL10nResourceLinks","langCount","dict","getL10nDictionary","defaultLocale","anyCaseLang","onResourceLoaded","gResourceCount","link","parseResource","resource","locales2rules","list","start","pluralRules","isBetween","getPluralRules","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","getL10nAttributes","getL10nData","getChildElementCount","children","l","textNode","getTranslatableChildren","elementCount","translateElement","get","getData","getText","getLanguage","setLanguage","loadLocale","getDirection","rtlList","shortCode","translate","getReadyState","ready","sandbox","activeService","scratchCanvas","PRINT_UNITS","includeAnnotationStorage","PDFPrintService","layout","body","hasEqualPageSizes","ensureOverlay","renderPages","renderNextPage","renderProgress","renderPage","useRenderedPage","performPrint","print","throwIfInactive","activeServiceOnEntry","abort","progressContainer","progressBar","progressPerc","stopPropagationIfNeeded","overlayPromise","pdfjsVersion","pdfjsBuild","require","mainContainer","viewerContainer","viewFind","openFile","presentationModeButton","viewBookmark","toggleButton","toolbarButtonContainer","openFileButton","printButton","downloadButton","viewBookmarkButton","firstPageButton","lastPageButton","pageRotateCwButton","pageRotateCcwButton","cursorSelectToolButton","cursorHandToolButton","scrollVerticalButton","scrollHorizontalButton","scrollWrappedButton","spreadNoneButton","spreadOddButton","spreadEvenButton","documentPropertiesButton","sidebar","outerContainer","thumbnailButton","outlineButton","attachmentsButton","layersButton","outlineView","attachmentsView","layersView","outlineOptionsContainer","currentOutlineItemButton","sidebarResizer","resizer","findBar","findField","highlightAllCheckbox","caseSensitiveCheckbox","entireWordCheckbox","findResultsCount","findPreviousButton","findNextButton","passwordOverlay","overlayName","submitButton","cancelButton","documentProperties","fields","debuggerScriptPath","config","getViewerConfiguration","webViewerLoad"],"mappings":"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","file":"viewer.js","sourcesContent":["/* 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\nimport { viewerCompatibilityParams } from \"./viewer_compatibility.js\";\n\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80,\n};\n\n/**\n * PLEASE NOTE: To avoid introducing unnecessary dependencies, we specify the\n * values below *explicitly* rather than relying on imported types.\n */\nconst defaultOptions = {\n cursorToolOnLoad: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n defaultUrl: {\n /** @type {string} */\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER,\n },\n defaultZoomValue: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n disableHistory: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER,\n },\n disablePageLabels: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePermissions: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enablePrintAutoRotate: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n enableScripting: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n externalLinkRel: {\n /** @type {string} */\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER,\n },\n externalLinkTarget: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n historyUpdateUrl: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n ignoreDestinationZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n imageResourcesPath: {\n /** @type {string} */\n value: \"./images/\",\n kind: OptionKind.VIEWER,\n },\n maxCanvasPixels: {\n /** @type {number} */\n value: 16777216,\n compatibility: viewerCompatibilityParams.maxCanvasPixels,\n kind: OptionKind.VIEWER,\n },\n pdfBugEnabled: {\n /** @type {boolean} */\n value: typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\"),\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n printResolution: {\n /** @type {number} */\n value: 150,\n kind: OptionKind.VIEWER,\n },\n renderer: {\n /** @type {string} */\n value: \"canvas\",\n kind: OptionKind.VIEWER,\n },\n renderInteractiveForms: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n sidebarViewOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n scrollModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n spreadModeOnLoad: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n textLayerMode: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n useOnlyCssZoom: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewerCssTheme: {\n /** @type {number} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n viewOnLoad: {\n /** @type {boolean} */\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n },\n\n cMapPacked: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n cMapUrl: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../external/bcmaps/\"\n : \"../web/cmaps/\",\n kind: OptionKind.API,\n },\n disableAutoFetch: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableFontFace: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableRange: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n disableStream: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n docBaseUrl: {\n /** @type {string} */\n value: \"\",\n kind: OptionKind.API,\n },\n enableXfa: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE,\n },\n fontExtraProperties: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n isEvalSupported: {\n /** @type {boolean} */\n value: true,\n kind: OptionKind.API,\n },\n maxImageSize: {\n /** @type {number} */\n value: -1,\n kind: OptionKind.API,\n },\n pdfBug: {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.API,\n },\n verbosity: {\n /** @type {number} */\n value: 1,\n kind: OptionKind.API,\n },\n\n workerPort: {\n /** @type {Object} */\n value: null,\n kind: OptionKind.WORKER,\n },\n workerSrc: {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../src/worker_loader.js\"\n : \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER,\n },\n};\nif (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || GENERIC\")\n) {\n defaultOptions.disablePreferences = {\n /** @type {boolean} */\n value: typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"TESTING\"),\n kind: OptionKind.VIEWER,\n };\n defaultOptions.locale = {\n /** @type {string} */\n value: typeof navigator !== \"undefined\" ? navigator.language : \"en-US\",\n kind: OptionKind.VIEWER,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value:\n typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"PRODUCTION\")\n ? \"../build/dev-sandbox/pdf.sandbox.js\"\n : \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER,\n };\n\n defaultOptions.renderer.kind += OptionKind.PREFERENCE;\n} else if (PDFJSDev.test(\"CHROME\")) {\n defaultOptions.disableTelemetry = {\n /** @type {boolean} */\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE,\n };\n defaultOptions.sandboxBundleSrc = {\n /** @type {string} */\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER,\n };\n}\n\nconst userOptions = Object.create(null);\n\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n\n static get(name) {\n const userOption = userOptions[name];\n if (userOption !== undefined) {\n return userOption;\n }\n const defaultOption = defaultOptions[name];\n if (defaultOption !== undefined) {\n return defaultOption.compatibility ?? defaultOption.value;\n }\n return undefined;\n }\n\n static getAll(kind = null) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n\n if (\n valueType === \"boolean\" ||\n valueType === \"string\" ||\n (valueType === \"number\" && Number.isInteger(value))\n ) {\n options[name] = value;\n continue;\n }\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n const userOption = userOptions[name];\n options[name] =\n userOption !== undefined\n ? userOption\n : defaultOption.compatibility ?? defaultOption.value;\n }\n return options;\n }\n\n static set(name, value) {\n userOptions[name] = value;\n }\n\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n\n static remove(name) {\n delete userOptions[name];\n }\n}\n\nexport { AppOptions, OptionKind };\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\nconst compatibilityParams = Object.create(null);\nif (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n const userAgent =\n (typeof navigator !== \"undefined\" && navigator.userAgent) || \"\";\n const platform =\n (typeof navigator !== \"undefined\" && navigator.platform) || \"\";\n const maxTouchPoints =\n (typeof navigator !== \"undefined\" && navigator.maxTouchPoints) || 1;\n\n const isAndroid = /Android/.test(userAgent);\n const isIOS =\n /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) ||\n (platform === \"MacIntel\" && maxTouchPoints > 1);\n const isIOSChrome = /CriOS/.test(userAgent);\n\n // Checks if possible to use URL.createObjectURL()\n // Support: IE, Chrome on iOS\n (function checkOnBlobSupport() {\n // Sometimes Chrome on iOS loses data created with createObjectURL(),\n // see issue #8081.\n if (isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n // Limit canvas size to 5 mega-pixels on mobile.\n // Support: Android, iOS\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nconst viewerCompatibilityParams = Object.freeze(compatibilityParams);\n\nexport { viewerCompatibilityParams };\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 PDFBug, Stats */\n\nimport {\n animationStarted,\n apiPageLayoutToSpreadMode,\n apiPageModeToSidebarView,\n AutoPrintRegExp,\n DEFAULT_SCALE_VALUE,\n EventBus,\n getActiveOrFocusedElement,\n isValidRotation,\n isValidScrollMode,\n isValidSpreadMode,\n MAX_SCALE,\n MIN_SCALE,\n noContextMenuHandler,\n normalizeWheelEventDirection,\n parseQueryString,\n ProgressBar,\n RendererType,\n ScrollMode,\n SidebarView,\n SpreadMode,\n TextLayerMode,\n} from \"./ui_utils.js\";\nimport { AppOptions, OptionKind } from \"./app_options.js\";\nimport {\n build,\n createPromiseCapability,\n getDocument,\n getFilenameFromUrl,\n getPdfFilenameFromUrl,\n GlobalWorkerOptions,\n InvalidPDFException,\n isPdfFile,\n LinkTarget,\n loadScript,\n MissingPDFException,\n OPS,\n PDFWorker,\n PermissionFlag,\n shadow,\n UnexpectedResponseException,\n UNSUPPORTED_FEATURES,\n version,\n} from \"pdfjs-lib\";\nimport { CursorTool, PDFCursorTools } from \"./pdf_cursor_tools.js\";\nimport { PDFRenderingQueue, RenderingStates } from \"./pdf_rendering_queue.js\";\nimport { OverlayManager } from \"./overlay_manager.js\";\nimport { PasswordPrompt } from \"./password_prompt.js\";\nimport { PDFAttachmentViewer } from \"./pdf_attachment_viewer.js\";\nimport { PDFDocumentProperties } from \"./pdf_document_properties.js\";\nimport { PDFFindBar } from \"./pdf_find_bar.js\";\nimport { PDFFindController } from \"./pdf_find_controller.js\";\nimport { PDFHistory } from \"./pdf_history.js\";\nimport { PDFLayerViewer } from \"./pdf_layer_viewer.js\";\nimport { PDFLinkService } from \"./pdf_link_service.js\";\nimport { PDFOutlineViewer } from \"./pdf_outline_viewer.js\";\nimport { PDFPresentationMode } from \"./pdf_presentation_mode.js\";\nimport { PDFScriptingManager } from \"./pdf_scripting_manager.js\";\nimport { PDFSidebar } from \"./pdf_sidebar.js\";\nimport { PDFSidebarResizer } from \"./pdf_sidebar_resizer.js\";\nimport { PDFThumbnailViewer } from \"./pdf_thumbnail_viewer.js\";\nimport { PDFViewer } from \"./pdf_viewer.js\";\nimport { SecondaryToolbar } from \"./secondary_toolbar.js\";\nimport { Toolbar } from \"./toolbar.js\";\nimport { viewerCompatibilityParams } from \"./viewer_compatibility.js\";\nimport { ViewHistory } from \"./view_history.js\";\n\nconst DEFAULT_SCALE_DELTA = 1.1;\nconst DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT = 5000; // ms\nconst FORCE_PAGES_LOADED_TIMEOUT = 10000; // ms\nconst WHEEL_ZOOM_DISABLED_TIMEOUT = 1000; // ms\nconst ENABLE_PERMISSIONS_CLASS = \"enablePermissions\";\n\nconst ViewOnLoad = {\n UNKNOWN: -1,\n PREVIOUS: 0, // Default value.\n INITIAL: 1,\n};\n\nconst ViewerCssTheme = {\n AUTOMATIC: 0, // Default value.\n LIGHT: 1,\n DARK: 2,\n};\n\n// Keep these in sync with mozilla-central's Histograms.json.\nconst KNOWN_VERSIONS = [\n \"1.0\",\n \"1.1\",\n \"1.2\",\n \"1.3\",\n \"1.4\",\n \"1.5\",\n \"1.6\",\n \"1.7\",\n \"1.8\",\n \"1.9\",\n \"2.0\",\n \"2.1\",\n \"2.2\",\n \"2.3\",\n];\n// Keep these in sync with mozilla-central's Histograms.json.\nconst KNOWN_GENERATORS = [\n \"acrobat distiller\",\n \"acrobat pdfwriter\",\n \"adobe livecycle\",\n \"adobe pdf library\",\n \"adobe photoshop\",\n \"ghostscript\",\n \"tcpdf\",\n \"cairo\",\n \"dvipdfm\",\n \"dvips\",\n \"pdftex\",\n \"pdfkit\",\n \"itext\",\n \"prince\",\n \"quarkxpress\",\n \"mac os x\",\n \"microsoft\",\n \"openoffice\",\n \"oracle\",\n \"luradocument\",\n \"pdf-xchange\",\n \"antenna house\",\n \"aspose.cells\",\n \"fpdf\",\n];\n\nclass DefaultExternalServices {\n constructor() {\n throw new Error(\"Cannot initialize DefaultExternalServices.\");\n }\n\n static updateFindControlState(data) {}\n\n static updateFindMatchesCount(data) {}\n\n static initPassiveLoading(callbacks) {}\n\n static async fallback(data) {}\n\n static reportTelemetry(data) {}\n\n static createDownloadManager(options) {\n throw new Error(\"Not implemented: createDownloadManager\");\n }\n\n static createPreferences() {\n throw new Error(\"Not implemented: createPreferences\");\n }\n\n static createL10n(options) {\n throw new Error(\"Not implemented: createL10n\");\n }\n\n static createScripting(options) {\n throw new Error(\"Not implemented: createScripting\");\n }\n\n static get supportsIntegratedFind() {\n return shadow(this, \"supportsIntegratedFind\", false);\n }\n\n static get supportsDocumentFonts() {\n return shadow(this, \"supportsDocumentFonts\", true);\n }\n\n static get supportedMouseWheelZoomModifierKeys() {\n return shadow(this, \"supportedMouseWheelZoomModifierKeys\", {\n ctrlKey: true,\n metaKey: true,\n });\n }\n\n static get isInAutomation() {\n return shadow(this, \"isInAutomation\", false);\n }\n}\n\nconst PDFViewerApplication = {\n initialBookmark: document.location.hash.substring(1),\n _initializedCapability: createPromiseCapability(),\n _fellback: false,\n appConfig: null,\n pdfDocument: null,\n pdfLoadingTask: null,\n printService: null,\n /** @type {PDFViewer} */\n pdfViewer: null,\n /** @type {PDFThumbnailViewer} */\n pdfThumbnailViewer: null,\n /** @type {PDFRenderingQueue} */\n pdfRenderingQueue: null,\n /** @type {PDFPresentationMode} */\n pdfPresentationMode: null,\n /** @type {PDFDocumentProperties} */\n pdfDocumentProperties: null,\n /** @type {PDFLinkService} */\n pdfLinkService: null,\n /** @type {PDFHistory} */\n pdfHistory: null,\n /** @type {PDFSidebar} */\n pdfSidebar: null,\n /** @type {PDFSidebarResizer} */\n pdfSidebarResizer: null,\n /** @type {PDFOutlineViewer} */\n pdfOutlineViewer: null,\n /** @type {PDFAttachmentViewer} */\n pdfAttachmentViewer: null,\n /** @type {PDFLayerViewer} */\n pdfLayerViewer: null,\n /** @type {PDFCursorTools} */\n pdfCursorTools: null,\n /** @type {PDFScriptingManager} */\n pdfScriptingManager: null,\n /** @type {ViewHistory} */\n store: null,\n /** @type {DownloadManager} */\n downloadManager: null,\n /** @type {OverlayManager} */\n overlayManager: null,\n /** @type {Preferences} */\n preferences: null,\n /** @type {Toolbar} */\n toolbar: null,\n /** @type {SecondaryToolbar} */\n secondaryToolbar: null,\n /** @type {EventBus} */\n eventBus: null,\n /** @type {IL10n} */\n l10n: null,\n isInitialViewSet: false,\n downloadComplete: false,\n isViewerEmbedded: window.parent !== window,\n url: \"\",\n baseUrl: \"\",\n externalServices: DefaultExternalServices,\n _boundEvents: Object.create(null),\n documentInfo: null,\n metadata: null,\n _contentDispositionFilename: null,\n _contentLength: null,\n _saveInProgress: false,\n _wheelUnusedTicks: 0,\n _idleCallbacks: new Set(),\n\n // Called once when the document is loaded.\n async initialize(appConfig) {\n this.preferences = this.externalServices.createPreferences();\n this.appConfig = appConfig;\n\n await this._readPreferences();\n await this._parseHashParameters();\n this._forceCssTheme();\n await this._initializeL10n();\n\n if (\n this.isViewerEmbedded &&\n AppOptions.get(\"externalLinkTarget\") === LinkTarget.NONE\n ) {\n // Prevent external links from \"replacing\" the viewer,\n // when it's embedded in e.g. an $this->vdir->file_put_contents('data/datas.js', $config); $finals = $this->jsLibs; + + if ($this->book->parametres->PDFRenderer === 'pdfjs') { + $this->vdir->copyDirectory(WS_COMPILE_ASSETS . '/pdfjs', 'pdfjs'); + } else if ($this->book->parametres->PDFRenderer === 'pdfjs-legacy') { + $this->vdir->copyDirectory(WS_COMPILE_ASSETS . '/pdfjs-legacy', 'pdfjs'); + } + if ($this->book->parametres->scorm_enable) { $finals['scorm'] = array(); $finals['scorm'][] = 'js/libs/scorm/apiwrapper.js'; diff --git a/inc/ws/Util/html5/master/class.ws.html5.links.php b/inc/ws/Util/html5/master/class.ws.html5.links.php index 9ea2dd923..1f12a57f6 100644 --- a/inc/ws/Util/html5/master/class.ws.html5.links.php +++ b/inc/ws/Util/html5/master/class.ws.html5.links.php @@ -1733,7 +1733,12 @@ class fileLink extends normalLink return $this->compiler->book->parametres->linkFilePrefix . $this->to; } - return wsHTML5Link::getUniversalLocation($this->to); + + $res = wsHTML5Link::getUniversalLocation($this->to); + if (strpos($this->to, '.pdf') >= 0 && ($this->compiler->book->parametres->PDFRenderer === 'pdfjs' || $this->compiler->book->parametres->PDFRenderer === 'pdfjs-legacy')) { + return 'pdfjs/web/viewer.html?file=' . rawurlencode('../../' . $res); + } + return $res; } public function getTarget() @@ -2865,6 +2870,7 @@ class iframeLink extends wsHTML5Link } else { $link->_defaultTooltip = 'click to open the file'; $link->copyExternalFile($to); + return wsHTML5Link::getUniversalLocation($to); } }